diff --git a/cpp/ql/lib/change-notes/2026-03-28-switch-stmt.md b/cpp/ql/lib/change-notes/2026-03-28-switch-stmt.md new file mode 100644 index 00000000000..4b0d7528d47 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-03-28-switch-stmt.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* A new predicate `getSwitchCase` was added to the `SwitchStmt` class, which yields the `n`th `case` statement from a `switch` statement. diff --git a/cpp/ql/lib/change-notes/2026-04-28-strsafe.md b/cpp/ql/lib/change-notes/2026-04-28-strsafe.md new file mode 100644 index 00000000000..9ef3fab0853 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-04-28-strsafe.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint flow models for the `Strsafe.h` header from the Windows SDK. \ No newline at end of file diff --git a/cpp/ql/lib/ext/Strsafe.model.yml b/cpp/ql/lib/ext/Strsafe.model.yml new file mode 100644 index 00000000000..44013854a06 --- /dev/null +++ b/cpp/ql/lib/ext/Strsafe.model.yml @@ -0,0 +1,94 @@ +# Models for strsafe.h safe string functions +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: sourceModel + data: # namespace, type, subtypes, name, signature, ext, output, kind, provenance + # StringCchGets: (pszDest, cchDest) + - ["", "", False, "StringCchGetsA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCchGetsW", "", "", "Argument[*0]", "local", "manual"] + # StringCbGets: (pszDest, cbDest) + - ["", "", False, "StringCbGetsA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCbGetsW", "", "", "Argument[*0]", "local", "manual"] + # StringCchGetsEx: (pszDest, cchDest, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchGetsExA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCchGetsExW", "", "", "Argument[*0]", "local", "manual"] + # StringCbGetsEx: (pszDest, cbDest, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbGetsExA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCbGetsExW", "", "", "Argument[*0]", "local", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + # StringCchCopy: (pszDest, cchDest, pszSrc) + - ["", "", False, "StringCchCopyA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopy: (pszDest, cbDest, pszSrc) + - ["", "", False, "StringCbCopyA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCopyEx: (pszDest, cchDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCopyExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopyEx: (pszDest, cbDest, pszSrc, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCopyExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCopyN: (pszDest, cchDest, pszSrc, cchToCopy) + - ["", "", False, "StringCchCopyNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopyN: (pszDest, cbDest, pszSrc, cbToCopy) + - ["", "", False, "StringCbCopyNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCopyNEx: (pszDest, cchDest, pszSrc, cchToCopy, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCopyNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopyNEx: (pszDest, cbDest, pszSrc, cbToCopy, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCopyNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCat: (pszDest, cchDest, pszSrc) + - ["", "", False, "StringCchCatA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCat: (pszDest, cbDest, pszSrc) + - ["", "", False, "StringCbCatA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCatEx: (pszDest, cchDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCatExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCatEx: (pszDest, cbDest, pszSrc, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCatExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCatN: (pszDest, cchDest, pszSrc, cchToAppend) + - ["", "", False, "StringCchCatNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCatN: (pszDest, cbDest, pszSrc, cbToAppend) + - ["", "", False, "StringCbCatNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCatNEx: (pszDest, cchDest, pszSrc, cchToAppend, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCatNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCatNEx: (pszDest, cbDest, pszSrc, cbToAppend, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCatNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchPrintf: (pszDest, cchDest, pszFormat, ...) + - ["", "", False, "StringCchPrintfA", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchPrintfW", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + # StringCbPrintf: (pszDest, cbDest, pszFormat, ...) + - ["", "", False, "StringCbPrintfA", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbPrintfW", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + # StringCchPrintfEx: (pszDest, cchDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, ...) + - ["", "", False, "StringCchPrintfExA", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchPrintfExW", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + # StringCbPrintfEx: (pszDest, cbDest, ppszDestEnd, pcbRemaining, dwFlags, pszFormat, ...) + - ["", "", False, "StringCbPrintfExA", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbPrintfExW", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + # StringCchVPrintf: (pszDest, cchDest, pszFormat, argList) + - ["", "", False, "StringCchVPrintfA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchVPrintfW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbVPrintf: (pszDest, cbDest, pszFormat, argList) + - ["", "", False, "StringCbVPrintfA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbVPrintfW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchVPrintfEx: (pszDest, cchDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, argList) + - ["", "", False, "StringCchVPrintfExA", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchVPrintfExW", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] + # StringCbVPrintfEx: (pszDest, cbDest, ppszDestEnd, pcbRemaining, dwFlags, pszFormat, argList) + - ["", "", False, "StringCbVPrintfExA", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbVPrintfExW", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] diff --git a/cpp/ql/lib/ext/generated/brotli/brotli.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/brotli/brotli.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/brotli/brotli.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/brotli/brotli.model.yml diff --git a/cpp/ql/lib/ext/generated/curl/curl.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/curl/curl.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/curl/curl.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/curl/curl.model.yml diff --git a/cpp/ql/lib/ext/generated/glibc/glibc.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/glibc/glibc.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/glibc/glibc.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/glibc/glibc.model.yml diff --git a/cpp/ql/lib/ext/generated/libidn2/libidn2.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/libidn2/libidn2.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/libidn2/libidn2.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/libidn2/libidn2.model.yml diff --git a/cpp/ql/lib/ext/generated/libssh2/libssh2.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/libssh2/libssh2.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/libssh2/libssh2.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/libssh2/libssh2.model.yml diff --git a/cpp/ql/lib/ext/generated/libuv/libuv.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/libuv/libuv.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/libuv/libuv.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/libuv/libuv.model.yml diff --git a/cpp/ql/lib/ext/generated/nghttp2/nghttp2.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/nghttp2/nghttp2.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/nghttp2/nghttp2.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/nghttp2/nghttp2.model.yml diff --git a/cpp/ql/lib/ext/generated/openssl/openssl.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/openssl/openssl.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/openssl/openssl.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/openssl/openssl.model.yml diff --git a/cpp/ql/lib/ext/generated/sqlite/sqlite.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/sqlite/sqlite.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/sqlite/sqlite.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/sqlite/sqlite.model.yml diff --git a/cpp/ql/lib/ext/generated/zlib/zlib.model.yml b/cpp/ql/lib/ext/generated/modelgenerator/zlib/zlib.model.yml similarity index 100% rename from cpp/ql/lib/ext/generated/zlib/zlib.model.yml rename to cpp/ql/lib/ext/generated/modelgenerator/zlib/zlib.model.yml diff --git a/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll b/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll index 5974603e33f..967016774d8 100644 --- a/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll +++ b/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll @@ -18,7 +18,7 @@ class Namespace extends @namespace { if namespacembrs(_, this) then exists(Namespace ns | - namespacembrs(ns, this) and + namespacembrs(ns, pragma[only_bind_out](this)) and result = ns.getQualifiedName() + "::" + this.getName() ) else result = this.getName() @@ -37,7 +37,7 @@ class Namespace extends @namespace { string getAQualifierForMembers() { if namespacembrs(_, this) then - exists(Namespace ns | namespacembrs(ns, this) | + exists(Namespace ns | namespacembrs(ns, pragma[only_bind_out](this)) | result = ns.getAQualifierForMembers() + "::" + this.getName() or // If this is an inline namespace, its members are also visible in any diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll index 55818b02858..2c3cb3b2eab 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll @@ -114,6 +114,7 @@ private predicate parseArgument(string arg, string s, int i, Opcode opcode) { private Element getAChildScope(Element scope) { result.getParentScope() = scope } +pragma[nomagic] private predicate hasAVariable(MacroInvocation mi, Stmt s, Element scope) { assertion0(mi, s, _) and s.getParent() = scope @@ -121,15 +122,32 @@ private predicate hasAVariable(MacroInvocation mi, Stmt s, Element scope) { hasAVariable(mi, s, getAChildScope(scope)) } -private LocalScopeVariable getVariable(MacroInvocation mi, int i) { - exists(string operand, string arg, Stmt s | +private predicate hasParentScope(Variable v, Element scope) { v.getParentScope() = scope } + +pragma[nomagic] +private predicate hasAssertionOperand(MacroInvocation mi, int i, Stmt s, string operand) { + exists(string arg | assertion0(mi, s, arg) and - parseArgument(arg, operand, i, _) and + parseArgument(arg, operand, i, _) + ) +} + +pragma[nomagic] +private predicate hasNameAndParentScope(string name, Element scope, Variable v) { + v.hasName(name) and + hasParentScope(v, scope) +} + +pragma[nomagic] +private LocalScopeVariable getVariable(MacroInvocation mi, int i) { + exists(string name, Stmt s | + hasAssertionOperand(mi, i, s, name) and result = - unique(Variable v | + unique(Variable v, Element parentScope | + hasAssertionOperand(mi, _, s, name) and v.getLocation().getStartLine() < s.getLocation().getStartLine() and - hasAVariable(mi, s, v.getParentScope()) and - v.hasName(operand) + hasAVariable(mi, s, parentScope) and + hasNameAndParentScope(name, parentScope, v) | v ) diff --git a/cpp/ql/lib/semmle/code/cpp/stmts/Stmt.qll b/cpp/ql/lib/semmle/code/cpp/stmts/Stmt.qll index cd750461244..ccda6c4d592 100644 --- a/cpp/ql/lib/semmle/code/cpp/stmts/Stmt.qll +++ b/cpp/ql/lib/semmle/code/cpp/stmts/Stmt.qll @@ -1412,9 +1412,9 @@ private int indexOfSwitchCaseRank(BlockStmt b, int rnk) { * switch (i) * { * case 5: - * ... + * ... * default: - * ... + * ... * } * ``` */ @@ -1516,8 +1516,10 @@ class SwitchCase extends Stmt, @stmt_switch_case { * which has result `default:`, which has no result. */ SwitchCase getNextSwitchCase() { - result.getSwitchStmt() = this.getSwitchStmt() and - result.getChildNum() = this.getChildNum() + 1 + exists(SwitchStmt s, int n | + this = s.getSwitchCase(n) and + result = s.getSwitchCase(n + 1) + ) } /** @@ -1707,9 +1709,9 @@ class SwitchCase extends Stmt, @stmt_switch_case { * switch (i) * { * case 5: - * ... + * ... * default: - * ... + * ... * } * ``` */ @@ -1731,9 +1733,9 @@ class DefaultCase extends SwitchCase { * switch (i) * { * case 5: - * ... + * ... * default: - * ... + * ... * } * ``` */ @@ -1768,10 +1770,10 @@ class SwitchStmt extends ConditionalStmt, @stmt_switch { * For example, for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; - * default: + * default: * break; * } * ``` @@ -1790,20 +1792,20 @@ class SwitchStmt extends ConditionalStmt, @stmt_switch { * For example, for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; - * default: + * default: * break; * } * ``` * the result is * ``` * { - * case 1: - * case 2: + * case 1: + * case 2: * break; - * default: + * default: * break; * } * ``` @@ -1816,10 +1818,10 @@ class SwitchStmt extends ConditionalStmt, @stmt_switch { * For example, for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; - * default: + * default: * break; * } * ``` @@ -1827,6 +1829,23 @@ class SwitchStmt extends ConditionalStmt, @stmt_switch { */ SwitchCase getASwitchCase() { switch_case(underlyingElement(this), _, unresolveElement(result)) } + /** + * Gets the `n`th 'switch case' statement of this 'switch' statement, where + * `n` is 0-based. + * + * For example, for + * ``` + * switch(i) { + * case 5: + * case 6: + * default: + * } * ``` + * 0 yields `case 5:`, 1 yields `case 6:`, and 2 yields `default:`. + */ + SwitchCase getSwitchCase(int n) { + switch_case(underlyingElement(this), n, unresolveElement(result)) + } + /** * Gets the 'default case' statement of this 'switch' statement, * if any. @@ -1834,18 +1853,18 @@ class SwitchStmt extends ConditionalStmt, @stmt_switch { * For example, for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; - * default: + * default: * break; * } * ``` * the result is `default:`, but there is no result for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; * } * ``` @@ -1858,18 +1877,18 @@ class SwitchStmt extends ConditionalStmt, @stmt_switch { * For example, this holds for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; - * default: + * default: * break; * } * ``` * but not for * ``` * switch(i) { - * case 1: - * case 2: + * case 1: + * case 2: * break; * } * ``` diff --git a/cpp/ql/test/library-tests/builtins/complex/builtin.expected b/cpp/ql/test/library-tests/builtins/complex/builtin.expected index c1b9b18a412..2537ff065ac 100644 --- a/cpp/ql/test/library-tests/builtins/complex/builtin.expected +++ b/cpp/ql/test/library-tests/builtins/complex/builtin.expected @@ -1,4 +1,4 @@ | complex.c:3:23:3:51 | __builtin_complex | file://:0:0:0:0 | _Complex double | complex.c:3:41:3:44 | real | file://:0:0:0:0 | double | complex.c:3:47:3:50 | imag | file://:0:0:0:0 | double | -| complex.c:4:23:4:57 | __builtin_complex | file://:0:0:0:0 | _Complex double | complex.c:4:41:4:47 | 2.71828000000000003 | file://:0:0:0:0 | double | complex.c:4:50:4:56 | 3.141589999999999883 | file://:0:0:0:0 | double | +| complex.c:4:23:4:57 | __builtin_complex | file://:0:0:0:0 | _Complex double | complex.c:4:41:4:47 | 2.71828 | file://:0:0:0:0 | double | complex.c:4:50:4:56 | 3.14159 | file://:0:0:0:0 | double | | complex.c:8:22:8:52 | __builtin_complex | file://:0:0:0:0 | _Complex float | complex.c:8:40:8:44 | realf | file://:0:0:0:0 | float | complex.c:8:47:8:51 | imagf | file://:0:0:0:0 | float | -| complex.c:9:22:9:52 | __builtin_complex | file://:0:0:0:0 | _Complex float | complex.c:9:40:9:44 | 1.230000019 | file://:0:0:0:0 | float | complex.c:9:47:9:51 | 4.559999943 | file://:0:0:0:0 | float | +| complex.c:9:22:9:52 | __builtin_complex | file://:0:0:0:0 | _Complex float | complex.c:9:40:9:44 | 1.23 | file://:0:0:0:0 | float | complex.c:9:47:9:51 | 4.56 | file://:0:0:0:0 | float | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected index 4d78c4016da..f6833ab4ff1 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected @@ -298,16 +298,16 @@ | test.c:182:8:182:34 | ! ... | ! ... == 1 when ! ... is true | | test.c:182:8:182:34 | ! ... | ... && ... != 0 when ! ... is false | | test.c:182:8:182:34 | ! ... | ... && ... == 0 when ! ... is true | -| test.c:182:10:182:20 | ... >= ... | 9.999999999999999547e-07 < foo+1 when ... >= ... is true | -| test.c:182:10:182:20 | ... >= ... | 9.999999999999999547e-07 >= foo+1 when ... >= ... is false | +| test.c:182:10:182:20 | ... >= ... | 1.0E-6 < foo+1 when ... >= ... is true | +| test.c:182:10:182:20 | ... >= ... | 1.0E-6 >= foo+1 when ... >= ... is false | | test.c:182:10:182:20 | ... >= ... | ... >= ... != 0 when ... >= ... is true | | test.c:182:10:182:20 | ... >= ... | ... >= ... != 1 when ... >= ... is false | | test.c:182:10:182:20 | ... >= ... | ... >= ... == 0 when ... >= ... is false | | test.c:182:10:182:20 | ... >= ... | ... >= ... == 1 when ... >= ... is true | -| test.c:182:10:182:20 | ... >= ... | foo < 9.999999999999999547e-07+0 when ... >= ... is false | -| test.c:182:10:182:20 | ... >= ... | foo >= 9.999999999999999547e-07+0 when ... >= ... is true | +| test.c:182:10:182:20 | ... >= ... | foo < 1.0E-6+0 when ... >= ... is false | +| test.c:182:10:182:20 | ... >= ... | foo >= 1.0E-6+0 when ... >= ... is true | | test.c:182:10:182:33 | ... && ... | 1.0 >= foo+1 when ... && ... is true | -| test.c:182:10:182:33 | ... && ... | 9.999999999999999547e-07 < foo+1 when ... && ... is true | +| test.c:182:10:182:33 | ... && ... | 1.0E-6 < foo+1 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | ! ... != 0 when ... && ... is false | | test.c:182:10:182:33 | ... && ... | ! ... != 1 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | ! ... == 0 when ... && ... is true | @@ -319,7 +319,7 @@ | test.c:182:10:182:33 | ... && ... | ... >= ... != 0 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | ... >= ... == 1 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | foo < 1.0+0 when ... && ... is true | -| test.c:182:10:182:33 | ... && ... | foo >= 9.999999999999999547e-07+0 when ... && ... is true | +| test.c:182:10:182:33 | ... && ... | foo >= 1.0E-6+0 when ... && ... is true | | test.c:182:25:182:33 | ... < ... | 1.0 < foo+1 when ... < ... is false | | test.c:182:25:182:33 | ... < ... | 1.0 >= foo+1 when ... < ... is true | | test.c:182:25:182:33 | ... < ... | ... < ... != 0 when ... < ... is true | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected index 5a364e3deaa..cf99d2c20b8 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected @@ -169,12 +169,12 @@ binary | test.c:176:8:176:15 | ! ... | test.c:176:14:176:14 | b | < | test.c:176:10:176:10 | a | 1 | test.c:176:18:178:5 | { ... } | | test.c:176:10:176:14 | ... < ... | test.c:176:10:176:10 | a | >= | test.c:176:14:176:14 | b | 0 | test.c:176:18:178:5 | { ... } | | test.c:176:10:176:14 | ... < ... | test.c:176:14:176:14 | b | < | test.c:176:10:176:10 | a | 1 | test.c:176:18:178:5 | { ... } | -| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | test.c:181:25:182:20 | { ... } | -| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | test.c:182:25:182:33 | foo | -| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | -| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | test.c:182:25:182:33 | foo | -| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | test.c:181:25:182:20 | { ... } | -| test.c:182:10:182:33 | ... && ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 1.0E-6 | 0 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 1.0E-6 | 0 | test.c:182:25:182:33 | foo | +| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 1.0E-6 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 1.0E-6 | < | test.c:182:10:182:12 | foo | 1 | test.c:182:25:182:33 | foo | +| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 1.0E-6 | 0 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:33 | ... && ... | test.c:182:17:182:20 | 1.0E-6 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | | test.c:182:10:182:33 | ... && ... | test.c:182:25:182:27 | foo | < | test.c:182:31:182:33 | 1.0 | 0 | test.c:181:25:182:20 | { ... } | | test.c:182:10:182:33 | ... && ... | test.c:182:31:182:33 | 1.0 | >= | test.c:182:25:182:27 | foo | 1 | test.c:181:25:182:20 | { ... } | | test.c:182:25:182:33 | ... < ... | test.c:182:25:182:27 | foo | < | test.c:182:31:182:33 | 1.0 | 0 | test.c:181:25:182:20 | { ... } | diff --git a/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp b/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp index c515a199f07..e4947a112f8 100644 --- a/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp +++ b/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp @@ -115,3 +115,19 @@ void test_zmc(void *socket) { // ... } } + +long StringCchGetsA(char *, size_t); +long StringCchGetsExA(char *, size_t, char **, size_t *, unsigned long); + +void test_strsafe_gets() { + { + char dest[256] = {0}; + StringCchGetsA(dest, sizeof(dest)); // $ local_source + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchGetsExA(dest, sizeof(dest), &end, &remaining, 0); // $ local_source + } +} diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected index 0f4d67f2695..9224cd62e82 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected @@ -8008,6 +8008,174 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | taint.cpp:866:26:866:34 | ref arg & ... | taint.cpp:866:27:866:34 | size_out [inner post update] | | | taint.cpp:866:27:866:34 | size_out | taint.cpp:866:26:866:34 | & ... | | | taint.cpp:867:8:867:8 | p | taint.cpp:867:7:867:8 | * ... | TAINT | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:897:38:897:43 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:907:37:907:42 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:914:40:914:45 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:919:39:919:44 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:926:41:926:46 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:931:37:931:42 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:941:36:941:41 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:948:39:948:44 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:953:38:953:43 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:960:40:960:45 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:965:46:965:51 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:975:45:975:50 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:982:69:982:74 | source | | +| taint.cpp:893:32:893:46 | call to indirect_source | taint.cpp:902:38:902:44 | wsource | | +| taint.cpp:893:32:893:46 | call to indirect_source | taint.cpp:936:37:936:43 | wsource | | +| taint.cpp:893:32:893:46 | call to indirect_source | taint.cpp:970:47:970:53 | wsource | | +| taint.cpp:896:19:896:22 | {...} | taint.cpp:897:18:897:21 | dest | | +| taint.cpp:896:19:896:22 | {...} | taint.cpp:897:31:897:34 | dest | | +| taint.cpp:896:19:896:22 | {...} | taint.cpp:898:9:898:12 | dest | | +| taint.cpp:896:21:896:21 | 0 | taint.cpp:896:19:896:22 | {...} | TAINT | +| taint.cpp:897:18:897:21 | ref arg dest | taint.cpp:898:9:898:12 | dest | | +| taint.cpp:898:9:898:12 | dest | taint.cpp:898:8:898:12 | * ... | | +| taint.cpp:901:22:901:25 | {...} | taint.cpp:902:18:902:21 | dest | | +| taint.cpp:901:22:901:25 | {...} | taint.cpp:902:31:902:34 | dest | | +| taint.cpp:901:22:901:25 | {...} | taint.cpp:903:9:903:12 | dest | | +| taint.cpp:901:24:901:24 | 0 | taint.cpp:901:22:901:25 | {...} | TAINT | +| taint.cpp:902:18:902:21 | ref arg dest | taint.cpp:903:9:903:12 | dest | | +| taint.cpp:903:9:903:12 | dest | taint.cpp:903:8:903:12 | * ... | | +| taint.cpp:906:19:906:22 | {...} | taint.cpp:907:17:907:20 | dest | | +| taint.cpp:906:19:906:22 | {...} | taint.cpp:907:30:907:33 | dest | | +| taint.cpp:906:19:906:22 | {...} | taint.cpp:908:9:908:12 | dest | | +| taint.cpp:906:21:906:21 | 0 | taint.cpp:906:19:906:22 | {...} | TAINT | +| taint.cpp:907:17:907:20 | ref arg dest | taint.cpp:908:9:908:12 | dest | | +| taint.cpp:908:9:908:12 | dest | taint.cpp:908:8:908:12 | * ... | | +| taint.cpp:911:19:911:22 | {...} | taint.cpp:914:20:914:23 | dest | | +| taint.cpp:911:19:911:22 | {...} | taint.cpp:914:33:914:36 | dest | | +| taint.cpp:911:19:911:22 | {...} | taint.cpp:915:9:915:12 | dest | | +| taint.cpp:911:21:911:21 | 0 | taint.cpp:911:19:911:22 | {...} | TAINT | +| taint.cpp:912:9:912:11 | end | taint.cpp:914:49:914:51 | end | | +| taint.cpp:913:10:913:18 | remaining | taint.cpp:914:55:914:63 | remaining | | +| taint.cpp:914:20:914:23 | ref arg dest | taint.cpp:915:9:915:12 | dest | | +| taint.cpp:914:48:914:51 | ref arg & ... | taint.cpp:914:49:914:51 | end [inner post update] | | +| taint.cpp:914:49:914:51 | end | taint.cpp:914:48:914:51 | & ... | | +| taint.cpp:914:54:914:63 | ref arg & ... | taint.cpp:914:55:914:63 | remaining [inner post update] | | +| taint.cpp:914:55:914:63 | remaining | taint.cpp:914:54:914:63 | & ... | | +| taint.cpp:915:9:915:12 | dest | taint.cpp:915:8:915:12 | * ... | | +| taint.cpp:918:19:918:22 | {...} | taint.cpp:919:19:919:22 | dest | | +| taint.cpp:918:19:918:22 | {...} | taint.cpp:919:32:919:35 | dest | | +| taint.cpp:918:19:918:22 | {...} | taint.cpp:920:9:920:12 | dest | | +| taint.cpp:918:21:918:21 | 0 | taint.cpp:918:19:918:22 | {...} | TAINT | +| taint.cpp:919:19:919:22 | ref arg dest | taint.cpp:920:9:920:12 | dest | | +| taint.cpp:920:9:920:12 | dest | taint.cpp:920:8:920:12 | * ... | | +| taint.cpp:923:19:923:22 | {...} | taint.cpp:926:21:926:24 | dest | | +| taint.cpp:923:19:923:22 | {...} | taint.cpp:926:34:926:37 | dest | | +| taint.cpp:923:19:923:22 | {...} | taint.cpp:927:8:927:11 | dest | | +| taint.cpp:923:21:923:21 | 0 | taint.cpp:923:19:923:22 | {...} | TAINT | +| taint.cpp:924:9:924:11 | end | taint.cpp:926:55:926:57 | end | | +| taint.cpp:925:10:925:18 | remaining | taint.cpp:926:61:926:69 | remaining | | +| taint.cpp:926:21:926:24 | ref arg dest | taint.cpp:927:8:927:11 | dest | | +| taint.cpp:926:54:926:57 | ref arg & ... | taint.cpp:926:55:926:57 | end [inner post update] | | +| taint.cpp:926:55:926:57 | end | taint.cpp:926:54:926:57 | & ... | | +| taint.cpp:926:60:926:69 | ref arg & ... | taint.cpp:926:61:926:69 | remaining [inner post update] | | +| taint.cpp:926:61:926:69 | remaining | taint.cpp:926:60:926:69 | & ... | | +| taint.cpp:930:20:930:27 | prefix | taint.cpp:931:17:931:20 | dest | | +| taint.cpp:930:20:930:27 | prefix | taint.cpp:931:30:931:33 | dest | | +| taint.cpp:930:20:930:27 | prefix | taint.cpp:932:9:932:12 | dest | | +| taint.cpp:931:17:931:20 | ref arg dest | taint.cpp:932:9:932:12 | dest | | +| taint.cpp:932:9:932:12 | dest | taint.cpp:932:8:932:12 | * ... | | +| taint.cpp:935:23:935:31 | prefix | taint.cpp:936:17:936:20 | dest | | +| taint.cpp:935:23:935:31 | prefix | taint.cpp:936:30:936:33 | dest | | +| taint.cpp:935:23:935:31 | prefix | taint.cpp:937:9:937:12 | dest | | +| taint.cpp:936:17:936:20 | ref arg dest | taint.cpp:937:9:937:12 | dest | | +| taint.cpp:937:9:937:12 | dest | taint.cpp:937:8:937:12 | * ... | | +| taint.cpp:940:20:940:27 | prefix | taint.cpp:941:16:941:19 | dest | | +| taint.cpp:940:20:940:27 | prefix | taint.cpp:941:29:941:32 | dest | | +| taint.cpp:940:20:940:27 | prefix | taint.cpp:942:9:942:12 | dest | | +| taint.cpp:941:16:941:19 | ref arg dest | taint.cpp:942:9:942:12 | dest | | +| taint.cpp:942:9:942:12 | dest | taint.cpp:942:8:942:12 | * ... | | +| taint.cpp:945:20:945:27 | prefix | taint.cpp:948:19:948:22 | dest | | +| taint.cpp:945:20:945:27 | prefix | taint.cpp:948:32:948:35 | dest | | +| taint.cpp:945:20:945:27 | prefix | taint.cpp:949:9:949:12 | dest | | +| taint.cpp:946:9:946:11 | end | taint.cpp:948:48:948:50 | end | | +| taint.cpp:947:10:947:18 | remaining | taint.cpp:948:54:948:62 | remaining | | +| taint.cpp:948:19:948:22 | ref arg dest | taint.cpp:949:9:949:12 | dest | | +| taint.cpp:948:47:948:50 | ref arg & ... | taint.cpp:948:48:948:50 | end [inner post update] | | +| taint.cpp:948:48:948:50 | end | taint.cpp:948:47:948:50 | & ... | | +| taint.cpp:948:53:948:62 | ref arg & ... | taint.cpp:948:54:948:62 | remaining [inner post update] | | +| taint.cpp:948:54:948:62 | remaining | taint.cpp:948:53:948:62 | & ... | | +| taint.cpp:949:9:949:12 | dest | taint.cpp:949:8:949:12 | * ... | | +| taint.cpp:952:20:952:27 | prefix | taint.cpp:953:18:953:21 | dest | | +| taint.cpp:952:20:952:27 | prefix | taint.cpp:953:31:953:34 | dest | | +| taint.cpp:952:20:952:27 | prefix | taint.cpp:954:9:954:12 | dest | | +| taint.cpp:953:18:953:21 | ref arg dest | taint.cpp:954:9:954:12 | dest | | +| taint.cpp:954:9:954:12 | dest | taint.cpp:954:8:954:12 | * ... | | +| taint.cpp:957:20:957:27 | prefix | taint.cpp:960:20:960:23 | dest | | +| taint.cpp:957:20:957:27 | prefix | taint.cpp:960:33:960:36 | dest | | +| taint.cpp:957:20:957:27 | prefix | taint.cpp:961:9:961:12 | dest | | +| taint.cpp:958:9:958:11 | end | taint.cpp:960:54:960:56 | end | | +| taint.cpp:959:10:959:18 | remaining | taint.cpp:960:60:960:68 | remaining | | +| taint.cpp:960:20:960:23 | ref arg dest | taint.cpp:961:9:961:12 | dest | | +| taint.cpp:960:53:960:56 | ref arg & ... | taint.cpp:960:54:960:56 | end [inner post update] | | +| taint.cpp:960:54:960:56 | end | taint.cpp:960:53:960:56 | & ... | | +| taint.cpp:960:59:960:68 | ref arg & ... | taint.cpp:960:60:960:68 | remaining [inner post update] | | +| taint.cpp:960:60:960:68 | remaining | taint.cpp:960:59:960:68 | & ... | | +| taint.cpp:961:9:961:12 | dest | taint.cpp:961:8:961:12 | * ... | | +| taint.cpp:964:19:964:22 | {...} | taint.cpp:965:20:965:23 | dest | | +| taint.cpp:964:19:964:22 | {...} | taint.cpp:965:33:965:36 | dest | | +| taint.cpp:964:19:964:22 | {...} | taint.cpp:966:9:966:12 | dest | | +| taint.cpp:964:21:964:21 | 0 | taint.cpp:964:19:964:22 | {...} | TAINT | +| taint.cpp:965:20:965:23 | ref arg dest | taint.cpp:966:9:966:12 | dest | | +| taint.cpp:965:40:965:43 | %s | taint.cpp:965:20:965:23 | ref arg dest | TAINT | +| taint.cpp:965:46:965:51 | ref arg source | taint.cpp:975:45:975:50 | source | | +| taint.cpp:965:46:965:51 | ref arg source | taint.cpp:982:69:982:74 | source | | +| taint.cpp:965:46:965:51 | source | taint.cpp:965:20:965:23 | ref arg dest | TAINT | +| taint.cpp:966:9:966:12 | dest | taint.cpp:966:8:966:12 | * ... | | +| taint.cpp:969:22:969:25 | {...} | taint.cpp:970:20:970:23 | dest | | +| taint.cpp:969:22:969:25 | {...} | taint.cpp:970:33:970:36 | dest | | +| taint.cpp:969:22:969:25 | {...} | taint.cpp:971:9:971:12 | dest | | +| taint.cpp:969:24:969:24 | 0 | taint.cpp:969:22:969:25 | {...} | TAINT | +| taint.cpp:970:20:970:23 | ref arg dest | taint.cpp:971:9:971:12 | dest | | +| taint.cpp:970:40:970:44 | %s | taint.cpp:970:20:970:23 | ref arg dest | TAINT | +| taint.cpp:970:47:970:53 | wsource | taint.cpp:970:20:970:23 | ref arg dest | TAINT | +| taint.cpp:971:9:971:12 | dest | taint.cpp:971:8:971:12 | * ... | | +| taint.cpp:974:19:974:22 | {...} | taint.cpp:975:19:975:22 | dest | | +| taint.cpp:974:19:974:22 | {...} | taint.cpp:975:32:975:35 | dest | | +| taint.cpp:974:19:974:22 | {...} | taint.cpp:976:9:976:12 | dest | | +| taint.cpp:974:21:974:21 | 0 | taint.cpp:974:19:974:22 | {...} | TAINT | +| taint.cpp:975:19:975:22 | ref arg dest | taint.cpp:976:9:976:12 | dest | | +| taint.cpp:975:39:975:42 | %s | taint.cpp:975:19:975:22 | ref arg dest | TAINT | +| taint.cpp:975:45:975:50 | ref arg source | taint.cpp:982:69:982:74 | source | | +| taint.cpp:975:45:975:50 | source | taint.cpp:975:19:975:22 | ref arg dest | TAINT | +| taint.cpp:976:9:976:12 | dest | taint.cpp:976:8:976:12 | * ... | | +| taint.cpp:979:19:979:22 | {...} | taint.cpp:982:22:982:25 | dest | | +| taint.cpp:979:19:979:22 | {...} | taint.cpp:982:35:982:38 | dest | | +| taint.cpp:979:19:979:22 | {...} | taint.cpp:983:9:983:12 | dest | | +| taint.cpp:979:21:979:21 | 0 | taint.cpp:979:19:979:22 | {...} | TAINT | +| taint.cpp:980:9:980:11 | end | taint.cpp:982:43:982:45 | end | | +| taint.cpp:981:10:981:18 | remaining | taint.cpp:982:49:982:57 | remaining | | +| taint.cpp:982:22:982:25 | ref arg dest | taint.cpp:983:9:983:12 | dest | | +| taint.cpp:982:42:982:45 | ref arg & ... | taint.cpp:982:43:982:45 | end [inner post update] | | +| taint.cpp:982:43:982:45 | end | taint.cpp:982:42:982:45 | & ... | | +| taint.cpp:982:48:982:57 | ref arg & ... | taint.cpp:982:49:982:57 | remaining [inner post update] | | +| taint.cpp:982:49:982:57 | remaining | taint.cpp:982:48:982:57 | & ... | | +| taint.cpp:982:63:982:66 | %s | taint.cpp:982:22:982:25 | ref arg dest | TAINT | +| taint.cpp:982:69:982:74 | source | taint.cpp:982:22:982:25 | ref arg dest | TAINT | +| taint.cpp:983:9:983:12 | dest | taint.cpp:983:8:983:12 | * ... | | +| taint.cpp:986:19:986:22 | {...} | taint.cpp:988:20:988:23 | dest | | +| taint.cpp:986:19:986:22 | {...} | taint.cpp:988:33:988:36 | dest | | +| taint.cpp:986:19:986:22 | {...} | taint.cpp:989:9:989:12 | dest | | +| taint.cpp:986:21:986:21 | 0 | taint.cpp:986:19:986:22 | {...} | TAINT | +| taint.cpp:987:15:987:29 | call to indirect_source | taint.cpp:988:40:988:42 | fmt | | +| taint.cpp:988:20:988:23 | ref arg dest | taint.cpp:989:9:989:12 | dest | | +| taint.cpp:988:40:988:42 | fmt | taint.cpp:988:20:988:23 | ref arg dest | TAINT | +| taint.cpp:989:9:989:12 | dest | taint.cpp:989:8:989:12 | * ... | | +| taint.cpp:992:19:992:22 | {...} | taint.cpp:993:20:993:23 | dest | | +| taint.cpp:992:19:992:22 | {...} | taint.cpp:993:33:993:36 | dest | | +| taint.cpp:992:19:992:22 | {...} | taint.cpp:994:9:994:12 | dest | | +| taint.cpp:992:21:992:21 | 0 | taint.cpp:992:19:992:22 | {...} | TAINT | +| taint.cpp:993:20:993:23 | ref arg dest | taint.cpp:994:9:994:12 | dest | | +| taint.cpp:993:40:993:43 | %d | taint.cpp:993:20:993:23 | ref arg dest | TAINT | +| taint.cpp:993:46:993:47 | 42 | taint.cpp:993:20:993:23 | ref arg dest | TAINT | +| taint.cpp:994:9:994:12 | dest | taint.cpp:994:8:994:12 | * ... | | +| taint.cpp:997:19:997:22 | {...} | taint.cpp:998:18:998:21 | dest | | +| taint.cpp:997:19:997:22 | {...} | taint.cpp:998:31:998:34 | dest | | +| taint.cpp:997:19:997:22 | {...} | taint.cpp:999:9:999:12 | dest | | +| taint.cpp:997:21:997:21 | 0 | taint.cpp:997:19:997:22 | {...} | TAINT | +| taint.cpp:998:18:998:21 | ref arg dest | taint.cpp:999:9:999:12 | dest | | +| taint.cpp:999:9:999:12 | dest | taint.cpp:999:8:999:12 | * ... | | | thread.cpp:10:27:10:27 | s | thread.cpp:10:27:10:27 | s | | | thread.cpp:10:27:10:27 | s | thread.cpp:11:8:11:8 | s | | | thread.cpp:14:26:14:26 | s | thread.cpp:15:8:15:8 | s | | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp index fa32e192239..3168fb3a96f 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp @@ -866,3 +866,136 @@ void test_iconv(size_t size) { iconv(0, &s, &size, &p, &size_out); sink(*p); // $ ast,ir } + +using va_list = void*; + +long StringCchCopyA(char *, size_t, const char *); +long StringCchCopyW(wchar_t *, size_t, const wchar_t *); +long StringCbCopyA(char *, size_t, const char *); +long StringCchCopyExA(char *, size_t, const char *, char **, size_t *, unsigned long); +long StringCchCopyNA(char *, size_t, const char *, size_t); +long StringCchCopyNExA(char *, size_t, const char *, size_t, char **, size_t *, unsigned long); +long StringCchCatA(char *, size_t, const char *); +long StringCchCatW(wchar_t *, size_t, const wchar_t *); +long StringCbCatA(char *, size_t, const char *); +long StringCchCatExA(char *, size_t, const char *, char **, size_t *, unsigned long); +long StringCchCatNA(char *, size_t, const char *, size_t); +long StringCchCatNExA(char *, size_t, const char *, size_t, char **, size_t *, unsigned long); +long StringCchPrintfA(char *, size_t, const char *, ...); +long StringCchPrintfW(wchar_t *, size_t, const wchar_t *, ...); +long StringCbPrintfA(char *, size_t, const char *, ...); +long StringCchPrintfExA(char *, size_t, char **, size_t *, unsigned long, const char *, ...); +long StringCchVPrintfA(char *, size_t, const char *, va_list); +long StringCchVPrintfExA(char *, size_t, char **, size_t *, unsigned long, const char *, va_list); + +void test_strsafe() { + char *source = indirect_source(); + wchar_t *wsource = (wchar_t *)indirect_source(); + + { + char dest[256] = {0}; + StringCchCopyA(dest, sizeof(dest), source); + sink(*dest); // $ ir MISSING: ast + } + { + wchar_t dest[256] = {0}; + StringCchCopyW(dest, sizeof(dest), wsource); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + StringCbCopyA(dest, sizeof(dest), source); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchCopyExA(dest, sizeof(dest), source, &end, &remaining, 0); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + StringCchCopyNA(dest, sizeof(dest), source, 128); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchCopyNExA(dest, sizeof(dest), source, 128, &end, &remaining, 0); + sink(dest); // $ ir MISSING: ast + } + { + char dest[256] = "prefix"; + StringCchCatA(dest, sizeof(dest), source); + sink(*dest); // $ ir MISSING: ast + } + { + wchar_t dest[256] = L"prefix"; + StringCchCatW(dest, sizeof(dest), wsource); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = "prefix"; + StringCbCatA(dest, sizeof(dest), source); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = "prefix"; + char *end; + size_t remaining; + StringCchCatExA(dest, sizeof(dest), source, &end, &remaining, 0); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = "prefix"; + StringCchCatNA(dest, sizeof(dest), source, 128); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = "prefix"; + char *end; + size_t remaining; + StringCchCatNExA(dest, sizeof(dest), source, 128, &end, &remaining, 0); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + StringCchPrintfA(dest, sizeof(dest), "%s", source); + sink(*dest); // $ ir MISSING: ast + } + { + wchar_t dest[256] = {0}; + StringCchPrintfW(dest, sizeof(dest), L"%s", wsource); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + StringCbPrintfA(dest, sizeof(dest), "%s", source); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchPrintfExA(dest, sizeof(dest), &end, &remaining, 0, "%s", source); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + char *fmt = indirect_source(); + StringCchPrintfA(dest, sizeof(dest), fmt); + sink(*dest); // $ ir MISSING: ast + } + { + char dest[256] = {0}; + StringCchPrintfA(dest, sizeof(dest), "%d", 42); + sink(*dest); // clean + } + { + char dest[256] = {0}; + StringCchCopyA(dest, sizeof(dest), "hello"); + sink(*dest); // clean + } +} diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected index e0002aa9c03..5ad32759da5 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected @@ -28044,6 +28044,118 @@ getParameterTypeName | taint.cpp:859:8:859:12 | iconv | 4 | unsigned long * | | taint.cpp:861:6:861:15 | test_iconv | 0 | size_t | | taint.cpp:861:6:861:15 | test_iconv | 0 | unsigned long | +| taint.cpp:872:6:872:19 | StringCchCopyA | 0 | char * | +| taint.cpp:872:6:872:19 | StringCchCopyA | 1 | size_t | +| taint.cpp:872:6:872:19 | StringCchCopyA | 1 | unsigned long | +| taint.cpp:872:6:872:19 | StringCchCopyA | 2 | const char * | +| taint.cpp:873:6:873:19 | StringCchCopyW | 0 | wchar_t * | +| taint.cpp:873:6:873:19 | StringCchCopyW | 1 | size_t | +| taint.cpp:873:6:873:19 | StringCchCopyW | 1 | unsigned long | +| taint.cpp:873:6:873:19 | StringCchCopyW | 2 | const wchar_t * | +| taint.cpp:874:6:874:18 | StringCbCopyA | 0 | char * | +| taint.cpp:874:6:874:18 | StringCbCopyA | 1 | size_t | +| taint.cpp:874:6:874:18 | StringCbCopyA | 1 | unsigned long | +| taint.cpp:874:6:874:18 | StringCbCopyA | 2 | const char * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 0 | char * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 1 | size_t | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 1 | unsigned long | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 2 | const char * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 3 | char ** | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 4 | size_t * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 4 | unsigned long * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 5 | unsigned long | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 0 | char * | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 1 | size_t | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 1 | unsigned long | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 2 | const char * | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 3 | size_t | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 3 | unsigned long | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 0 | char * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 1 | size_t | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 1 | unsigned long | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 2 | const char * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 3 | size_t | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 3 | unsigned long | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 4 | char ** | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 5 | size_t * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 5 | unsigned long * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 6 | unsigned long | +| taint.cpp:878:6:878:18 | StringCchCatA | 0 | char * | +| taint.cpp:878:6:878:18 | StringCchCatA | 1 | size_t | +| taint.cpp:878:6:878:18 | StringCchCatA | 1 | unsigned long | +| taint.cpp:878:6:878:18 | StringCchCatA | 2 | const char * | +| taint.cpp:879:6:879:18 | StringCchCatW | 0 | wchar_t * | +| taint.cpp:879:6:879:18 | StringCchCatW | 1 | size_t | +| taint.cpp:879:6:879:18 | StringCchCatW | 1 | unsigned long | +| taint.cpp:879:6:879:18 | StringCchCatW | 2 | const wchar_t * | +| taint.cpp:880:6:880:17 | StringCbCatA | 0 | char * | +| taint.cpp:880:6:880:17 | StringCbCatA | 1 | size_t | +| taint.cpp:880:6:880:17 | StringCbCatA | 1 | unsigned long | +| taint.cpp:880:6:880:17 | StringCbCatA | 2 | const char * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 0 | char * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 1 | size_t | +| taint.cpp:881:6:881:20 | StringCchCatExA | 1 | unsigned long | +| taint.cpp:881:6:881:20 | StringCchCatExA | 2 | const char * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 3 | char ** | +| taint.cpp:881:6:881:20 | StringCchCatExA | 4 | size_t * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 4 | unsigned long * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 5 | unsigned long | +| taint.cpp:882:6:882:19 | StringCchCatNA | 0 | char * | +| taint.cpp:882:6:882:19 | StringCchCatNA | 1 | size_t | +| taint.cpp:882:6:882:19 | StringCchCatNA | 1 | unsigned long | +| taint.cpp:882:6:882:19 | StringCchCatNA | 2 | const char * | +| taint.cpp:882:6:882:19 | StringCchCatNA | 3 | size_t | +| taint.cpp:882:6:882:19 | StringCchCatNA | 3 | unsigned long | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 0 | char * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 1 | size_t | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 1 | unsigned long | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 2 | const char * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 3 | size_t | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 3 | unsigned long | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 4 | char ** | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 5 | size_t * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 5 | unsigned long * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 6 | unsigned long | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 0 | char * | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 1 | size_t | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 1 | unsigned long | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 2 | const char * | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 3 | ... | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 0 | wchar_t * | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 1 | size_t | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 1 | unsigned long | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 2 | const wchar_t * | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 3 | ... | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 0 | char * | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 1 | size_t | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 1 | unsigned long | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 2 | const char * | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 3 | ... | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 0 | char * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 1 | size_t | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 1 | unsigned long | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 2 | char ** | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 3 | size_t * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 3 | unsigned long * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 4 | unsigned long | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 5 | const char * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 6 | ... | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 0 | char * | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 1 | size_t | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 1 | unsigned long | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 2 | const char * | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 3 | va_list | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 3 | void * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 0 | char * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 1 | size_t | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 1 | unsigned long | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 2 | char ** | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 3 | size_t * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 3 | unsigned long * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 4 | unsigned long | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 5 | const char * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 6 | va_list | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 6 | void * | | thread.cpp:4:6:4:9 | sink | 0 | int | | thread.cpp:6:8:6:8 | operator= | 0 | S && | | thread.cpp:6:8:6:8 | operator= | 0 | const S & | diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index c3e46114edf..59b5f6214f3 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -25796,9 +25796,9 @@ ir.cpp: # 2919| getExpr(): [FunctionCall] call to VariableTemplateFunc # 2919| Type = [DoubleType] double # 2919| ValueCategory = prvalue -# 2919| getArgument(0): [Literal] 2.299999999999999822 +# 2919| getArgument(0): [Literal] 2.3 # 2919| Type = [DoubleType] double -# 2919| Value = [Literal] 2.299999999999999822 +# 2919| Value = [Literal] 2.3 # 2919| ValueCategory = prvalue # 2919| getExpr().getFullyConverted(): [CStyleCast] (int)... # 2919| Conversion = [FloatingPointToIntegralConversion] floating point to integral conversion diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected index 66810913e5d..96035c16533 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -12954,21 +12954,21 @@ ir.cpp: # 1592| double StructuredBindingTupleRefGet::d # 1592| Block 0 -# 1592| v1592_1(void) = EnterFunction : -# 1592| m1592_2(unknown) = AliasedDefinition : -# 1592| m1592_3(unknown) = InitializeNonLocal : -# 1592| m1592_4(unknown) = Chi : total:m1592_2, partial:m1592_3 -# 1592| r1592_5(glval) = VariableAddress[#this] : -# 1592| m1592_6(glval) = InitializeParameter[#this] : &:r1592_5 -# 1592| r1592_7(glval) = Load[#this] : &:r1592_5, m1592_6 -# 1592| m1592_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_7 -# 1592| r1592_9(glval) = FieldAddress[d] : r1592_7 -# 1592| r1592_10(double) = Constant[2.200000000000000178] : -# 1592| m1592_11(double) = Store[?] : &:r1592_9, r1592_10 -# 1592| m1592_12(unknown) = Chi : total:m1592_8, partial:m1592_11 -# 1592| v1592_13(void) = ReturnVoid : -# 1592| v1592_14(void) = AliasedUse : m1592_3 -# 1592| v1592_15(void) = ExitFunction : +# 1592| v1592_1(void) = EnterFunction : +# 1592| m1592_2(unknown) = AliasedDefinition : +# 1592| m1592_3(unknown) = InitializeNonLocal : +# 1592| m1592_4(unknown) = Chi : total:m1592_2, partial:m1592_3 +# 1592| r1592_5(glval) = VariableAddress[#this] : +# 1592| m1592_6(glval) = InitializeParameter[#this] : &:r1592_5 +# 1592| r1592_7(glval) = Load[#this] : &:r1592_5, m1592_6 +# 1592| m1592_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_7 +# 1592| r1592_9(glval) = FieldAddress[d] : r1592_7 +# 1592| r1592_10(double) = Constant[2.2] : +# 1592| m1592_11(double) = Store[?] : &:r1592_9, r1592_10 +# 1592| m1592_12(unknown) = Chi : total:m1592_8, partial:m1592_11 +# 1592| v1592_13(void) = ReturnVoid : +# 1592| v1592_14(void) = AliasedUse : m1592_3 +# 1592| v1592_15(void) = ExitFunction : # 1593| int& StructuredBindingTupleRefGet::r # 1593| Block 0 @@ -21761,7 +21761,7 @@ ir.cpp: # 2919| m2919_2(unknown) = AliasedDefinition : # 2919| r2919_3(glval) = VariableAddress[VariableTemplateFuncUse] : # 2919| r2919_4(glval) = FunctionAddress[VariableTemplateFunc] : -# 2919| r2919_5(double) = Constant[2.299999999999999822] : +# 2919| r2919_5(double) = Constant[2.3] : # 2919| r2919_6(double) = Call[VariableTemplateFunc] : func:r2919_4, 0:r2919_5 # 2919| m2919_7(unknown) = ^CallSideEffect : ~m2919_2 # 2919| m2919_8(unknown) = Chi : total:m2919_2, partial:m2919_7 diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index 4e73b7d1aa6..05ab6c50d70 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -11861,19 +11861,19 @@ ir.cpp: # 1592| double StructuredBindingTupleRefGet::d # 1592| Block 0 -# 1592| v1592_1(void) = EnterFunction : -# 1592| mu1592_2(unknown) = AliasedDefinition : -# 1592| mu1592_3(unknown) = InitializeNonLocal : -# 1592| r1592_4(glval) = VariableAddress[#this] : -# 1592| mu1592_5(glval) = InitializeParameter[#this] : &:r1592_4 -# 1592| r1592_6(glval) = Load[#this] : &:r1592_4, ~m? -# 1592| mu1592_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_6 -# 1592| r1592_8(glval) = FieldAddress[d] : r1592_6 -# 1592| r1592_9(double) = Constant[2.200000000000000178] : -# 1592| mu1592_10(double) = Store[?] : &:r1592_8, r1592_9 -# 1592| v1592_11(void) = ReturnVoid : -# 1592| v1592_12(void) = AliasedUse : ~m? -# 1592| v1592_13(void) = ExitFunction : +# 1592| v1592_1(void) = EnterFunction : +# 1592| mu1592_2(unknown) = AliasedDefinition : +# 1592| mu1592_3(unknown) = InitializeNonLocal : +# 1592| r1592_4(glval) = VariableAddress[#this] : +# 1592| mu1592_5(glval) = InitializeParameter[#this] : &:r1592_4 +# 1592| r1592_6(glval) = Load[#this] : &:r1592_4, ~m? +# 1592| mu1592_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_6 +# 1592| r1592_8(glval) = FieldAddress[d] : r1592_6 +# 1592| r1592_9(double) = Constant[2.2] : +# 1592| mu1592_10(double) = Store[?] : &:r1592_8, r1592_9 +# 1592| v1592_11(void) = ReturnVoid : +# 1592| v1592_12(void) = AliasedUse : ~m? +# 1592| v1592_13(void) = ExitFunction : # 1593| int& StructuredBindingTupleRefGet::r # 1593| Block 0 @@ -19768,7 +19768,7 @@ ir.cpp: # 2919| mu2919_2(unknown) = AliasedDefinition : # 2919| r2919_3(glval) = VariableAddress[VariableTemplateFuncUse] : # 2919| r2919_4(glval) = FunctionAddress[VariableTemplateFunc] : -# 2919| r2919_5(double) = Constant[2.299999999999999822] : +# 2919| r2919_5(double) = Constant[2.3] : # 2919| r2919_6(double) = Call[VariableTemplateFunc] : func:r2919_4, 0:r2919_5 # 2919| mu2919_7(unknown) = ^CallSideEffect : ~m? # 2919| r2919_8(int) = Convert : r2919_6 diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected index b8424b8f01a..7d441d6293a 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected @@ -1293,12 +1293,12 @@ estimateNrOfBounds | test.c:415:26:415:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:415:30:415:30 | q | 1.0 | 1.0 | 1.0 | | test.c:415:30:415:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:415:34:415:43 | 0.4743882700000000008 | 1.0 | -1.0 | -1.0 | -| test.c:415:47:415:56 | 0.1433388700000000071 | 1.0 | -1.0 | -1.0 | -| test.c:415:60:415:69 | 0.3527920299999999787 | 1.0 | -1.0 | -1.0 | -| test.c:415:73:415:82 | 0.3920645799999999959 | 1.0 | -1.0 | -1.0 | -| test.c:415:86:415:95 | 0.2154022499999999896 | 1.0 | -1.0 | -1.0 | -| test.c:415:99:415:108 | 0.4049680500000000238 | 1.0 | -1.0 | -1.0 | +| test.c:415:34:415:43 | 0.47438827 | 1.0 | -1.0 | -1.0 | +| test.c:415:47:415:56 | 0.14333887 | 1.0 | -1.0 | -1.0 | +| test.c:415:60:415:69 | 0.35279203 | 1.0 | -1.0 | -1.0 | +| test.c:415:73:415:82 | 0.39206458 | 1.0 | -1.0 | -1.0 | +| test.c:415:86:415:95 | 0.21540225 | 1.0 | -1.0 | -1.0 | +| test.c:415:99:415:108 | 0.40496805 | 1.0 | -1.0 | -1.0 | | test.c:416:14:416:14 | m | 2.0 | 1.0 | 1.0 | | test.c:416:14:416:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:416:18:416:18 | n | 3.0 | 1.0 | 1.0 | @@ -1309,12 +1309,12 @@ estimateNrOfBounds | test.c:416:26:416:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:416:30:416:30 | q | 3.0 | 1.0 | 1.0 | | test.c:416:30:416:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:416:34:416:43 | 0.3418334800000000229 | 1.0 | -1.0 | -1.0 | -| test.c:416:47:416:56 | 0.3533464000000000049 | 1.0 | -1.0 | -1.0 | -| test.c:416:60:416:69 | 0.2224785300000000077 | 1.0 | -1.0 | -1.0 | -| test.c:416:73:416:82 | 0.326618929999999974 | 1.0 | -1.0 | -1.0 | -| test.c:416:86:416:95 | 0.5927046500000000551 | 1.0 | -1.0 | -1.0 | -| test.c:416:99:416:108 | 0.5297741000000000255 | 1.0 | -1.0 | -1.0 | +| test.c:416:34:416:43 | 0.34183348 | 1.0 | -1.0 | -1.0 | +| test.c:416:47:416:56 | 0.3533464 | 1.0 | -1.0 | -1.0 | +| test.c:416:60:416:69 | 0.22247853 | 1.0 | -1.0 | -1.0 | +| test.c:416:73:416:82 | 0.32661893 | 1.0 | -1.0 | -1.0 | +| test.c:416:86:416:95 | 0.59270465 | 1.0 | -1.0 | -1.0 | +| test.c:416:99:416:108 | 0.5297741 | 1.0 | -1.0 | -1.0 | | test.c:417:14:417:14 | m | 3.5 | 1.0 | 1.0 | | test.c:417:14:417:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:417:18:417:18 | n | 8.0 | 1.0 | 1.0 | @@ -1325,12 +1325,12 @@ estimateNrOfBounds | test.c:417:26:417:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:417:30:417:30 | q | 8.0 | 1.0 | 1.0 | | test.c:417:30:417:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:417:34:417:43 | 0.774296030000000024 | 1.0 | -1.0 | -1.0 | -| test.c:417:47:417:56 | 0.3147808400000000062 | 1.0 | -1.0 | -1.0 | -| test.c:417:60:417:69 | 0.3123551399999999756 | 1.0 | -1.0 | -1.0 | -| test.c:417:73:417:82 | 0.05121255999999999725 | 1.0 | -1.0 | -1.0 | -| test.c:417:86:417:95 | 0.7931074500000000471 | 1.0 | -1.0 | -1.0 | -| test.c:417:99:417:108 | 0.6798145100000000385 | 1.0 | -1.0 | -1.0 | +| test.c:417:34:417:43 | 0.77429603 | 1.0 | -1.0 | -1.0 | +| test.c:417:47:417:56 | 0.31478084 | 1.0 | -1.0 | -1.0 | +| test.c:417:60:417:69 | 0.31235514 | 1.0 | -1.0 | -1.0 | +| test.c:417:73:417:82 | 0.05121256 | 1.0 | -1.0 | -1.0 | +| test.c:417:86:417:95 | 0.79310745 | 1.0 | -1.0 | -1.0 | +| test.c:417:99:417:108 | 0.67981451 | 1.0 | -1.0 | -1.0 | | test.c:418:14:418:14 | m | 5.75 | 1.0 | 1.0 | | test.c:418:14:418:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:418:18:418:18 | n | 20.5 | 1.0 | 1.0 | @@ -1341,12 +1341,12 @@ estimateNrOfBounds | test.c:418:26:418:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:418:30:418:30 | q | 20.5 | 1.0 | 1.0 | | test.c:418:30:418:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:418:34:418:43 | 0.4472955599999999809 | 1.0 | -1.0 | -1.0 | -| test.c:418:47:418:56 | 0.8059920200000000312 | 1.0 | -1.0 | -1.0 | -| test.c:418:60:418:69 | 0.9899726199999999698 | 1.0 | -1.0 | -1.0 | -| test.c:418:73:418:82 | 0.5995273199999999747 | 1.0 | -1.0 | -1.0 | -| test.c:418:86:418:95 | 0.3697694799999999837 | 1.0 | -1.0 | -1.0 | -| test.c:418:99:418:108 | 0.8386683499999999514 | 1.0 | -1.0 | -1.0 | +| test.c:418:34:418:43 | 0.44729556 | 1.0 | -1.0 | -1.0 | +| test.c:418:47:418:56 | 0.80599202 | 1.0 | -1.0 | -1.0 | +| test.c:418:60:418:69 | 0.98997262 | 1.0 | -1.0 | -1.0 | +| test.c:418:73:418:82 | 0.59952732 | 1.0 | -1.0 | -1.0 | +| test.c:418:86:418:95 | 0.36976948 | 1.0 | -1.0 | -1.0 | +| test.c:418:99:418:108 | 0.83866835 | 1.0 | -1.0 | -1.0 | | test.c:419:14:419:14 | m | 9.125 | 1.0 | 1.0 | | test.c:419:14:419:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:419:18:419:18 | n | 51.75 | 1.0 | 1.0 | @@ -1357,12 +1357,12 @@ estimateNrOfBounds | test.c:419:26:419:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:419:30:419:30 | q | 51.75 | 1.0 | 1.0 | | test.c:419:30:419:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:419:34:419:43 | 0.4931182800000000199 | 1.0 | -1.0 | -1.0 | -| test.c:419:47:419:56 | 0.9038991100000000056 | 1.0 | -1.0 | -1.0 | -| test.c:419:60:419:69 | 0.1059771199999999941 | 1.0 | -1.0 | -1.0 | -| test.c:419:73:419:82 | 0.2177842600000000073 | 1.0 | -1.0 | -1.0 | -| test.c:419:86:419:95 | 0.7248596600000000167 | 1.0 | -1.0 | -1.0 | -| test.c:419:99:419:108 | 0.6873487400000000136 | 1.0 | -1.0 | -1.0 | +| test.c:419:34:419:43 | 0.49311828 | 1.0 | -1.0 | -1.0 | +| test.c:419:47:419:56 | 0.90389911 | 1.0 | -1.0 | -1.0 | +| test.c:419:60:419:69 | 0.10597712 | 1.0 | -1.0 | -1.0 | +| test.c:419:73:419:82 | 0.21778426 | 1.0 | -1.0 | -1.0 | +| test.c:419:86:419:95 | 0.72485966 | 1.0 | -1.0 | -1.0 | +| test.c:419:99:419:108 | 0.68734874 | 1.0 | -1.0 | -1.0 | | test.c:420:14:420:14 | m | 14.1875 | 1.0 | 1.0 | | test.c:420:14:420:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:420:18:420:18 | n | 129.875 | 1.0 | 1.0 | @@ -1373,12 +1373,12 @@ estimateNrOfBounds | test.c:420:26:420:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:420:30:420:30 | q | 129.875 | 1.0 | 1.0 | | test.c:420:30:420:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:420:34:420:43 | 0.4745284799999999747 | 1.0 | -1.0 | -1.0 | -| test.c:420:47:420:56 | 0.107866500000000004 | 1.0 | -1.0 | -1.0 | -| test.c:420:60:420:69 | 0.1188457599999999947 | 1.0 | -1.0 | -1.0 | -| test.c:420:73:420:82 | 0.7616405200000000431 | 1.0 | -1.0 | -1.0 | -| test.c:420:86:420:95 | 0.3480889200000000239 | 1.0 | -1.0 | -1.0 | -| test.c:420:99:420:108 | 0.584408649999999974 | 1.0 | -1.0 | -1.0 | +| test.c:420:34:420:43 | 0.47452848 | 1.0 | -1.0 | -1.0 | +| test.c:420:47:420:56 | 0.1078665 | 1.0 | -1.0 | -1.0 | +| test.c:420:60:420:69 | 0.11884576 | 1.0 | -1.0 | -1.0 | +| test.c:420:73:420:82 | 0.76164052 | 1.0 | -1.0 | -1.0 | +| test.c:420:86:420:95 | 0.34808892 | 1.0 | -1.0 | -1.0 | +| test.c:420:99:420:108 | 0.58440865 | 1.0 | -1.0 | -1.0 | | test.c:421:14:421:14 | m | 21.78125 | 1.0 | 1.0 | | test.c:421:14:421:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:421:18:421:18 | n | 325.1875 | 1.0 | 1.0 | @@ -1390,11 +1390,11 @@ estimateNrOfBounds | test.c:421:30:421:30 | q | 325.1875 | 1.0 | 1.0 | | test.c:421:30:421:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:421:34:421:43 | 0.02524326 | 1.0 | -1.0 | -1.0 | -| test.c:421:47:421:56 | 0.8290504600000000446 | 1.0 | -1.0 | -1.0 | -| test.c:421:60:421:69 | 0.95823075000000002 | 1.0 | -1.0 | -1.0 | -| test.c:421:73:421:82 | 0.1251655799999999985 | 1.0 | -1.0 | -1.0 | -| test.c:421:86:421:95 | 0.8523517900000000536 | 1.0 | -1.0 | -1.0 | -| test.c:421:99:421:108 | 0.3623238400000000081 | 1.0 | -1.0 | -1.0 | +| test.c:421:47:421:56 | 0.82905046 | 1.0 | -1.0 | -1.0 | +| test.c:421:60:421:69 | 0.95823075 | 1.0 | -1.0 | -1.0 | +| test.c:421:73:421:82 | 0.12516558 | 1.0 | -1.0 | -1.0 | +| test.c:421:86:421:95 | 0.85235179 | 1.0 | -1.0 | -1.0 | +| test.c:421:99:421:108 | 0.36232384 | 1.0 | -1.0 | -1.0 | | test.c:422:14:422:14 | m | 33.171875 | 1.0 | 1.0 | | test.c:422:14:422:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:422:18:422:18 | n | 813.46875 | 1.0 | 1.0 | @@ -1405,12 +1405,12 @@ estimateNrOfBounds | test.c:422:26:422:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:422:30:422:30 | q | 813.46875 | 1.0 | 1.0 | | test.c:422:30:422:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:422:34:422:43 | 0.3870862600000000153 | 1.0 | -1.0 | -1.0 | -| test.c:422:47:422:56 | 0.3287604399999999871 | 1.0 | -1.0 | -1.0 | -| test.c:422:60:422:69 | 0.1496348500000000137 | 1.0 | -1.0 | -1.0 | -| test.c:422:73:422:82 | 0.4504110800000000192 | 1.0 | -1.0 | -1.0 | -| test.c:422:86:422:95 | 0.4864090899999999884 | 1.0 | -1.0 | -1.0 | -| test.c:422:99:422:108 | 0.8433127200000000157 | 1.0 | -1.0 | -1.0 | +| test.c:422:34:422:43 | 0.38708626 | 1.0 | -1.0 | -1.0 | +| test.c:422:47:422:56 | 0.32876044 | 1.0 | -1.0 | -1.0 | +| test.c:422:60:422:69 | 0.14963485 | 1.0 | -1.0 | -1.0 | +| test.c:422:73:422:82 | 0.45041108 | 1.0 | -1.0 | -1.0 | +| test.c:422:86:422:95 | 0.48640909 | 1.0 | -1.0 | -1.0 | +| test.c:422:99:422:108 | 0.84331272 | 1.0 | -1.0 | -1.0 | | test.c:423:14:423:14 | m | 50.2578125 | 1.0 | 1.0 | | test.c:423:14:423:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:423:18:423:18 | n | 2034.171875 | 1.0 | 1.0 | @@ -1421,12 +1421,12 @@ estimateNrOfBounds | test.c:423:26:423:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:423:30:423:30 | q | 2034.171875 | 1.0 | 1.0 | | test.c:423:30:423:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:423:34:423:43 | 0.1575506299999999971 | 1.0 | -1.0 | -1.0 | -| test.c:423:47:423:56 | 0.7708683299999999905 | 1.0 | -1.0 | -1.0 | -| test.c:423:60:423:69 | 0.2642848099999999811 | 1.0 | -1.0 | -1.0 | -| test.c:423:73:423:82 | 0.1480050800000000111 | 1.0 | -1.0 | -1.0 | -| test.c:423:86:423:95 | 0.374281430000000026 | 1.0 | -1.0 | -1.0 | -| test.c:423:99:423:108 | 0.05328182000000000057 | 1.0 | -1.0 | -1.0 | +| test.c:423:34:423:43 | 0.15755063 | 1.0 | -1.0 | -1.0 | +| test.c:423:47:423:56 | 0.77086833 | 1.0 | -1.0 | -1.0 | +| test.c:423:60:423:69 | 0.26428481 | 1.0 | -1.0 | -1.0 | +| test.c:423:73:423:82 | 0.14800508 | 1.0 | -1.0 | -1.0 | +| test.c:423:86:423:95 | 0.37428143 | 1.0 | -1.0 | -1.0 | +| test.c:423:99:423:108 | 0.05328182 | 1.0 | -1.0 | -1.0 | | test.c:424:14:424:14 | m | 75.88671875 | 1.0 | 1.0 | | test.c:424:14:424:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:424:18:424:18 | n | 5085.9296875 | 1.0 | 1.0 | @@ -1437,12 +1437,12 @@ estimateNrOfBounds | test.c:424:26:424:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:424:30:424:30 | q | 5085.9296875 | 1.0 | 1.0 | | test.c:424:30:424:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:424:34:424:43 | 0.4173653600000000186 | 1.0 | -1.0 | -1.0 | -| test.c:424:47:424:56 | 0.7682662799999999681 | 1.0 | -1.0 | -1.0 | -| test.c:424:60:424:69 | 0.2764323799999999776 | 1.0 | -1.0 | -1.0 | -| test.c:424:73:424:82 | 0.5567927400000000082 | 1.0 | -1.0 | -1.0 | -| test.c:424:86:424:95 | 0.3946885700000000163 | 1.0 | -1.0 | -1.0 | -| test.c:424:99:424:108 | 0.6907214400000000198 | 1.0 | -1.0 | -1.0 | +| test.c:424:34:424:43 | 0.41736536 | 1.0 | -1.0 | -1.0 | +| test.c:424:47:424:56 | 0.76826628 | 1.0 | -1.0 | -1.0 | +| test.c:424:60:424:69 | 0.27643238 | 1.0 | -1.0 | -1.0 | +| test.c:424:73:424:82 | 0.55679274 | 1.0 | -1.0 | -1.0 | +| test.c:424:86:424:95 | 0.39468857 | 1.0 | -1.0 | -1.0 | +| test.c:424:99:424:108 | 0.69072144 | 1.0 | -1.0 | -1.0 | | test.c:425:14:425:14 | m | 114.330078125 | 1.0 | 1.0 | | test.c:425:14:425:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:425:18:425:18 | n | 12715.32421875 | 1.0 | 1.0 | @@ -1453,12 +1453,12 @@ estimateNrOfBounds | test.c:425:26:425:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:425:30:425:30 | q | 12715.32421875 | 1.0 | 1.0 | | test.c:425:30:425:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:425:34:425:43 | 0.8895534499999999678 | 1.0 | -1.0 | -1.0 | -| test.c:425:47:425:56 | 0.2990482400000000207 | 1.0 | -1.0 | -1.0 | -| test.c:425:60:425:69 | 0.7624258299999999711 | 1.0 | -1.0 | -1.0 | -| test.c:425:73:425:82 | 0.2051910999999999874 | 1.0 | -1.0 | -1.0 | -| test.c:425:86:425:95 | 0.8874555899999999609 | 1.0 | -1.0 | -1.0 | -| test.c:425:99:425:108 | 0.8137279800000000174 | 1.0 | -1.0 | -1.0 | +| test.c:425:34:425:43 | 0.88955345 | 1.0 | -1.0 | -1.0 | +| test.c:425:47:425:56 | 0.29904824 | 1.0 | -1.0 | -1.0 | +| test.c:425:60:425:69 | 0.76242583 | 1.0 | -1.0 | -1.0 | +| test.c:425:73:425:82 | 0.2051911 | 1.0 | -1.0 | -1.0 | +| test.c:425:86:425:95 | 0.88745559 | 1.0 | -1.0 | -1.0 | +| test.c:425:99:425:108 | 0.81372798 | 1.0 | -1.0 | -1.0 | | test.c:426:14:426:14 | m | 171.9951171875 | 1.0 | 1.0 | | test.c:426:14:426:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:426:18:426:18 | n | 31788.810546875 | 1.0 | 1.0 | @@ -1469,12 +1469,12 @@ estimateNrOfBounds | test.c:426:26:426:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:426:30:426:30 | q | 31788.810546875 | 1.0 | 1.0 | | test.c:426:30:426:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:426:34:426:43 | 0.4218627600000000033 | 1.0 | -1.0 | -1.0 | -| test.c:426:47:426:56 | 0.5384335799999999672 | 1.0 | -1.0 | -1.0 | -| test.c:426:60:426:69 | 0.4499667900000000054 | 1.0 | -1.0 | -1.0 | -| test.c:426:73:426:82 | 0.1320411400000000013 | 1.0 | -1.0 | -1.0 | -| test.c:426:86:426:95 | 0.5203124099999999475 | 1.0 | -1.0 | -1.0 | -| test.c:426:99:426:108 | 0.4276264699999999808 | 1.0 | -1.0 | -1.0 | +| test.c:426:34:426:43 | 0.42186276 | 1.0 | -1.0 | -1.0 | +| test.c:426:47:426:56 | 0.53843358 | 1.0 | -1.0 | -1.0 | +| test.c:426:60:426:69 | 0.44996679 | 1.0 | -1.0 | -1.0 | +| test.c:426:73:426:82 | 0.13204114 | 1.0 | -1.0 | -1.0 | +| test.c:426:86:426:95 | 0.52031241 | 1.0 | -1.0 | -1.0 | +| test.c:426:99:426:108 | 0.42762647 | 1.0 | -1.0 | -1.0 | | test.c:432:19:432:19 | a | 1.0 | 1.0 | 1.0 | | test.c:432:19:432:23 | ... + ... | 1.0 | 1.0 | 1.0 | | test.c:432:19:432:27 | ... + ... | 1.0 | 1.0 | 1.0 | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected index 9424c731765..63851030bba 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected @@ -11,8 +11,13 @@ edges | nested.cpp:86:19:86:46 | *call to __builtin_alloca | nested.cpp:87:18:87:20 | *fmt | provenance | | | test.cpp:46:27:46:30 | **argv | test.cpp:130:20:130:26 | *access to array | provenance | | | test.cpp:167:31:167:34 | *data | test.cpp:170:12:170:14 | *res | provenance | DataFlowFunction | +| test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | test.cpp:179:6:179:21 | [summary param] *0 in StringCchPrintfW [Return] | provenance | MaD:403 | +| test.cpp:193:32:193:34 | *str | test.cpp:195:31:195:33 | *str | provenance | | | test.cpp:193:32:193:34 | *str | test.cpp:195:31:195:33 | *str | provenance | | | test.cpp:193:32:193:34 | *str | test.cpp:197:11:197:14 | *wstr | provenance | TaintFunction | +| test.cpp:195:20:195:23 | StringCchPrintfW output argument | test.cpp:197:11:197:14 | *wstr | provenance | | +| test.cpp:195:31:195:33 | *str | test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | provenance | | +| test.cpp:195:31:195:33 | *str | test.cpp:195:20:195:23 | StringCchPrintfW output argument | provenance | MaD:403 | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:204:25:204:36 | *call to get_string | provenance | | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:205:12:205:20 | *... + ... | provenance | | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:206:12:206:16 | *hello | provenance | | @@ -55,7 +60,11 @@ nodes | test.cpp:130:20:130:26 | *access to array | semmle.label | *access to array | | test.cpp:167:31:167:34 | *data | semmle.label | *data | | test.cpp:170:12:170:14 | *res | semmle.label | *res | +| test.cpp:179:6:179:21 | [summary param] *0 in StringCchPrintfW [Return] | semmle.label | [summary param] *0 in StringCchPrintfW [Return] | +| test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | semmle.label | [summary param] *2 in StringCchPrintfW | | test.cpp:193:32:193:34 | *str | semmle.label | *str | +| test.cpp:195:20:195:23 | StringCchPrintfW output argument | semmle.label | StringCchPrintfW output argument | +| test.cpp:195:31:195:33 | *str | semmle.label | *str | | test.cpp:195:31:195:33 | *str | semmle.label | *str | | test.cpp:197:11:197:14 | *wstr | semmle.label | *wstr | | test.cpp:204:25:204:36 | *call to get_string | semmle.label | *call to get_string | @@ -88,6 +97,7 @@ nodes | test.cpp:245:25:245:36 | *call to get_string | semmle.label | *call to get_string | | test.cpp:247:12:247:16 | *hello | semmle.label | *hello | subpaths +| test.cpp:195:31:195:33 | *str | test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | test.cpp:179:6:179:21 | [summary param] *0 in StringCchPrintfW [Return] | test.cpp:195:20:195:23 | StringCchPrintfW output argument | #select | NonConstantFormat.c:30:10:30:16 | *access to array | NonConstantFormat.c:28:27:28:30 | **argv | NonConstantFormat.c:30:10:30:16 | *access to array | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | NonConstantFormat.c:30:3:30:8 | call to printf | printf | | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | NonConstantFormat.c:41:2:41:7 | call to printf | printf | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected b/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected index d067430aba9..162161e369b 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected @@ -2,10 +2,10 @@ | test.c:33:3:33:19 | call to not_yet_declared2 | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:77:6:77:22 | not_yet_declared2 | not_yet_declared2 | test.c:33:21:33:22 | ca | ca | file://:0:0:0:0 | int[4] | int[4] | test.c:77:24:77:26 | (unnamed parameter 0) | int (unnamed parameter 0) | | test.c:41:3:41:29 | call to declared_empty_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:78:6:78:32 | declared_empty_defined_with | declared_empty_defined_with | test.c:41:31:41:32 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:78:38:78:38 | x | int x | | test.c:45:3:45:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:81:6:81:30 | not_declared_defined_with | not_declared_defined_with | test.c:45:29:45:31 | 4 | 4 | file://:0:0:0:0 | long long | long long | test.c:81:36:81:36 | x | int x | -| test.c:45:3:45:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:81:6:81:30 | not_declared_defined_with | not_declared_defined_with | test.c:45:37:45:42 | 2500000000.0 | 2500000000.0 | file://:0:0:0:0 | float | float | test.c:81:50:81:50 | z | int z | -| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:5:6:5:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3500000000000000.0 | 3500000000000000.0 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | +| test.c:45:3:45:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:81:6:81:30 | not_declared_defined_with | not_declared_defined_with | test.c:45:37:45:42 | 2.5E9 | 2.5E9 | file://:0:0:0:0 | float | float | test.c:81:50:81:50 | z | int z | +| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:5:6:5:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3.5E15 | 3.5E15 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | | test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:5:6:5:27 | declared_with_pointers | declared_with_pointers | test.c:48:34:48:34 | 0 | 0 | file://:0:0:0:0 | int | int | test.c:93:43:93:43 | y | void * y | -| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:93:6:93:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3500000000000000.0 | 3500000000000000.0 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | +| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:93:6:93:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3.5E15 | 3.5E15 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | | test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:93:6:93:27 | declared_with_pointers | declared_with_pointers | test.c:48:34:48:34 | 0 | 0 | file://:0:0:0:0 | int | int | test.c:93:43:93:43 | y | void * y | | test.c:50:3:50:21 | call to declared_with_array | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:6:6:6:24 | declared_with_array | declared_with_array | test.c:50:23:50:24 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:94:31:94:31 | a | char[6] a | | test.c:50:3:50:21 | call to declared_with_array | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:94:6:94:24 | declared_with_array | declared_with_array | test.c:50:23:50:24 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:94:31:94:31 | a | char[6] a | @@ -15,4 +15,4 @@ | test.c:58:3:58:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:58:26:58:28 | 99 | 99 | file://:0:0:0:0 | int | int | test.c:104:44:104:45 | ll | long long ll | | test.c:59:3:59:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:59:26:59:26 | 3 | 3 | file://:0:0:0:0 | int | int | test.c:104:44:104:45 | ll | long long ll | | test.c:61:3:61:21 | call to defined_with_double | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:100:8:100:26 | defined_with_double | defined_with_double | test.c:61:23:61:25 | 2 | 2 | file://:0:0:0:0 | long long | long long | test.c:100:35:100:35 | d | double d | -| test.c:62:3:62:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:62:26:62:31 | 3500000000000000.0 | 3500000000000000.0 | file://:0:0:0:0 | double | double | test.c:104:44:104:45 | ll | long long ll | +| test.c:62:3:62:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:62:26:62:31 | 3.5E15 | 3.5E15 | file://:0:0:0:0 | double | double | test.c:104:44:104:45 | ll | long long ll | diff --git a/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/old.dbscheme b/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/old.dbscheme new file mode 100644 index 00000000000..ea7ad33252e --- /dev/null +++ b/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/old.dbscheme @@ -0,0 +1,1505 @@ +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2021-07-14 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * csc f1.cs f2.cs f3.cs + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + unique int id : @compilation, + string cwd : string ref +); + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | --compiler + * 1 | *path to compiler* + * 2 | f1.cs + * 3 | f2.cs + * 4 | f3.cs + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile.rsp` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.cs + * 1 | f2.cs + * 2 | f3.cs + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The references used by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs /r:ref1.dll /r:ref2.dll /r:ref3.dll + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | ref1.dll + * 1 | ref2.dll + * 2 | ref3.dll + */ +#keyset[id, num] +compilation_referencing_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location ref +); + +extractor_messages( + unique int id: @extractor_message, + int severity: int ref, + string origin : string ref, + string text : string ref, + string entity : string ref, + int location: @location ref, + string stack_trace : string ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +compilation_assembly( + unique int id : @compilation ref, + int assembly: @assembly ref +) + +// Populated by the CSV extractor +externalData( + int id: @externalDataElement, + string path: string ref, + int column: int ref, + string value: string ref); + +sourceLocationPrefix( + string prefix: string ref); + +/* + * Overlay support + */ + +/** + * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, + * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, + * when building an overlay database, and these can be used by the discard predicates. + */ +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path : string ref +); + +/* + * C# dbscheme + */ + +/** ELEMENTS **/ + +@element = @declaration | @stmt | @expr | @modifier | @attribute | @namespace_declaration + | @using_directive | @type_parameter_constraints | @externalDataElement + | @xmllocatable | @asp_element | @namespace | @preprocessor_directive; + +@declaration = @callable | @generic | @assignable | @namespace; + +@named_element = @namespace | @declaration; + +@declaration_with_accessors = @property | @indexer | @event; + +@assignable = @variable | @assignable_with_accessors | @event; + +@assignable_with_accessors = @property | @indexer; + +@attributable = @assembly | @field | @parameter | @operator | @method | @constructor + | @destructor | @callable_accessor | @value_or_ref_type | @declaration_with_accessors + | @local_function | @lambda_expr; + +/** LOCATIONS, ASEMMBLIES, MODULES, FILES and FOLDERS **/ + +@location = @location_default | @assembly; + +@locatable = @declaration_with_accessors | @callable_accessor | @declaration_or_directive + | @diagnostic | @extractor_message | @preprocessor_directive | @attribute | @type_mention | @type_parameter_constraints + | @declaration_with_accessors | @callable_accessor | @operator | @method + | @constructor | @destructor | @field | @local_variable | @parameter | @stmt | @expr + | @xmllocatable | @commentline | @commentblock | @asp_element + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +locations_mapped( + unique int id: @location_default ref, + int mapped_to: @location_default ref); + +@sourceline = @file | @callable | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref); + +assemblies( + unique int id: @assembly, + int file: @file ref, + string fullname: string ref, + string name: string ref, + string version: string ref); + +files( + unique int id: @file, + string name: string ref); + +folders( + unique int id: @folder, + string name: string ref); + +@container = @folder | @file ; + +containerparent( + int parent: @container ref, + unique int child: @container ref); + +file_extraction_mode( + unique int file: @file ref, + int mode: int ref + /* 0 = normal, 1 = standalone extractor */ + ); + +/** NAMESPACES **/ + +@type_container = @namespace | @type; + +namespaces( + unique int id: @namespace, + string name: string ref); + +namespace_declarations( + unique int id: @namespace_declaration, + int namespace_id: @namespace ref); + +namespace_declaration_location( + unique int id: @namespace_declaration ref, + int loc: @location ref); + +parent_namespace( + unique int child_id: @type_container ref, + int namespace_id: @namespace ref); + +@declaration_or_directive = @namespace_declaration | @type | @using_directive; + +parent_namespace_declaration( + int child_id: @declaration_or_directive ref, // cannot be unique because of partial classes + int namespace_id: @namespace_declaration ref); + +@using_directive = @using_namespace_directive | @using_static_directive; + +using_global( + unique int id: @using_directive ref +); + +using_namespace_directives( + unique int id: @using_namespace_directive, + int namespace_id: @namespace ref); + +using_static_directives( + unique int id: @using_static_directive, + int type_id: @type_or_ref ref); + +using_directive_location( + unique int id: @using_directive ref, + int loc: @location ref); + +@preprocessor_directive = @pragma_warning | @pragma_checksum | @directive_define | @directive_undefine | @directive_warning + | @directive_error | @directive_nullable | @directive_line | @directive_region | @directive_endregion | @directive_if + | @directive_elif | @directive_else | @directive_endif; + +@conditional_directive = @directive_if | @directive_elif; +@branch_directive = @directive_if | @directive_elif | @directive_else; + +directive_ifs( + unique int id: @directive_if, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref); /* 0: false, 1: true */ + +directive_elifs( + unique int id: @directive_elif, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +directive_elses( + unique int id: @directive_else, + int branchTaken: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +#keyset[id, start] +directive_endifs( + unique int id: @directive_endif, + unique int start: @directive_if ref); + +directive_define_symbols( + unique int id: @define_symbol_expr ref, + string name: string ref); + +directive_regions( + unique int id: @directive_region, + string name: string ref); + +#keyset[id, start] +directive_endregions( + unique int id: @directive_endregion, + unique int start: @directive_region ref); + +directive_lines( + unique int id: @directive_line, + int kind: int ref); /* 0: default, 1: hidden, 2: numeric, 3: span */ + +directive_line_value( + unique int id: @directive_line ref, + int line: int ref); + +directive_line_file( + unique int id: @directive_line ref, + int file: @file ref); + +directive_line_offset( + unique int id: @directive_line ref, + int offset: int ref); + +directive_line_span( + unique int id: @directive_line ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +directive_nullables( + unique int id: @directive_nullable, + int setting: int ref, /* 0: disable, 1: enable, 2: restore */ + int target: int ref); /* 0: none, 1: annotations, 2: warnings */ + +directive_warnings( + unique int id: @directive_warning, + string message: string ref); + +directive_errors( + unique int id: @directive_error, + string message: string ref); + +directive_undefines( + unique int id: @directive_undefine, + string name: string ref); + +directive_defines( + unique int id: @directive_define, + string name: string ref); + +pragma_checksums( + unique int id: @pragma_checksum, + int file: @file ref, + string guid: string ref, + string bytes: string ref); + +pragma_warnings( + unique int id: @pragma_warning, + int kind: int ref /* 0 = disable, 1 = restore */); + +#keyset[id, index] +pragma_warning_error_codes( + int id: @pragma_warning ref, + string errorCode: string ref, + int index: int ref); + +preprocessor_directive_location( + unique int id: @preprocessor_directive ref, + int loc: @location ref); + +preprocessor_directive_compilation( + int id: @preprocessor_directive ref, + int compilation: @compilation ref); + +preprocessor_directive_active( + unique int id: @preprocessor_directive ref, + int active: int ref); /* 0: false, 1: true */ + +/** TYPES **/ + +types( + unique int id: @type, + int kind: int ref, + string name: string ref); + +case @type.kind of + 1 = @bool_type +| 2 = @char_type +| 3 = @decimal_type +| 4 = @sbyte_type +| 5 = @short_type +| 6 = @int_type +| 7 = @long_type +| 8 = @byte_type +| 9 = @ushort_type +| 10 = @uint_type +| 11 = @ulong_type +| 12 = @float_type +| 13 = @double_type +| 14 = @enum_type +| 15 = @struct_type +| 17 = @class_type +| 19 = @interface_type +| 20 = @delegate_type +| 21 = @null_type +| 22 = @type_parameter +| 23 = @pointer_type +| 24 = @nullable_type +| 25 = @array_type +| 26 = @void_type +| 27 = @int_ptr_type +| 28 = @uint_ptr_type +| 29 = @dynamic_type +| 30 = @arglist_type +| 31 = @unknown_type +| 32 = @tuple_type +| 33 = @function_pointer_type +| 34 = @inline_array_type +| 35 = @extension_type + ; + +@simple_type = @bool_type | @char_type | @integral_type | @floating_point_type | @decimal_type; +@integral_type = @signed_integral_type | @unsigned_integral_type; +@signed_integral_type = @sbyte_type | @short_type | @int_type | @long_type; +@unsigned_integral_type = @byte_type | @ushort_type | @uint_type | @ulong_type; +@floating_point_type = @float_type | @double_type; +@value_type = @simple_type | @enum_type | @struct_type | @nullable_type | @int_ptr_type + | @uint_ptr_type | @tuple_type | @void_type | @inline_array_type; +@ref_type = @class_type | @interface_type | @array_type | @delegate_type | @null_type + | @dynamic_type | @extension_type; +@value_or_ref_type = @value_type | @ref_type; + +typerefs( + unique int id: @typeref, + string name: string ref); + +typeref_type( + int id: @typeref ref, + unique int typeId: @type ref); + +@type_or_ref = @type | @typeref; + +array_element_type( + unique int array: @array_type ref, + int dimension: int ref, + int rank: int ref, + int element: @type_or_ref ref); + +nullable_underlying_type( + unique int nullable: @nullable_type ref, + int underlying: @type_or_ref ref); + +pointer_referent_type( + unique int pointer: @pointer_type ref, + int referent: @type_or_ref ref); + +enum_underlying_type( + unique int enum_id: @enum_type ref, + int underlying_type_id: @type_or_ref ref); + +delegate_return_type( + unique int delegate_id: @delegate_type ref, + int return_type_id: @type_or_ref ref); + +function_pointer_return_type( + unique int function_pointer_id: @function_pointer_type ref, + int return_type_id: @type_or_ref ref); + +extension_receiver_type( + unique int extension: @extension_type ref, + int receiver_type_id: @type_or_ref ref); + +extend( + int sub: @type ref, + int super: @type_or_ref ref); + +anonymous_types( + unique int id: @type ref); + +@interface_or_ref = @interface_type | @typeref; + +implement( + int sub: @type ref, + int super: @type_or_ref ref); + +type_location( + int id: @type ref, + int loc: @location ref); + +tuple_underlying_type( + unique int tuple: @tuple_type ref, + int struct: @type_or_ref ref); + +#keyset[tuple, index] +tuple_element( + int tuple: @tuple_type ref, + int index: int ref, + unique int field: @field ref); + +attributes( + unique int id: @attribute, + int kind: int ref, + int type_id: @type_or_ref ref, + int target: @attributable ref); + +case @attribute.kind of + 0 = @attribute_default +| 1 = @attribute_return +| 2 = @attribute_assembly +| 3 = @attribute_module +; + +attribute_location( + int id: @attribute ref, + int loc: @location ref); + +@type_mention_parent = @element | @type_mention; + +type_mention( + unique int id: @type_mention, + int type_id: @type_or_ref ref, + int parent: @type_mention_parent ref); + +type_mention_location( + unique int id: @type_mention ref, + int loc: @location ref); + +@has_type_annotation = @assignable | @type_parameter | @callable | @expr | @delegate_type | @generic | @function_pointer_type; + +/** + * A direct annotation on an entity, for example `string? x;`. + * + * Annotations: + * 2 = reftype is not annotated "!" + * 3 = reftype is annotated "?" + * 4 = readonly ref type / in parameter + * 5 = ref type parameter, return or local variable + * 6 = out parameter + * + * Note that the annotation depends on the element it annotates. + * @assignable: The annotation is on the type of the assignable, for example the variable type. + * @type_parameter: The annotation is on the reftype constraint + * @callable: The annotation is on the return type + * @array_type: The annotation is on the element type + */ +type_annotation(int id: @has_type_annotation ref, int annotation: int ref); + +nullability(unique int nullability: @nullability, int kind: int ref); + +case @nullability.kind of + 0 = @oblivious +| 1 = @not_annotated +| 2 = @annotated +; + +#keyset[parent, index] +nullability_parent(int nullability: @nullability ref, int index: int ref, int parent: @nullability ref) + +type_nullability(int id: @has_type_annotation ref, int nullability: @nullability ref); + +/** + * The nullable flow state of an expression, as determined by Roslyn. + * 0 = none (default, not populated) + * 1 = not null + * 2 = maybe null + */ +expr_flowstate(unique int id: @expr ref, int state: int ref); + +/** GENERICS **/ + +@generic = @type | @method | @local_function; + +type_parameters( + unique int id: @type_parameter ref, + int index: int ref, + int generic_id: @generic ref, + int variance: int ref /* none = 0, out = 1, in = 2 */); + +#keyset[constructed_id, index] +type_arguments( + int id: @type_or_ref ref, + int index: int ref, + int constructed_id: @generic_or_ref ref); + +@generic_or_ref = @generic | @typeref; + +constructed_generic( + unique int constructed: @generic ref, + int generic: @generic_or_ref ref); + +type_parameter_constraints( + unique int id: @type_parameter_constraints, + int param_id: @type_parameter ref); + +type_parameter_constraints_location( + int id: @type_parameter_constraints ref, + int loc: @location ref); + +general_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int kind: int ref /* class = 1, struct = 2, new = 3 */); + +specific_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref); + +specific_type_parameter_nullability( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref, + int nullability: @nullability ref); + +/** FUNCTION POINTERS */ + +function_pointer_calling_conventions( + int id: @function_pointer_type ref, + int kind: int ref); + +#keyset[id, index] +has_unmanaged_calling_conventions( + int id: @function_pointer_type ref, + int index: int ref, + int conv_id: @type_or_ref ref); + +/** MODIFIERS */ + +@modifiable = @modifiable_direct | @event_accessor; + +@modifiable_direct = @member | @accessor | @local_function | @anonymous_function_expr; + +modifiers( + unique int id: @modifier, + string name: string ref); + +has_modifiers( + int id: @modifiable_direct ref, + int mod_id: @modifier ref); + +/** MEMBERS **/ + +@member = @method | @constructor | @destructor | @field | @property | @event | @operator | @indexer | @type; + +@named_exprorstmt = @goto_stmt | @labeled_stmt | @expr; + +@virtualizable = @method | @property | @indexer | @event | @operator; + +exprorstmt_name( + unique int parent_id: @named_exprorstmt ref, + string name: string ref); + +nested_types( + unique int id: @type ref, + int declaring_type_id: @type ref, + int unbound_id: @type ref); + +properties( + unique int id: @property, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @property ref); + +property_location( + int id: @property ref, + int loc: @location ref); + +indexers( + unique int id: @indexer, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @indexer ref); + +indexer_location( + int id: @indexer ref, + int loc: @location ref); + +accessors( + unique int id: @accessor, + int kind: int ref, + string name: string ref, + int declaring_member_id: @member ref, + int unbound_id: @accessor ref); + +case @accessor.kind of + 1 = @getter +| 2 = @setter + ; + +init_only_accessors( + unique int id: @accessor ref); + +accessor_location( + int id: @accessor ref, + int loc: @location ref); + +events( + unique int id: @event, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @event ref); + +event_location( + int id: @event ref, + int loc: @location ref); + +event_accessors( + unique int id: @event_accessor, + int kind: int ref, + string name: string ref, + int declaring_event_id: @event ref, + int unbound_id: @event_accessor ref); + +case @event_accessor.kind of + 1 = @add_event_accessor +| 2 = @remove_event_accessor + ; + +event_accessor_location( + int id: @event_accessor ref, + int loc: @location ref); + +operators( + unique int id: @operator, + string name: string ref, + string symbol: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @operator ref); + +operator_location( + int id: @operator ref, + int loc: @location ref); + +constant_value( + int id: @variable ref, + string value: string ref); + +/** CALLABLES **/ + +@callable = @method | @constructor | @destructor | @operator | @callable_accessor | @anonymous_function_expr | @local_function; + +@callable_accessor = @accessor | @event_accessor; + +methods( + unique int id: @method, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @method ref); + +method_location( + int id: @method ref, + int loc: @location ref); + +constructors( + unique int id: @constructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @constructor ref); + +constructor_location( + int id: @constructor ref, + int loc: @location ref); + +destructors( + unique int id: @destructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @destructor ref); + +destructor_location( + int id: @destructor ref, + int loc: @location ref); + +overrides( + int id: @callable ref, + int base_id: @callable ref); + +explicitly_implements( + int id: @member ref, + int interface_id: @interface_or_ref ref); + +local_functions( + unique int id: @local_function, + string name: string ref, + int return_type: @type ref, + int unbound_id: @local_function ref); + +local_function_stmts( + unique int fn: @local_function_stmt ref, + int stmt: @local_function ref); + +/** VARIABLES **/ + +@variable = @local_scope_variable | @field; + +@local_scope_variable = @local_variable | @parameter; + +fields( + unique int id: @field, + int kind: int ref, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @field ref); + +case @field.kind of + 1 = @addressable_field +| 2 = @constant + ; + +field_location( + int id: @field ref, + int loc: @location ref); + +localvars( + unique int id: @local_variable, + int kind: int ref, + string name: string ref, + int implicitly_typed: int ref /* 0 = no, 1 = yes */, + int type_id: @type_or_ref ref, + int parent_id: @local_var_decl_expr ref); + +case @local_variable.kind of + 1 = @addressable_local_variable +| 2 = @local_constant +| 3 = @local_variable_ref + ; + +localvar_location( + unique int id: @local_variable ref, + int loc: @location ref); + +@parameterizable = @callable | @delegate_type | @indexer | @function_pointer_type | @extension_type; + +#keyset[name, parent_id] +#keyset[index, parent_id] +params( + unique int id: @parameter, + string name: string ref, + int type_id: @type_or_ref ref, + int index: int ref, + int mode: int ref, /* value = 0, ref = 1, out = 2, params/array = 3, this = 4, in = 5, ref readonly = 6 */ + int parent_id: @parameterizable ref, + int unbound_id: @parameter ref); + +param_location( + int id: @parameter ref, + int loc: @location ref); + +@has_scoped_annotation = @local_scope_variable + +scoped_annotation( + int id: @has_scoped_annotation ref, + int kind: int ref // scoped ref = 1, scoped value = 2 + ); + +/** STATEMENTS **/ + +@exprorstmt_parent = @control_flow_element | @top_level_exprorstmt_parent; + +statements( + unique int id: @stmt, + int kind: int ref); + +#keyset[index, parent] +stmt_parent( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_stmt_parent = @callable; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +stmt_parent_top_level( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @top_level_stmt_parent ref); + +case @stmt.kind of + 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @switch_stmt +| 5 = @while_stmt +| 6 = @do_stmt +| 7 = @for_stmt +| 8 = @foreach_stmt +| 9 = @break_stmt +| 10 = @continue_stmt +| 11 = @goto_stmt +| 12 = @goto_case_stmt +| 13 = @goto_default_stmt +| 14 = @throw_stmt +| 15 = @return_stmt +| 16 = @yield_stmt +| 17 = @try_stmt +| 18 = @checked_stmt +| 19 = @unchecked_stmt +| 20 = @lock_stmt +| 21 = @using_block_stmt +| 22 = @var_decl_stmt +| 23 = @const_decl_stmt +| 24 = @empty_stmt +| 25 = @unsafe_stmt +| 26 = @fixed_stmt +| 27 = @label_stmt +| 28 = @catch +| 29 = @case_stmt +| 30 = @local_function_stmt +| 31 = @using_decl_stmt + ; + +@using_stmt = @using_block_stmt | @using_decl_stmt; + +@labeled_stmt = @label_stmt | @case; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @using_decl_stmt; + +@cond_stmt = @if_stmt | @switch_stmt; + +@loop_stmt = @while_stmt | @do_stmt | @for_stmt | @foreach_stmt; + +@jump_stmt = @break_stmt | @goto_any_stmt | @continue_stmt | @throw_stmt | @return_stmt + | @yield_stmt; + +@goto_any_stmt = @goto_default_stmt | @goto_case_stmt | @goto_stmt; + + +stmt_location( + unique int id: @stmt ref, + int loc: @location ref); + +catch_type( + unique int catch_id: @catch ref, + int type_id: @type_or_ref ref, + int kind: int ref /* explicit = 1, implicit = 2 */); + +foreach_stmt_info( + unique int id: @foreach_stmt ref, + int kind: int ref /* non-async = 1, async = 2 */); + +@foreach_symbol = @method | @property | @type_or_ref; + +#keyset[id, kind] +foreach_stmt_desugar( + int id: @foreach_stmt ref, + int symbol: @foreach_symbol ref, + int kind: int ref /* GetEnumeratorMethod = 1, CurrentProperty = 2, MoveNextMethod = 3, DisposeMethod = 4, ElementType = 5 */); + +/** EXPRESSIONS **/ + +expressions( + unique int id: @expr, + int kind: int ref, + int type_id: @type_or_ref ref); + +#keyset[index, parent] +expr_parent( + unique int expr: @expr ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_expr_parent = @attribute | @field | @property | @indexer | @parameter | @directive_if | @directive_elif; + +@top_level_exprorstmt_parent = @top_level_expr_parent | @top_level_stmt_parent; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +expr_parent_top_level( + unique int expr: @expr ref, + int index: int ref, + int parent: @top_level_exprorstmt_parent ref); + +case @expr.kind of +/* literal */ + 1 = @bool_literal_expr +| 2 = @char_literal_expr +| 3 = @decimal_literal_expr +| 4 = @int_literal_expr +| 5 = @long_literal_expr +| 6 = @uint_literal_expr +| 7 = @ulong_literal_expr +| 8 = @float_literal_expr +| 9 = @double_literal_expr +| 10 = @utf16_string_literal_expr +| 11 = @null_literal_expr +/* primary & unary */ +| 12 = @this_access_expr +| 13 = @base_access_expr +| 14 = @local_variable_access_expr +| 15 = @parameter_access_expr +| 16 = @field_access_expr +| 17 = @property_access_expr +| 18 = @method_access_expr +| 19 = @event_access_expr +| 20 = @indexer_access_expr +| 21 = @array_access_expr +| 22 = @type_access_expr +| 23 = @typeof_expr +| 24 = @method_invocation_expr +| 25 = @delegate_invocation_expr +| 26 = @operator_invocation_expr +| 27 = @cast_expr +| 28 = @object_creation_expr +| 29 = @explicit_delegate_creation_expr +| 30 = @implicit_delegate_creation_expr +| 31 = @array_creation_expr +| 32 = @default_expr +| 33 = @plus_expr +| 34 = @minus_expr +| 35 = @bit_not_expr +| 36 = @log_not_expr +| 37 = @post_incr_expr +| 38 = @post_decr_expr +| 39 = @pre_incr_expr +| 40 = @pre_decr_expr +/* multiplicative */ +| 41 = @mul_expr +| 42 = @div_expr +| 43 = @rem_expr +/* additive */ +| 44 = @add_expr +| 45 = @sub_expr +/* shift */ +| 46 = @lshift_expr +| 47 = @rshift_expr +/* relational */ +| 48 = @lt_expr +| 49 = @gt_expr +| 50 = @le_expr +| 51 = @ge_expr +/* equality */ +| 52 = @eq_expr +| 53 = @ne_expr +/* logical */ +| 54 = @bit_and_expr +| 55 = @bit_xor_expr +| 56 = @bit_or_expr +| 57 = @log_and_expr +| 58 = @log_or_expr +/* type testing */ +| 59 = @is_expr +| 60 = @as_expr +/* null coalescing */ +| 61 = @null_coalescing_expr +/* conditional */ +| 62 = @conditional_expr +/* assignment */ +| 63 = @simple_assign_expr +| 64 = @assign_add_expr +| 65 = @assign_sub_expr +| 66 = @assign_mul_expr +| 67 = @assign_div_expr +| 68 = @assign_rem_expr +| 69 = @assign_and_expr +| 70 = @assign_xor_expr +| 71 = @assign_or_expr +| 72 = @assign_lshift_expr +| 73 = @assign_rshift_expr +/* more */ +| 74 = @object_init_expr +| 75 = @collection_init_expr +| 76 = @array_init_expr +| 77 = @checked_expr +| 78 = @unchecked_expr +| 79 = @constructor_init_expr +| 80 = @add_event_expr +| 81 = @remove_event_expr +| 82 = @par_expr +| 83 = @local_var_decl_expr +| 84 = @lambda_expr +| 85 = @anonymous_method_expr +| 86 = @namespace_expr +/* dynamic */ +| 92 = @dynamic_element_access_expr +| 93 = @dynamic_member_access_expr +/* unsafe */ +| 100 = @pointer_indirection_expr +| 101 = @address_of_expr +| 102 = @sizeof_expr +/* async */ +| 103 = @await_expr +/* C# 6.0 */ +| 104 = @nameof_expr +| 105 = @interpolated_string_expr +| 106 = @unknown_expr +/* C# 7.0 */ +| 107 = @throw_expr +| 108 = @tuple_expr +| 109 = @local_function_invocation_expr +| 110 = @ref_expr +| 111 = @discard_expr +/* C# 8.0 */ +| 112 = @range_expr +| 113 = @index_expr +| 114 = @switch_expr +| 115 = @recursive_pattern_expr +| 116 = @property_pattern_expr +| 117 = @positional_pattern_expr +| 118 = @switch_case_expr +| 119 = @assign_coalesce_expr +| 120 = @suppress_nullable_warning_expr +| 121 = @namespace_access_expr +/* C# 9.0 */ +| 122 = @lt_pattern_expr +| 123 = @gt_pattern_expr +| 124 = @le_pattern_expr +| 125 = @ge_pattern_expr +| 126 = @not_pattern_expr +| 127 = @and_pattern_expr +| 128 = @or_pattern_expr +| 129 = @function_pointer_invocation_expr +| 130 = @with_expr +/* C# 11.0 */ +| 131 = @list_pattern_expr +| 132 = @slice_pattern_expr +| 133 = @urshift_expr +| 134 = @assign_urshift_expr +| 135 = @utf8_string_literal_expr +/* C# 12.0 */ +| 136 = @collection_expr +| 137 = @spread_element_expr +| 138 = @interpolated_string_insert_expr +/* Preprocessor */ +| 999 = @define_symbol_expr +; + +@switch = @switch_stmt | @switch_expr; +@case = @case_stmt | @switch_case_expr; +@pattern_match = @case | @is_expr; +@unary_pattern_expr = @not_pattern_expr; +@relational_pattern_expr = @gt_pattern_expr | @lt_pattern_expr | @ge_pattern_expr | @le_pattern_expr; +@binary_pattern_expr = @and_pattern_expr | @or_pattern_expr; + +@integer_literal_expr = @int_literal_expr | @long_literal_expr | @uint_literal_expr | @ulong_literal_expr; +@real_literal_expr = @float_literal_expr | @double_literal_expr | @decimal_literal_expr; +@string_literal_expr = @utf16_string_literal_expr | @utf8_string_literal_expr; +@literal_expr = @bool_literal_expr | @char_literal_expr | @integer_literal_expr | @real_literal_expr + | @string_literal_expr | @null_literal_expr; + +@assign_expr = @simple_assign_expr | @assign_op_expr | @local_var_decl_expr; +@assign_op_call_expr = @assign_arith_expr | @assign_bitwise_expr +@assign_op_expr = @assign_op_call_expr | @assign_event_expr | @assign_coalesce_expr; +@assign_event_expr = @add_event_expr | @remove_event_expr; + +@add_operation = @add_expr | @assign_add_expr; +@sub_operation = @sub_expr | @assign_sub_expr; +@mul_operation = @mul_expr | @assign_mul_expr; +@div_operation = @div_expr | @assign_div_expr; +@rem_operation = @rem_expr | @assign_rem_expr; +@and_operation = @bit_and_expr | @assign_and_expr; +@xor_operation = @bit_xor_expr | @assign_xor_expr; +@or_operation = @bit_or_expr | @assign_or_expr; +@lshift_operation = @lshift_expr | @assign_lshift_expr; +@rshift_operation = @rshift_expr | @assign_rshift_expr; +@urshift_operation = @urshift_expr | @assign_urshift_expr; +@null_coalescing_operation = @null_coalescing_expr | @assign_coalesce_expr; + +@assign_arith_expr = @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr + | @assign_rem_expr +@assign_bitwise_expr = @assign_and_expr | @assign_or_expr | @assign_xor_expr + | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr; + +@member_access_expr = @field_access_expr | @property_access_expr | @indexer_access_expr | @event_access_expr + | @method_access_expr | @type_access_expr | @dynamic_member_access_expr; +@access_expr = @member_access_expr | @this_access_expr | @base_access_expr | @assignable_access_expr | @namespace_access_expr; +@element_access_expr = @indexer_access_expr | @array_access_expr | @dynamic_element_access_expr; + +@local_variable_access = @local_variable_access_expr | @local_var_decl_expr; +@local_scope_variable_access_expr = @parameter_access_expr | @local_variable_access; +@variable_access_expr = @local_scope_variable_access_expr | @field_access_expr; + +@assignable_access_expr = @variable_access_expr | @property_access_expr | @element_access_expr + | @event_access_expr | @dynamic_member_access_expr; + +@objectorcollection_init_expr = @object_init_expr | @collection_init_expr; + +@delegate_creation_expr = @explicit_delegate_creation_expr | @implicit_delegate_creation_expr; + +@bin_arith_op_expr = @mul_expr | @div_expr | @rem_expr | @add_expr | @sub_expr; +@incr_op_expr = @pre_incr_expr | @post_incr_expr; +@decr_op_expr = @pre_decr_expr | @post_decr_expr; +@mut_op_expr = @incr_op_expr | @decr_op_expr; +@un_arith_op_expr = @plus_expr | @minus_expr | @mut_op_expr; +@arith_op_expr = @bin_arith_op_expr | @un_arith_op_expr; + +@ternary_log_op_expr = @conditional_expr; +@bin_log_op_expr = @log_and_expr | @log_or_expr | @null_coalescing_expr; +@un_log_op_expr = @log_not_expr; +@log_expr = @un_log_op_expr | @bin_log_op_expr | @ternary_log_op_expr; + +@bin_bit_op_expr = @bit_and_expr | @bit_or_expr | @bit_xor_expr | @lshift_expr + | @rshift_expr | @urshift_expr; +@un_bit_op_expr = @bit_not_expr; +@bit_expr = @un_bit_op_expr | @bin_bit_op_expr; + +@equality_op_expr = @eq_expr | @ne_expr; +@rel_op_expr = @gt_expr | @lt_expr| @ge_expr | @le_expr; +@comp_expr = @equality_op_expr | @rel_op_expr; + +@op_expr = @un_op | @bin_op | @ternary_op; + +@ternary_op = @ternary_log_op_expr; +@bin_op = @assign_expr | @bin_arith_op_expr | @bin_log_op_expr | @bin_bit_op_expr | @comp_expr; +@un_op = @un_arith_op_expr | @un_log_op_expr | @un_bit_op_expr | @sizeof_expr + | @pointer_indirection_expr | @address_of_expr; + +@anonymous_function_expr = @lambda_expr | @anonymous_method_expr; + +@op_invoke_expr = @operator_invocation_expr | @assign_op_call_expr +@call = @method_invocation_expr | @constructor_init_expr | @op_invoke_expr + | @delegate_invocation_expr | @object_creation_expr | @call_access_expr + | @local_function_invocation_expr | @function_pointer_invocation_expr; + +@call_access_expr = @property_access_expr | @event_access_expr | @indexer_access_expr; + +@late_bindable_expr = @dynamic_element_access_expr | @dynamic_member_access_expr + | @object_creation_expr | @method_invocation_expr | @op_invoke_expr; + +@throw_element = @throw_expr | @throw_stmt; + +@implicitly_typeable_object_creation_expr = @object_creation_expr | @explicit_delegate_creation_expr; + +implicitly_typed_array_creation( + unique int id: @array_creation_expr ref); + +explicitly_sized_array_creation( + unique int id: @array_creation_expr ref); + +stackalloc_array_creation( + unique int id: @array_creation_expr ref); + +implicitly_typed_object_creation( + unique int id: @implicitly_typeable_object_creation_expr ref); + +mutator_invocation_mode( + unique int id: @operator_invocation_expr ref, + int mode: int ref /* prefix = 1, postfix = 2*/); + +expr_value( + unique int id: @expr ref, + string value: string ref); + +expr_call( + unique int caller_id: @expr ref, + int target_id: @callable ref); + +expr_access( + unique int accesser_id: @access_expr ref, + int target_id: @accessible ref); + +@accessible = @method | @assignable | @local_function | @namespace; + +expr_location( + unique int id: @expr ref, + int loc: @location ref); + +dynamic_member_name( + unique int id: @late_bindable_expr ref, + string name: string ref); + +@qualifiable_expr = @member_access_expr + | @method_invocation_expr + | @element_access_expr + | @assign_op_call_expr; + +conditional_access( + unique int id: @qualifiable_expr ref); + +expr_argument( + unique int id: @expr ref, + int mode: int ref); + /* mode is the same as params: value = 0, ref = 1, out = 2 */ + +expr_argument_name( + unique int id: @expr ref, + string name: string ref); + +lambda_expr_return_type( + unique int id: @lambda_expr ref, + int type_id: @type_or_ref ref); + +/* Compiler generated */ + +compiler_generated(unique int id: @element ref); + +/** CONTROL/DATA FLOW **/ + +@control_flow_element = @stmt | @expr; + +/* XML Files */ + +xmlEncoding ( + unique int id: @file ref, + string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* Comments */ + +commentline( + unique int id: @commentline, + int kind: int ref, + string text: string ref, + string rawtext: string ref); + +case @commentline.kind of + 0 = @singlelinecomment +| 1 = @xmldoccomment +| 2 = @multilinecomment; + +commentline_location( + unique int id: @commentline ref, + int loc: @location ref); + +commentblock( + unique int id : @commentblock); + +commentblock_location( + unique int id: @commentblock ref, + int loc: @location ref); + +commentblock_binding( + int id: @commentblock ref, + int entity: @element ref, + int bindtype: int ref); /* 0: Parent, 1: Best, 2: Before, 3: After */ + +commentblock_child( + int id: @commentblock ref, + int commentline: @commentline ref, + int index: int ref); + +/* ASP.NET */ + +case @asp_element.kind of + 0=@asp_close_tag +| 1=@asp_code +| 2=@asp_comment +| 3=@asp_data_binding +| 4=@asp_directive +| 5=@asp_open_tag +| 6=@asp_quoted_string +| 7=@asp_text +| 8=@asp_xml_directive; + +@asp_attribute = @asp_code | @asp_data_binding | @asp_quoted_string; + +asp_elements( + unique int id: @asp_element, + int kind: int ref, + int loc: @location ref); + +asp_comment_server(unique int comment: @asp_comment ref); +asp_code_inline(unique int code: @asp_code ref); +asp_directive_attribute( + int directive: @asp_directive ref, + int index: int ref, + string name: string ref, + int value: @asp_quoted_string ref); +asp_directive_name( + unique int directive: @asp_directive ref, + string name: string ref); +asp_element_body( + unique int element: @asp_element ref, + string body: string ref); +asp_tag_attribute( + int tag: @asp_open_tag ref, + int index: int ref, + string name: string ref, + int attribute: @asp_attribute ref); +asp_tag_name( + unique int tag: @asp_open_tag ref, + string name: string ref); +asp_tag_isempty(int tag: @asp_open_tag ref); diff --git a/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/semmlecode.csharp.dbscheme b/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/semmlecode.csharp.dbscheme new file mode 100644 index 00000000000..19b8cc3e2dc --- /dev/null +++ b/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/semmlecode.csharp.dbscheme @@ -0,0 +1,1504 @@ +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2021-07-14 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * csc f1.cs f2.cs f3.cs + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + unique int id : @compilation, + string cwd : string ref +); + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | --compiler + * 1 | *path to compiler* + * 2 | f1.cs + * 3 | f2.cs + * 4 | f3.cs + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile.rsp` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.cs + * 1 | f2.cs + * 2 | f3.cs + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The references used by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs /r:ref1.dll /r:ref2.dll /r:ref3.dll + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | ref1.dll + * 1 | ref2.dll + * 2 | ref3.dll + */ +#keyset[id, num] +compilation_referencing_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location ref +); + +extractor_messages( + unique int id: @extractor_message, + int severity: int ref, + string origin : string ref, + string text : string ref, + string entity : string ref, + int location: @location ref, + string stack_trace : string ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +compilation_assembly( + unique int id : @compilation ref, + int assembly: @assembly ref +) + +// Populated by the CSV extractor +externalData( + int id: @externalDataElement, + string path: string ref, + int column: int ref, + string value: string ref); + +sourceLocationPrefix( + string prefix: string ref); + +/* + * Overlay support + */ + +/** + * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, + * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, + * when building an overlay database, and these can be used by the discard predicates. + */ +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path : string ref +); + +/* + * C# dbscheme + */ + +/** ELEMENTS **/ + +@element = @declaration | @stmt | @expr | @modifier | @attribute | @namespace_declaration + | @using_directive | @type_parameter_constraints | @externalDataElement + | @xmllocatable | @asp_element | @namespace | @preprocessor_directive; + +@declaration = @callable | @generic | @assignable | @namespace; + +@named_element = @namespace | @declaration; + +@declaration_with_accessors = @property | @indexer | @event; + +@assignable = @variable | @assignable_with_accessors | @event; + +@assignable_with_accessors = @property | @indexer; + +@attributable = @assembly | @field | @parameter | @operator | @method | @constructor + | @destructor | @callable_accessor | @value_or_ref_type | @declaration_with_accessors + | @local_function | @lambda_expr; + +/** LOCATIONS, ASEMMBLIES, MODULES, FILES and FOLDERS **/ + +@location = @location_default | @assembly; + +@locatable = @declaration_with_accessors | @callable_accessor | @declaration_or_directive + | @diagnostic | @extractor_message | @preprocessor_directive | @attribute | @type_mention | @type_parameter_constraints + | @declaration_with_accessors | @callable_accessor | @operator | @method + | @constructor | @destructor | @field | @local_variable | @parameter | @stmt | @expr + | @xmllocatable | @commentline | @commentblock | @asp_element + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +locations_mapped( + unique int id: @location_default ref, + int mapped_to: @location_default ref); + +@sourceline = @file | @callable | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref); + +assemblies( + unique int id: @assembly, + int file: @file ref, + string fullname: string ref, + string name: string ref, + string version: string ref); + +files( + unique int id: @file, + string name: string ref); + +folders( + unique int id: @folder, + string name: string ref); + +@container = @folder | @file ; + +containerparent( + int parent: @container ref, + unique int child: @container ref); + +file_extraction_mode( + unique int file: @file ref, + int mode: int ref + /* 0 = normal, 1 = standalone extractor */ + ); + +/** NAMESPACES **/ + +@type_container = @namespace | @type; + +namespaces( + unique int id: @namespace, + string name: string ref); + +namespace_declarations( + unique int id: @namespace_declaration, + int namespace_id: @namespace ref); + +namespace_declaration_location( + unique int id: @namespace_declaration ref, + int loc: @location ref); + +parent_namespace( + unique int child_id: @type_container ref, + int namespace_id: @namespace ref); + +@declaration_or_directive = @namespace_declaration | @type | @using_directive; + +parent_namespace_declaration( + int child_id: @declaration_or_directive ref, // cannot be unique because of partial classes + int namespace_id: @namespace_declaration ref); + +@using_directive = @using_namespace_directive | @using_static_directive; + +using_global( + unique int id: @using_directive ref +); + +using_namespace_directives( + unique int id: @using_namespace_directive, + int namespace_id: @namespace ref); + +using_static_directives( + unique int id: @using_static_directive, + int type_id: @type_or_ref ref); + +using_directive_location( + unique int id: @using_directive ref, + int loc: @location ref); + +@preprocessor_directive = @pragma_warning | @pragma_checksum | @directive_define | @directive_undefine | @directive_warning + | @directive_error | @directive_nullable | @directive_line | @directive_region | @directive_endregion | @directive_if + | @directive_elif | @directive_else | @directive_endif; + +@conditional_directive = @directive_if | @directive_elif; +@branch_directive = @directive_if | @directive_elif | @directive_else; + +directive_ifs( + unique int id: @directive_if, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref); /* 0: false, 1: true */ + +directive_elifs( + unique int id: @directive_elif, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +directive_elses( + unique int id: @directive_else, + int branchTaken: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +#keyset[id, start] +directive_endifs( + unique int id: @directive_endif, + unique int start: @directive_if ref); + +directive_define_symbols( + unique int id: @define_symbol_expr ref, + string name: string ref); + +directive_regions( + unique int id: @directive_region, + string name: string ref); + +#keyset[id, start] +directive_endregions( + unique int id: @directive_endregion, + unique int start: @directive_region ref); + +directive_lines( + unique int id: @directive_line, + int kind: int ref); /* 0: default, 1: hidden, 2: numeric, 3: span */ + +directive_line_value( + unique int id: @directive_line ref, + int line: int ref); + +directive_line_file( + unique int id: @directive_line ref, + int file: @file ref); + +directive_line_offset( + unique int id: @directive_line ref, + int offset: int ref); + +directive_line_span( + unique int id: @directive_line ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +directive_nullables( + unique int id: @directive_nullable, + int setting: int ref, /* 0: disable, 1: enable, 2: restore */ + int target: int ref); /* 0: none, 1: annotations, 2: warnings */ + +directive_warnings( + unique int id: @directive_warning, + string message: string ref); + +directive_errors( + unique int id: @directive_error, + string message: string ref); + +directive_undefines( + unique int id: @directive_undefine, + string name: string ref); + +directive_defines( + unique int id: @directive_define, + string name: string ref); + +pragma_checksums( + unique int id: @pragma_checksum, + int file: @file ref, + string guid: string ref, + string bytes: string ref); + +pragma_warnings( + unique int id: @pragma_warning, + int kind: int ref /* 0 = disable, 1 = restore */); + +#keyset[id, index] +pragma_warning_error_codes( + int id: @pragma_warning ref, + string errorCode: string ref, + int index: int ref); + +preprocessor_directive_location( + unique int id: @preprocessor_directive ref, + int loc: @location ref); + +preprocessor_directive_compilation( + int id: @preprocessor_directive ref, + int compilation: @compilation ref); + +preprocessor_directive_active( + unique int id: @preprocessor_directive ref, + int active: int ref); /* 0: false, 1: true */ + +/** TYPES **/ + +types( + unique int id: @type, + int kind: int ref, + string name: string ref); + +case @type.kind of + 1 = @bool_type +| 2 = @char_type +| 3 = @decimal_type +| 4 = @sbyte_type +| 5 = @short_type +| 6 = @int_type +| 7 = @long_type +| 8 = @byte_type +| 9 = @ushort_type +| 10 = @uint_type +| 11 = @ulong_type +| 12 = @float_type +| 13 = @double_type +| 14 = @enum_type +| 15 = @struct_type +| 17 = @class_type +| 19 = @interface_type +| 20 = @delegate_type +| 21 = @null_type +| 22 = @type_parameter +| 23 = @pointer_type +| 24 = @nullable_type +| 25 = @array_type +| 26 = @void_type +| 27 = @int_ptr_type +| 28 = @uint_ptr_type +| 29 = @dynamic_type +| 30 = @arglist_type +| 31 = @unknown_type +| 32 = @tuple_type +| 33 = @function_pointer_type +| 34 = @inline_array_type +| 35 = @extension_type + ; + +@simple_type = @bool_type | @char_type | @integral_type | @floating_point_type | @decimal_type; +@integral_type = @signed_integral_type | @unsigned_integral_type; +@signed_integral_type = @sbyte_type | @short_type | @int_type | @long_type; +@unsigned_integral_type = @byte_type | @ushort_type | @uint_type | @ulong_type; +@floating_point_type = @float_type | @double_type; +@value_type = @simple_type | @enum_type | @struct_type | @nullable_type | @int_ptr_type + | @uint_ptr_type | @tuple_type | @void_type | @inline_array_type; +@ref_type = @class_type | @interface_type | @array_type | @delegate_type | @null_type + | @dynamic_type | @extension_type; +@value_or_ref_type = @value_type | @ref_type; + +typerefs( + unique int id: @typeref, + string name: string ref); + +typeref_type( + int id: @typeref ref, + unique int typeId: @type ref); + +@type_or_ref = @type | @typeref; + +array_element_type( + unique int array: @array_type ref, + int dimension: int ref, + int rank: int ref, + int element: @type_or_ref ref); + +nullable_underlying_type( + unique int nullable: @nullable_type ref, + int underlying: @type_or_ref ref); + +pointer_referent_type( + unique int pointer: @pointer_type ref, + int referent: @type_or_ref ref); + +enum_underlying_type( + unique int enum_id: @enum_type ref, + int underlying_type_id: @type_or_ref ref); + +delegate_return_type( + unique int delegate_id: @delegate_type ref, + int return_type_id: @type_or_ref ref); + +function_pointer_return_type( + unique int function_pointer_id: @function_pointer_type ref, + int return_type_id: @type_or_ref ref); + +extension_receiver_type( + unique int extension: @extension_type ref, + int receiver_type_id: @type_or_ref ref); + +extend( + int sub: @type ref, + int super: @type_or_ref ref); + +anonymous_types( + unique int id: @type ref); + +@interface_or_ref = @interface_type | @typeref; + +implement( + int sub: @type ref, + int super: @type_or_ref ref); + +type_location( + int id: @type ref, + int loc: @location ref); + +tuple_underlying_type( + unique int tuple: @tuple_type ref, + int struct: @type_or_ref ref); + +#keyset[tuple, index] +tuple_element( + int tuple: @tuple_type ref, + int index: int ref, + unique int field: @field ref); + +attributes( + unique int id: @attribute, + int kind: int ref, + int type_id: @type_or_ref ref, + int target: @attributable ref); + +case @attribute.kind of + 0 = @attribute_default +| 1 = @attribute_return +| 2 = @attribute_assembly +| 3 = @attribute_module +; + +attribute_location( + int id: @attribute ref, + int loc: @location ref); + +@type_mention_parent = @element | @type_mention; + +type_mention( + unique int id: @type_mention, + int type_id: @type_or_ref ref, + int parent: @type_mention_parent ref); + +type_mention_location( + unique int id: @type_mention ref, + int loc: @location ref); + +@has_type_annotation = @assignable | @type_parameter | @callable | @expr | @delegate_type | @generic | @function_pointer_type; + +/** + * A direct annotation on an entity, for example `string? x;`. + * + * Annotations: + * 2 = reftype is not annotated "!" + * 3 = reftype is annotated "?" + * 4 = readonly ref type / in parameter + * 5 = ref type parameter, return or local variable + * 6 = out parameter + * + * Note that the annotation depends on the element it annotates. + * @assignable: The annotation is on the type of the assignable, for example the variable type. + * @type_parameter: The annotation is on the reftype constraint + * @callable: The annotation is on the return type + * @array_type: The annotation is on the element type + */ +type_annotation(int id: @has_type_annotation ref, int annotation: int ref); + +nullability(unique int nullability: @nullability, int kind: int ref); + +case @nullability.kind of + 0 = @oblivious +| 1 = @not_annotated +| 2 = @annotated +; + +#keyset[parent, index] +nullability_parent(int nullability: @nullability ref, int index: int ref, int parent: @nullability ref) + +type_nullability(int id: @has_type_annotation ref, int nullability: @nullability ref); + +/** + * The nullable flow state of an expression, as determined by Roslyn. + * 0 = none (default, not populated) + * 1 = not null + * 2 = maybe null + */ +expr_flowstate(unique int id: @expr ref, int state: int ref); + +/** GENERICS **/ + +@generic = @type | @method | @local_function; + +type_parameters( + unique int id: @type_parameter ref, + int index: int ref, + int generic_id: @generic ref, + int variance: int ref /* none = 0, out = 1, in = 2 */); + +#keyset[constructed_id, index] +type_arguments( + int id: @type_or_ref ref, + int index: int ref, + int constructed_id: @generic_or_ref ref); + +@generic_or_ref = @generic | @typeref; + +constructed_generic( + unique int constructed: @generic ref, + int generic: @generic_or_ref ref); + +type_parameter_constraints( + unique int id: @type_parameter_constraints, + int param_id: @type_parameter ref); + +type_parameter_constraints_location( + int id: @type_parameter_constraints ref, + int loc: @location ref); + +general_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int kind: int ref /* class = 1, struct = 2, new = 3 */); + +specific_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref); + +specific_type_parameter_nullability( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref, + int nullability: @nullability ref); + +/** FUNCTION POINTERS */ + +function_pointer_calling_conventions( + int id: @function_pointer_type ref, + int kind: int ref); + +#keyset[id, index] +has_unmanaged_calling_conventions( + int id: @function_pointer_type ref, + int index: int ref, + int conv_id: @type_or_ref ref); + +/** MODIFIERS */ + +@modifiable = @modifiable_direct | @event_accessor; + +@modifiable_direct = @member | @accessor | @local_function | @anonymous_function_expr; + +modifiers( + unique int id: @modifier, + string name: string ref); + +has_modifiers( + int id: @modifiable_direct ref, + int mod_id: @modifier ref); + +/** MEMBERS **/ + +@member = @method | @constructor | @destructor | @field | @property | @event | @operator | @indexer | @type; + +@named_exprorstmt = @goto_stmt | @labeled_stmt | @expr; + +@virtualizable = @method | @property | @indexer | @event | @operator; + +exprorstmt_name( + unique int parent_id: @named_exprorstmt ref, + string name: string ref); + +nested_types( + unique int id: @type ref, + int declaring_type_id: @type ref, + int unbound_id: @type ref); + +properties( + unique int id: @property, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @property ref); + +property_location( + int id: @property ref, + int loc: @location ref); + +indexers( + unique int id: @indexer, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @indexer ref); + +indexer_location( + int id: @indexer ref, + int loc: @location ref); + +accessors( + unique int id: @accessor, + int kind: int ref, + string name: string ref, + int declaring_member_id: @member ref, + int unbound_id: @accessor ref); + +case @accessor.kind of + 1 = @getter +| 2 = @setter + ; + +init_only_accessors( + unique int id: @accessor ref); + +accessor_location( + int id: @accessor ref, + int loc: @location ref); + +events( + unique int id: @event, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @event ref); + +event_location( + int id: @event ref, + int loc: @location ref); + +event_accessors( + unique int id: @event_accessor, + int kind: int ref, + string name: string ref, + int declaring_event_id: @event ref, + int unbound_id: @event_accessor ref); + +case @event_accessor.kind of + 1 = @add_event_accessor +| 2 = @remove_event_accessor + ; + +event_accessor_location( + int id: @event_accessor ref, + int loc: @location ref); + +operators( + unique int id: @operator, + string name: string ref, + string symbol: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @operator ref); + +operator_location( + int id: @operator ref, + int loc: @location ref); + +constant_value( + int id: @variable ref, + string value: string ref); + +/** CALLABLES **/ + +@callable = @method | @constructor | @destructor | @operator | @callable_accessor | @anonymous_function_expr | @local_function; + +@callable_accessor = @accessor | @event_accessor; + +methods( + unique int id: @method, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @method ref); + +method_location( + int id: @method ref, + int loc: @location ref); + +constructors( + unique int id: @constructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @constructor ref); + +constructor_location( + int id: @constructor ref, + int loc: @location ref); + +destructors( + unique int id: @destructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @destructor ref); + +destructor_location( + int id: @destructor ref, + int loc: @location ref); + +overrides( + int id: @callable ref, + int base_id: @callable ref); + +explicitly_implements( + int id: @member ref, + int interface_id: @interface_or_ref ref); + +local_functions( + unique int id: @local_function, + string name: string ref, + int return_type: @type ref, + int unbound_id: @local_function ref); + +local_function_stmts( + unique int fn: @local_function_stmt ref, + int stmt: @local_function ref); + +/** VARIABLES **/ + +@variable = @local_scope_variable | @field; + +@local_scope_variable = @local_variable | @parameter; + +fields( + unique int id: @field, + int kind: int ref, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @field ref); + +case @field.kind of + 1 = @addressable_field +| 2 = @constant + ; + +field_location( + int id: @field ref, + int loc: @location ref); + +localvars( + unique int id: @local_variable, + int kind: int ref, + string name: string ref, + int implicitly_typed: int ref /* 0 = no, 1 = yes */, + int type_id: @type_or_ref ref, + int parent_id: @local_var_decl_expr ref); + +case @local_variable.kind of + 1 = @addressable_local_variable +| 2 = @local_constant +| 3 = @local_variable_ref + ; + +localvar_location( + unique int id: @local_variable ref, + int loc: @location ref); + +@parameterizable = @callable | @delegate_type | @indexer | @function_pointer_type | @extension_type; + +#keyset[name, parent_id] +#keyset[index, parent_id] +params( + unique int id: @parameter, + string name: string ref, + int type_id: @type_or_ref ref, + int index: int ref, + int mode: int ref, /* value = 0, ref = 1, out = 2, params/array = 3, this = 4, in = 5, ref readonly = 6 */ + int parent_id: @parameterizable ref, + int unbound_id: @parameter ref); + +param_location( + int id: @parameter ref, + int loc: @location ref); + +@has_scoped_annotation = @local_scope_variable + +scoped_annotation( + int id: @has_scoped_annotation ref, + int kind: int ref // scoped ref = 1, scoped value = 2 + ); + +/** STATEMENTS **/ + +@exprorstmt_parent = @control_flow_element | @top_level_exprorstmt_parent; + +statements( + unique int id: @stmt, + int kind: int ref); + +#keyset[index, parent] +stmt_parent( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_stmt_parent = @callable; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +stmt_parent_top_level( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @top_level_stmt_parent ref); + +case @stmt.kind of + 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @switch_stmt +| 5 = @while_stmt +| 6 = @do_stmt +| 7 = @for_stmt +| 8 = @foreach_stmt +| 9 = @break_stmt +| 10 = @continue_stmt +| 11 = @goto_stmt +| 12 = @goto_case_stmt +| 13 = @goto_default_stmt +| 14 = @throw_stmt +| 15 = @return_stmt +| 16 = @yield_stmt +| 17 = @try_stmt +| 18 = @checked_stmt +| 19 = @unchecked_stmt +| 20 = @lock_stmt +| 21 = @using_block_stmt +| 22 = @var_decl_stmt +| 23 = @const_decl_stmt +| 24 = @empty_stmt +| 25 = @unsafe_stmt +| 26 = @fixed_stmt +| 27 = @label_stmt +| 28 = @catch +| 29 = @case_stmt +| 30 = @local_function_stmt +| 31 = @using_decl_stmt + ; + +@using_stmt = @using_block_stmt | @using_decl_stmt; + +@labeled_stmt = @label_stmt | @case; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @using_decl_stmt; + +@cond_stmt = @if_stmt | @switch_stmt; + +@loop_stmt = @while_stmt | @do_stmt | @for_stmt | @foreach_stmt; + +@jump_stmt = @break_stmt | @goto_any_stmt | @continue_stmt | @throw_stmt | @return_stmt + | @yield_stmt; + +@goto_any_stmt = @goto_default_stmt | @goto_case_stmt | @goto_stmt; + + +stmt_location( + unique int id: @stmt ref, + int loc: @location ref); + +catch_type( + unique int catch_id: @catch ref, + int type_id: @type_or_ref ref, + int kind: int ref /* explicit = 1, implicit = 2 */); + +foreach_stmt_info( + unique int id: @foreach_stmt ref, + int kind: int ref /* non-async = 1, async = 2 */); + +@foreach_symbol = @method | @property | @type_or_ref; + +#keyset[id, kind] +foreach_stmt_desugar( + int id: @foreach_stmt ref, + int symbol: @foreach_symbol ref, + int kind: int ref /* GetEnumeratorMethod = 1, CurrentProperty = 2, MoveNextMethod = 3, DisposeMethod = 4, ElementType = 5 */); + +/** EXPRESSIONS **/ + +expressions( + unique int id: @expr, + int kind: int ref, + int type_id: @type_or_ref ref); + +#keyset[index, parent] +expr_parent( + unique int expr: @expr ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_expr_parent = @attribute | @field | @property | @indexer | @parameter | @directive_if | @directive_elif; + +@top_level_exprorstmt_parent = @top_level_expr_parent | @top_level_stmt_parent; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +expr_parent_top_level( + unique int expr: @expr ref, + int index: int ref, + int parent: @top_level_exprorstmt_parent ref); + +case @expr.kind of +/* literal */ + 1 = @bool_literal_expr +| 2 = @char_literal_expr +| 3 = @decimal_literal_expr +| 4 = @int_literal_expr +| 5 = @long_literal_expr +| 6 = @uint_literal_expr +| 7 = @ulong_literal_expr +| 8 = @float_literal_expr +| 9 = @double_literal_expr +| 10 = @utf16_string_literal_expr +| 11 = @null_literal_expr +/* primary & unary */ +| 12 = @this_access_expr +| 13 = @base_access_expr +| 14 = @local_variable_access_expr +| 15 = @parameter_access_expr +| 16 = @field_access_expr +| 17 = @property_access_expr +| 18 = @method_access_expr +| 19 = @event_access_expr +| 20 = @indexer_access_expr +| 21 = @array_access_expr +| 22 = @type_access_expr +| 23 = @typeof_expr +| 24 = @method_invocation_expr +| 25 = @delegate_invocation_expr +| 26 = @operator_invocation_expr +| 27 = @cast_expr +| 28 = @object_creation_expr +| 29 = @explicit_delegate_creation_expr +| 30 = @implicit_delegate_creation_expr +| 31 = @array_creation_expr +| 32 = @default_expr +| 33 = @plus_expr +| 34 = @minus_expr +| 35 = @bit_not_expr +| 36 = @log_not_expr +| 37 = @post_incr_expr +| 38 = @post_decr_expr +| 39 = @pre_incr_expr +| 40 = @pre_decr_expr +/* multiplicative */ +| 41 = @mul_expr +| 42 = @div_expr +| 43 = @rem_expr +/* additive */ +| 44 = @add_expr +| 45 = @sub_expr +/* shift */ +| 46 = @lshift_expr +| 47 = @rshift_expr +/* relational */ +| 48 = @lt_expr +| 49 = @gt_expr +| 50 = @le_expr +| 51 = @ge_expr +/* equality */ +| 52 = @eq_expr +| 53 = @ne_expr +/* logical */ +| 54 = @bit_and_expr +| 55 = @bit_xor_expr +| 56 = @bit_or_expr +| 57 = @log_and_expr +| 58 = @log_or_expr +/* type testing */ +| 59 = @is_expr +| 60 = @as_expr +/* null coalescing */ +| 61 = @null_coalescing_expr +/* conditional */ +| 62 = @conditional_expr +/* assignment */ +| 63 = @simple_assign_expr +| 64 = @assign_add_expr +| 65 = @assign_sub_expr +| 66 = @assign_mul_expr +| 67 = @assign_div_expr +| 68 = @assign_rem_expr +| 69 = @assign_and_expr +| 70 = @assign_xor_expr +| 71 = @assign_or_expr +| 72 = @assign_lshift_expr +| 73 = @assign_rshift_expr +/* more */ +| 74 = @object_init_expr +| 75 = @collection_init_expr +| 76 = @array_init_expr +| 77 = @checked_expr +| 78 = @unchecked_expr +| 79 = @constructor_init_expr +| 80 = @add_event_expr +| 81 = @remove_event_expr +| 82 = @par_expr +| 83 = @local_var_decl_expr +| 84 = @lambda_expr +| 85 = @anonymous_method_expr +| 86 = @namespace_expr +/* dynamic */ +| 92 = @dynamic_element_access_expr +| 93 = @dynamic_member_access_expr +/* unsafe */ +| 100 = @pointer_indirection_expr +| 101 = @address_of_expr +| 102 = @sizeof_expr +/* async */ +| 103 = @await_expr +/* C# 6.0 */ +| 104 = @nameof_expr +| 105 = @interpolated_string_expr +| 106 = @unknown_expr +/* C# 7.0 */ +| 107 = @throw_expr +| 108 = @tuple_expr +| 109 = @local_function_invocation_expr +| 110 = @ref_expr +| 111 = @discard_expr +/* C# 8.0 */ +| 112 = @range_expr +| 113 = @index_expr +| 114 = @switch_expr +| 115 = @recursive_pattern_expr +| 116 = @property_pattern_expr +| 117 = @positional_pattern_expr +| 118 = @switch_case_expr +| 119 = @assign_coalesce_expr +| 120 = @suppress_nullable_warning_expr +| 121 = @namespace_access_expr +/* C# 9.0 */ +| 122 = @lt_pattern_expr +| 123 = @gt_pattern_expr +| 124 = @le_pattern_expr +| 125 = @ge_pattern_expr +| 126 = @not_pattern_expr +| 127 = @and_pattern_expr +| 128 = @or_pattern_expr +| 129 = @function_pointer_invocation_expr +| 130 = @with_expr +/* C# 11.0 */ +| 131 = @list_pattern_expr +| 132 = @slice_pattern_expr +| 133 = @urshift_expr +| 134 = @assign_urshift_expr +| 135 = @utf8_string_literal_expr +/* C# 12.0 */ +| 136 = @collection_expr +| 137 = @spread_element_expr +| 138 = @interpolated_string_insert_expr +/* Preprocessor */ +| 999 = @define_symbol_expr +; + +@switch = @switch_stmt | @switch_expr; +@case = @case_stmt | @switch_case_expr; +@pattern_match = @case | @is_expr; +@unary_pattern_expr = @not_pattern_expr; +@relational_pattern_expr = @gt_pattern_expr | @lt_pattern_expr | @ge_pattern_expr | @le_pattern_expr; +@binary_pattern_expr = @and_pattern_expr | @or_pattern_expr; + +@integer_literal_expr = @int_literal_expr | @long_literal_expr | @uint_literal_expr | @ulong_literal_expr; +@real_literal_expr = @float_literal_expr | @double_literal_expr | @decimal_literal_expr; +@string_literal_expr = @utf16_string_literal_expr | @utf8_string_literal_expr; +@literal_expr = @bool_literal_expr | @char_literal_expr | @integer_literal_expr | @real_literal_expr + | @string_literal_expr | @null_literal_expr; + +@assign_expr = @simple_assign_expr | @assign_op_expr | @local_var_decl_expr; +@assign_op_call_expr = @assign_arith_expr | @assign_bitwise_expr +@assign_op_expr = @assign_op_call_expr | @assign_event_expr | @assign_coalesce_expr; +@assign_event_expr = @add_event_expr | @remove_event_expr; + +@add_operation = @add_expr | @assign_add_expr; +@sub_operation = @sub_expr | @assign_sub_expr; +@mul_operation = @mul_expr | @assign_mul_expr; +@div_operation = @div_expr | @assign_div_expr; +@rem_operation = @rem_expr | @assign_rem_expr; +@and_operation = @bit_and_expr | @assign_and_expr; +@xor_operation = @bit_xor_expr | @assign_xor_expr; +@or_operation = @bit_or_expr | @assign_or_expr; +@lshift_operation = @lshift_expr | @assign_lshift_expr; +@rshift_operation = @rshift_expr | @assign_rshift_expr; +@urshift_operation = @urshift_expr | @assign_urshift_expr; +@null_coalescing_operation = @null_coalescing_expr | @assign_coalesce_expr; + +@assign_arith_expr = @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr + | @assign_rem_expr +@assign_bitwise_expr = @assign_and_expr | @assign_or_expr | @assign_xor_expr + | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr; + +@member_access_expr = @field_access_expr | @property_access_expr | @indexer_access_expr | @event_access_expr + | @method_access_expr | @type_access_expr | @dynamic_member_access_expr; +@access_expr = @member_access_expr | @this_access_expr | @base_access_expr | @assignable_access_expr | @namespace_access_expr; +@element_access_expr = @indexer_access_expr | @array_access_expr | @dynamic_element_access_expr; + +@local_variable_access = @local_variable_access_expr | @local_var_decl_expr; +@local_scope_variable_access_expr = @parameter_access_expr | @local_variable_access; +@variable_access_expr = @local_scope_variable_access_expr | @field_access_expr; + +@assignable_access_expr = @variable_access_expr | @property_access_expr | @element_access_expr + | @event_access_expr | @dynamic_member_access_expr; + +@objectorcollection_init_expr = @object_init_expr | @collection_init_expr; + +@delegate_creation_expr = @explicit_delegate_creation_expr | @implicit_delegate_creation_expr; + +@bin_arith_op_expr = @mul_expr | @div_expr | @rem_expr | @add_expr | @sub_expr; +@incr_op_expr = @pre_incr_expr | @post_incr_expr; +@decr_op_expr = @pre_decr_expr | @post_decr_expr; +@mut_op_expr = @incr_op_expr | @decr_op_expr; +@un_arith_op_expr = @plus_expr | @minus_expr | @mut_op_expr; +@arith_op_expr = @bin_arith_op_expr | @un_arith_op_expr; + +@ternary_log_op_expr = @conditional_expr; +@bin_log_op_expr = @log_and_expr | @log_or_expr | @null_coalescing_expr; +@un_log_op_expr = @log_not_expr; +@log_expr = @un_log_op_expr | @bin_log_op_expr | @ternary_log_op_expr; + +@bin_bit_op_expr = @bit_and_expr | @bit_or_expr | @bit_xor_expr | @lshift_expr + | @rshift_expr | @urshift_expr; +@un_bit_op_expr = @bit_not_expr; +@bit_expr = @un_bit_op_expr | @bin_bit_op_expr; + +@equality_op_expr = @eq_expr | @ne_expr; +@rel_op_expr = @gt_expr | @lt_expr| @ge_expr | @le_expr; +@comp_expr = @equality_op_expr | @rel_op_expr; + +@op_expr = @un_op | @bin_op | @ternary_op; + +@ternary_op = @ternary_log_op_expr; +@bin_op = @assign_expr | @bin_arith_op_expr | @bin_log_op_expr | @bin_bit_op_expr | @comp_expr; +@un_op = @un_arith_op_expr | @un_log_op_expr | @un_bit_op_expr | @sizeof_expr + | @pointer_indirection_expr | @address_of_expr; + +@anonymous_function_expr = @lambda_expr | @anonymous_method_expr; + +@op_invoke_expr = @operator_invocation_expr | @assign_op_call_expr +@call = @method_invocation_expr | @constructor_init_expr | @op_invoke_expr + | @delegate_invocation_expr | @object_creation_expr | @call_access_expr + | @local_function_invocation_expr | @function_pointer_invocation_expr; + +@call_access_expr = @property_access_expr | @event_access_expr | @indexer_access_expr; + +@late_bindable_expr = @dynamic_element_access_expr | @dynamic_member_access_expr + | @object_creation_expr | @method_invocation_expr | @op_invoke_expr; + +@throw_element = @throw_expr | @throw_stmt; + +@implicitly_typeable_object_creation_expr = @object_creation_expr | @explicit_delegate_creation_expr; + +implicitly_typed_array_creation( + unique int id: @array_creation_expr ref); + +explicitly_sized_array_creation( + unique int id: @array_creation_expr ref); + +stackalloc_array_creation( + unique int id: @array_creation_expr ref); + +implicitly_typed_object_creation( + unique int id: @implicitly_typeable_object_creation_expr ref); + +mutator_invocation_mode( + unique int id: @operator_invocation_expr ref, + int mode: int ref /* prefix = 1, postfix = 2*/); + +expr_value( + unique int id: @expr ref, + string value: string ref); + +expr_call( + unique int caller_id: @expr ref, + int target_id: @callable ref); + +expr_access( + unique int accesser_id: @access_expr ref, + int target_id: @accessible ref); + +@accessible = @method | @assignable | @local_function | @namespace; + +expr_location( + unique int id: @expr ref, + int loc: @location ref); + +dynamic_member_name( + unique int id: @late_bindable_expr ref, + string name: string ref); + +@qualifiable_expr = @member_access_expr + | @method_invocation_expr + | @element_access_expr; + +conditional_access( + unique int id: @qualifiable_expr ref); + +expr_argument( + unique int id: @expr ref, + int mode: int ref); + /* mode is the same as params: value = 0, ref = 1, out = 2 */ + +expr_argument_name( + unique int id: @expr ref, + string name: string ref); + +lambda_expr_return_type( + unique int id: @lambda_expr ref, + int type_id: @type_or_ref ref); + +/* Compiler generated */ + +compiler_generated(unique int id: @element ref); + +/** CONTROL/DATA FLOW **/ + +@control_flow_element = @stmt | @expr; + +/* XML Files */ + +xmlEncoding ( + unique int id: @file ref, + string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* Comments */ + +commentline( + unique int id: @commentline, + int kind: int ref, + string text: string ref, + string rawtext: string ref); + +case @commentline.kind of + 0 = @singlelinecomment +| 1 = @xmldoccomment +| 2 = @multilinecomment; + +commentline_location( + unique int id: @commentline ref, + int loc: @location ref); + +commentblock( + unique int id : @commentblock); + +commentblock_location( + unique int id: @commentblock ref, + int loc: @location ref); + +commentblock_binding( + int id: @commentblock ref, + int entity: @element ref, + int bindtype: int ref); /* 0: Parent, 1: Best, 2: Before, 3: After */ + +commentblock_child( + int id: @commentblock ref, + int commentline: @commentline ref, + int index: int ref); + +/* ASP.NET */ + +case @asp_element.kind of + 0=@asp_close_tag +| 1=@asp_code +| 2=@asp_comment +| 3=@asp_data_binding +| 4=@asp_directive +| 5=@asp_open_tag +| 6=@asp_quoted_string +| 7=@asp_text +| 8=@asp_xml_directive; + +@asp_attribute = @asp_code | @asp_data_binding | @asp_quoted_string; + +asp_elements( + unique int id: @asp_element, + int kind: int ref, + int loc: @location ref); + +asp_comment_server(unique int comment: @asp_comment ref); +asp_code_inline(unique int code: @asp_code ref); +asp_directive_attribute( + int directive: @asp_directive ref, + int index: int ref, + string name: string ref, + int value: @asp_quoted_string ref); +asp_directive_name( + unique int directive: @asp_directive ref, + string name: string ref); +asp_element_body( + unique int element: @asp_element ref, + string body: string ref); +asp_tag_attribute( + int tag: @asp_open_tag ref, + int index: int ref, + string name: string ref, + int attribute: @asp_attribute ref); +asp_tag_name( + unique int tag: @asp_open_tag ref, + string name: string ref); +asp_tag_isempty(int tag: @asp_open_tag ref); diff --git a/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/upgrade.properties b/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/upgrade.properties new file mode 100644 index 00000000000..160cdb12de4 --- /dev/null +++ b/csharp/downgrades/ea7ad33252e550241975676f09fcc7b0a703deab/upgrade.properties @@ -0,0 +1,2 @@ +description: Remove @assign_op_call_expr from @qualifiable_expr. +compatibility: full diff --git a/csharp/extractor/Semmle.Extraction.CSharp.Util/SymbolExtensions.cs b/csharp/extractor/Semmle.Extraction.CSharp.Util/SymbolExtensions.cs index 659b26c2fe9..92d7ecfad6b 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.Util/SymbolExtensions.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.Util/SymbolExtensions.cs @@ -1,3 +1,5 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Text.RegularExpressions; using Microsoft.CodeAnalysis; @@ -18,114 +20,68 @@ namespace Semmle.Extraction.CSharp.Util return symbol.CanBeReferencedByName ? name : name.Substring(symbol.Name.LastIndexOf('.') + 1); } + private static readonly ReadOnlyDictionary methodToOperator = new(new Dictionary + { + { "op_LogicalNot", "!" }, + { "op_BitwiseAnd", "&" }, + { "op_Equality", "==" }, + { "op_Inequality", "!=" }, + { "op_UnaryPlus", "+" }, + { "op_Addition", "+" }, + { "op_UnaryNegation", "-" }, + { "op_Subtraction", "-" }, + { "op_Multiply", "*" }, + { "op_Multiplication", "*" }, + { "op_Division", "/" }, + { "op_Modulus", "%" }, + { "op_GreaterThan", ">" }, + { "op_GreaterThanOrEqual", ">=" }, + { "op_LessThan", "<" }, + { "op_LessThanOrEqual", "<=" }, + { "op_Decrement", "--" }, + { "op_Increment", "++" }, + { "op_Implicit", "implicit conversion" }, + { "op_Explicit", "explicit conversion" }, + { "op_OnesComplement", "~" }, + { "op_RightShift", ">>" }, + { "op_UnsignedRightShift", ">>>" }, + { "op_LeftShift", "<<" }, + { "op_BitwiseOr", "|" }, + { "op_ExclusiveOr", "^" }, + { "op_True", "true" }, + { "op_False", "false" } + }); + /// /// Convert an operator method name in to a symbolic name. /// A return value indicates whether the conversion succeeded. /// public static bool TryGetOperatorSymbol(this ISymbol symbol, out string operatorName) { - static bool TryGetOperatorSymbolFromName(string methodName, out string operatorName) + var methodName = symbol.GetName(useMetadataName: false); + + // Most common use-case. + if (methodToOperator.TryGetValue(methodName, out var opName)) { - var success = true; - switch (methodName) - { - case "op_LogicalNot": - operatorName = "!"; - break; - case "op_BitwiseAnd": - operatorName = "&"; - break; - case "op_Equality": - operatorName = "=="; - break; - case "op_Inequality": - operatorName = "!="; - break; - case "op_UnaryPlus": - case "op_Addition": - operatorName = "+"; - break; - case "op_UnaryNegation": - case "op_Subtraction": - operatorName = "-"; - break; - case "op_Multiply": - operatorName = "*"; - break; - case "op_Division": - operatorName = "/"; - break; - case "op_Modulus": - operatorName = "%"; - break; - case "op_GreaterThan": - operatorName = ">"; - break; - case "op_GreaterThanOrEqual": - operatorName = ">="; - break; - case "op_LessThan": - operatorName = "<"; - break; - case "op_LessThanOrEqual": - operatorName = "<="; - break; - case "op_Decrement": - operatorName = "--"; - break; - case "op_Increment": - operatorName = "++"; - break; - case "op_Implicit": - operatorName = "implicit conversion"; - break; - case "op_Explicit": - operatorName = "explicit conversion"; - break; - case "op_OnesComplement": - operatorName = "~"; - break; - case "op_RightShift": - operatorName = ">>"; - break; - case "op_UnsignedRightShift": - operatorName = ">>>"; - break; - case "op_LeftShift": - operatorName = "<<"; - break; - case "op_BitwiseOr": - operatorName = "|"; - break; - case "op_ExclusiveOr": - operatorName = "^"; - break; - case "op_True": - operatorName = "true"; - break; - case "op_False": - operatorName = "false"; - break; - default: - var match = CheckedRegex().Match(methodName); - if (match.Success) - { - TryGetOperatorSymbolFromName($"op_{match.Groups[1]}", out var uncheckedName); - operatorName = $"checked {uncheckedName}"; - break; - } - operatorName = methodName; - success = false; - break; - } - return success; + operatorName = opName; + return true; } - var methodName = symbol.GetName(useMetadataName: false); - return TryGetOperatorSymbolFromName(methodName, out operatorName); + // Attempt to parse using a regexp. + var match = OperatorRegex().Match(methodName); + if (match.Success && methodToOperator.TryGetValue($"op_{match.Groups[2]}", out var rawOperatorName)) + { + var prefix = match.Groups[1].Success ? "checked " : ""; + var postfix = match.Groups[3].Success ? "=" : ""; + operatorName = $"{prefix}{rawOperatorName}{postfix}"; + return true; + } + + operatorName = methodName; + return false; } - [GeneratedRegex("^op_Checked(.*)$")] - private static partial Regex CheckedRegex(); + [GeneratedRegex("^op_(Checked)?(.*?)(Assignment)?$")] + private static partial Regex OperatorRegex(); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs index 93107fc6dab..4ab90def2c1 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs @@ -228,6 +228,41 @@ namespace Semmle.Extraction.CSharp.Entities return Literal.CreateGenerated(cx, parent, childIndex, type, defaultValue, location); } + /// + /// Given an expression syntax node, attempt to resolve the target method symbol for it. + /// The operation takes extension methods into account. + /// + /// The expression syntax node. + /// Returns the target method symbol, or null if it cannot be resolved. + protected IMethodSymbol? GetTargetSymbol(ExpressionSyntax node) + { + var si = Context.GetSymbolInfo(node); + if (si.Symbol is ISymbol symbol) + { + var method = symbol as IMethodSymbol; + // Case for compiler-generated extension methods. + return method?.TryGetExtensionMethod() ?? method; + } + + if (si.CandidateReason == CandidateReason.OverloadResolutionFailure && node is InvocationExpressionSyntax syntax) + { + // This seems to be a bug in Roslyn + // For some reason, typeof(X).InvokeMember(...) fails to resolve the correct + // InvokeMember() method, even though the number of parameters clearly identifies the correct method + + var candidates = si.CandidateSymbols + .OfType() + .Where(method => method.Parameters.Length >= syntax.ArgumentList.Arguments.Count) + .Where(method => method.Parameters.Count(p => !p.HasExplicitDefaultValue) <= syntax.ArgumentList.Arguments.Count); + + return Context.ExtractionContext.IsStandalone ? + candidates.FirstOrDefault() : + candidates.SingleOrDefault(); + } + + return si.Symbol as IMethodSymbol; + } + /// /// Adapt the operator kind depending on whether it's a dynamic call or a user-operator call. /// @@ -244,10 +279,10 @@ namespace Semmle.Extraction.CSharp.Entities /// name if available. /// /// The expression. - public void OperatorCall(TextWriter trapFile, ExpressionSyntax node) + public void AddOperatorCall(TextWriter trapFile, ExpressionSyntax node) { - var @operator = Context.GetSymbolInfo(node); - if (@operator.Symbol is IMethodSymbol method) + var @operator = GetTargetSymbol(node); + if (@operator is IMethodSymbol method) { var callType = GetCallType(Context, node); if (callType == CallType.Dynamic) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Assignment.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Assignment.cs index 67e49b2919c..6d869b256c5 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Assignment.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Assignment.cs @@ -24,10 +24,9 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions { Create(Context, Syntax.Left, this, 0); Create(Context, Syntax.Right, this, 1); - if (Kind != ExprKind.SIMPLE_ASSIGN && Kind != ExprKind.ASSIGN_COALESCE) { - OperatorCall(trapFile, Syntax); + AddOperatorCall(trapFile, Syntax); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Binary.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Binary.cs index d4cc5cc81d5..2bc8c61f21f 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Binary.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Binary.cs @@ -40,7 +40,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions protected override void PopulateExpression(TextWriter trapFile) { - OperatorCall(trapFile, Syntax); + AddOperatorCall(trapFile, Syntax); CreateDeferred(Context, Syntax.Left, 0); CreateDeferred(Context, Syntax.Right, 1); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs index 20a5dc611a3..c11711f3092 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Cast.cs @@ -25,7 +25,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions else { // Type conversion - OperatorCall(trapFile, Syntax); + AddOperatorCall(trapFile, Syntax); TypeMention.Create(Context, Syntax.Type, this, Type); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Invocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Invocation.cs index 2ed7aec9955..343f288eeaf 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Invocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Invocation.cs @@ -44,7 +44,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions var child = -1; string? memberName = null; - var target = TargetSymbol; + var target = GetTargetSymbol(Syntax); switch (Syntax.Expression) { case MemberAccessExpressionSyntax memberAccess when IsValidMemberAccessKind(): @@ -129,39 +129,6 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions method.TryGetExtensionMethod()?.MethodKind == MethodKind.UserDefinedOperator; } - public IMethodSymbol? TargetSymbol - { - get - { - var si = SymbolInfo; - - if (si.Symbol is ISymbol symbol) - { - var method = symbol as IMethodSymbol; - // Case for compiler-generated extension methods. - return method?.TryGetExtensionMethod() ?? method; - } - - if (si.CandidateReason == CandidateReason.OverloadResolutionFailure) - { - // This seems to be a bug in Roslyn - // For some reason, typeof(X).InvokeMember(...) fails to resolve the correct - // InvokeMember() method, even though the number of parameters clearly identifies the correct method - - var candidates = si.CandidateSymbols - .OfType() - .Where(method => method.Parameters.Length >= Syntax.ArgumentList.Arguments.Count) - .Where(method => method.Parameters.Count(p => !p.HasExplicitDefaultValue) <= Syntax.ArgumentList.Arguments.Count); - - return Context.ExtractionContext.IsStandalone ? - candidates.FirstOrDefault() : - candidates.SingleOrDefault(); - } - - return si.Symbol as IMethodSymbol; - } - } - private static bool IsDelegateLikeCall(ExpressionNodeInfo info) { return IsDelegateLikeCall(info, symbol => IsFunctionPointer(symbol) || IsDelegateInvoke(symbol)); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/PostfixUnary.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/PostfixUnary.cs index dbe5ecb3d18..051a03e9f8c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/PostfixUnary.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/PostfixUnary.cs @@ -25,7 +25,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions if ((operatorKind == ExprKind.POST_INCR || operatorKind == ExprKind.POST_DECR) && Kind == ExprKind.OPERATOR_INVOCATION) { - OperatorCall(trapFile, Syntax); + AddOperatorCall(trapFile, Syntax); trapFile.mutator_invocation_mode(this, 2); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Unary.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Unary.cs index 161fbe62e3f..699c3810d11 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Unary.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Expressions/Unary.cs @@ -24,7 +24,7 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions protected override void PopulateExpression(TextWriter trapFile) { Create(Context, Syntax.Operand, this, 0); - OperatorCall(trapFile, Syntax); + AddOperatorCall(trapFile, Syntax); if ((operatorKind == ExprKind.PRE_INCR || operatorKind == ExprKind.PRE_DECR) && Kind == ExprKind.OPERATOR_INVOCATION) diff --git a/csharp/ql/campaigns/Solorigate/src/ModifiedFnvFunctionDetection.ql b/csharp/ql/campaigns/Solorigate/src/ModifiedFnvFunctionDetection.ql index ca153bfb97d..515bbbd91c6 100644 --- a/csharp/ql/campaigns/Solorigate/src/ModifiedFnvFunctionDetection.ql +++ b/csharp/ql/campaigns/Solorigate/src/ModifiedFnvFunctionDetection.ql @@ -13,11 +13,13 @@ import csharp import Solorigate import experimental.code.csharp.Cryptography.NonCryptographicHashes +ControlFlowNode loopExitNode(LoopStmt loop) { result.isAfter(loop) } + from Variable v, Literal l, LoopStmt loop, Expr additional_xor where maybeUsedInFnvFunction(v, _, _, loop) and exists(BitwiseXorOperation xor2 | xor2.getAnOperand() = l and additional_xor = xor2 | - loop.getAControlFlowExitNode().getASuccessor*() = xor2.getAControlFlowNode() and + loopExitNode(loop).getASuccessor*() = xor2.getControlFlowNode() and xor2.getAnOperand() = v.getAnAccess() ) select l, "This literal is used in an $@ after an FNV-like hash calculation with variable $@.", diff --git a/csharp/ql/consistency-queries/CfgConsistency.ql b/csharp/ql/consistency-queries/CfgConsistency.ql index 4b0d15f8a81..883014fdcf0 100644 --- a/csharp/ql/consistency-queries/CfgConsistency.ql +++ b/csharp/ql/consistency-queries/CfgConsistency.ql @@ -1,5 +1,2 @@ import csharp -import semmle.code.csharp.controlflow.internal.Completion -import ControlFlow -import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl::Consistency -import semmle.code.csharp.controlflow.internal.Splitting +import ControlFlow::Consistency diff --git a/csharp/ql/consistency-queries/DataFlowConsistency.ql b/csharp/ql/consistency-queries/DataFlowConsistency.ql index 03e0f3f1b74..6060304bd9c 100644 --- a/csharp/ql/consistency-queries/DataFlowConsistency.ql +++ b/csharp/ql/consistency-queries/DataFlowConsistency.ql @@ -1,5 +1,4 @@ import csharp -private import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl as ControlFlowGraphImpl private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific private import semmle.code.csharp.dataflow.internal.TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency @@ -7,20 +6,6 @@ private import codeql.dataflow.internal.DataFlowImplConsistency private module Input implements InputSig { private import CsharpDataFlow - private predicate isStaticAssignable(Assignable a) { a.(Modifiable).isStatic() } - - predicate uniqueEnclosingCallableExclude(Node node) { - // TODO: Remove once static initializers are folded into the - // static constructors - isStaticAssignable(ControlFlowGraphImpl::getNodeCfgScope(node.getControlFlowNode())) - } - - predicate uniqueCallEnclosingCallableExclude(DataFlowCall call) { - // TODO: Remove once static initializers are folded into the - // static constructors - isStaticAssignable(ControlFlowGraphImpl::getNodeCfgScope(call.getControlFlowNode())) - } - predicate uniqueNodeLocationExclude(Node n) { // Methods with multiple implementations n instanceof ParameterNode @@ -70,17 +55,14 @@ private module Input implements InputSig { init.getInitializer().getNumberOfChildren() > 1 ) or - exists(ControlFlow::Nodes::ElementNode cfn, ControlFlow::Nodes::Split split | - exists(arg.asExprAtNode(cfn)) - | - split = cfn.getASplit() and - not split = call.getControlFlowNode().getASplit() - or - split = call.getControlFlowNode().getASplit() and - not split = cfn.getASplit() - ) - or call.(NonDelegateDataFlowCall).getDispatchCall().isReflection() + or + // Exclude calls that are both getter and setter calls, as they share the same argument nodes. + exists(AccessorCall ac | + call.(NonDelegateDataFlowCall).getDispatchCall().getCall() = ac and + ac instanceof AssignableRead and + ac instanceof AssignableWrite + ) ) } } diff --git a/csharp/ql/consistency-queries/VariableCaptureConsistency.ql b/csharp/ql/consistency-queries/VariableCaptureConsistency.ql index 927741f07bf..869be5aea9f 100644 --- a/csharp/ql/consistency-queries/VariableCaptureConsistency.ql +++ b/csharp/ql/consistency-queries/VariableCaptureConsistency.ql @@ -1,13 +1,6 @@ import csharp import semmle.code.csharp.dataflow.internal.DataFlowPrivate::VariableCapture::Flow::ConsistencyChecks private import semmle.code.csharp.dataflow.internal.DataFlowPrivate::VariableCapture::Flow::ConsistencyChecks as ConsistencyChecks -private import semmle.code.csharp.controlflow.BasicBlocks -private import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl - -query predicate uniqueEnclosingCallable(BasicBlock bb, string msg) { - ConsistencyChecks::uniqueEnclosingCallable(bb, msg) and - getNodeCfgScope(bb.getFirstNode()) instanceof Callable -} query predicate consistencyOverview(string msg, int n) { none() } diff --git a/csharp/ql/lib/change-notes/2026-03-06-compound-assignment-operations.md b/csharp/ql/lib/change-notes/2026-03-06-compound-assignment-operations.md new file mode 100644 index 00000000000..f7e68b9b7d7 --- /dev/null +++ b/csharp/ql/lib/change-notes/2026-03-06-compound-assignment-operations.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* C# 14: Added support for user-defined compound assignment operators. diff --git a/csharp/ql/lib/change-notes/2026-04-01-asp-remote-sources.md b/csharp/ql/lib/change-notes/2026-04-01-asp-remote-sources.md new file mode 100644 index 00000000000..52f3f721e9f --- /dev/null +++ b/csharp/ql/lib/change-notes/2026-04-01-asp-remote-sources.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Expanded ASP and ASP.NET remote source modeling to cover additional sources, including fields of tainted parameters as well as properties and fields that become tainted transitively. diff --git a/csharp/ql/lib/change-notes/2026-04-13-cfg.md b/csharp/ql/lib/change-notes/2026-04-13-cfg.md new file mode 100644 index 00000000000..9c588fbcfa8 --- /dev/null +++ b/csharp/ql/lib/change-notes/2026-04-13-cfg.md @@ -0,0 +1,20 @@ +--- +category: breaking +--- +* The C# control flow graph (CFG) implementation has been completely + rewritten. The CFG now includes additional nodes to more accurately represent + certain constructs. This also means that any existing code that implicitly + relies on very specific details about the CFG may need to be updated. + The CFG no longer uses splitting, which means that AST nodes now have a unique + CFG node representation. + Additionally, the following breaking changes have been made: + - `ControlFlow::Node` has been renamed to `ControlFlowNode`. + - `ControlFlow::Nodes` has been renamed to `ControlFlowNodes`. + - `BasicBlock.getCallable` has been renamed to `BasicBlock.getEnclosingCallable`. + - `BasicBlocks.qll` has been deleted. + - `ControlFlowNode.getAstNode` has changed its meaning. The AST-to-CFG + mapping remains one-to-many, but now for a different reason. It used to be + because of splitting, but now it's because of additional "helper" CFG + nodes. To get the (now canonical) CFG node for a given AST node, use + `ControlFlowNode.asExpr()` or `ControlFlowNode.asStmt()` or + `ControlFlowElement.getControlFlowNode()` instead. diff --git a/csharp/ql/lib/experimental/code/csharp/Cryptography/NonCryptographicHashes.qll b/csharp/ql/lib/experimental/code/csharp/Cryptography/NonCryptographicHashes.qll index b09251cf6e4..130e563a663 100644 --- a/csharp/ql/lib/experimental/code/csharp/Cryptography/NonCryptographicHashes.qll +++ b/csharp/ql/lib/experimental/code/csharp/Cryptography/NonCryptographicHashes.qll @@ -30,7 +30,7 @@ predicate maybeUsedInFnvFunction(Variable v, Operation xor, Operation mul, LoopS e2.getAChild*() = v.getAnAccess() and e1 = xor.getAnOperand() and e2 = mul.getAnOperand() and - xor.getAControlFlowNode().getASuccessor*() = mul.getAControlFlowNode() and + xor.getControlFlowNode().getASuccessor*() = mul.getControlFlowNode() and (xor instanceof AssignXorExpr or xor instanceof BitwiseXorExpr) and (mul instanceof AssignMulExpr or mul instanceof MulExpr) ) and @@ -55,11 +55,11 @@ private predicate maybeUsedInElfHashFunction(Variable v, Operation xor, Operatio v = addAssign.getTargetVariable() and addAssign.getAChild*() = add and (xor instanceof BitwiseXorExpr or xor instanceof AssignXorExpr) and - addAssign.getAControlFlowNode().getASuccessor*() = xor.getAControlFlowNode() and + addAssign.getControlFlowNode().getASuccessor*() = xor.getControlFlowNode() and xorAssign.getAChild*() = xor and v = xorAssign.getTargetVariable() and (notOp instanceof UnaryBitwiseOperation or notOp instanceof AssignBitwiseOperation) and - xor.getAControlFlowNode().getASuccessor*() = notOp.getAControlFlowNode() and + xor.getControlFlowNode().getASuccessor*() = notOp.getControlFlowNode() and notAssign.getAChild*() = notOp and v = notAssign.getTargetVariable() and loop.getAChild*() = add.getEnclosingStmt() and diff --git a/csharp/ql/lib/ext/generated/Generators.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Generators.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Generators.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Generators.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.IBC.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.IBC.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.IBC.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.IBC.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.Amd64.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.Amd64.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.Amd64.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.Amd64.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.Arm.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.Arm.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.Arm.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.Arm.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.Arm64.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.Arm64.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.Arm64.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.Arm64.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.LoongArch64.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.LoongArch64.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.LoongArch64.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.LoongArch64.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.MachO.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.MachO.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.MachO.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.MachO.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.RiscV64.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.RiscV64.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.RiscV64.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.RiscV64.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.x86.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.x86.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.Reflection.ReadyToRun.x86.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.Reflection.ReadyToRun.x86.model.yml diff --git a/csharp/ql/lib/ext/generated/ILCompiler.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILCompiler.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILCompiler.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.CodeFix.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.CodeFix.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.CodeFix.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.CodeFix.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.RoslynAnalyzer.DataFlow.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.RoslynAnalyzer.DataFlow.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.RoslynAnalyzer.DataFlow.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.RoslynAnalyzer.DataFlow.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.RoslynAnalyzer.TrimAnalysis.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.RoslynAnalyzer.TrimAnalysis.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.RoslynAnalyzer.TrimAnalysis.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.RoslynAnalyzer.TrimAnalysis.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.RoslynAnalyzer.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.RoslynAnalyzer.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.RoslynAnalyzer.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.RoslynAnalyzer.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.Shared.DataFlow.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.DataFlow.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.Shared.DataFlow.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.DataFlow.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.Shared.TrimAnalysis.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.TrimAnalysis.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.Shared.TrimAnalysis.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.TrimAnalysis.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.Shared.TypeSystemProxy.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.TypeSystemProxy.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.Shared.TypeSystemProxy.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.TypeSystemProxy.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.Shared.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.Shared.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.Shared.model.yml diff --git a/csharp/ql/lib/ext/generated/ILLink.Tasks.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/ILLink.Tasks.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/ILLink.Tasks.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/ILLink.Tasks.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.IL.Stubs.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.IL.Stubs.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.IL.Stubs.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.IL.Stubs.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.IL.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.IL.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.IL.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.IL.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.NativeFormat.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.NativeFormat.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.NativeFormat.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.NativeFormat.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.Pgo.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.Pgo.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.Pgo.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.Pgo.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.TypeSystem.Ecma.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.TypeSystem.Ecma.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.TypeSystem.Ecma.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.TypeSystem.Ecma.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.TypeSystem.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.TypeSystem.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.TypeSystem.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.TypeSystem.model.yml diff --git a/csharp/ql/lib/ext/generated/Internal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Internal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Internal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Internal.model.yml diff --git a/csharp/ql/lib/ext/generated/IntrinsicsInSystemPrivateCoreLib.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/IntrinsicsInSystemPrivateCoreLib.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/IntrinsicsInSystemPrivateCoreLib.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/IntrinsicsInSystemPrivateCoreLib.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.CSharp.RuntimeBinder.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.CSharp.RuntimeBinder.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.CSharp.RuntimeBinder.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.CSharp.RuntimeBinder.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.CSharp.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.CSharp.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.CSharp.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.CSharp.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.JitTrace.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Diagnostics.JitTrace.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Diagnostics.JitTrace.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Diagnostics.JitTrace.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.TypeRefTypeSystem.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Diagnostics.Tools.Pgo.TypeRefTypeSystem.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.TypeRefTypeSystem.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Diagnostics.Tools.Pgo.TypeRefTypeSystem.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Diagnostics.Tools.Pgo.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Diagnostics.Tools.Pgo.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Diagnostics.Tools.Pgo.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.DotNet.Build.Tasks.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.DotNet.Build.Tasks.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.DotNet.Build.Tasks.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.DotNet.Build.Tasks.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.DotNet.PlatformAbstractions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.DotNet.PlatformAbstractions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.DotNet.PlatformAbstractions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.DotNet.PlatformAbstractions.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Distributed.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Caching.Distributed.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Distributed.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Caching.Distributed.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Hybrid.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Caching.Hybrid.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Hybrid.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Caching.Hybrid.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Memory.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Caching.Memory.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Caching.Memory.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Caching.Memory.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Binder.SourceGeneration.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.CommandLine.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.CommandLine.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.CommandLine.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.CommandLine.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.EnvironmentVariables.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.EnvironmentVariables.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.EnvironmentVariables.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.EnvironmentVariables.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Ini.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Ini.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Ini.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Ini.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Json.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Json.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Json.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Json.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Memory.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Memory.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Memory.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Memory.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.UserSecrets.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.UserSecrets.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.UserSecrets.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.UserSecrets.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Xml.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Xml.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.Xml.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.Xml.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Configuration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Configuration.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Extensions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.Extensions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Extensions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.Extensions.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.Fakes.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.Specification.Fakes.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.Fakes.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.Specification.Fakes.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.Specification.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.Specification.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.Specification.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyInjection.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyInjection.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyModel.Resolution.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyModel.Resolution.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyModel.Resolution.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyModel.Resolution.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyModel.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyModel.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.DependencyModel.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.DependencyModel.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Diagnostics.Metrics.Configuration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Diagnostics.Metrics.Configuration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Diagnostics.Metrics.Configuration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Diagnostics.Metrics.Configuration.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Diagnostics.Metrics.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Diagnostics.Metrics.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Diagnostics.Metrics.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Diagnostics.Metrics.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.Composite.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.Composite.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.Composite.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.Composite.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.Internal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.Internal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.Internal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.Internal.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.Physical.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.Physical.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.Physical.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.Physical.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileProviders.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileProviders.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Abstractions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Abstractions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Abstractions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Abstractions.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.Internal.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.FileSystemGlobbing.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.FileSystemGlobbing.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.Internal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.Internal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.Internal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.Internal.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.Systemd.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.Systemd.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.Systemd.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.Systemd.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.WindowsServices.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.WindowsServices.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.WindowsServices.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.WindowsServices.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Hosting.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Hosting.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.Logging.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Http.Logging.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.Logging.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Http.Logging.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Http.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Http.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Http.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Internal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Internal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Internal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Internal.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Abstractions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Abstractions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Abstractions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Abstractions.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Configuration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Configuration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Configuration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Configuration.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Console.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Console.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Console.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Console.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Debug.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Debug.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Debug.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Debug.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.EventLog.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.EventLog.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.EventLog.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.EventLog.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.EventSource.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.EventSource.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.EventSource.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.EventSource.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Generators.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Generators.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.Generators.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.Generators.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.TraceSource.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.TraceSource.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.TraceSource.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.TraceSource.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Logging.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Logging.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.Generators.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Options.Generators.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.Generators.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Options.Generators.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Options.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Options.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Options.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Extensions.Primitives.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Primitives.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Extensions.Primitives.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Extensions.Primitives.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Interop.Analyzers.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Interop.Analyzers.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Interop.Analyzers.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Interop.Analyzers.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Interop.JavaScript.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Interop.JavaScript.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Interop.JavaScript.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Interop.JavaScript.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Interop.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Interop.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Interop.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Interop.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.NET.Build.Tasks.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.NET.Build.Tasks.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.NET.Build.Tasks.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.NET.Build.Tasks.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.NETCore.Platforms.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.NETCore.Platforms.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.NETCore.Platforms.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.NETCore.Platforms.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.VisualBasic.CompilerServices.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.VisualBasic.CompilerServices.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.VisualBasic.CompilerServices.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.VisualBasic.CompilerServices.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.VisualBasic.FileIO.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.VisualBasic.FileIO.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.VisualBasic.FileIO.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.VisualBasic.FileIO.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.VisualBasic.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.VisualBasic.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.VisualBasic.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.VisualBasic.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Win32.SafeHandles.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Win32.SafeHandles.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Win32.SafeHandles.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Win32.SafeHandles.model.yml diff --git a/csharp/ql/lib/ext/generated/Microsoft.Win32.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Win32.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Microsoft.Win32.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Microsoft.Win32.model.yml diff --git a/csharp/ql/lib/ext/generated/Mono.Linker.Dataflow.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Mono.Linker.Dataflow.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Mono.Linker.Dataflow.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Mono.Linker.Dataflow.model.yml diff --git a/csharp/ql/lib/ext/generated/Mono.Linker.Steps.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Mono.Linker.Steps.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Mono.Linker.Steps.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Mono.Linker.Steps.model.yml diff --git a/csharp/ql/lib/ext/generated/Mono.Linker.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/Mono.Linker.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/Mono.Linker.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/Mono.Linker.model.yml diff --git a/csharp/ql/lib/ext/generated/SourceGenerators.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/SourceGenerators.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/SourceGenerators.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/SourceGenerators.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Buffers.Binary.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Buffers.Binary.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Buffers.Binary.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Buffers.Binary.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Buffers.Text.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Buffers.Text.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Buffers.Text.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Buffers.Text.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Buffers.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Buffers.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Buffers.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Buffers.model.yml diff --git a/csharp/ql/lib/ext/generated/System.CodeDom.Compiler.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.CodeDom.Compiler.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.CodeDom.Compiler.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.CodeDom.Compiler.model.yml diff --git a/csharp/ql/lib/ext/generated/System.CodeDom.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.CodeDom.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.CodeDom.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.CodeDom.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.Concurrent.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Concurrent.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.Concurrent.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Concurrent.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.Frozen.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Frozen.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.Frozen.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Frozen.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.Generic.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Generic.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.Generic.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Generic.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.Immutable.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Immutable.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.Immutable.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Immutable.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.ObjectModel.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.ObjectModel.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.ObjectModel.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.ObjectModel.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.Specialized.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Specialized.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.Specialized.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.Specialized.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Collections.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Collections.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Collections.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Collections.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Hosting.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.Hosting.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Hosting.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.Hosting.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Primitives.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.Primitives.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Primitives.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.Primitives.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.ReflectionModel.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.ReflectionModel.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Composition.ReflectionModel.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.ReflectionModel.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Registration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.Registration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Composition.Registration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.Registration.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Composition.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Composition.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Composition.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.Schema.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.DataAnnotations.Schema.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.Schema.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.DataAnnotations.Schema.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.DataAnnotations.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.DataAnnotations.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.DataAnnotations.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Design.Serialization.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Design.Serialization.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Design.Serialization.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Design.Serialization.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.Design.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Design.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.Design.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.Design.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ComponentModel.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ComponentModel.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ComponentModel.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Composition.Convention.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Composition.Convention.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Composition.Convention.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Composition.Convention.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Composition.Hosting.Core.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Composition.Hosting.Core.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Composition.Hosting.Core.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Composition.Hosting.Core.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Composition.Hosting.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Composition.Hosting.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Composition.Hosting.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Composition.Hosting.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Composition.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Composition.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Composition.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Composition.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Configuration.Internal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Configuration.Internal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Configuration.Internal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Configuration.Internal.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Configuration.Provider.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Configuration.Provider.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Configuration.Provider.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Configuration.Provider.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Configuration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Configuration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Configuration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Configuration.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.Common.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.Common.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.Common.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.Common.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.Odbc.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.Odbc.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.Odbc.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.Odbc.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.OleDb.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.OleDb.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.OleDb.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.OleDb.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.OracleClient.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.OracleClient.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.OracleClient.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.OracleClient.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.SqlClient.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.SqlClient.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.SqlClient.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.SqlClient.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.SqlTypes.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.SqlTypes.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.SqlTypes.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.SqlTypes.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Data.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Data.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Data.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Data.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.CodeAnalysis.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.CodeAnalysis.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.CodeAnalysis.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.CodeAnalysis.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Contracts.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Contracts.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.Contracts.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Contracts.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Eventing.Reader.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Eventing.Reader.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.Eventing.Reader.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Eventing.Reader.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Metrics.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Metrics.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.Metrics.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Metrics.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.PerformanceData.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.PerformanceData.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.PerformanceData.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.PerformanceData.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.SymbolStore.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.SymbolStore.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.SymbolStore.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.SymbolStore.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.Tracing.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Tracing.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.Tracing.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.Tracing.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Diagnostics.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Diagnostics.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Diagnostics.model.yml diff --git a/csharp/ql/lib/ext/generated/System.DirectoryServices.AccountManagement.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.AccountManagement.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.DirectoryServices.AccountManagement.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.AccountManagement.model.yml diff --git a/csharp/ql/lib/ext/generated/System.DirectoryServices.ActiveDirectory.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.ActiveDirectory.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.DirectoryServices.ActiveDirectory.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.ActiveDirectory.model.yml diff --git a/csharp/ql/lib/ext/generated/System.DirectoryServices.Protocols.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.Protocols.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.DirectoryServices.Protocols.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.Protocols.model.yml diff --git a/csharp/ql/lib/ext/generated/System.DirectoryServices.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.DirectoryServices.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.DirectoryServices.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Drawing.Printing.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Drawing.Printing.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Drawing.Printing.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Drawing.Printing.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Drawing.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Drawing.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Drawing.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Drawing.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Dynamic.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Dynamic.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Dynamic.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Dynamic.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Formats.Asn1.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Asn1.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Formats.Asn1.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Asn1.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Formats.Cbor.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Cbor.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Formats.Cbor.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Cbor.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Formats.Nrbf.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Nrbf.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Formats.Nrbf.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Nrbf.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Formats.Tar.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Tar.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Formats.Tar.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Formats.Tar.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Globalization.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Globalization.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Globalization.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Globalization.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Compression.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Compression.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Compression.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Compression.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Enumeration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Enumeration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Enumeration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Enumeration.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Hashing.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Hashing.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Hashing.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Hashing.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.IsolatedStorage.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.IsolatedStorage.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.IsolatedStorage.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.IsolatedStorage.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.MemoryMappedFiles.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.MemoryMappedFiles.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.MemoryMappedFiles.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.MemoryMappedFiles.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Packaging.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Packaging.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Packaging.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Packaging.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Pipelines.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Pipelines.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Pipelines.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Pipelines.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Pipes.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Pipes.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Pipes.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Pipes.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.Ports.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.Ports.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.Ports.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.Ports.model.yml diff --git a/csharp/ql/lib/ext/generated/System.IO.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.IO.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.IO.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.IO.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Linq.Expressions.Interpreter.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Linq.Expressions.Interpreter.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Linq.Expressions.Interpreter.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Linq.Expressions.Interpreter.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Linq.Expressions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Linq.Expressions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Linq.Expressions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Linq.Expressions.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Linq.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Linq.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Linq.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Linq.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Management.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Management.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Management.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Management.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Media.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Media.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Media.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Media.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Cache.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Cache.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Cache.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Cache.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Http.Headers.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.Headers.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Http.Headers.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.Headers.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Http.Json.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.Json.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Http.Json.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.Json.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Http.Metrics.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.Metrics.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Http.Metrics.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.Metrics.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Http.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Http.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Http.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Mail.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Mail.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Mail.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Mail.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Mime.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Mime.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Mime.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Mime.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.NetworkInformation.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.NetworkInformation.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.NetworkInformation.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.NetworkInformation.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.PeerToPeer.Collaboration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.PeerToPeer.Collaboration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.PeerToPeer.Collaboration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.PeerToPeer.Collaboration.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.PeerToPeer.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.PeerToPeer.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.PeerToPeer.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.PeerToPeer.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Quic.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Quic.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Quic.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Quic.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Security.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Security.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Security.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Security.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.ServerSentEvents.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.ServerSentEvents.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.ServerSentEvents.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.ServerSentEvents.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.Sockets.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.Sockets.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.Sockets.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.Sockets.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.WebSockets.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.WebSockets.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.WebSockets.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.WebSockets.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Net.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Net.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Net.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Net.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Numerics.Tensors.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Numerics.Tensors.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Numerics.Tensors.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Numerics.Tensors.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Numerics.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Numerics.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Numerics.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Numerics.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Context.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Context.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Reflection.Context.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Context.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Emit.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Emit.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Reflection.Emit.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Emit.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Metadata.Ecma335.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Metadata.Ecma335.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Reflection.Metadata.Ecma335.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Metadata.Ecma335.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Reflection.Metadata.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Metadata.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Reflection.Metadata.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.Metadata.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Reflection.PortableExecutable.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.PortableExecutable.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Reflection.PortableExecutable.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.PortableExecutable.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Reflection.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Reflection.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Reflection.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Resources.Extensions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Resources.Extensions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Resources.Extensions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Resources.Extensions.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Resources.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Resources.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Resources.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Resources.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Caching.Hosting.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Caching.Hosting.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Caching.Hosting.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Caching.Hosting.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Caching.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Caching.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Caching.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Caching.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.CompilerServices.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.CompilerServices.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.CompilerServices.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.CompilerServices.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.ConstrainedExecution.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.ConstrainedExecution.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.ConstrainedExecution.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.ConstrainedExecution.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.ExceptionServices.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.ExceptionServices.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.ExceptionServices.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.ExceptionServices.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ComTypes.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.ComTypes.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ComTypes.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.ComTypes.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.Java.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.Java.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.Java.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.Java.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.JavaScript.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.JavaScript.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.JavaScript.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.JavaScript.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.Marshalling.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.Marshalling.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.Marshalling.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.Marshalling.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ObjectiveC.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.ObjectiveC.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.ObjectiveC.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.ObjectiveC.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.Swift.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.Swift.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.Swift.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.Swift.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.InteropServices.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.InteropServices.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.InteropServices.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.Arm.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.Arm.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.Arm.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.Arm.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.Wasm.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.Wasm.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.Wasm.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.Wasm.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.X86.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.X86.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.X86.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.X86.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Intrinsics.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Intrinsics.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Loader.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Loader.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Loader.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Loader.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Remoting.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Remoting.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Remoting.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Remoting.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.DataContracts.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.DataContracts.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Serialization.DataContracts.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.DataContracts.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.Formatters.Binary.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.Formatters.Binary.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Serialization.Formatters.Binary.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.Formatters.Binary.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.Json.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.Json.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Serialization.Json.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.Json.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Serialization.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Serialization.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Serialization.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.Versioning.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Versioning.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.Versioning.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.Versioning.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Runtime.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Runtime.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Runtime.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.AccessControl.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.AccessControl.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.AccessControl.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.AccessControl.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Authentication.ExtendedProtection.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Authentication.ExtendedProtection.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Authentication.ExtendedProtection.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Authentication.ExtendedProtection.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Authentication.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Authentication.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Authentication.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Authentication.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Claims.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Claims.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Claims.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Claims.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Cryptography.Cose.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.Cose.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Cryptography.Cose.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.Cose.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Cryptography.Pkcs.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.Pkcs.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Cryptography.Pkcs.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.Pkcs.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Cryptography.X509Certificates.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.X509Certificates.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Cryptography.X509Certificates.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.X509Certificates.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Cryptography.Xml.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.Xml.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Cryptography.Xml.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.Xml.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Cryptography.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Cryptography.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Cryptography.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Permissions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Permissions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Permissions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Permissions.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Policy.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Policy.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Policy.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Policy.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.Principal.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.Principal.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.Principal.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.Principal.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Security.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Security.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Security.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Security.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ServiceModel.Syndication.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ServiceModel.Syndication.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ServiceModel.Syndication.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ServiceModel.Syndication.model.yml diff --git a/csharp/ql/lib/ext/generated/System.ServiceProcess.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.ServiceProcess.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.ServiceProcess.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.ServiceProcess.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Speech.AudioFormat.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Speech.AudioFormat.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Speech.AudioFormat.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Speech.AudioFormat.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Speech.Recognition.SrgsGrammar.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Recognition.SrgsGrammar.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Speech.Recognition.SrgsGrammar.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Recognition.SrgsGrammar.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Speech.Recognition.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Recognition.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Speech.Recognition.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Recognition.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Speech.Synthesis.TtsEngine.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Synthesis.TtsEngine.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Speech.Synthesis.TtsEngine.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Synthesis.TtsEngine.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Speech.Synthesis.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Synthesis.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Speech.Synthesis.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Speech.Synthesis.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Encodings.Web.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Encodings.Web.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Encodings.Web.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Encodings.Web.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.Nodes.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Nodes.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Json.Nodes.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Nodes.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.Schema.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Schema.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Json.Schema.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Schema.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.Serialization.Metadata.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Serialization.Metadata.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Json.Serialization.Metadata.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Serialization.Metadata.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.Serialization.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Serialization.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Json.Serialization.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.Serialization.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.SourceGeneration.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.SourceGeneration.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Json.SourceGeneration.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.SourceGeneration.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Json.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Json.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Json.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.RegularExpressions.Generator.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.RegularExpressions.Generator.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.RegularExpressions.Generator.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.RegularExpressions.Generator.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.RegularExpressions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.RegularExpressions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.RegularExpressions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.RegularExpressions.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.Unicode.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.Unicode.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.Unicode.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.Unicode.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Text.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Text.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Text.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Text.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Threading.Channels.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Channels.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Threading.Channels.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Channels.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Threading.RateLimiting.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Threading.RateLimiting.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Threading.RateLimiting.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Threading.RateLimiting.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Threading.Tasks.Dataflow.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Tasks.Dataflow.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Threading.Tasks.Dataflow.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Tasks.Dataflow.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Threading.Tasks.Sources.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Tasks.Sources.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Threading.Tasks.Sources.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Tasks.Sources.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Threading.Tasks.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Tasks.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Threading.Tasks.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Threading.Tasks.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Threading.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Threading.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Threading.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Threading.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Timers.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Timers.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Timers.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Timers.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Transactions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Transactions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Transactions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Transactions.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Web.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Web.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Web.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Web.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Windows.Input.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Windows.Input.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Windows.Input.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Windows.Input.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Windows.Markup.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Windows.Markup.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Windows.Markup.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Windows.Markup.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xaml.Permissions.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xaml.Permissions.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xaml.Permissions.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xaml.Permissions.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.Linq.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Linq.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.Linq.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Linq.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.Resolvers.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Resolvers.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.Resolvers.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Resolvers.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.Schema.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Schema.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.Schema.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Schema.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.Serialization.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Serialization.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.Serialization.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Serialization.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.XPath.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.XPath.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.XPath.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.XPath.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.Xsl.Runtime.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Xsl.Runtime.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.Xsl.Runtime.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Xsl.Runtime.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.Xsl.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Xsl.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.Xsl.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.Xsl.model.yml diff --git a/csharp/ql/lib/ext/generated/System.Xml.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.Xml.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.Xml.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.Xml.model.yml diff --git a/csharp/ql/lib/ext/generated/System.model.yml b/csharp/ql/lib/ext/generated/modelgenerator/System.model.yml similarity index 100% rename from csharp/ql/lib/ext/generated/System.model.yml rename to csharp/ql/lib/ext/generated/modelgenerator/System.model.yml diff --git a/csharp/ql/lib/printCfg.ql b/csharp/ql/lib/printCfg.ql index aa92b119204..c418446b216 100644 --- a/csharp/ql/lib/printCfg.ql +++ b/csharp/ql/lib/printCfg.ql @@ -7,7 +7,7 @@ * @tags ide-contextual-queries/print-cfg */ -private import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl +import csharp external string selectedSourceFile(); @@ -21,7 +21,7 @@ external int selectedSourceColumn(); private predicate selectedSourceColumnAlias = selectedSourceColumn/0; -module ViewCfgQueryInput implements ViewCfgQueryInputSig { +module ViewCfgQueryInput implements ControlFlow::ViewCfgQueryInputSig { predicate selectedSourceFile = selectedSourceFileAlias/0; predicate selectedSourceLine = selectedSourceLineAlias/0; @@ -29,7 +29,7 @@ module ViewCfgQueryInput implements ViewCfgQueryInputSig { predicate selectedSourceColumn = selectedSourceColumnAlias/0; predicate cfgScopeSpan( - CfgScope scope, File file, int startLine, int startColumn, int endLine, int endColumn + Callable scope, File file, int startLine, int startColumn, int endLine, int endColumn ) { file = scope.getFile() and scope.getLocation().getStartLine() = startLine and @@ -40,11 +40,20 @@ module ViewCfgQueryInput implements ViewCfgQueryInputSig { | loc = scope.(Callable).getBody().getLocation() or - loc = scope.(Field).getInitializer().getLocation() + loc = any(AssignExpr init | scope.(ObjectInitMethod).initializes(init)).getLocation() or - loc = scope.(Property).getInitializer().getLocation() + exists(AssignableMember a, Constructor ctor | + scope = ctor and + ctor.isStatic() and + a.isStatic() and + a.getDeclaringType() = ctor.getDeclaringType() + | + loc = a.(Field).getInitializer().getLocation() + or + loc = a.(Property).getInitializer().getLocation() + ) ) } } -import ViewCfgQuery +import ControlFlow::ViewCfgQuery diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 7c906e033ad..26e332652cd 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -16,6 +16,6 @@ dependencies: codeql/xml: ${workspace} dataExtensions: - ext/*.model.yml - - ext/generated/*.model.yml + - ext/generated/**/*.model.yml warnOnImplicitThis: true compileForOverlayEval: true diff --git a/csharp/ql/lib/semmle/code/csharp/Assignable.qll b/csharp/ql/lib/semmle/code/csharp/Assignable.qll index 7075626aa3b..5cd9ee9ede0 100644 --- a/csharp/ql/lib/semmle/code/csharp/Assignable.qll +++ b/csharp/ql/lib/semmle/code/csharp/Assignable.qll @@ -85,8 +85,8 @@ class AssignableRead extends AssignableAccess { } pragma[noinline] - private ControlFlow::Node getAnAdjacentReadSameVar() { - SsaImpl::adjacentReadPairSameVar(_, this.getAControlFlowNode(), result) + private ControlFlowNode getAnAdjacentReadSameVar() { + SsaImpl::adjacentReadPairSameVar(_, this.getControlFlowNode(), result) } /** @@ -114,11 +114,7 @@ class AssignableRead extends AssignableAccess { * - The read of `this.Field` on line 11 is next to the read on line 10. */ pragma[nomagic] - AssignableRead getANextRead() { - forex(ControlFlow::Node cfn | cfn = result.getAControlFlowNode() | - cfn = this.getAnAdjacentReadSameVar() - ) - } + AssignableRead getANextRead() { result.getControlFlowNode() = this.getAnAdjacentReadSameVar() } } /** @@ -319,7 +315,8 @@ module AssignableInternal { TAddressOfDefinition(AddressOfExpr aoe) or TPatternDefinition(TopLevelPatternDecl tlpd) or TAssignOperationDefinition(AssignOperation ao) { - ao instanceof AssignCallOperation or + ao instanceof AssignCallOperation and not ao instanceof CompoundAssignmentOperatorCall + or ao instanceof AssignCoalesceExpr } @@ -410,7 +407,7 @@ private import AssignableInternal */ class AssignableDefinition extends TAssignableDefinition { /** - * DEPRECATED: Use `this.getExpr().getAControlFlowNode()` instead. + * DEPRECATED: Use `this.getExpr().getControlFlowNode()` instead. * * Gets a control flow node that updates the targeted assignable when * reached. @@ -419,9 +416,7 @@ class AssignableDefinition extends TAssignableDefinition { * the definitions of `x` and `y` in `M(out x, out y)` and `(x, y) = (0, 1)` * relate to the same call to `M` and assignment node, respectively. */ - deprecated ControlFlow::Node getAControlFlowNode() { - result = this.getExpr().getAControlFlowNode() - } + deprecated ControlFlowNode getAControlFlowNode() { result = this.getExpr().getControlFlowNode() } /** * Gets the underlying expression that updates the targeted assignable when @@ -494,7 +489,7 @@ class AssignableDefinition extends TAssignableDefinition { */ pragma[nomagic] AssignableRead getAFirstRead() { - forex(ControlFlow::Node cfn | cfn = result.getAControlFlowNode() | + exists(ControlFlowNode cfn | cfn = result.getControlFlowNode() | exists(Ssa::ExplicitDefinition def | result = def.getAFirstReadAtNode(cfn) | this = def.getADefinition() ) @@ -572,11 +567,9 @@ module AssignableDefinitions { } /** Holds if a node in basic block `bb` assigns to `ref` parameter `p` via definition `def`. */ - private predicate basicBlockRefParamDef( - ControlFlow::BasicBlock bb, Parameter p, AssignableDefinition def - ) { + private predicate basicBlockRefParamDef(BasicBlock bb, Parameter p, AssignableDefinition def) { def = any(RefArg arg).getAnAnalyzableRefDef(p) and - bb.getANode() = def.getExpr().getAControlFlowNode() + bb.getANode() = def.getExpr().getControlFlowNode() } /** @@ -585,7 +578,7 @@ module AssignableDefinitions { * any assignments to `p`. */ pragma[nomagic] - private predicate parameterReachesWithoutDef(Parameter p, ControlFlow::BasicBlock bb) { + private predicate parameterReachesWithoutDef(Parameter p, BasicBlock bb) { forall(AssignableDefinition def | basicBlockRefParamDef(bb, p, def) | isUncertainRefCall(def.getTargetAccess()) ) and @@ -593,9 +586,7 @@ module AssignableDefinitions { any(RefArg arg).isAnalyzable(p) and p.getCallable().getEntryPoint() = bb.getFirstNode() or - exists(ControlFlow::BasicBlock mid | parameterReachesWithoutDef(p, mid) | - bb = mid.getASuccessor() - ) + exists(BasicBlock mid | parameterReachesWithoutDef(p, mid) | bb = mid.getASuccessor()) ) } @@ -607,7 +598,7 @@ module AssignableDefinitions { cached predicate isUncertainRefCall(RefArg arg) { arg.isPotentialAssignment() and - exists(ControlFlow::BasicBlock bb, Parameter p | arg.isAnalyzable(p) | + exists(BasicBlock bb, Parameter p | arg.isAnalyzable(p) | parameterReachesWithoutDef(p, bb) and bb.getLastNode() = p.getCallable().getExitPoint() ) @@ -688,7 +679,7 @@ module AssignableDefinitions { /** Gets the underlying parameter. */ Parameter getParameter() { result = p } - deprecated override ControlFlow::Node getAControlFlowNode() { + deprecated override ControlFlowNode getAControlFlowNode() { result = p.getCallable().getEntryPoint() } diff --git a/csharp/ql/lib/semmle/code/csharp/Caching.qll b/csharp/ql/lib/semmle/code/csharp/Caching.qll index bbe310fe69e..134332ee75d 100644 --- a/csharp/ql/lib/semmle/code/csharp/Caching.qll +++ b/csharp/ql/lib/semmle/code/csharp/Caching.qll @@ -7,23 +7,6 @@ private import csharp * in the same stage across different files. */ module Stages { - cached - module ControlFlowStage { - private import semmle.code.csharp.controlflow.internal.Splitting - - cached - predicate forceCachingInSameStage() { any() } - - cached - private predicate forceCachingInSameStageRev() { - exists(Split s) - or - exists(ControlFlow::Node n) - or - forceCachingInSameStageRev() - } - } - cached module GuardsStage { private import semmle.code.csharp.controlflow.Guards diff --git a/csharp/ql/lib/semmle/code/csharp/Callable.qll b/csharp/ql/lib/semmle/code/csharp/Callable.qll index 611b578b859..9416a7d4d9c 100644 --- a/csharp/ql/lib/semmle/code/csharp/Callable.qll +++ b/csharp/ql/lib/semmle/code/csharp/Callable.qll @@ -22,7 +22,7 @@ private import TypeRef * an anonymous function (`AnonymousFunctionExpr`), or a local function * (`LocalFunction`). */ -class Callable extends Parameterizable, ExprOrStmtParent, @callable { +class Callable extends Parameterizable, ControlFlowElementOrCallable, @callable { /** Gets the return type of this callable. */ Type getReturnType() { none() } @@ -157,10 +157,10 @@ class Callable extends Parameterizable, ExprOrStmtParent, @callable { final predicate hasExpressionBody() { exists(this.getExpressionBody()) } /** Gets the entry point in the control graph for this callable. */ - ControlFlow::Nodes::EntryNode getEntryPoint() { result.getCallable() = this } + ControlFlow::EntryNode getEntryPoint() { result.getEnclosingCallable() = this } /** Gets the exit point in the control graph for this callable. */ - ControlFlow::Nodes::ExitNode getExitPoint() { result.getCallable() = this } + ControlFlow::ExitNode getExitPoint() { result.getEnclosingCallable() = this } /** * Gets the enclosing callable of this callable, if any. @@ -611,7 +611,8 @@ class ExtensionOperator extends ExtensionCallableImpl, Operator { class UnaryOperator extends Operator { UnaryOperator() { this.getNumberOfParameters() = 1 and - not this instanceof ConversionOperator + not this instanceof ConversionOperator and + not this instanceof CompoundAssignmentOperator } } @@ -784,7 +785,7 @@ class TrueOperator extends UnaryOperator { * A user-defined binary operator. * * Either an addition operator (`AddOperator`), a checked addition operator - * (`CheckedAddOperator`) a subtraction operator (`SubOperator`), a checked + * (`CheckedAddOperator`), a subtraction operator (`SubOperator`), a checked * subtraction operator (`CheckedSubOperator`), a multiplication operator * (`MulOperator`), a checked multiplication operator (`CheckedMulOperator`), * a division operator (`DivOperator`), a checked division operator @@ -795,10 +796,16 @@ class TrueOperator extends UnaryOperator { * operator(`UnsignedRightShiftOperator`), an equals operator (`EQOperator`), * a not equals operator (`NEOperator`), a lesser than operator (`LTOperator`), * a greater than operator (`GTOperator`), a less than or equals operator - * (`LEOperator`), or a greater than or equals operator (`GEOperator`). + * (`LEOperator`), a greater than or equals operator (`GEOperator`), or + * a compound assignment operator (`CompoundAssignmentOperator`). */ class BinaryOperator extends Operator { - BinaryOperator() { this.getNumberOfParameters() = 2 } + BinaryOperator() { + this.getNumberOfParameters() = 2 + or + // Instance compound assignment operators only have one parameter. + this.getNumberOfParameters() = 1 and not this.isStatic() + } } /** @@ -1184,6 +1191,249 @@ class CheckedExplicitConversionOperator extends ConversionOperator { override string getAPrimaryQlClass() { result = "CheckedExplicitConversionOperator" } } +abstract private class CompoundAssignmentOperatorImpl extends BinaryOperator { } + +/** + * A user-defined compound assignment operator. + * + * Either an addition operator (`AddCompoundAssignmentOperator`), a checked addition operator + * (`CheckedAddCompoundAssignmentOperator`), a subtraction operator (`SubCompoundAssignmentOperator`), a checked + * subtraction operator (`CheckedSubCompoundAssignmentOperator`), a multiplication operator + * (`MulCompoundAssignmentOperator`), a checked multiplication operator (`CheckedMulCompoundAssignmentOperator`), + * a division operator (`DivCompoundAssignmentOperator`), a checked division operator + * (`CheckedDivCompoundAssignmentOperator`), a remainder operator (`RemCompoundAssignmentOperator`), an and + * operator (`AndCompoundAssignmentOperator`), an or operator (`OrCompoundAssignmentOperator`), an xor + * operator (`XorCompoundAssignmentOperator`), a left shift operator (`LeftShiftCompoundAssignmentOperator`), + * a right shift operator (`RightShiftCompoundAssignmentOperator`), or an unsigned right shift + * operator(`UnsignedRightShiftCompoundAssignmentOperator`). + */ +final class CompoundAssignmentOperator = CompoundAssignmentOperatorImpl; + +/** + * A user-defined compound assignment addition operator (`+=`), for example + * + * ```csharp + * public void operator checked +=(Widget w) { + * ... + * } + * ``` + */ +class AddCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + AddCompoundAssignmentOperator() { this.getName() = "+=" } + + override string getAPrimaryQlClass() { result = "AddCompoundAssignmentOperator" } +} + +/** + * A user-defined checked compound assignment addition operator (`checked +=`), for example + * + * ```csharp + * public void operator checked +=(Widget w) { + * ... + * } + * ``` + */ +class CheckedAddCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + CheckedAddCompoundAssignmentOperator() { this.getName() = "checked +=" } + + override string getAPrimaryQlClass() { result = "CheckedAddCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment subtraction operator (`-=`), for example + * + * ```csharp + * public void operator -=(Widget w) { + * ... + * } + * ``` + */ +class SubCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + SubCompoundAssignmentOperator() { this.getName() = "-=" } + + override string getAPrimaryQlClass() { result = "SubCompoundAssignmentOperator" } +} + +/** + * A user-defined checked compound assignment subtraction operator (`checked -=`), for example + * + * ```csharp + * public void operator checked -=(Widget w) { + * ... + * } + * ``` + */ +class CheckedSubCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + CheckedSubCompoundAssignmentOperator() { this.getName() = "checked -=" } + + override string getAPrimaryQlClass() { result = "CheckedSubCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment multiplication operator (`*=`), for example + * + * ```csharp + * public void operator *=(Widget w) { + * ... + * } + * ``` + */ +class MulCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + MulCompoundAssignmentOperator() { this.getName() = "*=" } + + override string getAPrimaryQlClass() { result = "MulCompoundAssignmentOperator" } +} + +/** + * A user-defined checked compound assignment multiplication operator (`checked *=`), for example + * + * ```csharp + * public void operator checked *=(Widget w) { + * ... + * } + * ``` + */ +class CheckedMulCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + CheckedMulCompoundAssignmentOperator() { this.getName() = "checked *=" } + + override string getAPrimaryQlClass() { result = "CheckedMulCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment division operator (`/=`), for example + * + * ```csharp + * public void operator /=(Widget w) { + * ... + * } + * ``` + */ +class DivCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + DivCompoundAssignmentOperator() { this.getName() = "/=" } + + override string getAPrimaryQlClass() { result = "DivCompoundAssignmentOperator" } +} + +/** + * A user-defined checked compound assignment division operator (`checked /=`), for example + * + * ```csharp + * public void operator checked /=(Widget w) { + * ... + * } + * ``` + */ +class CheckedDivCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + CheckedDivCompoundAssignmentOperator() { this.getName() = "checked /=" } + + override string getAPrimaryQlClass() { result = "CheckedDivCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment remainder operator (`%=`), for example + * + * ```csharp + * public void operator %=(Widget w) { + * ... + * } + * ``` + */ +class RemCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + RemCompoundAssignmentOperator() { this.getName() = "%=" } + + override string getAPrimaryQlClass() { result = "RemCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment and operator (`&=`), for example + * + * ```csharp + * public void operator &=(Widget w) { + * ... + * } + * ``` + */ +class AndCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + AndCompoundAssignmentOperator() { this.getName() = "&=" } + + override string getAPrimaryQlClass() { result = "AndCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment or operator (`|=`), for example + * + * ```csharp + * public void operator |=(Widget w) { + * ... + * } + * ``` + */ +class OrCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + OrCompoundAssignmentOperator() { this.getName() = "|=" } + + override string getAPrimaryQlClass() { result = "OrCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment xor operator (`^=`), for example + * + * ```csharp + * public void operator ^=(Widget w) { + * ... + * } + * ``` + */ +class XorCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + XorCompoundAssignmentOperator() { this.getName() = "^=" } + + override string getAPrimaryQlClass() { result = "XorCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment left shift operator (`<<=`), for example + * + * ```csharp + * public void operator <<=(Widget w) { + * ... + * } + * ``` + */ +class LeftShiftCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + LeftShiftCompoundAssignmentOperator() { this.getName() = "<<=" } + + override string getAPrimaryQlClass() { result = "LeftShiftCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment right shift operator (`>>=`), for example + * + * ```csharp + * public void operator >>=(Widget w) { + * ... + * } + * ``` + */ +class RightShiftCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + RightShiftCompoundAssignmentOperator() { this.getName() = ">>=" } + + override string getAPrimaryQlClass() { result = "RightShiftCompoundAssignmentOperator" } +} + +/** + * A user-defined compound assignment unsigned right shift operator (`>>>=`), for example + * + * ```csharp + * public void operator >>>=(Widget w) { + * ... + * } + * ``` + */ +class UnsignedRightShiftCompoundAssignmentOperator extends CompoundAssignmentOperatorImpl { + UnsignedRightShiftCompoundAssignmentOperator() { this.getName() = ">>>=" } + + override string getAPrimaryQlClass() { result = "UnsignedRightShiftCompoundAssignmentOperator" } +} + /** * A local function, defined within the scope of another callable. * For example, `Fac` on lines 2--4 in diff --git a/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll b/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll index 8102b4a0288..1aa558194e3 100644 --- a/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll +++ b/csharp/ql/lib/semmle/code/csharp/ExprOrStmtParent.qll @@ -129,13 +129,6 @@ private module Cached { result = parent.getAChildStmt() } - pragma[inline] - private ControlFlowElement enclosingStart(ControlFlowElement cfe) { - result = cfe - or - getAChild(result).(AnonymousFunctionExpr) = cfe - } - private predicate parent(ControlFlowElement child, ExprOrStmtParent parent) { child = getAChild(parent) and not child = getBody(_) @@ -145,7 +138,7 @@ private module Cached { cached predicate enclosingBody(ControlFlowElement cfe, ControlFlowElement body) { body = getBody(_) and - parent*(enclosingStart(cfe), body) + parent*(cfe, body) } /** Holds if the enclosing callable of `cfe` is `c`. */ @@ -153,7 +146,7 @@ private module Cached { predicate enclosingCallable(ControlFlowElement cfe, Callable c) { enclosingBody(cfe, getBody(c)) or - parent*(enclosingStart(cfe), c.(Constructor).getInitializer()) + parent*(cfe, c.(Constructor).getInitializer()) or parent*(cfe, c.(Constructor).getObjectInitializerCall()) or diff --git a/csharp/ql/lib/semmle/code/csharp/Type.qll b/csharp/ql/lib/semmle/code/csharp/Type.qll index 54bbe9a6219..7af167cd9bc 100644 --- a/csharp/ql/lib/semmle/code/csharp/Type.qll +++ b/csharp/ql/lib/semmle/code/csharp/Type.qll @@ -1334,6 +1334,7 @@ class TypeMention extends @type_mention { * ```csharp * static class MyExtensions { * extension(string s) { ... } + * } * ``` */ class ExtensionType extends Parameterizable, @extension_type { diff --git a/csharp/ql/lib/semmle/code/csharp/commons/Collections.qll b/csharp/ql/lib/semmle/code/csharp/commons/Collections.qll index b33c0f73d60..c0752a720b2 100644 --- a/csharp/ql/lib/semmle/code/csharp/commons/Collections.qll +++ b/csharp/ql/lib/semmle/code/csharp/commons/Collections.qll @@ -54,21 +54,44 @@ private string genericCollectionTypeName() { ] } -/** A collection type. */ -class CollectionType extends RefType { - CollectionType() { - exists(RefType base | base = this.getABaseType*() | - base.hasFullyQualifiedName(collectionNamespaceName(), collectionTypeName()) - or - base.(ConstructedType) - .getUnboundGeneric() - .hasFullyQualifiedName(genericCollectionNamespaceName(), genericCollectionTypeName()) - ) - or - this instanceof ArrayType +/** A collection type */ +abstract private class CollectionTypeImpl extends RefType { + /** + * Gets the element type of this collection, for example `int` in `List`. + */ + abstract Type getElementType(); +} + +private class GenericCollectionType extends CollectionTypeImpl { + private ConstructedType base; + + GenericCollectionType() { + base = this.getABaseType*() and + base.getUnboundGeneric() + .hasFullyQualifiedName(genericCollectionNamespaceName(), genericCollectionTypeName()) + } + + override Type getElementType() { + result = base.getTypeArgument(0) and base.getNumberOfTypeArguments() = 1 } } +private class NonGenericCollectionType extends CollectionTypeImpl { + NonGenericCollectionType() { + exists(RefType base | base = this.getABaseType*() | + base.hasFullyQualifiedName(collectionNamespaceName(), collectionTypeName()) + ) + } + + override Type getElementType() { none() } +} + +private class ArrayCollectionType extends CollectionTypeImpl instanceof ArrayType { + override Type getElementType() { result = ArrayType.super.getElementType() } +} + +final class CollectionType = CollectionTypeImpl; + /** * A collection type that can be used as a `params` parameter type. */ diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/BasicBlocks.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/BasicBlocks.qll deleted file mode 100644 index bf6a9772857..00000000000 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/BasicBlocks.qll +++ /dev/null @@ -1,356 +0,0 @@ -/** - * Provides classes representing basic blocks. - */ - -import csharp -private import ControlFlow -private import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl as CfgImpl -private import CfgImpl::BasicBlocks as BasicBlocksImpl -private import codeql.controlflow.BasicBlock as BB - -/** - * A basic block, that is, a maximal straight-line sequence of control flow nodes - * without branches or joins. - */ -final class BasicBlock extends BasicBlocksImpl::BasicBlock { - /** Gets an immediate successor of this basic block of a given type, if any. */ - BasicBlock getASuccessor(ControlFlow::SuccessorType t) { result = super.getASuccessor(t) } - - /** DEPRECATED: Use `getASuccessor` instead. */ - deprecated BasicBlock getASuccessorByType(ControlFlow::SuccessorType t) { - result = this.getASuccessor(t) - } - - /** Gets an immediate predecessor of this basic block of a given type, if any. */ - BasicBlock getAPredecessorByType(ControlFlow::SuccessorType t) { - result = this.getAPredecessor(t) - } - - /** - * Gets an immediate `true` successor, if any. - * - * An immediate `true` successor is a successor that is reached when - * the condition that ends this basic block evaluates to `true`. - * - * Example: - * - * ```csharp - * if (x < 0) - * x = -x; - * ``` - * - * The basic block on line 2 is an immediate `true` successor of the - * basic block on line 1. - */ - BasicBlock getATrueSuccessor() { result.getFirstNode() = this.getLastNode().getATrueSuccessor() } - - /** - * Gets an immediate `false` successor, if any. - * - * An immediate `false` successor is a successor that is reached when - * the condition that ends this basic block evaluates to `false`. - * - * Example: - * - * ```csharp - * if (!(x >= 0)) - * x = -x; - * ``` - * - * The basic block on line 2 is an immediate `false` successor of the - * basic block on line 1. - */ - BasicBlock getAFalseSuccessor() { - result.getFirstNode() = this.getLastNode().getAFalseSuccessor() - } - - BasicBlock getASuccessor() { result = super.getASuccessor() } - - /** Gets the control flow node at a specific (zero-indexed) position in this basic block. */ - ControlFlow::Node getNode(int pos) { result = super.getNode(pos) } - - /** Gets a control flow node in this basic block. */ - ControlFlow::Node getANode() { result = super.getANode() } - - /** Gets the first control flow node in this basic block. */ - ControlFlow::Node getFirstNode() { result = super.getFirstNode() } - - /** Gets the last control flow node in this basic block. */ - ControlFlow::Node getLastNode() { result = super.getLastNode() } - - /** Gets the callable that this basic block belongs to. */ - final Callable getCallable() { result = this.getFirstNode().getEnclosingCallable() } - - /** - * Holds if this basic block immediately dominates basic block `bb`. - * - * That is, this basic block is the unique basic block satisfying: - * 1. This basic block strictly dominates `bb` - * 2. There exists no other basic block that is strictly dominated by this - * basic block and which strictly dominates `bb`. - * - * All basic blocks, except entry basic blocks, have a unique immediate - * dominator. - * - * Example: - * - * ```csharp - * int M(string s) { - * if (s == null) - * throw new ArgumentNullException(nameof(s)); - * return s.Length; - * } - * ``` - * - * The basic block starting on line 2 strictly dominates the - * basic block on line 4 (all paths from the entry point of `M` - * to `return s.Length;` must go through the null check). - */ - predicate immediatelyDominates(BasicBlock bb) { super.immediatelyDominates(bb) } - - /** - * Holds if this basic block strictly dominates basic block `bb`. - * - * That is, all paths reaching basic block `bb` from some entry point - * basic block must go through this basic block (which must be different - * from `bb`). - * - * Example: - * - * ```csharp - * int M(string s) { - * if (s == null) - * throw new ArgumentNullException(nameof(s)); - * return s.Length; - * } - * ``` - * - * The basic block starting on line 2 strictly dominates the - * basic block on line 4 (all paths from the entry point of `M` - * to `return s.Length;` must go through the null check). - */ - predicate strictlyDominates(BasicBlock bb) { super.strictlyDominates(bb) } - - /** - * Holds if this basic block dominates basic block `bb`. - * - * That is, all paths reaching basic block `bb` from some entry point - * basic block must go through this basic block. - * - * Example: - * - * ```csharp - * int M(string s) { - * if (s == null) - * throw new ArgumentNullException(nameof(s)); - * return s.Length; - * } - * ``` - * - * The basic block starting on line 2 dominates the basic - * block on line 4 (all paths from the entry point of `M` to - * `return s.Length;` must go through the null check). - * - * This predicate is *reflexive*, so for example `if (s == null)` dominates - * itself. - */ - predicate dominates(BasicBlock bb) { - bb = this or - this.strictlyDominates(bb) - } - - /** - * Holds if `df` is in the dominance frontier of this basic block. - * That is, this basic block dominates a predecessor of `df`, but - * does not dominate `df` itself. - * - * Example: - * - * ```csharp - * if (x < 0) { - * x = -x; - * if (x > 10) - * x--; - * } - * Console.Write(x); - * ``` - * - * The basic block on line 6 is in the dominance frontier - * of the basic block starting on line 2 because that block - * dominates the basic block on line 4, which is a predecessor of - * `Console.Write(x);`. Also, the basic block starting on line 2 - * does not dominate the basic block on line 6. - */ - predicate inDominanceFrontier(BasicBlock df) { super.inDominanceFrontier(df) } - - /** - * Gets the basic block that immediately dominates this basic block, if any. - * - * That is, the result is the unique basic block satisfying: - * 1. The result strictly dominates this basic block. - * 2. There exists no other basic block that is strictly dominated by the - * result and which strictly dominates this basic block. - * - * All basic blocks, except entry basic blocks, have a unique immediate - * dominator. - * - * Example: - * - * ```csharp - * int M(string s) { - * if (s == null) - * throw new ArgumentNullException(nameof(s)); - * return s.Length; - * } - * ``` - * - * The basic block starting on line 2 is an immediate dominator of - * the basic block online 4 (all paths from the entry point of `M` - * to `return s.Length;` must go through the null check. - */ - BasicBlock getImmediateDominator() { result = super.getImmediateDominator() } - - /** - * Holds if the edge with successor type `s` out of this basic block is a - * dominating edge for `dominated`. - * - * That is, all paths reaching `dominated` from the entry point basic - * block must go through the `s` edge out of this basic block. - * - * Edge dominance is similar to node dominance except it concerns edges - * instead of nodes: A basic block is dominated by a _basic block_ `bb` if it - * can only be reached through `bb` and dominated by an _edge_ `e` if it can - * only be reached through `e`. - * - * Note that where all basic blocks (except the entry basic block) are - * strictly dominated by at least one basic block, a basic block may not be - * dominated by any edge. If an edge dominates a basic block `bb`, then - * both endpoints of the edge dominates `bb`. The converse is not the case, - * as there may be multiple paths between the endpoints with none of them - * dominating. - */ - predicate edgeDominates(BasicBlock dominated, ControlFlow::SuccessorType s) { - super.edgeDominates(dominated, s) - } - - /** - * Holds if this basic block strictly post-dominates basic block `bb`. - * - * That is, all paths reaching a normal exit point basic block from basic - * block `bb` must go through this basic block (which must be different - * from `bb`). - * - * Example: - * - * ```csharp - * int M(string s) { - * try { - * return s.Length; - * } - * finally { - * Console.WriteLine("M"); - * } - * } - * ``` - * - * The basic block on line 6 strictly post-dominates the basic block on - * line 3 (all paths to the exit point of `M` from `return s.Length;` - * must go through the `WriteLine` call). - */ - predicate strictlyPostDominates(BasicBlock bb) { super.strictlyPostDominates(bb) } - - /** - * Holds if this basic block post-dominates basic block `bb`. - * - * That is, all paths reaching a normal exit point basic block from basic - * block `bb` must go through this basic block. - * - * Example: - * - * ```csharp - * int M(string s) { - * try { - * return s.Length; - * } - * finally { - * Console.WriteLine("M"); - * } - * } - * ``` - * - * The basic block on line 6 post-dominates the basic block on line 3 - * (all paths to the exit point of `M` from `return s.Length;` must go - * through the `WriteLine` call). - * - * This predicate is *reflexive*, so for example `Console.WriteLine("M");` - * post-dominates itself. - */ - predicate postDominates(BasicBlock bb) { super.postDominates(bb) } - - /** - * Holds if this basic block is in a loop in the control flow graph. This - * includes loops created by `goto` statements. This predicate may not hold - * even if this basic block is syntactically inside a `while` loop if the - * necessary back edges are unreachable. - */ - predicate inLoop() { this.getASuccessor+() = this } -} - -/** - * An entry basic block, that is, a basic block whose first node is - * an entry node. - */ -final class EntryBasicBlock extends BasicBlock, BasicBlocksImpl::EntryBasicBlock { } - -/** - * An annotated exit basic block, that is, a basic block that contains an - * annotated exit node. - */ -final class AnnotatedExitBasicBlock extends BasicBlock, BasicBlocksImpl::AnnotatedExitBasicBlock { } - -/** - * An exit basic block, that is, a basic block whose last node is - * an exit node. - */ -final class ExitBasicBlock extends BasicBlock, BasicBlocksImpl::ExitBasicBlock { } - -/** A basic block with more than one predecessor. */ -final class JoinBlock extends BasicBlock, BasicBlocksImpl::JoinBasicBlock { - JoinBlockPredecessor getJoinBlockPredecessor(int i) { result = super.getJoinBlockPredecessor(i) } -} - -/** A basic block that is an immediate predecessor of a join block. */ -final class JoinBlockPredecessor extends BasicBlock, BasicBlocksImpl::JoinPredecessorBasicBlock { } - -/** - * A basic block that terminates in a condition, splitting the subsequent - * control flow. - */ -final class ConditionBlock extends BasicBlock, BasicBlocksImpl::ConditionBasicBlock { - /** DEPRECATED: Use `edgeDominates` instead. */ - deprecated predicate immediatelyControls(BasicBlock succ, ConditionalSuccessor s) { - this.getASuccessor(s) = succ and - BasicBlocksImpl::dominatingEdge(this, succ) - } - - /** DEPRECATED: Use `edgeDominates` instead. */ - deprecated predicate controls(BasicBlock controlled, ConditionalSuccessor s) { - super.edgeDominates(controlled, s) - } -} - -private class BasicBlockAlias = BasicBlock; - -private class EntryBasicBlockAlias = EntryBasicBlock; - -module Cfg implements BB::CfgSig { - class ControlFlowNode = ControlFlow::Node; - - class BasicBlock = BasicBlockAlias; - - class EntryBasicBlock = EntryBasicBlockAlias; - - predicate dominatingEdge(BasicBlock bb1, BasicBlock bb2) { - BasicBlocksImpl::dominatingEdge(bb1, bb2) - } -} diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowElement.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowElement.qll index 0d0ed681969..f2b459b63f7 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowElement.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowElement.qll @@ -4,20 +4,21 @@ import csharp private import semmle.code.csharp.ExprOrStmtParent private import semmle.code.csharp.commons.Compilation private import ControlFlow -private import ControlFlow::BasicBlocks private import semmle.code.csharp.Caching -private import internal.ControlFlowGraphImpl as Impl + +private class TControlFlowElementOrCallable = @callable or @control_flow_element; + +/** A `ControlFlowElement` or a `Callable`. */ +class ControlFlowElementOrCallable extends ExprOrStmtParent, TControlFlowElementOrCallable { } /** * A program element that can possess control flow. That is, either a statement or * an expression. * - * A control flow element can be mapped to a control flow node (`ControlFlow::Node`) - * via `getAControlFlowNode()`. There is a one-to-many relationship between - * control flow elements and control flow nodes. This allows control flow - * splitting, for example modeling the control flow through `finally` blocks. + * A control flow element can be mapped to a control flow node (`ControlFlowNode`) + * via `getControlFlowNode()`. */ -class ControlFlowElement extends ExprOrStmtParent, @control_flow_element { +class ControlFlowElement extends ControlFlowElementOrCallable, @control_flow_element { /** Gets the enclosing callable of this element, if any. */ Callable getEnclosingCallable() { none() } @@ -30,41 +31,26 @@ class ControlFlowElement extends ExprOrStmtParent, @control_flow_element { } /** + * DEPRECATED: Use `getControlFlowNode()` instead. + * * Gets a control flow node for this element. That is, a node in the * control flow graph that corresponds to this element. - * - * Typically, there is exactly one `ControlFlow::Node` associated with a - * `ControlFlowElement`, but a `ControlFlowElement` may be split into - * several `ControlFlow::Node`s, for example to represent the continuation - * flow in a `try/catch/finally` construction. */ - Nodes::ElementNode getAControlFlowNode() { result.getAstNode() = this } + deprecated ControlFlowNodes::ElementNode getAControlFlowNode() { + result = this.getControlFlowNode() + } - /** Gets the control flow node for this element. */ - ControlFlow::Node getControlFlowNode() { result.getAstNode() = this } + /** Gets the control flow node for this element, if any. */ + ControlFlowNode getControlFlowNode() { result.injects(this) } /** Gets the basic block in which this element occurs. */ - BasicBlock getBasicBlock() { result = this.getAControlFlowNode().getBasicBlock() } - - /** - * Gets a first control flow node executed within this element. - */ - Nodes::ElementNode getAControlFlowEntryNode() { - result = Impl::getAControlFlowEntryNode(this).(ControlFlowElement).getAControlFlowNode() - } - - /** - * Gets a potential last control flow node executed within this element. - */ - Nodes::ElementNode getAControlFlowExitNode() { - result = Impl::getAControlFlowExitNode(this).(ControlFlowElement).getAControlFlowNode() - } + BasicBlock getBasicBlock() { result = this.getControlFlowNode().getBasicBlock() } /** * Holds if this element is live, that is this element can be reached * from the entry point of its enclosing callable. */ - predicate isLive() { exists(this.getAControlFlowNode()) } + predicate isLive() { exists(this.getControlFlowNode()) } /** Holds if the current element is reachable from `src`. */ // potentially very large predicate, so must be inlined @@ -77,31 +63,13 @@ class ControlFlowElement extends ExprOrStmtParent, @control_flow_element { ControlFlowElement getAReachableElement() { // Reachable in same basic block exists(BasicBlock bb, int i, int j | - bb.getNode(i) = this.getAControlFlowNode() and - bb.getNode(j) = result.getAControlFlowNode() and + bb.getNode(i) = this.getControlFlowNode() and + bb.getNode(j) = result.getControlFlowNode() and i < j ) or // Reachable in different basic blocks - this.getAControlFlowNode().getBasicBlock().getASuccessor+().getANode() = - result.getAControlFlowNode() - } - - /** - * DEPRECATED: Use `Guard` class instead. - * - * Holds if basic block `controlled` is controlled by this control flow element - * with conditional value `s`. That is, `controlled` can only be reached from - * the callable entry point by going via the `s` edge out of *some* basic block - * ending with this element. - * - * `cb` records all of the possible condition blocks for this control flow element - * that a path from the callable entry point to `controlled` may go through. - */ - deprecated predicate controlsBlock( - BasicBlock controlled, ConditionalSuccessor s, ConditionBlock cb - ) { - cb.getLastNode() = this.getAControlFlowNode() and - cb.edgeDominates(controlled, s) + this.getControlFlowNode().getBasicBlock().getASuccessor+().getANode() = + result.getControlFlowNode() } } diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowGraph.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowGraph.qll index 438174fe297..09f65034f6d 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowGraph.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowGraph.qll @@ -1,315 +1,577 @@ -import csharp - /** * Provides classes representing the control flow graph within callables. */ -module ControlFlow { - private import semmle.code.csharp.controlflow.BasicBlocks as BBs - import semmle.code.csharp.controlflow.internal.SuccessorType - private import internal.ControlFlowGraphImpl as Impl - private import internal.Splitting as Splitting - /** - * A control flow node. - * - * Either a callable entry node (`EntryNode`), a callable exit node (`ExitNode`), - * or a control flow node for a control flow element, that is, an expression or a - * statement (`ElementNode`). - * - * A control flow node is a node in the control flow graph (CFG). There is a - * many-to-one relationship between `ElementNode`s and `ControlFlowElement`s. - * This allows control flow splitting, for example modeling the control flow - * through `finally` blocks. - * - * Only nodes that can be reached from the callable entry point are included in - * the CFG. - */ - class Node extends Impl::Node { - /** Gets the control flow element that this node corresponds to, if any. */ - final ControlFlowElement getAstNode() { result = super.getAstNode() } +import csharp +private import codeql.controlflow.ControlFlowGraph +private import codeql.controlflow.SuccessorType +private import semmle.code.csharp.commons.Compilation +private import semmle.code.csharp.controlflow.internal.NonReturning as NonReturning - /** Gets the basic block that this control flow node belongs to. */ - BasicBlock getBasicBlock() { result.getANode() = this } +private module Cfg0 = Make0; - /** - * Holds if this node dominates `that` node. - * - * That is, all paths reaching `that` node from some callable entry - * node (`EntryNode`) must go through this node. - * - * Example: - * - * ```csharp - * int M(string s) - * { - * if (s == null) - * throw new ArgumentNullException(nameof(s)); - * return s.Length; - * } - * ``` - * - * The node on line 3 dominates the node on line 5 (all paths from the - * entry point of `M` to `return s.Length;` must go through the null check). - * - * This predicate is *reflexive*, so for example `if (s == null)` dominates - * itself. - */ - // potentially very large predicate, so must be inlined - pragma[inline] - predicate dominates(Node that) { - this.strictlyDominates(that) - or - this = that - } +private module Cfg1 = Make1; - /** - * Holds if this node strictly dominates `that` node. - * - * That is, all paths reaching `that` node from some callable entry - * node (`EntryNode`) must go through this node (which must - * be different from `that` node). - * - * Example: - * - * ```csharp - * int M(string s) - * { - * if (s == null) - * throw new ArgumentNullException(nameof(s)); - * return s.Length; - * } - * ``` - * - * The node on line 3 strictly dominates the node on line 5 - * (all paths from the entry point of `M` to `return s.Length;` must go - * through the null check). - */ - // potentially very large predicate, so must be inlined - pragma[inline] - predicate strictlyDominates(Node that) { - this.getBasicBlock().strictlyDominates(that.getBasicBlock()) - or - exists(BasicBlock bb, int i, int j | - bb.getNode(i) = this and - bb.getNode(j) = that and - i < j - ) - } +private module Cfg2 = Make2; - /** - * Holds if this node post-dominates `that` node. - * - * That is, all paths reaching a normal callable exit node (an `AnnotatedExitNode` - * with a normal exit type) from `that` node must go through this node. - * - * Example: - * - * ```csharp - * int M(string s) - * { - * try - * { - * return s.Length; - * } - * finally - * { - * Console.WriteLine("M"); - * } - * } - * ``` - * - * The node on line 9 post-dominates the node on line 5 (all paths to the - * exit point of `M` from `return s.Length;` must go through the `WriteLine` - * call). - * - * This predicate is *reflexive*, so for example `Console.WriteLine("M");` - * post-dominates itself. - */ - // potentially very large predicate, so must be inlined - pragma[inline] - predicate postDominates(Node that) { - this.strictlyPostDominates(that) - or - this = that - } +private import Cfg0 +private import Cfg1 +private import Cfg2 +import Public - /** - * Holds if this node strictly post-dominates `that` node. - * - * That is, all paths reaching a normal callable exit node (an `AnnotatedExitNode` - * with a normal exit type) from `that` node must go through this node - * (which must be different from `that` node). - * - * Example: - * - * ```csharp - * int M(string s) - * { - * try - * { - * return s.Length; - * } - * finally - * { - * Console.WriteLine("M"); - * } - * } - * ``` - * - * The node on line 9 strictly post-dominates the node on line 5 (all - * paths to the exit point of `M` from `return s.Length;` must go through - * the `WriteLine` call). - */ - // potentially very large predicate, so must be inlined - pragma[inline] - predicate strictlyPostDominates(Node that) { - this.getBasicBlock().strictlyPostDominates(that.getBasicBlock()) - or - exists(BasicBlock bb, int i, int j | - bb.getNode(i) = this and - bb.getNode(j) = that and - i > j - ) - } +/** Provides an implementation of the AST signature for C#. */ +private module Ast implements AstSig { + private import csharp as CS - /** Gets a successor node of a given type, if any. */ - Node getASuccessorByType(SuccessorType t) { result = this.getASuccessor(t) } + class AstNode = ControlFlowElementOrCallable; - /** Gets an immediate successor, if any. */ - Node getASuccessor() { result = this.getASuccessorByType(_) } - - /** Gets an immediate predecessor node of a given flow type, if any. */ - Node getAPredecessorByType(SuccessorType t) { result.getASuccessorByType(t) = this } - - /** Gets an immediate predecessor, if any. */ - Node getAPredecessor() { result = this.getAPredecessorByType(_) } - - /** - * Gets an immediate `true` successor, if any. - * - * An immediate `true` successor is a successor that is reached when - * this condition evaluates to `true`. - * - * Example: - * - * ```csharp - * if (x < 0) - * x = -x; - * ``` - * - * The node on line 2 is an immediate `true` successor of the node - * on line 1. - */ - Node getATrueSuccessor() { - result = this.getASuccessorByType(any(BooleanSuccessor t | t.getValue() = true)) - } - - /** - * Gets an immediate `false` successor, if any. - * - * An immediate `false` successor is a successor that is reached when - * this condition evaluates to `false`. - * - * Example: - * - * ```csharp - * if (!(x >= 0)) - * x = -x; - * ``` - * - * The node on line 2 is an immediate `false` successor of the node - * on line 1. - */ - Node getAFalseSuccessor() { - result = this.getASuccessorByType(any(BooleanSuccessor t | t.getValue() = false)) - } - - /** Gets the enclosing callable of this control flow node. */ - final Callable getEnclosingCallable() { result = Impl::getNodeCfgScope(this) } + additional predicate skipControlFlow(AstNode e) { + e instanceof TypeAccess and + not e instanceof TypeAccessPatternExpr + or + not e.getFile().fromSource() } - /** Provides different types of control flow nodes. */ - module Nodes { - /** A node for a callable entry point. */ - class EntryNode extends Node instanceof Impl::EntryNode { - /** Gets the callable that this entry applies to. */ - Callable getCallable() { result = this.getScope() } - - override BasicBlocks::EntryBlock getBasicBlock() { result = Node.super.getBasicBlock() } - } - - /** A node for a callable exit point, annotated with the type of exit. */ - class AnnotatedExitNode extends Node instanceof Impl::AnnotatedExitNode { - /** Holds if this node represent a normal exit. */ - final predicate isNormal() { super.isNormal() } - - /** Gets the callable that this exit applies to. */ - Callable getCallable() { result = this.getScope() } - - override BasicBlocks::AnnotatedExitBlock getBasicBlock() { - result = Node.super.getBasicBlock() - } - } - - /** A control flow node indicating normal termination of a callable. */ - class NormalExitNode extends AnnotatedExitNode instanceof Impl::NormalExitNode { } - - /** A node for a callable exit point. */ - class ExitNode extends Node instanceof Impl::ExitNode { - /** Gets the callable that this exit applies to. */ - Callable getCallable() { result = this.getScope() } - - override BasicBlocks::ExitBlock getBasicBlock() { result = Node.super.getBasicBlock() } - } - - /** - * A node for a control flow element, that is, an expression or a statement. - * - * Each control flow element maps to zero or more `ElementNode`s: zero when - * the element is in unreachable (dead) code, and multiple when there are - * different splits for the element. - */ - class ElementNode extends Node instanceof Impl::AstCfgNode { - /** Gets a comma-separated list of strings for each split in this node, if any. */ - final string getSplitsString() { result = super.getSplitsString() } - - /** Gets a split for this control flow node, if any. */ - final Split getASplit() { result = super.getASplit() } - } - - /** A control-flow node for an expression. */ - class ExprNode extends ElementNode { - Expr e; - - ExprNode() { e = unique(Expr e_ | e_ = this.getAstNode() | e_) } - - /** Gets the expression that this control-flow node belongs to. */ - Expr getExpr() { result = e } - - /** Gets the value of this expression node, if any. */ - string getValue() { result = e.getValue() } - - /** Gets the type of this expression node. */ - Type getType() { result = e.getType() } - } - - class Split = Splitting::Split; + private AstNode getExprChild0(Expr e, int i) { + not e instanceof NameOfExpr and + not e instanceof AnonymousFunctionExpr and + not skipControlFlow(result) and + result = e.getChild(i) } - class BasicBlock = BBs::BasicBlock; + private AstNode getStmtChild0(Stmt s, int i) { + not s instanceof FixedStmt and + not s instanceof UsingBlockStmt and + result = s.getChild(i) + or + s = + any(FixedStmt fs | + result = fs.getVariableDeclExpr(i) + or + result = fs.getBody() and + i = max(int j | exists(fs.getVariableDeclExpr(j))) + 1 + ) + or + s = + any(UsingBlockStmt us | + result = us.getExpr() and + i = 0 + or + result = us.getVariableDeclExpr(i) + or + result = us.getBody() and + i = max([1, count(us.getVariableDeclExpr(_))]) + ) + } - /** Provides different types of basic blocks. */ - module BasicBlocks { - class EntryBlock = BBs::EntryBasicBlock; + AstNode getChild(AstNode n, int index) { + result = getStmtChild0(n, index) + or + result = getExprChild0(n, index) + } - class AnnotatedExitBlock = BBs::AnnotatedExitBasicBlock; + private AstNode getParent(AstNode n) { n = getChild(result, _) } - class ExitBlock = BBs::ExitBasicBlock; + Callable getEnclosingCallable(AstNode node) { + result = node.(ControlFlowElement).getEnclosingCallable() or + result.(ObjectInitMethod).initializes(getParent*(node)) or + Initializers::staticMemberInitializer(result, getParent*(node)) + } - class JoinBlock = BBs::JoinBlock; + class Callable = CS::Callable; - class JoinBlockPredecessor = BBs::JoinBlockPredecessor; + AstNode callableGetBody(Callable c) { + not skipControlFlow(result) and + result = c.getBody() + } - class ConditionBlock = BBs::ConditionBlock; + class Stmt = CS::Stmt; + + class Expr = CS::Expr; + + class BlockStmt = CS::BlockStmt; + + class ExprStmt = CS::ExprStmt; + + class IfStmt = CS::IfStmt; + + class LoopStmt = CS::LoopStmt; + + class WhileStmt = CS::WhileStmt; + + class DoStmt = CS::DoStmt; + + final private class FinalForStmt = CS::ForStmt; + + class ForStmt extends FinalForStmt { + Expr getInit(int index) { result = this.getInitializer(index) } + } + + final private class FinalForeachStmt = CS::ForeachStmt; + + class ForeachStmt extends FinalForeachStmt { + Expr getVariable() { + result = this.getVariableDeclExpr() or result = this.getVariableDeclTuple() + } + + Expr getCollection() { result = this.getIterableExpr() } + } + + class BreakStmt = CS::BreakStmt; + + class ContinueStmt = CS::ContinueStmt; + + class GotoStmt = CS::GotoStmt; + + class ReturnStmt = CS::ReturnStmt; + + class Throw = CS::ThrowElement; + + final private class FinalTryStmt = CS::TryStmt; + + class TryStmt extends FinalTryStmt { + Stmt getBody() { result = this.getBlock() } + + CatchClause getCatch(int index) { result = this.getCatchClause(index) } + + Stmt getFinally() { result = super.getFinally() } + } + + final private class FinalCatchClause = CS::CatchClause; + + class CatchClause extends FinalCatchClause { + AstNode getVariable() { result = this.(CS::SpecificCatchClause).getVariableDeclExpr() } + + Expr getCondition() { result = this.getFilterClause() } + + Stmt getBody() { result = this.getBlock() } + } + + final private class FinalSwitch = CS::Switch; + + class Switch extends FinalSwitch { + Case getCase(int index) { result = super.getCase(index) } + + Stmt getStmt(int index) { result = this.(CS::SwitchStmt).getStmt(index) } + } + + final private class FinalCase = CS::Case; + + class Case extends FinalCase { + AstNode getAPattern() { result = this.getPattern() } + + Expr getGuard() { result = this.getCondition() } + + AstNode getBody() { result = super.getBody() } + } + + class DefaultCase extends Case instanceof CS::DefaultCase { } + + class ConditionalExpr = CS::ConditionalExpr; + + class BinaryExpr = CS::BinaryOperation; + + class LogicalAndExpr = CS::LogicalAndExpr; + + class LogicalOrExpr = CS::LogicalOrExpr; + + class NullCoalescingExpr = CS::NullCoalescingExpr; + + class UnaryExpr = CS::UnaryOperation; + + class LogicalNotExpr = CS::LogicalNotExpr; + + class Assignment = CS::Assignment; + + class AssignExpr = CS::AssignExpr; + + class CompoundAssignment = CS::AssignOperation; + + class AssignLogicalAndExpr extends CompoundAssignment { + AssignLogicalAndExpr() { none() } + } + + class AssignLogicalOrExpr extends CompoundAssignment { + AssignLogicalOrExpr() { none() } + } + + class AssignNullCoalescingExpr = CS::AssignCoalesceExpr; + + final private class FinalBoolLiteral = CS::BoolLiteral; + + class BooleanLiteral extends FinalBoolLiteral { + boolean getValue() { result = this.getBoolValue() } + } + + final private class FinalIsExpr = CS::IsExpr; + + class PatternMatchExpr extends FinalIsExpr { + AstNode getPattern() { result = super.getPattern() } + } +} + +/** + * A compilation. + * + * Unlike the standard `Compilation` class, this class also supports buildless + * extraction. + */ +private newtype TCompilationExt = + TCompilation(Compilation c) { not extractionIsStandalone() } or + TBuildless() { extractionIsStandalone() } + +private class CompilationExt extends TCompilationExt { + string toString() { + exists(Compilation c | + this = TCompilation(c) and + result = c.toString() + ) + or + this = TBuildless() and result = "buildless compilation" + } +} + +/** Gets the compilation that source file `f` belongs to. */ +private CompilationExt getCompilation(File f) { + exists(Compilation c | + f = c.getAFileCompiled() and + result = TCompilation(c) + ) + or + result = TBuildless() +} + +private module Initializers { + private import semmle.code.csharp.ExprOrStmtParent as ExprOrStmtParent + + /** + * The `expr_parent_top_level_adjusted()` relation restricted to exclude relations + * between properties and their getters' expression bodies in properties such as + * `int P => 0`. + * + * This is in order to only associate the expression body with one CFG scope, namely + * the getter (and not the declaration itself). + */ + private predicate expr_parent_top_level_adjusted2( + Expr child, int i, @top_level_exprorstmt_parent parent + ) { + ExprOrStmtParent::expr_parent_top_level_adjusted(child, i, parent) and + not exists(Getter g | + g.getDeclaration() = parent and + i = 0 + ) + } + + /** + * Holds if `init` is a static member initializer and `staticCtor` is the + * static constructor in the same declaring type. Hence, `staticCtor` can be + * considered to execute `init` prior to the execution of its body. + */ + predicate staticMemberInitializer(Constructor staticCtor, Expr init) { + exists(Assignable a | + a.(Modifiable).isStatic() and + expr_parent_top_level_adjusted2(init, _, a) and + a.getDeclaringType() = staticCtor.getDeclaringType() and + staticCtor.isStatic() + ) + } + + /** + * Gets the `i`th static member initializer expression for static constructor `staticCtor`. + */ + Expr initializedStaticMemberOrder(Constructor staticCtor, int i) { + result = + rank[i + 1](Expr init, Location l, string filepath, int startline, int startcolumn | + staticMemberInitializer(staticCtor, init) and + l = init.getLocation() and + l.hasLocationInfo(filepath, startline, startcolumn, _, _) + | + init order by startline, startcolumn, filepath + ) + } + + /** + * Gets the `i`th member initializer expression for object initializer method `obinit`. + */ + AssignExpr initializedInstanceMemberOrder(ObjectInitMethod obinit, int i) { + result = + rank[i + 1](AssignExpr ae0, Location l, string filepath, int startline, int startcolumn | + obinit.initializes(ae0) and + l = ae0.getLocation() and + l.hasLocationInfo(filepath, startline, startcolumn, _, _) + | + ae0 order by startline, startcolumn, filepath + ) + } +} + +private module Exceptions { + private import semmle.code.csharp.commons.Assertions + + private class Overflowable extends UnaryOperation { + Overflowable() { + not this instanceof UnaryBitwiseOperation and + this.getType() instanceof IntegralType + } + } + + /** Holds if `cfe` is a control flow element that may throw an exception. */ + predicate mayThrowException(ControlFlowElement cfe) { + cfe.(TriedControlFlowElement).mayThrowException() + or + cfe instanceof Assertion + } + + /** A control flow element that is inside a `try` block. */ + private class TriedControlFlowElement extends ControlFlowElement { + TriedControlFlowElement() { + this = any(TryStmt try).getATriedElement() and + not this instanceof NonReturning::NonReturningCall + } + + /** + * Holds if this element may potentially throw an exception. + */ + predicate mayThrowException() { + this instanceof Overflowable + or + this.(CastExpr).getType() instanceof IntegralType + or + invalidCastCandidate(this) + or + this instanceof Call + or + this = + any(MemberAccess ma | + not ma.isConditional() and + ma.getQualifier() = any(Expr e | not e instanceof TypeAccess) + ) + or + this instanceof DelegateCreation + or + this instanceof ArrayCreation + or + this = + any(AddOperation ae | + ae.getType() instanceof StringType + or + ae.getType() instanceof IntegralType + ) + or + this = any(SubOperation se | se.getType() instanceof IntegralType) + or + this = any(MulOperation me | me.getType() instanceof IntegralType) + or + this = any(DivOperation de | not de.getDenominator().getValue().toFloat() != 0) + or + this instanceof RemOperation + or + this instanceof DynamicExpr + } + } + + pragma[nomagic] + private ValueOrRefType getACastExprBaseType(CastExpr ce) { + result = ce.getType().(ValueOrRefType).getABaseType() + or + result = getACastExprBaseType(ce).getABaseType() + } + + pragma[nomagic] + private predicate invalidCastCandidate(CastExpr ce) { + ce.getExpr().getType() = getACastExprBaseType(ce) + } +} + +private module Input implements InputSig1, InputSig2 { + predicate cfgCachedStageRef() { CfgCachedStage::ref() } + + predicate catchAll(Ast::CatchClause catch) { catch instanceof GeneralCatchClause } + + predicate matchAll(Ast::Case c) { c instanceof DefaultCase or c.(SwitchCaseExpr).matchesAll() } + + private newtype TLabel = + TLblGoto(string label) { any(GotoLabelStmt goto).getLabel() = label } or + TLblSwitchCase(string value) { any(GotoCaseStmt goto).getLabel() = value } or + TLblSwitchDefault() + + class Label extends TLabel { + string toString() { + this = TLblGoto(result) + or + this = TLblSwitchCase(result) + or + this = TLblSwitchDefault() and result = "default" + } + } + + predicate hasLabel(Ast::AstNode n, Label l) { + l = TLblGoto(n.(GotoLabelStmt).getLabel()) + or + l = TLblSwitchCase(n.(GotoCaseStmt).getLabel()) + or + l = TLblSwitchDefault() and n instanceof GotoDefaultStmt + or + l = TLblGoto(n.(LabelStmt).getLabel()) + } + + class CallableBodyPartContext = CompilationExt; + + pragma[nomagic] + Ast::AstNode callableGetBodyPart(Callable c, CallableBodyPartContext ctx, int index) { + not Ast::skipControlFlow(result) and + ctx = getCompilation(result.getFile()) and + ( + result = Initializers::initializedInstanceMemberOrder(c, index) + or + result = Initializers::initializedStaticMemberOrder(c, index) + or + exists(Constructor ctor, int i, int staticMembers | + c = ctor and + staticMembers = count(Expr init | Initializers::staticMemberInitializer(ctor, init)) and + index = staticMembers + i + 1 + | + i = 0 and result = ctor.getObjectInitializerCall() + or + i = 1 and result = ctor.getInitializer() + or + i = 2 and result = ctor.getBody() + ) + ) + } + + private Expr getQualifier(QualifiableExpr qe) { + result = qe.getQualifier() or + result = qe.(ExtensionMethodCall).getArgument(0) + } + + predicate inConditionalContext(Ast::AstNode n, ConditionKind kind) { + kind.isNullness() and + exists(QualifiableExpr qe | qe.isConditional() | n = getQualifier(qe)) + } + + predicate postOrInOrder(Ast::AstNode n) { n instanceof YieldStmt or n instanceof Call } + + predicate beginAbruptCompletion( + Ast::AstNode ast, PreControlFlowNode n, AbruptCompletion c, boolean always + ) { + // `yield break` behaves like a return statement + ast instanceof YieldBreakStmt and + n.isIn(ast) and + c.asSimpleAbruptCompletion() instanceof ReturnSuccessor and + always = true + or + Exceptions::mayThrowException(ast) and + n.isIn(ast) and + c.asSimpleAbruptCompletion() instanceof ExceptionSuccessor and + always = false + or + ast instanceof NonReturning::NonReturningCall and + n.isIn(ast) and + c.asSimpleAbruptCompletion() instanceof ExceptionSuccessor and + always = true + } + + predicate endAbruptCompletion(Ast::AstNode ast, PreControlFlowNode n, AbruptCompletion c) { + exists(SwitchStmt switch, Label l, Ast::Case case | + ast.(Stmt).getParent() = switch and + c.getSuccessorType() instanceof GotoSuccessor and + c.hasLabel(l) and + n.isAfterValue(case, any(MatchingSuccessor t | t.getValue() = true)) + | + exists(string value, ConstCase cc | + l = TLblSwitchCase(value) and + switch.getAConstCase() = cc and + cc.getLabel() = value and + cc = case + ) + or + l = TLblSwitchDefault() and switch.getDefaultCase() = case + ) + } + + predicate step(PreControlFlowNode n1, PreControlFlowNode n2) { + exists(QualifiableExpr qe | qe.isConditional() | + n1.isBefore(qe) and n2.isBefore(getQualifier(qe)) + or + exists(NullnessSuccessor t | n1.isAfterValue(getQualifier(qe), t) | + if t.isNull() + then ( + // if `q` is null in `q?.f = x` then the assignment is skipped. This + // holds for both regular, compound, and null-coalescing assignments. + // On the other hand, the CFG definition for the assignment can treat + // the LHS the same regardless of whether it's a conditionally + // qualified access or not, as it just connects to the "before" and + // "after" nodes of the LHS, and the "after" node is skipped in this + // case. + exists(AssignableDefinition def | + def.getTargetAccess() = qe and + n2.isAfterValue(def.getExpr(), t) + ) + or + not qe instanceof AssignableWrite and + n2.isAfterValue(qe, t) + ) else ( + n2.isBefore(Ast::getChild(qe, 0)) + or + n2.isIn(qe) and not exists(Ast::getChild(qe, 0)) + ) + ) + or + exists(int i | i >= 0 and n1.isAfter(Ast::getChild(qe, i)) | + n2.isBefore(Ast::getChild(qe, i + 1)) + or + not exists(Ast::getChild(qe, i + 1)) and n2.isIn(qe) + ) + or + n1.isIn(qe) and n2.isAfter(qe) and not beginAbruptCompletion(qe, n1, _, true) + ) + or + exists(ObjectCreation oc | + n1.isBefore(oc) and n2.isBefore(oc.getArgument(0)) + or + n1.isBefore(oc) and n2.isIn(oc) and not exists(oc.getAnArgument()) + or + exists(int i | n1.isAfter(oc.getArgument(i)) | + n2.isBefore(oc.getArgument(i + 1)) + or + not exists(oc.getArgument(i + 1)) and n2.isIn(oc) + ) + or + n1.isIn(oc) and n2.isBefore(oc.getInitializer()) + or + n1.isIn(oc) and n2.isAfter(oc) and not exists(oc.getInitializer()) + or + n1.isAfter(oc.getInitializer()) and n2.isAfter(oc) + ) + } +} + +/** Provides different types of control flow nodes. */ +module ControlFlowNodes { + /** + * A node for a control flow element, that is, an expression or a statement. + * + * Each control flow element maps to zero or one `ElementNode`s: zero when + * the element is in unreachable (dead) code, and otherwise one. + */ + class ElementNode extends ControlFlowNode { + ElementNode() { exists(this.asExpr()) or exists(this.asStmt()) } + } + + /** A control-flow node for an expression. */ + class ExprNode extends ElementNode { + Expr e; + + ExprNode() { e = this.asExpr() } + + /** Gets the expression that this control-flow node belongs to. */ + Expr getExpr() { result = e } + + /** Gets the value of this expression node, if any. */ + string getValue() { result = e.getValue() } + + /** Gets the type of this expression node. */ + Type getType() { result = e.getType() } } } diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll index aafe14402c7..33d96a61fc7 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll @@ -4,16 +4,13 @@ import csharp private import codeql.controlflow.ControlFlowReachability -private import semmle.code.csharp.controlflow.BasicBlocks private import semmle.code.csharp.controlflow.Guards as Guards private import semmle.code.csharp.ExprOrStmtParent -private module ControlFlowInput implements - InputSig -{ +private module ControlFlowInput implements InputSig { private import csharp as CS - AstNode getEnclosingAstNode(ControlFlow::Node node) { + AstNode getEnclosingAstNode(ControlFlowNode node) { node.getAstNode() = result or not exists(node.getAstNode()) and result = node.getEnclosingCallable() diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll index 66b591cfcd2..52de1c2fe0e 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll @@ -7,20 +7,16 @@ private import ControlFlow private import semmle.code.csharp.commons.Assertions private import semmle.code.csharp.commons.ComparisonTest private import semmle.code.csharp.commons.StructuralComparison as SC -private import semmle.code.csharp.controlflow.BasicBlocks -private import semmle.code.csharp.controlflow.internal.Completion private import semmle.code.csharp.frameworks.System private import semmle.code.csharp.frameworks.system.Linq private import semmle.code.csharp.frameworks.system.Collections private import semmle.code.csharp.frameworks.system.collections.Generic private import codeql.controlflow.Guards as SharedGuards -private module GuardsInput implements - SharedGuards::InputSig -{ +private module GuardsInput implements SharedGuards::InputSig { private import csharp as CS - class NormalExitNode = ControlFlow::Nodes::NormalExitNode; + class NormalExitNode = ControlFlow::NormalExitNode; class AstNode = ControlFlowElement; @@ -87,21 +83,14 @@ private module GuardsInput implements ConstantExpr asConstantCase() { super.getPattern() = result } - private predicate hasEdge(BasicBlock bb1, BasicBlock bb2, MatchingCompletion c) { - exists(PatternExpr pe | - super.getPattern() = pe and - c.isValidFor(pe) and - bb1.getLastNode() = pe.getAControlFlowNode() and - bb1.getASuccessor(c.getAMatchingSuccessorType()) = bb2 - ) - } - predicate matchEdge(BasicBlock bb1, BasicBlock bb2) { - exists(MatchingCompletion c | this.hasEdge(bb1, bb2, c) and c.isMatch()) + bb1.getASuccessor(any(MatchingSuccessor s | s.getValue() = true)) = bb2 and + bb1.getLastNode() = AstNode.super.getControlFlowNode() } predicate nonMatchEdge(BasicBlock bb1, BasicBlock bb2) { - exists(MatchingCompletion c | this.hasEdge(bb1, bb2, c) and c.isNonMatch()) + bb1.getASuccessor(any(MatchingSuccessor s | s.getValue() = false)) = bb2 and + bb1.getLastNode() = AstNode.super.getControlFlowNode() } } @@ -313,7 +302,7 @@ class Guard extends Guards::Guard { * In case `cfn` or `sub` access an SSA variable in their left-most qualifier, then * so must the other (accessing the same SSA variable). */ - predicate controlsNode(ControlFlow::Nodes::ElementNode cfn, AccessOrCallExpr sub, GuardValue v) { + predicate controlsNode(ControlFlowNodes::ElementNode cfn, AccessOrCallExpr sub, GuardValue v) { isGuardedByNode(cfn, this, sub, v) } @@ -323,7 +312,7 @@ class Guard extends Guards::Guard { * Note: This predicate is inlined. */ pragma[inline] - predicate controlsNode(ControlFlow::Nodes::ElementNode cfn, GuardValue v) { + predicate controlsNode(ControlFlowNodes::ElementNode cfn, GuardValue v) { guardControls(this, cfn.getBasicBlock(), v) } @@ -441,7 +430,8 @@ class DereferenceableExpr extends Expr { predicate guardSuggestsMaybeNull(Guards::Guard guard) { not nonNullValueImplied(this) and ( - exists(NullnessCompletion c | c.isValidFor(this) and c.isNull() and guard = this) + exists(guard.getControlFlowNode().getASuccessor(any(NullnessSuccessor n | n.isNull()))) and + guard = this or LogicInput::additionalNullCheck(guard, _, this, true) or @@ -596,7 +586,7 @@ class AccessOrCallExpr extends Expr { * An expression can have more than one SSA qualifier in the presence * of control flow splitting. */ - Ssa::Definition getAnSsaQualifier(ControlFlow::Node cfn) { result = getAnSsaQualifier(this, cfn) } + Ssa::Definition getAnSsaQualifier(ControlFlowNode cfn) { result = getAnSsaQualifier(this, cfn) } } private Declaration getDeclarationTarget(Expr e) { @@ -604,14 +594,14 @@ private Declaration getDeclarationTarget(Expr e) { result = e.(Call).getTarget() } -private Ssa::Definition getAnSsaQualifier(Expr e, ControlFlow::Node cfn) { +private Ssa::Definition getAnSsaQualifier(Expr e, ControlFlowNode cfn) { e = getATrackedAccess(result, cfn) or not e = getATrackedAccess(_, _) and result = getAnSsaQualifier(e.(QualifiableExpr).getQualifier(), cfn) } -private AssignableAccess getATrackedAccess(Ssa::Definition def, ControlFlow::Node cfn) { +private AssignableAccess getATrackedAccess(Ssa::Definition def, ControlFlowNode cfn) { result = def.getAReadAtNode(cfn) or result = def.(Ssa::ExplicitDefinition).getADefinition().getTargetAccess() and @@ -720,7 +710,7 @@ class GuardedExpr extends AccessOrCallExpr { * In the example above, the node for `x.ToString()` is null-guarded in the * split `b == true`, but not in the split `b == false`. */ -class GuardedControlFlowNode extends ControlFlow::Nodes::ElementNode { +class GuardedControlFlowNode extends ControlFlowNodes::ElementNode { private Guard g; private AccessOrCallExpr sub0; private GuardValue v0; @@ -776,7 +766,7 @@ class GuardedDataFlowNode extends DataFlow::ExprNode { private GuardValue v0; GuardedDataFlowNode() { - exists(ControlFlow::Nodes::ElementNode cfn | exists(this.getExprAtNode(cfn)) | + exists(ControlFlowNodes::ElementNode cfn | exists(this.getExprAtNode(cfn)) | g.controlsNode(cfn, sub0, v0) ) } @@ -1074,7 +1064,7 @@ module Internal { candidateAux(x, d, bb) and y = any(AccessOrCallExpr e | - e.getAControlFlowNode().getBasicBlock() = bb and + e.getControlFlowNode().getBasicBlock() = bb and e.getTarget() = d ) ) @@ -1106,11 +1096,11 @@ module Internal { pragma[nomagic] private predicate nodeIsGuardedBySameSubExpr0( - ControlFlow::Node guardedCfn, BasicBlock guardedBB, AccessOrCallExpr guarded, Guard g, + ControlFlowNode guardedCfn, BasicBlock guardedBB, AccessOrCallExpr guarded, Guard g, AccessOrCallExpr sub, GuardValue v ) { Stages::GuardsStage::forceCachingInSameStage() and - guardedCfn = guarded.getAControlFlowNode() and + guardedCfn = guarded.getControlFlowNode() and guardedBB = guardedCfn.getBasicBlock() and guardControls(g, guardedBB, v) and guardControlsSubSame(g, guardedBB, sub) and @@ -1119,7 +1109,7 @@ module Internal { pragma[nomagic] private predicate nodeIsGuardedBySameSubExpr( - ControlFlow::Node guardedCfn, BasicBlock guardedBB, AccessOrCallExpr guarded, Guard g, + ControlFlowNode guardedCfn, BasicBlock guardedBB, AccessOrCallExpr guarded, Guard g, AccessOrCallExpr sub, GuardValue v ) { nodeIsGuardedBySameSubExpr0(guardedCfn, guardedBB, guarded, g, sub, v) and @@ -1128,8 +1118,8 @@ module Internal { pragma[nomagic] private predicate nodeIsGuardedBySameSubExprSsaDef0( - ControlFlow::Node cfn, BasicBlock guardedBB, AccessOrCallExpr guarded, Guard g, - ControlFlow::Node subCfn, BasicBlock subCfnBB, AccessOrCallExpr sub, GuardValue v, + ControlFlowNode cfn, BasicBlock guardedBB, AccessOrCallExpr guarded, Guard g, + ControlFlowNode subCfn, BasicBlock subCfnBB, AccessOrCallExpr sub, GuardValue v, Ssa::Definition def ) { nodeIsGuardedBySameSubExpr(cfn, guardedBB, guarded, g, sub, v) and @@ -1139,7 +1129,7 @@ module Internal { pragma[nomagic] private predicate nodeIsGuardedBySameSubExprSsaDef( - ControlFlow::Node guardedCfn, AccessOrCallExpr guarded, Guard g, ControlFlow::Node subCfn, + ControlFlowNode guardedCfn, AccessOrCallExpr guarded, Guard g, ControlFlowNode subCfn, AccessOrCallExpr sub, GuardValue v, Ssa::Definition def ) { exists(BasicBlock guardedBB, BasicBlock subCfnBB | @@ -1153,15 +1143,13 @@ module Internal { private predicate isGuardedByExpr0( AccessOrCallExpr guarded, Guard g, AccessOrCallExpr sub, GuardValue v ) { - forex(ControlFlow::Node cfn | cfn = guarded.getAControlFlowNode() | - nodeIsGuardedBySameSubExpr(cfn, _, guarded, g, sub, v) - ) + nodeIsGuardedBySameSubExpr(guarded.getControlFlowNode(), _, guarded, g, sub, v) } cached predicate isGuardedByExpr(AccessOrCallExpr guarded, Guard g, AccessOrCallExpr sub, GuardValue v) { isGuardedByExpr0(guarded, g, sub, v) and - forall(ControlFlow::Node subCfn, Ssa::Definition def | + forall(ControlFlowNode subCfn, Ssa::Definition def | nodeIsGuardedBySameSubExprSsaDef(_, guarded, g, subCfn, sub, v, def) | def = guarded.getAnSsaQualifier(_) @@ -1170,17 +1158,14 @@ module Internal { cached predicate isGuardedByNode( - ControlFlow::Nodes::ElementNode guarded, Guard g, AccessOrCallExpr sub, GuardValue v + ControlFlowNodes::ElementNode guarded, Guard g, AccessOrCallExpr sub, GuardValue v ) { nodeIsGuardedBySameSubExpr(guarded, _, _, g, sub, v) and - forall(ControlFlow::Node subCfn, Ssa::Definition def | + forall(ControlFlowNode subCfn, Ssa::Definition def | nodeIsGuardedBySameSubExprSsaDef(guarded, _, g, subCfn, sub, v, def) | def = - guarded - .getAstNode() - .(AccessOrCallExpr) - .getAnSsaQualifier(guarded.getBasicBlock().getANode()) + guarded.asExpr().(AccessOrCallExpr).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 deleted file mode 100644 index e734e79402b..00000000000 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Completion.qll +++ /dev/null @@ -1,896 +0,0 @@ -/** - * INTERNAL: Do not use. - * - * Provides classes representing control flow completions. - * - * A completion represents how a statement or expression terminates. - * - * There are six kinds of completions: normal completion, - * `return` completion, `break` completion, `continue` completion, - * `goto` completion, and `throw` completion. - * - * Normal completions are further subdivided into Boolean completions and all - * other normal completions. A Boolean completion adds the information that the - * expression terminated with the given boolean value due to a subexpression - * terminating with the other given Boolean value. This is only relevant for - * conditional contexts in which the value controls the control-flow successor. - * - * Goto successors are further subdivided into label gotos, case gotos, and - * default gotos. - */ - -import csharp -private import semmle.code.csharp.commons.Assertions -private import semmle.code.csharp.commons.Constants -private import semmle.code.csharp.frameworks.System -private import ControlFlowGraphImpl -private import NonReturning -private import SuccessorType - -private newtype TCompletion = - TSimpleCompletion() or - TBooleanCompletion(boolean b) { b = true or b = false } or - TNullnessCompletion(boolean isNull) { isNull = true or isNull = false } or - TMatchingCompletion(boolean isMatch) { isMatch = true or isMatch = false } or - TEmptinessCompletion(boolean isEmpty) { isEmpty = true or isEmpty = false } or - TReturnCompletion() or - TBreakCompletion() or - TContinueCompletion() or - TGotoCompletion(string label) { label = any(GotoStmt gs).getLabel() } or - TThrowCompletion(ExceptionClass ec) or - TExitCompletion() or - TNestedCompletion(Completion inner, Completion outer, int nestLevel) { - inner = TBreakCompletion() and - outer instanceof NonNestedNormalCompletion and - nestLevel = 0 - or - inner instanceof NormalCompletion and - nestedFinallyCompletion(outer, nestLevel) - } - -pragma[nomagic] -private int getAFinallyNestLevel() { result = any(Statements::TryStmtTree t).nestLevel() } - -pragma[nomagic] -private predicate nestedFinallyCompletion(Completion outer, int nestLevel) { - ( - outer = TReturnCompletion() - or - outer = TBreakCompletion() - or - outer = TContinueCompletion() - or - outer = TGotoCompletion(_) - or - outer = TThrowCompletion(_) - or - outer = TExitCompletion() - ) and - nestLevel = getAFinallyNestLevel() -} - -pragma[noinline] -private predicate completionIsValidForStmt(Stmt s, Completion c) { - s instanceof BreakStmt and - c = TBreakCompletion() - or - s instanceof ContinueStmt and - c = TContinueCompletion() - or - s instanceof GotoStmt and - c = TGotoCompletion(s.(GotoStmt).getLabel()) - or - s instanceof ReturnStmt and - c = TReturnCompletion() - or - s instanceof YieldBreakStmt and - // `yield break` behaves like a return statement - c = TReturnCompletion() - or - mustHaveEmptinessCompletion(s) and - c = TEmptinessCompletion(_) -} - -/** - * A completion of a statement or an expression. - */ -abstract class Completion extends TCompletion { - /** - * Holds if this completion is valid for control flow element `cfe`. - * - * If `cfe` is part of a `try` statement and `cfe` may throw an exception, this - * completion can be a throw completion. - * - * If `cfe` is used in a Boolean context, this completion is a Boolean completion, - * otherwise it is a normal non-Boolean completion. - */ - predicate isValidFor(ControlFlowElement cfe) { - this = cfe.(NonReturningCall).getACompletion() - or - this = TThrowCompletion(cfe.(TriedControlFlowElement).getAThrownException()) - or - cfe instanceof ThrowElement and - this = TThrowCompletion(cfe.(ThrowElement).getThrownExceptionType()) - or - this = assertionCompletion(cfe, _) - or - completionIsValidForStmt(cfe, this) - or - mustHaveBooleanCompletion(cfe) and - ( - exists(boolean value | isBooleanConstant(cfe, value) | this = TBooleanCompletion(value)) - or - not isBooleanConstant(cfe, _) and - this = TBooleanCompletion(_) - or - // Corner case: In `if (x ?? y) { ... }`, `x` must have both a `true` - // completion, a `false` completion, and a `null` completion (but not a - // non-`null` completion) - mustHaveNullnessCompletion(cfe) and - this = TNullnessCompletion(true) - ) - or - mustHaveNullnessCompletion(cfe) and - not mustHaveBooleanCompletion(cfe) and - ( - exists(boolean value | isNullnessConstant(cfe, value) | this = TNullnessCompletion(value)) - or - not isNullnessConstant(cfe, _) and - this = TNullnessCompletion(_) - ) - or - mustHaveMatchingCompletion(cfe) and - ( - exists(boolean value | isMatchingConstant(cfe, value) | this = TMatchingCompletion(value)) - or - not isMatchingConstant(cfe, _) and - this = TMatchingCompletion(_) - ) - or - not cfe instanceof NonReturningCall and - not cfe instanceof ThrowElement and - not cfe instanceof BreakStmt and - not cfe instanceof ContinueStmt and - not cfe instanceof GotoStmt and - not cfe instanceof ReturnStmt and - not cfe instanceof YieldBreakStmt and - not mustHaveBooleanCompletion(cfe) and - not mustHaveNullnessCompletion(cfe) and - not mustHaveMatchingCompletion(cfe) and - not mustHaveEmptinessCompletion(cfe) and - this = TSimpleCompletion() - } - - /** - * Holds if this completion will continue a loop when it is the completion - * of a loop body. - */ - predicate continuesLoop() { - this instanceof NormalCompletion or - this instanceof ContinueCompletion - } - - /** - * Gets the inner completion. This is either the inner completion, - * when the completion is nested, or the completion itself. - */ - Completion getInnerCompletion() { result = this } - - /** - * Gets the outer completion. This is either the outer completion, - * when the completion is nested, or the completion itself. - */ - Completion getOuterCompletion() { result = this } - - /** Gets a successor type that matches this completion. */ - abstract SuccessorType getAMatchingSuccessorType(); - - /** Gets a textual representation of this completion. */ - abstract string toString(); -} - -/** Holds if expression `e` has the Boolean constant value `value`. */ -private predicate isBooleanConstant(Expr e, boolean value) { - mustHaveBooleanCompletion(e) and - ( - e.getValue() = "true" and - value = true - or - e.getValue() = "false" and - value = false - or - isConstantComparison(e, value) - or - exists(Method m, Call c, Expr expr | - m = any(SystemStringClass s).getIsNullOrEmptyMethod() and - c.getTarget() = m and - e = c and - expr = c.getArgument(0) and - expr.hasValue() and - if expr.getValue().length() > 0 and not expr instanceof NullLiteral - then value = false - else value = true - ) - ) -} - -/** - * Holds if expression `e` is constantly `null` (`value = true`) or constantly - * non-`null` (`value = false`). - */ -private predicate isNullnessConstant(Expr e, boolean value) { - mustHaveNullnessCompletion(e) and - exists(Expr stripped | stripped = e.stripCasts() | - stripped.getType() = - any(ValueType t | - not t instanceof NullableType and - // Extractor bug: the type of `x?.Length` is reported as `int`, but it should - // be `int?` - not getQualifier*(stripped).(QualifiableExpr).isConditional() - ) and - value = false - or - stripped instanceof NullLiteral and - value = true - or - stripped.hasValue() and - not stripped instanceof NullLiteral and - value = false - ) -} - -private Expr getQualifier(QualifiableExpr e) { - // `e.getQualifier()` does not work for calls to extension methods - result = e.getChildExpr(-1) -} - -pragma[noinline] -private predicate typePatternMustHaveMatchingCompletion( - TypePatternExpr tpe, Type t, Type strippedType -) { - exists(Expr e, Expr stripped | mustHaveMatchingCompletion(e, tpe) | - stripped = e.stripCasts() and - t = tpe.getCheckedType() and - strippedType = stripped.getType() and - not t.containsTypeParameters() and - not strippedType.containsTypeParameters() - ) -} - -pragma[noinline] -private Type typePatternCommonSubTypeLeft(Type t) { - typePatternMustHaveMatchingCompletion(_, t, _) and - result.isImplicitlyConvertibleTo(t) and - not result instanceof DynamicType -} - -pragma[noinline] -private Type typePatternCommonSubTypeRight(Type strippedType) { - typePatternMustHaveMatchingCompletion(_, _, strippedType) and - result.isImplicitlyConvertibleTo(strippedType) and - not result instanceof DynamicType -} - -pragma[noinline] -private predicate typePatternCommonSubType(Type t, Type strippedType) { - typePatternCommonSubTypeLeft(t) = typePatternCommonSubTypeRight(strippedType) -} - -/** - * Holds if pattern expression `pe` constantly matches (`value = true`) or - * constantly non-matches (`value = false`). - */ -private predicate isMatchingConstant(PatternExpr pe, boolean value) { - exists(Expr e, string exprValue, string patternValue | - mustHaveMatchingCompletion(e, pe) and - exprValue = e.stripCasts().getValue() and - patternValue = pe.getValue() and - if exprValue = patternValue then value = true else value = false - ) - or - pe instanceof DiscardPatternExpr and - value = true - or - exists(Type t, Type strippedType | - not t instanceof UnknownType and - not strippedType instanceof UnknownType and - typePatternMustHaveMatchingCompletion(pe, t, strippedType) and - not typePatternCommonSubType(t, strippedType) and - value = false - ) -} - -private class Overflowable extends UnaryOperation { - Overflowable() { - not this instanceof UnaryBitwiseOperation and - this.getType() instanceof IntegralType - } -} - -/** A control flow element that is inside a `try` block. */ -private class TriedControlFlowElement extends ControlFlowElement { - TriedControlFlowElement() { - this = any(TryStmt try).getATriedElement() and - not this instanceof NonReturningCall - } - - /** - * Gets an exception class that is potentially thrown by this element, if any. - */ - Class getAThrownException() { - this instanceof Overflowable and - result instanceof SystemOverflowExceptionClass - or - this.(CastExpr).getType() instanceof IntegralType and - result instanceof SystemOverflowExceptionClass - or - invalidCastCandidate(this) and - result instanceof SystemInvalidCastExceptionClass - or - this instanceof Call and - result instanceof SystemExceptionClass - or - this = - any(MemberAccess ma | - not ma.isConditional() and - ma.getQualifier() = any(Expr e | not e instanceof TypeAccess) and - result instanceof SystemNullReferenceExceptionClass - ) - or - this instanceof DelegateCreation and - result instanceof SystemOutOfMemoryExceptionClass - or - this instanceof ArrayCreation and - result instanceof SystemOutOfMemoryExceptionClass - or - this = - any(AddOperation ae | - ae.getType() instanceof StringType and - result instanceof SystemOutOfMemoryExceptionClass - or - ae.getType() instanceof IntegralType and - result instanceof SystemOverflowExceptionClass - ) - or - this = - any(SubOperation se | - se.getType() instanceof IntegralType and - result instanceof SystemOverflowExceptionClass - ) - or - this = - any(MulOperation me | - me.getType() instanceof IntegralType and - result instanceof SystemOverflowExceptionClass - ) - or - this = - any(DivOperation de | - not de.getDenominator().getValue().toFloat() != 0 and - result instanceof SystemDivideByZeroExceptionClass - ) - or - this instanceof RemOperation and - result instanceof SystemDivideByZeroExceptionClass - or - this instanceof DynamicExpr and - result instanceof SystemExceptionClass - } -} - -pragma[nomagic] -private ValueOrRefType getACastExprBaseType(CastExpr ce) { - result = ce.getType().(ValueOrRefType).getABaseType() - or - result = getACastExprBaseType(ce).getABaseType() -} - -pragma[nomagic] -private predicate invalidCastCandidate(CastExpr ce) { - ce.getExpr().getType() = getACastExprBaseType(ce) -} - -/** Gets a valid completion when argument `i` fails in assertion `a`. */ -Completion assertionCompletion(Assertion a, int i) { - exists(AssertMethod am | am = a.getAssertMethod() | - if am.getAssertionFailure(i).isExit() - then result = TExitCompletion() - else - exists(Class c | - am.getAssertionFailure(i).isException(c) and - result = TThrowCompletion(c) - ) - ) -} - -/** - * Holds if a normal completion of `e` must be a Boolean completion. - */ -private predicate mustHaveBooleanCompletion(Expr e) { - inBooleanContext(e) and - not e instanceof NonReturningCall -} - -/** - * Holds if `e` is used in a Boolean context. That is, whether the value - * that `e` evaluates to determines a true/false branch successor. - */ -private predicate inBooleanContext(Expr e) { - e = any(IfStmt is).getCondition() - or - e = any(LoopStmt ls).getCondition() - or - e = any(Case c).getCondition() - or - e = any(SpecificCatchClause scc).getFilterClause() - or - e = any(LogicalNotExpr lne | inBooleanContext(lne)).getAnOperand() - or - exists(LogicalAndExpr lae | - lae.getLeftOperand() = e - or - inBooleanContext(lae) and - lae.getRightOperand() = e - ) - or - exists(LogicalOrExpr lae | - lae.getLeftOperand() = e - or - inBooleanContext(lae) and - lae.getRightOperand() = e - ) - or - exists(ConditionalExpr ce | - ce.getCondition() = e - or - inBooleanContext(ce) and - e in [ce.getThen(), ce.getElse()] - ) - or - e = any(NullCoalescingOperation nce | inBooleanContext(nce)).getAnOperand() - or - e = any(SwitchExpr se | inBooleanContext(se)).getACase() - or - e = any(SwitchCaseExpr sce | inBooleanContext(sce)).getBody() -} - -/** - * Holds if a normal completion of `e` must be a nullness completion. - */ -private predicate mustHaveNullnessCompletion(Expr e) { - inNullnessContext(e) and - not e instanceof NonReturningCall -} - -/** - * Holds if `e` is used in a nullness context. That is, whether the value - * that `e` evaluates to determines a `null`/non-`null` branch successor. - */ -private predicate inNullnessContext(Expr e) { - e = any(NullCoalescingOperation nce).getLeftOperand() - or - exists(QualifiableExpr qe | qe.isConditional() | e = qe.getChildExpr(-1)) - or - exists(ConditionalExpr ce | inNullnessContext(ce) | (e = ce.getThen() or e = ce.getElse())) - or - exists(NullCoalescingOperation nce | inNullnessContext(nce) | e = nce.getRightOperand()) - or - e = any(SwitchExpr se | inNullnessContext(se)).getACase() - or - e = any(SwitchCaseExpr sce | inNullnessContext(sce)).getBody() -} - -/** - * Holds if `pe` is the pattern inside case `c`, belonging to `switch` `s`, that - * has the matching completion. - */ -predicate switchMatching(Switch s, Case c, PatternExpr pe) { - s.getACase() = c and - pe = c.getPattern() -} - -/** - * Holds if a normal completion of `cfe` must be a matching completion. Thats is, - * whether `cfe` determines a match in a `switch/if` statement or `catch` clause. - */ -private predicate mustHaveMatchingCompletion(ControlFlowElement cfe) { - switchMatching(_, _, cfe) - or - cfe instanceof SpecificCatchClause - or - cfe = any(IsExpr ie | inBooleanContext(ie)).getPattern() - or - cfe = any(RecursivePatternExpr rpe).getAChildExpr() - or - cfe = any(PositionalPatternExpr ppe).getPattern(_) - or - cfe = any(PropertyPatternExpr ppe).getPattern(_) - or - cfe = any(UnaryPatternExpr upe | mustHaveMatchingCompletion(upe)).getPattern() - or - cfe = any(BinaryPatternExpr bpe).getAnOperand() -} - -/** - * Holds if `pe` must have a matching completion, and `e` is the expression - * that is being matched. - */ -private predicate mustHaveMatchingCompletion(Expr e, PatternExpr pe) { - exists(Switch s | - switchMatching(s, _, pe) and - e = s.getExpr() - ) - or - e = any(IsExpr ie | pe = ie.getPattern()).getExpr() and - mustHaveMatchingCompletion(pe) - or - exists(PatternExpr mid | mustHaveMatchingCompletion(e, mid) | - pe = mid.(UnaryPatternExpr).getPattern() - or - pe = mid.(RecursivePatternExpr).getAChildExpr() - or - pe = mid.(BinaryPatternExpr).getAnOperand() - ) -} - -/** - * Holds if `cfe` is the element inside foreach statement `fs` that has the emptiness - * completion. - */ -predicate foreachEmptiness(ForeachStmt fs, ControlFlowElement cfe) { - cfe = fs // use `foreach` statement itself to represent the emptiness test -} - -/** - * Holds if a normal completion of `cfe` must be an emptiness completion. Thats is, - * whether `cfe` determines whether to execute the body of a `foreach` statement. - */ -private predicate mustHaveEmptinessCompletion(ControlFlowElement cfe) { foreachEmptiness(_, cfe) } - -/** - * A completion that represents normal evaluation of a statement or an - * expression. - */ -abstract class NormalCompletion extends Completion { } - -abstract private class NonNestedNormalCompletion extends NormalCompletion { } - -/** A simple (normal) completion. */ -class SimpleCompletion extends NonNestedNormalCompletion, TSimpleCompletion { - override DirectSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { result = "normal" } -} - -/** - * A completion that represents evaluation of an expression, whose value determines - * the successor. Either a Boolean completion (`BooleanCompletion`), a nullness - * completion (`NullnessCompletion`), a matching completion (`MatchingCompletion`), - * or an emptiness completion (`EmptinessCompletion`). - */ -abstract class ConditionalCompletion extends NonNestedNormalCompletion { - /** Gets the Boolean value of this completion. */ - abstract boolean getValue(); - - /** Gets the dual completion. */ - abstract ConditionalCompletion getDual(); -} - -/** - * A completion that represents evaluation of an expression - * with a Boolean value. - */ -class BooleanCompletion extends ConditionalCompletion { - private boolean value; - - BooleanCompletion() { this = TBooleanCompletion(value) } - - override boolean getValue() { result = value } - - override BooleanCompletion getDual() { result = TBooleanCompletion(value.booleanNot()) } - - override BooleanSuccessor getAMatchingSuccessorType() { result.getValue() = value } - - override string toString() { result = value.toString() } -} - -/** A Boolean `true` completion. */ -class TrueCompletion extends BooleanCompletion { - TrueCompletion() { this.getValue() = true } -} - -/** A Boolean `false` completion. */ -class FalseCompletion extends BooleanCompletion { - FalseCompletion() { this.getValue() = false } -} - -/** - * A completion that represents evaluation of an expression that is either - * `null` or non-`null`. - */ -class NullnessCompletion extends ConditionalCompletion, TNullnessCompletion { - private boolean value; - - NullnessCompletion() { this = TNullnessCompletion(value) } - - /** Holds if the last sub expression of this expression evaluates to `null`. */ - predicate isNull() { value = true } - - /** Holds if the last sub expression of this expression evaluates to a non-`null` value. */ - predicate isNonNull() { value = false } - - override boolean getValue() { result = value } - - override NullnessCompletion getDual() { result = TNullnessCompletion(value.booleanNot()) } - - override NullnessSuccessor getAMatchingSuccessorType() { result.getValue() = value } - - override string toString() { if this.isNull() then result = "null" else result = "non-null" } -} - -/** - * A completion that represents matching, for example a `case` statement in a - * `switch` statement. - */ -class MatchingCompletion extends ConditionalCompletion, TMatchingCompletion { - private boolean value; - - MatchingCompletion() { this = TMatchingCompletion(value) } - - /** Holds if there is a match. */ - predicate isMatch() { value = true } - - /** Holds if there is not a match. */ - predicate isNonMatch() { value = false } - - override boolean getValue() { result = value } - - override MatchingCompletion getDual() { result = TMatchingCompletion(value.booleanNot()) } - - override MatchingSuccessor getAMatchingSuccessorType() { result.getValue() = value } - - override string toString() { if this.isMatch() then result = "match" else result = "no-match" } -} - -/** - * A completion that represents evaluation of an emptiness test, for example - * a test in a `foreach` statement. - */ -class EmptinessCompletion extends ConditionalCompletion, TEmptinessCompletion { - private boolean value; - - EmptinessCompletion() { this = TEmptinessCompletion(value) } - - /** Holds if the emptiness test evaluates to `true`. */ - predicate isEmpty() { value = true } - - override boolean getValue() { result = value } - - override EmptinessCompletion getDual() { result = TEmptinessCompletion(value.booleanNot()) } - - override EmptinessSuccessor getAMatchingSuccessorType() { result.getValue() = value } - - override string toString() { if this.isEmpty() then result = "empty" else result = "non-empty" } -} - -/** - * A nested completion. For example, in - * - * ```csharp - * void M(bool b1, bool b2) - * { - * try - * { - * if (b1) - * throw new Exception(); - * } - * finally - * { - * if (b2) - * System.Console.WriteLine("M called"); - * } - * } - * ``` - * - * `b2` has an outer throw completion (inherited from `throw new Exception`) - * and an inner `false` completion. `b2` also has a (normal) `true` completion. - */ -class NestedCompletion extends Completion, TNestedCompletion { - Completion inner; - Completion outer; - int nestLevel; - - NestedCompletion() { this = TNestedCompletion(inner, outer, nestLevel) } - - /** Gets a completion that is compatible with the inner completion. */ - Completion getAnInnerCompatibleCompletion() { - result.getOuterCompletion() = this.getInnerCompletion() - } - - /** Gets the level of this nested completion. */ - int getNestLevel() { result = nestLevel } - - override Completion getInnerCompletion() { result = inner } - - override Completion getOuterCompletion() { result = outer } - - override SuccessorType getAMatchingSuccessorType() { none() } - - override string toString() { result = outer + " [" + inner + "] (" + nestLevel + ")" } -} - -/** - * A nested completion for a loop that exists with a `break`. - * - * This completion is added for technical reasons only: when a loop - * body can complete with a break completion, the loop itself completes - * normally. However, if we choose `TSimpleCompletion` as the completion - * of the loop, we lose the information that the last element actually - * completed with a break, meaning that the control flow edge out of the - * breaking node cannot be marked with a `break` label. - * - * Example: - * - * ```csharp - * while (...) { - * ... - * break; - * } - * return; - * ``` - * - * The `break` on line 3 completes with a `TBreakCompletion`, therefore - * the `while` loop can complete with a `NestedBreakCompletion`, so we - * get an edge `break --break--> return`. (If we instead used a - * `TSimpleCompletion`, we would get a less precise edge - * `break --normal--> return`.) - */ -class NestedBreakCompletion extends NormalCompletion, NestedCompletion { - NestedBreakCompletion() { - inner = TBreakCompletion() and - outer instanceof NonNestedNormalCompletion - } - - override BreakCompletion getInnerCompletion() { result = inner } - - override NonNestedNormalCompletion getOuterCompletion() { result = outer } - - override Completion getAnInnerCompatibleCompletion() { - result = inner and - outer = TSimpleCompletion() - or - result = TNestedCompletion(outer, inner, _) - } - - override SuccessorType getAMatchingSuccessorType() { - outer instanceof SimpleCompletion and - result instanceof BreakSuccessor - or - result = outer.(ConditionalCompletion).getAMatchingSuccessorType() - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a return from a callable. - */ -class ReturnCompletion extends Completion { - ReturnCompletion() { - this = TReturnCompletion() or - this = TNestedCompletion(_, TReturnCompletion(), _) - } - - override ReturnSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TReturnCompletion() and result = "return" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a break (in a loop or in a `switch` - * statement). - */ -class BreakCompletion extends Completion { - BreakCompletion() { - this = TBreakCompletion() or - this = TNestedCompletion(_, TBreakCompletion(), _) - } - - override BreakSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TBreakCompletion() and result = "break" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a loop continuation (a `continue` - * statement). - */ -class ContinueCompletion extends Completion { - ContinueCompletion() { - this = TContinueCompletion() or - this = TNestedCompletion(_, TContinueCompletion(), _) - } - - override ContinueSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TContinueCompletion() and result = "continue" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a `goto` jump. - */ -class GotoCompletion extends Completion { - private string label; - - GotoCompletion() { - this = TGotoCompletion(label) or - this = TNestedCompletion(_, TGotoCompletion(label), _) - } - - /** Gets the label of the `goto` completion. */ - string getLabel() { result = label } - - override GotoSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TGotoCompletion(label) and result = "goto(" + label + ")" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a thrown exception. - */ -class ThrowCompletion extends Completion { - private ExceptionClass ec; - - ThrowCompletion() { - this = TThrowCompletion(ec) or - this = TNestedCompletion(_, TThrowCompletion(ec), _) - } - - /** Gets the type of the exception being thrown. */ - ExceptionClass getExceptionClass() { result = ec } - - override ExceptionSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TThrowCompletion(ec) and result = "throw(" + ec + ")" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a program exit, for example - * `System.Environment.Exit(0)`. - * - * An exit completion is different from a `return` completion; the former - * exits the whole application, and exists inside `try` statements skip - * `finally` blocks. - */ -class ExitCompletion extends Completion { - ExitCompletion() { - this = TExitCompletion() or - this = TNestedCompletion(_, TExitCompletion(), _) - } - - override ExitSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TExitCompletion() and result = "exit" - } -} diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll deleted file mode 100644 index dc2c7477a35..00000000000 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll +++ /dev/null @@ -1,1831 +0,0 @@ -/** - * Provides an implementation for constructing control-flow graphs (CFGs) from - * abstract syntax trees (ASTs), using the shared library from `codeql.controlflow.Cfg`. - */ - -import csharp -private import codeql.controlflow.Cfg as CfgShared -private import Completion -private import semmle.code.csharp.ExprOrStmtParent -private import semmle.code.csharp.commons.Compilation - -private module Initializers { - /** - * Gets the `i`th member initializer expression for object initializer method `obinit` - * in compilation `comp`. - */ - AssignExpr initializedInstanceMemberOrder(ObjectInitMethod obinit, CompilationExt comp, int i) { - obinit.initializes(result) and - result = - rank[i + 1](AssignExpr ae0, Location l | - obinit.initializes(ae0) and - l = ae0.getLocation() and - getCompilation(l.getFile()) = comp - | - ae0 order by l.getStartLine(), l.getStartColumn(), l.getFile().getAbsolutePath() - ) - } - - /** - * Gets the last member initializer expression for object initializer method `obinit` - * in compilation `comp`. - */ - AssignExpr lastInitializer(ObjectInitMethod obinit, CompilationExt comp) { - exists(int i | - result = initializedInstanceMemberOrder(obinit, comp, i) and - not exists(initializedInstanceMemberOrder(obinit, comp, i + 1)) - ) - } -} - -/** An element that defines a new CFG scope. */ -class CfgScope extends Element, @top_level_exprorstmt_parent { - CfgScope() { - this.getFile().fromSource() and - ( - this = - any(Callable c | - c.(Constructor).hasInitializer() - or - c.(ObjectInitMethod).initializes(_) - or - c.hasBody() - ) - or - // For now, static initializer values have their own scope. Eventually, they - // should be treated like instance initializers. - this.(Assignable).(Modifiable).isStatic() and - expr_parent_top_level_adjusted2(_, _, this) - ) - } -} - -private class TAstNode = @callable or @control_flow_element; - -pragma[nomagic] -private predicate astNode(Element e) { - e = any(@top_level_exprorstmt_parent p | not p instanceof Attribute) - or - exists(Element parent | - astNode(parent) and - e = parent.getAChild() - ) -} - -/** An AST node. */ -class AstNode extends Element, TAstNode { - AstNode() { astNode(this) } - - int getId() { idOf(this, result) } -} - -private predicate id(AstNode x, AstNode y) { x = y } - -private predicate idOf(AstNode x, int y) = equivalenceRelation(id/2)(x, y) - -private module CfgInput implements CfgShared::InputSig { - private import ControlFlowGraphImpl as Impl - private import Completion as Comp - private import SuccessorType as ST - private import semmle.code.csharp.Caching - - class AstNode = Impl::AstNode; - - class Completion = Comp::Completion; - - predicate completionIsNormal(Completion c) { c instanceof Comp::NormalCompletion } - - predicate completionIsSimple(Completion c) { c instanceof Comp::SimpleCompletion } - - predicate completionIsValidFor(Completion c, AstNode e) { c.isValidFor(e) } - - class CfgScope = Impl::CfgScope; - - CfgScope getCfgScope(AstNode n) { - Stages::ControlFlowStage::forceCachingInSameStage() and - result = n.(ControlFlowElement).getEnclosingCallable() - } - - predicate scopeFirst(CfgScope scope, AstNode first) { Impl::scopeFirst(scope, first) } - - predicate scopeLast(CfgScope scope, AstNode last, Completion c) { - Impl::scopeLast(scope, last, c) - } - - private class SuccessorType = ST::SuccessorType; - - SuccessorType getAMatchingSuccessorType(Completion c) { result = c.getAMatchingSuccessorType() } - - int idOfAstNode(AstNode node) { result = node.getId() } - - int idOfCfgScope(CfgScope node) { result = idOfAstNode(node) } -} - -private module CfgSplittingInput implements CfgShared::SplittingInputSig { - private import Splitting as S - - class SplitKindBase = S::TSplitKind; - - class Split = S::Split; -} - -private module ConditionalCompletionSplittingInput implements - CfgShared::ConditionalCompletionSplittingInputSig -{ - import Splitting::ConditionalCompletionSplitting::ConditionalCompletionSplittingInput -} - -import CfgShared::MakeWithSplitting - -/** - * A compilation. - * - * Unlike the standard `Compilation` class, this class also supports buildless - * extraction. - */ -newtype CompilationExt = - TCompilation(Compilation c) { not extractionIsStandalone() } or - TBuildless() { extractionIsStandalone() } - -/** Gets the compilation that source file `f` belongs to. */ -CompilationExt getCompilation(File f) { - exists(Compilation c | - f = c.getAFileCompiled() and - result = TCompilation(c) - ) - or - result = TBuildless() -} - -/** - * The `expr_parent_top_level_adjusted()` relation restricted to exclude relations - * between properties and their getters' expression bodies in properties such as - * `int P => 0`. - * - * This is in order to only associate the expression body with one CFG scope, namely - * the getter (and not the declaration itself). - */ -private predicate expr_parent_top_level_adjusted2( - Expr child, int i, @top_level_exprorstmt_parent parent -) { - expr_parent_top_level_adjusted(child, i, parent) and - not exists(Getter g | - g.getDeclaration() = parent and - i = 0 - ) -} - -/** Holds if `first` is first executed when entering `scope`. */ -predicate scopeFirst(CfgScope scope, AstNode first) { - scope = - any(Callable c | - if exists(c.(Constructor).getObjectInitializerCall()) - then first(c.(Constructor).getObjectInitializerCall(), first) - else - if exists(c.(Constructor).getInitializer()) - then first(c.(Constructor).getInitializer(), first) - else first(c.getBody(), first) - ) - or - first(Initializers::initializedInstanceMemberOrder(scope, _, 0), first) - or - expr_parent_top_level_adjusted2(any(Expr e | first(e, first)), _, scope) and - not scope instanceof Callable -} - -/** Holds if `scope` is exited when `last` finishes with completion `c`. */ -predicate scopeLast(CfgScope scope, AstNode last, Completion c) { - scope = - any(Callable callable | - last(callable.getBody(), last, c) and - not c instanceof GotoCompletion - or - last(callable.(Constructor).getInitializer(), last, c) and - not callable.hasBody() - or - // This is only relevant in the context of compilation errors, since - // normally the existence of an object initializer call implies the - // existence of an initializer. - last(callable.(Constructor).getObjectInitializerCall(), last, c) and - not callable.(Constructor).hasInitializer() and - not callable.hasBody() - ) - or - last(Initializers::lastInitializer(scope, _), last, c) - or - expr_parent_top_level_adjusted2(any(Expr e | last(e, last, c)), _, scope) and - not scope instanceof Callable -} - -private class ObjectInitTree extends ControlFlowTree instanceof ObjectInitMethod { - final override predicate propagatesAbnormal(AstNode child) { none() } - - final override predicate first(AstNode first) { none() } - - final override predicate last(AstNode last, Completion c) { none() } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - exists(CompilationExt comp, int i | - // Flow from one member initializer to the next - last(Initializers::initializedInstanceMemberOrder(this, comp, i), pred, c) and - c instanceof NormalCompletion and - first(Initializers::initializedInstanceMemberOrder(this, comp, i + 1), succ) - ) - } -} - -private class ConstructorTree extends ControlFlowTree instanceof Constructor { - final override predicate propagatesAbnormal(AstNode child) { none() } - - final override predicate first(AstNode first) { none() } - - final override predicate last(AstNode last, Completion c) { none() } - - /** Gets the body of this constructor belonging to compilation `comp`. */ - pragma[noinline] - AstNode getBody(CompilationExt comp) { - result = super.getBody() and - comp = getCompilation(result.getFile()) - } - - pragma[noinline] - private MethodCall getObjectInitializerCall(CompilationExt comp) { - result = super.getObjectInitializerCall() and - comp = getCompilation(result.getFile()) - } - - pragma[noinline] - private ConstructorInitializer getInitializer(CompilationExt comp) { - result = super.getInitializer() and - comp = getCompilation(result.getFile()) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - exists(CompilationExt comp | - last(this.getObjectInitializerCall(comp), pred, c) and - c instanceof NormalCompletion - | - first(this.getInitializer(comp), succ) - or - // This is only relevant in the context of compilation errors, since - // normally the existence of an object initializer call implies the - // existence of an initializer. - not exists(this.getInitializer(comp)) and - first(this.getBody(comp), succ) - ) - } -} - -cached -private module SwithStmtInternal { - // Reorders default to be last if needed - cached - CaseStmt getCase(SwitchStmt ss, int i) { - exists(int index, int rankIndex | - caseIndex(ss, result, index) and - rankIndex = i + 1 and - index = rank[rankIndex](int j, CaseStmt cs | caseIndex(ss, cs, j) | j) - ) - } - - /** Implicitly reorder case statements to put the default case last if needed. */ - private predicate caseIndex(SwitchStmt ss, CaseStmt case, int index) { - exists(int i | case = ss.getChildStmt(i) | - if case instanceof DefaultCase - then index = max(int j | exists(ss.getChildStmt(j))) + 1 - else index = i - ) - } - - /** - * Gets the `i`th statement in the body of this `switch` statement. - * - * Example: - * - * ```csharp - * switch (x) { - * case "abc": // i = 0 - * return 0; - * case int i when i > 0: // i = 1 - * return 1; - * case string s: // i = 2 - * Console.WriteLine(s); - * return 2; // i = 3 - * default: // i = 4 - * return 3; // i = 5 - * } - * ``` - * - * Note that each non-`default` case is a labeled statement, so the statement - * that follows is a child of the labeled statement, and not the `switch` block. - */ - cached - Stmt getStmt(SwitchStmt ss, int i) { - exists(int index, int rankIndex | - result = ss.getChildStmt(index) and - rankIndex = i + 1 and - index = - rank[rankIndex](int j, Stmt s | - // `getChild` includes both labeled statements and the targeted - // statements of labeled statement as separate children, but we - // only want the labeled statement - s = getLabeledStmt(ss, j) - | - j - ) - ) - } - - private Stmt getLabeledStmt(SwitchStmt ss, int i) { - result = ss.getChildStmt(i) and - not result = caseStmtGetBody(_) - } -} - -private ControlFlowElement caseGetBody(Case c) { - result = c.getBody() or result = caseStmtGetBody(c) -} - -private ControlFlowElement caseStmtGetBody(CaseStmt c) { - exists(int i, Stmt next | - c = c.getParent().getChild(i) and - next = c.getParent().getChild(i + 1) - | - result = next and - not result instanceof CaseStmt - or - result = caseStmtGetBody(next) - ) -} - -// Reorders default to be last if needed -private Case switchGetCase(Switch s, int i) { - result = s.(SwitchExpr).getCase(i) or result = SwithStmtInternal::getCase(s, i) -} - -abstract private class SwitchTree extends ControlFlowTree instanceof Switch { - override predicate propagatesAbnormal(AstNode child) { child = super.getExpr() } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of switch expression to first element of first case - last(super.getExpr(), pred, c) and - c instanceof NormalCompletion and - first(switchGetCase(this, 0), succ) - or - // Flow from last element of case pattern to next case - exists(Case case, int i | case = switchGetCase(this, i) | - last(case.getPattern(), pred, c) and - c.(MatchingCompletion).isNonMatch() and - first(switchGetCase(this, i + 1), succ) - ) - or - // Flow from last element of condition to next case - exists(Case case, int i | case = switchGetCase(this, i) | - last(case.getCondition(), pred, c) and - c instanceof FalseCompletion and - first(switchGetCase(this, i + 1), succ) - ) - } -} - -abstract private class CaseTree extends ControlFlowTree instanceof Case { - final override predicate propagatesAbnormal(AstNode child) { - child in [super.getPattern().(ControlFlowElement), super.getCondition(), caseGetBody(this)] - } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getPattern(), pred, c) and - c.(MatchingCompletion).isMatch() and - ( - if exists(super.getCondition()) - then - // Flow from the last element of pattern to the condition - first(super.getCondition(), succ) - else - // Flow from last element of pattern to first element of body - first(caseGetBody(this), succ) - ) - or - // Flow from last element of condition to first element of body - last(super.getCondition(), pred, c) and - c instanceof TrueCompletion and - first(caseGetBody(this), succ) - } -} - -module Expressions { - /** An expression that should not be included in the control flow graph. */ - abstract private class NoNodeExpr extends Expr { } - - private class SimpleNoNodeExpr extends NoNodeExpr { - SimpleNoNodeExpr() { - this instanceof TypeAccess and - not this instanceof TypeAccessPatternExpr - } - } - - /** A write access that is not also a read access. */ - private class WriteAccess extends AssignableWrite { - WriteAccess() { - // `x++` is both a read and write access - not this instanceof AssignableRead - } - } - - private class WriteAccessNoNodeExpr extends WriteAccess, NoNodeExpr { - WriteAccessNoNodeExpr() { - // For example a write to a static field, `Foo.Bar = 0`. - forall(Expr e | e = this.getAChildExpr() | e instanceof NoNodeExpr) - } - } - - private AstNode getExprChild0(Expr e, int i) { - not e instanceof NameOfExpr and - not e instanceof QualifiableExpr and - not e instanceof AnonymousFunctionExpr and - result = e.getChild(i) - or - e = any(ExtensionMethodCall emc | result = emc.getArgument(i)) - or - e = - any(QualifiableExpr qe | - not qe instanceof ExtensionMethodCall and - result = qe.getChild(i) - ) - } - - private AstNode getExprChild(Expr e, int i) { - result = - rank[i + 1](AstNode cfe, int j | - cfe = getExprChild0(e, j) and - not cfe instanceof NoNodeExpr - | - cfe order by j - ) - } - - private AstNode getLastExprChild(Expr e) { - exists(int last | - result = getExprChild(e, last) and - not exists(getExprChild(e, last + 1)) - ) - } - - private class StandardExpr extends StandardPostOrderTree instanceof Expr { - StandardExpr() { - // The following expressions need special treatment - not this instanceof LogicalNotExpr and - not this instanceof LogicalAndExpr and - not this instanceof LogicalOrExpr and - not this instanceof NullCoalescingOperation and - not this instanceof ConditionalExpr and - not this instanceof ConditionallyQualifiedExpr and - not this instanceof ThrowExpr and - not this instanceof ObjectCreation and - not this instanceof ArrayCreation and - not this instanceof QualifiedWriteAccess and - not this instanceof QualifiedAccessorWrite and - not this instanceof NoNodeExpr and - not this instanceof SwitchExpr and - not this instanceof SwitchCaseExpr and - not this instanceof ConstructorInitializer and - not this instanceof NotPatternExpr and - not this instanceof OrPatternExpr and - not this instanceof AndPatternExpr and - not this instanceof RecursivePatternExpr and - not this instanceof PositionalPatternExpr and - not this instanceof PropertyPatternExpr - } - - final override AstNode getChildNode(int i) { result = getExprChild(this, i) } - } - - /** - * A qualified write access. - * - * The successor declaration in `QualifiedAccessorWrite` ensures that the access itself - * is evaluated after the qualifier and the indexer arguments (if any) - * and the right hand side of the assignment. - * - * When a qualified write access is used as an `out/ref` argument, the access itself is evaluated immediately. - */ - private class QualifiedWriteAccess extends ControlFlowTree instanceof WriteAccess, QualifiableExpr - { - QualifiedWriteAccess() { - ( - this.hasQualifier() - or - // Member initializers like - // ```csharp - // new Dictionary() { [0] = "Zero", [1] = "One", [2] = "Two" } - // ``` - // need special treatment, because the accesses `[0]`, `[1]`, and `[2]` - // have no qualifier. - this = any(MemberInitializer mi).getLeftOperand() - ) and - not exists(AssignableDefinitions::OutRefDefinition def | def.getTargetAccess() = this) - } - - final override predicate propagatesAbnormal(AstNode child) { child = getExprChild(this, _) } - - final override predicate first(AstNode first) { first(getExprChild(this, 0), first) } - - final override predicate last(AstNode last, Completion c) { - // Skip the access in a qualified write access - last(getLastExprChild(this), last, c) - or - // Qualifier exits with a null completion - super.isConditional() and - last(super.getQualifier(), last, c) and - c.(NullnessCompletion).isNull() - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - exists(int i | - last(getExprChild(this, i), pred, c) and - c instanceof NormalCompletion and - (if i = 0 then not c.(NullnessCompletion).isNull() else any()) and - first(getExprChild(this, i + 1), succ) - ) - } - } - - /** - * An expression that writes via a qualifiable expression, for example `x.Prop = 0`, - * where `Prop` is a property. - * - * Accessor writes need special attention, because we need to model the fact - * that the accessor is called *after* the assigned value has been evaluated. - * In the example above, this means we want a CFG that looks like - * - * ```csharp - * x -> 0 -> set_Prop -> x.Prop = 0 - * ``` - * - * For consistency, control flow is implemented the same way for other qualified writes. - * For example, `x.Field = 0`, where `Field` is a field, we want a CFG that looks like - * - * ```csharp - * x -> 0 -> x.Field -> x.Field = 0 - * ``` - */ - private class QualifiedAccessorWrite extends PostOrderTree instanceof Expr { - AssignableDefinition def; - - QualifiedAccessorWrite() { - def.getExpr() = this and - def.getTargetAccess().(WriteAccess) instanceof QualifiableExpr and - not def instanceof AssignableDefinitions::OutRefDefinition - } - - /** - * Gets the `i`th accessor being called in this write. More than one call - * can happen in tuple assignments. - */ - QualifiableExpr getAccess(int i) { - result = - rank[i + 1](AssignableDefinitions::TupleAssignmentDefinition tdef | - tdef.getExpr() = this and - tdef.getTargetAccess() instanceof QualifiableExpr - | - tdef order by tdef.getEvaluationOrder() - ).getTargetAccess() - or - i = 0 and - result = def.getTargetAccess() and - not def instanceof AssignableDefinitions::TupleAssignmentDefinition - } - - final override predicate propagatesAbnormal(AstNode child) { - child = getExprChild(this, _) - or - child = this.getAccess(_) - } - - final override predicate last(AstNode last, Completion c) { - PostOrderTree.super.last(last, c) - or - last(getExprChild(this, 0), last, c) and c.(NullnessCompletion).isNull() - } - - final override predicate first(AstNode first) { first(getExprChild(this, 0), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Standard left-to-right evaluation - exists(int i | - last(getExprChild(this, i), pred, c) and - c instanceof NormalCompletion and - (if i = 0 then not c.(NullnessCompletion).isNull() else any()) and - first(getExprChild(this, i + 1), succ) - ) - or - // Flow from last element of last child to first accessor call - last(getLastExprChild(this), pred, c) and - succ = this.getAccess(0) and - c instanceof NormalCompletion - or - // Flow from one call to the next - exists(int i | pred = this.getAccess(i) | - succ = this.getAccess(i + 1) and - c.isValidFor(pred) and - c instanceof NormalCompletion - ) - or - // Post-order: flow from last call to element itself - exists(int last | last = max(int i | exists(this.getAccess(i))) | - pred = this.getAccess(last) and - succ = this and - c.isValidFor(pred) and - c instanceof NormalCompletion - ) - } - } - - private class LogicalNotExprTree extends PostOrderTree instanceof LogicalNotExpr { - private Expr operand; - - LogicalNotExprTree() { operand = this.getOperand() } - - final override predicate propagatesAbnormal(AstNode child) { child = operand } - - final override predicate first(AstNode first) { first(operand, first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - succ = this and - last(operand, pred, c) and - c instanceof NormalCompletion - } - } - - private class LogicalAndExprTree extends PostOrderTree instanceof LogicalAndExpr { - final override predicate propagatesAbnormal(AstNode child) { - child in [super.getLeftOperand(), super.getRightOperand()] - } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of left operand to first element of right operand - last(super.getLeftOperand(), pred, c) and - c instanceof TrueCompletion and - first(super.getRightOperand(), succ) - or - // Post-order: flow from last element of left operand to element itself - last(super.getLeftOperand(), pred, c) and - c instanceof FalseCompletion and - succ = this - or - // Post-order: flow from last element of right operand to element itself - last(super.getRightOperand(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class LogicalOrExprTree extends PostOrderTree instanceof LogicalOrExpr { - final override predicate propagatesAbnormal(AstNode child) { - child in [super.getLeftOperand(), super.getRightOperand()] - } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of left operand to first element of right operand - last(super.getLeftOperand(), pred, c) and - c instanceof FalseCompletion and - first(super.getRightOperand(), succ) - or - // Post-order: flow from last element of left operand to element itself - last(super.getLeftOperand(), pred, c) and - c instanceof TrueCompletion and - succ = this - or - // Post-order: flow from last element of right operand to element itself - last(super.getRightOperand(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class NullCoalescingOperationTree extends PostOrderTree instanceof NullCoalescingOperation - { - final override predicate propagatesAbnormal(AstNode child) { - child in [super.getLeftOperand(), super.getRightOperand()] - } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of left operand to first element of right operand - last(super.getLeftOperand(), pred, c) and - c.(NullnessCompletion).isNull() and - first(super.getRightOperand(), succ) - or - // Post-order: flow from last element of left operand to element itself - last(super.getLeftOperand(), pred, c) and - succ = this and - c instanceof NormalCompletion and - not c.(NullnessCompletion).isNull() - or - // Post-order: flow from last element of right operand to element itself - last(super.getRightOperand(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class ConditionalExprTree extends PostOrderTree instanceof ConditionalExpr { - final override predicate propagatesAbnormal(AstNode child) { - child in [super.getCondition(), super.getThen(), super.getElse()] - } - - final override predicate first(AstNode first) { first(super.getCondition(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of condition to first element of then branch - last(super.getCondition(), pred, c) and - c instanceof TrueCompletion and - first(super.getThen(), succ) - or - // Flow from last element of condition to first element of else branch - last(super.getCondition(), pred, c) and - c instanceof FalseCompletion and - first(super.getElse(), succ) - or - // Post-order: flow from last element of a branch to element itself - last([super.getThen(), super.getElse()], pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - /** A conditionally qualified expression. */ - private class ConditionallyQualifiedExpr extends PostOrderTree instanceof QualifiableExpr { - private Expr qualifier; - - ConditionallyQualifiedExpr() { - this.isConditional() and qualifier = getExprChild(this, 0) and not this instanceof WriteAccess - } - - final override predicate propagatesAbnormal(AstNode child) { child = qualifier } - - final override predicate first(AstNode first) { first(qualifier, first) } - - pragma[nomagic] - private predicate lastQualifier(AstNode last, Completion c) { last(qualifier, last, c) } - - final override predicate last(AstNode last, Completion c) { - PostOrderTree.super.last(last, c) - or - // Qualifier exits with a `null` completion - this.lastQualifier(last, c) and - c.(NullnessCompletion).isNull() - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - exists(int i | - last(getExprChild(this, i), pred, c) and - c instanceof NormalCompletion and - if i = 0 then c.(NullnessCompletion).isNonNull() else any() - | - // Post-order: flow from last element of last child to element itself - i = max(int j | exists(getExprChild(this, j))) and - succ = this - or - // Standard left-to-right evaluation - first(getExprChild(this, i + 1), succ) - ) - } - } - - private class ThrowExprTree extends PostOrderTree instanceof ThrowExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getExpr() } - - final override predicate first(AstNode first) { first(super.getExpr(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getExpr(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class ObjectCreationTree extends ControlFlowTree instanceof ObjectCreation { - private Expr getObjectCreationArgument(int i) { - i >= 0 and - if super.hasInitializer() - then result = getExprChild(this, i + 1) - else result = getExprChild(this, i) - } - - final override predicate propagatesAbnormal(AstNode child) { - child = this.getObjectCreationArgument(_) - } - - final override predicate first(AstNode first) { - first(this.getObjectCreationArgument(0), first) - or - not exists(this.getObjectCreationArgument(0)) and - first = this - } - - final override predicate last(AstNode last, Completion c) { - // Post-order: element itself (when no initializer) - last = this and - not super.hasInitializer() and - c.isValidFor(this) - or - // Last element of initializer - last(super.getInitializer(), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of argument `i` to first element of argument `i+1` - exists(int i | last(this.getObjectCreationArgument(i), pred, c) | - first(this.getObjectCreationArgument(i + 1), succ) and - c instanceof NormalCompletion - ) - or - // Flow from last element of last argument to self - exists(int last | last = max(int i | exists(this.getObjectCreationArgument(i))) | - last(this.getObjectCreationArgument(last), pred, c) and - succ = this and - c instanceof NormalCompletion - ) - or - // Flow from self to first element of initializer - pred = this and - first(super.getInitializer(), succ) and - c instanceof SimpleCompletion - } - } - - private class ArrayCreationTree extends ControlFlowTree instanceof ArrayCreation { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getALengthArgument() - } - - final override predicate first(AstNode first) { - // First element of first length argument - first(super.getLengthArgument(0), first) - or - // No length argument: element itself - not exists(super.getLengthArgument(0)) and - first = this - } - - final override predicate last(AstNode last, Completion c) { - // Post-order: element itself (when no initializer) - last = this and - not super.hasInitializer() and - c.isValidFor(this) - or - // Last element of initializer - last(super.getInitializer(), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from self to first element of initializer - pred = this and - first(super.getInitializer(), succ) and - c instanceof SimpleCompletion - or - exists(int i | - last(super.getLengthArgument(i), pred, c) and - c instanceof SimpleCompletion - | - // Flow from last length argument to self - i = max(int j | exists(super.getLengthArgument(j))) and - succ = this - or - // Flow from one length argument to the next - first(super.getLengthArgument(i + 1), succ) - ) - } - } - - private class SwitchExprTree extends PostOrderTree, SwitchTree instanceof SwitchExpr { - final override predicate propagatesAbnormal(AstNode child) { - SwitchTree.super.propagatesAbnormal(child) - or - child = super.getACase() - } - - final override predicate first(AstNode first) { first(super.getExpr(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - SwitchTree.super.succ(pred, succ, c) - or - last(super.getACase(), pred, c) and - succ = this and - c instanceof NormalCompletion - } - } - - private class SwitchCaseExprTree extends PostOrderTree, CaseTree instanceof SwitchCaseExpr { - final override predicate first(AstNode first) { first(super.getPattern(), first) } - - pragma[noinline] - private predicate lastNoMatch(AstNode last, ConditionalCompletion cc) { - last([super.getPattern(), super.getCondition()], last, cc) and - (cc.(MatchingCompletion).isNonMatch() or cc instanceof FalseCompletion) - } - - final override predicate last(AstNode last, Completion c) { - PostOrderTree.super.last(last, c) - or - // Last case exists with a non-match - exists(SwitchExpr se, int i, ConditionalCompletion cc | - this = se.getCase(i) and - not super.matchesAll() and - not exists(se.getCase(i + 1)) and - this.lastNoMatch(last, cc) and - c = - any(NestedCompletion nc | - nc.getNestLevel() = 0 and - nc.getInnerCompletion() = cc and - nc.getOuterCompletion() - .(ThrowCompletion) - .getExceptionClass() - .hasFullyQualifiedName("System", "InvalidOperationException") - ) - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - CaseTree.super.succ(pred, succ, c) - or - last(super.getBody(), pred, c) and - succ = this and - c instanceof NormalCompletion - } - } - - private class ConstructorInitializerTree extends PostOrderTree instanceof ConstructorInitializer { - private ControlFlowTree getChildNode(int i) { result = getExprChild(this, i) } - - final override predicate propagatesAbnormal(AstNode child) { child = this.getChildNode(_) } - - final override predicate first(AstNode first) { - first(this.getChildNode(0), first) - or - not exists(this.getChildNode(0)) and - first = this - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Post-order: flow from last element of last child to element itself - exists(int lst | - lst = max(int i | exists(this.getChildNode(i))) and - last(this.getChildNode(lst), pred, c) and - succ = this and - c instanceof NormalCompletion - ) - or - // Standard left-to-right evaluation - exists(int i | - last(this.getChildNode(i), pred, c) and - c instanceof NormalCompletion and - first(this.getChildNode(i + 1), succ) - ) - or - exists(ConstructorTree con, CompilationExt comp | - last(this, pred, c) and - con = super.getConstructor() and - comp = getCompilation(this.getFile()) and - c instanceof NormalCompletion and - first(con.getBody(comp), succ) - ) - } - } - - private class NotPatternExprTree extends PostOrderTree instanceof NotPatternExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getPattern() } - - final override predicate first(AstNode first) { first(super.getPattern(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - succ = this and - last(super.getPattern(), pred, c) and - c instanceof NormalCompletion - } - } - - private class AndPatternExprTree extends PostOrderTree instanceof AndPatternExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getAnOperand() } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of left operand to first element of right operand - last(super.getLeftOperand(), pred, c) and - c.(MatchingCompletion).getValue() = true and - first(super.getRightOperand(), succ) - or - // Post-order: flow from last element of left operand to element itself - last(super.getLeftOperand(), pred, c) and - c.(MatchingCompletion).getValue() = false and - succ = this - or - // Post-order: flow from last element of right operand to element itself - last(super.getRightOperand(), pred, c) and - c instanceof MatchingCompletion and - succ = this - } - } - - private class OrPatternExprTree extends PostOrderTree instanceof OrPatternExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getAnOperand() } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of left operand to first element of right operand - last(super.getLeftOperand(), pred, c) and - c.(MatchingCompletion).getValue() = false and - first(super.getRightOperand(), succ) - or - // Post-order: flow from last element of left operand to element itself - last(super.getLeftOperand(), pred, c) and - c.(MatchingCompletion).getValue() = true and - succ = this - or - // Post-order: flow from last element of right operand to element itself - last(super.getRightOperand(), pred, c) and - c instanceof MatchingCompletion and - succ = this - } - } -} - -private class RecursivePatternExprTree extends PostOrderTree instanceof RecursivePatternExpr { - private Expr getTypeExpr() { - result = super.getVariableDeclExpr() - or - not exists(super.getVariableDeclExpr()) and - result = super.getTypeAccess() - } - - private PatternExpr getChildPattern() { - result = super.getPositionalPatterns() - or - result = super.getPropertyPatterns() - } - - final override predicate propagatesAbnormal(AstNode child) { child = this.getChildPattern() } - - final override predicate first(AstNode first) { - first(this.getTypeExpr(), first) - or - not exists(this.getTypeExpr()) and - first(this.getChildPattern(), first) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from type test to child pattern - last(this.getTypeExpr(), pred, c) and - first(this.getChildPattern(), succ) and - c.(MatchingCompletion).getValue() = true - or - // Flow from type test to self - last(this.getTypeExpr(), pred, c) and - succ = this and - c.(MatchingCompletion).getValue() = false - or - // Flow from child pattern to self - last(this.getChildPattern(), pred, c) and - succ = this and - c instanceof MatchingCompletion - } -} - -private class PositionalPatternExprTree extends PreOrderTree instanceof PositionalPatternExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getPattern(_) } - - final override predicate last(AstNode last, Completion c) { - last = this and - c.(MatchingCompletion).getValue() = false - or - last(super.getPattern(_), last, c) and - c.(MatchingCompletion).getValue() = false - or - exists(int lst | - last(super.getPattern(lst), last, c) and - not exists(super.getPattern(lst + 1)) - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from self to first pattern - pred = this and - c.(MatchingCompletion).getValue() = true and - first(super.getPattern(0), succ) - or - // Flow from one pattern to the next - exists(int i | - last(super.getPattern(i), pred, c) and - c.(MatchingCompletion).getValue() = true and - first(super.getPattern(i + 1), succ) - ) - } -} - -private class PropertyPatternExprExprTree extends PostOrderTree instanceof PropertyPatternExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getPattern(_) } - - final override predicate first(AstNode first) { - first(super.getPattern(0), first) - or - not exists(super.getPattern(0)) and - first = this - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from one pattern to the next - exists(int i | - last(super.getPattern(i), pred, c) and - c.(MatchingCompletion).getValue() = true and - first(super.getPattern(i + 1), succ) - ) - or - // Post-order: flow from last element of failing pattern to element itself - last(super.getPattern(_), pred, c) and - c.(MatchingCompletion).getValue() = false and - succ = this - or - // Post-order: flow from last element of last pattern to element itself - exists(int last | - last(super.getPattern(last), pred, c) and - not exists(super.getPattern(last + 1)) and - c instanceof MatchingCompletion and - succ = this - ) - } -} - -module Statements { - private class StandardStmt extends StandardPreOrderTree instanceof Stmt { - StandardStmt() { - // The following statements need special treatment - not this instanceof IfStmt and - not this instanceof SwitchStmt and - not this instanceof CaseStmt and - not this instanceof LoopStmt and - not this instanceof TryStmt and - not this instanceof SpecificCatchClause and - not this instanceof JumpStmt and - not this instanceof LabeledStmt - } - - private ControlFlowTree getChildNode0(int i) { - not this instanceof GeneralCatchClause and - not this instanceof FixedStmt and - not this instanceof UsingBlockStmt and - result = this.getChild(i) - or - this = any(GeneralCatchClause gcc | i = 0 and result = gcc.getBlock()) - or - this = - any(FixedStmt fs | - result = fs.getVariableDeclExpr(i) - or - result = fs.getBody() and - i = max(int j | exists(fs.getVariableDeclExpr(j))) + 1 - ) - or - this = - any(UsingBlockStmt us | - result = us.getExpr() and - i = 0 - or - result = us.getVariableDeclExpr(i) - or - result = us.getBody() and - i = max([1, count(us.getVariableDeclExpr(_))]) - ) - } - - final override AstNode getChildNode(int i) { - result = rank[i + 1](AstNode cfe, int j | cfe = this.getChildNode0(j) | cfe order by j) - } - } - - private class IfStmtTree extends PreOrderTree instanceof IfStmt { - final override predicate propagatesAbnormal(AstNode child) { child = super.getCondition() } - - final override predicate last(AstNode last, Completion c) { - // Condition exits with a false completion and there is no `else` branch - last(super.getCondition(), last, c) and - c instanceof FalseCompletion and - not exists(super.getElse()) - or - // Then branch exits with any completion - last(super.getThen(), last, c) - or - // Else branch exits with any completion - last(super.getElse(), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Pre-order: flow from statement itself to first element of condition - pred = this and - first(super.getCondition(), succ) and - c instanceof SimpleCompletion - or - last(super.getCondition(), pred, c) and - ( - // Flow from last element of condition to first element of then branch - c instanceof TrueCompletion and first(super.getThen(), succ) - or - // Flow from last element of condition to first element of else branch - c instanceof FalseCompletion and first(super.getElse(), succ) - ) - } - } - - private class SwitchStmtTree extends PreOrderTree, SwitchTree instanceof SwitchStmt { - final override predicate last(AstNode last, Completion c) { - // Switch expression exits normally and there are no cases - not exists(super.getACase()) and - last(super.getExpr(), last, c) and - c instanceof NormalCompletion - or - // A statement exits with a `break` completion - last(SwithStmtInternal::getStmt(this, _), last, - c.(NestedBreakCompletion).getAnInnerCompatibleCompletion()) - or - // A statement exits abnormally - last(SwithStmtInternal::getStmt(this, _), last, c) and - not c instanceof BreakCompletion and - not c instanceof NormalCompletion and - not any(LabeledStmtTree t | - t.hasLabelInCallable(c.(GotoCompletion).getLabel(), super.getEnclosingCallable()) - ) instanceof CaseStmt - or - // Last case exits with a non-match - exists(CaseStmt cs, int last_ | - last_ = max(int i | exists(SwithStmtInternal::getCase(this, i))) and - cs = SwithStmtInternal::getCase(this, last_) - | - last(cs.getPattern(), last, c) and - not c.(MatchingCompletion).isMatch() - or - last(cs.getCondition(), last, c) and - c instanceof FalseCompletion - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - SwitchTree.super.succ(pred, succ, c) - or - // Pre-order: flow from statement itself to first switch expression - pred = this and - first(super.getExpr(), succ) and - c instanceof SimpleCompletion - or - // Flow from last element of non-`case` statement `i` to first element of statement `i+1` - exists(int i | last(SwithStmtInternal::getStmt(this, i), pred, c) | - not SwithStmtInternal::getStmt(this, i) instanceof CaseStmt and - c instanceof NormalCompletion and - first(SwithStmtInternal::getStmt(this, i + 1), succ) - ) - or - // Flow from last element of `case` statement `i` to first element of statement `i+1` - exists(int i, Stmt body | - body = caseStmtGetBody(SwithStmtInternal::getStmt(this, i)) and - // in case of fall-through cases, make sure to not jump from their shared body back - // to one of the fall-through cases - not body = caseStmtGetBody(SwithStmtInternal::getStmt(this, i + 1)) and - last(body, pred, c) - | - c instanceof NormalCompletion and - first(SwithStmtInternal::getStmt(this, i + 1), succ) - ) - } - } - - private class CaseStmtTree extends PreOrderTree, CaseTree instanceof CaseStmt { - final override predicate last(AstNode last, Completion c) { - // Condition exists with a `false` completion - last(super.getCondition(), last, c) and - c instanceof FalseCompletion - or - // Case pattern exits with a non-match - last(super.getPattern(), last, c) and - not c.(MatchingCompletion).isMatch() - or - // Case body exits with any completion - last(caseStmtGetBody(this), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - CaseTree.super.succ(pred, succ, c) - or - pred = this and - first(super.getPattern(), succ) and - c instanceof SimpleCompletion - } - } - - abstract private class LoopStmtTree extends PreOrderTree instanceof LoopStmt { - final override predicate propagatesAbnormal(AstNode child) { child = super.getCondition() } - - final override predicate last(AstNode last, Completion c) { - // Condition exits with a false completion - last(super.getCondition(), last, c) and - c instanceof FalseCompletion - or - // Body exits with a break completion - last(super.getBody(), last, c.(NestedBreakCompletion).getAnInnerCompatibleCompletion()) - or - // Body exits with a completion that does not continue the loop - last(super.getBody(), last, c) and - not c instanceof BreakCompletion and - not c.continuesLoop() - } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of condition to first element of loop body - last(super.getCondition(), pred, c) and - c instanceof TrueCompletion and - first(super.getBody(), succ) - or - // Flow from last element of loop body back to first element of condition - not this instanceof ForStmt and - last(super.getBody(), pred, c) and - c.continuesLoop() and - first(super.getCondition(), succ) - } - } - - private class WhileStmtTree extends LoopStmtTree instanceof WhileStmt { - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - LoopStmtTree.super.succ(pred, succ, c) - or - pred = this and - first(super.getCondition(), succ) and - c instanceof SimpleCompletion - } - } - - private class DoStmtTree extends LoopStmtTree instanceof DoStmt { - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - LoopStmtTree.super.succ(pred, succ, c) - or - pred = this and - first(super.getBody(), succ) and - c instanceof SimpleCompletion - } - } - - private class ForStmtTree extends LoopStmtTree instanceof ForStmt { - /** Gets the condition if it exists, otherwise the body. */ - private AstNode getConditionOrBody() { - result = super.getCondition() - or - not exists(super.getCondition()) and - result = super.getBody() - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - LoopStmtTree.super.succ(pred, succ, c) - or - // Pre-order: flow from statement itself to first element of first initializer/ - // condition/loop body - exists(AstNode next | - pred = this and - first(next, succ) and - c instanceof SimpleCompletion - | - next = super.getInitializer(0) - or - not exists(super.getInitializer(0)) and - next = this.getConditionOrBody() - ) - or - // Flow from last element of initializer `i` to first element of initializer `i+1` - exists(int i | last(super.getInitializer(i), pred, c) | - c instanceof NormalCompletion and - first(super.getInitializer(i + 1), succ) - ) - or - // Flow from last element of last initializer to first element of condition/loop body - exists(int last | last = max(int i | exists(super.getInitializer(i))) | - last(super.getInitializer(last), pred, c) and - c instanceof NormalCompletion and - first(this.getConditionOrBody(), succ) - ) - or - // Flow from last element of condition into first element of loop body - last(super.getCondition(), pred, c) and - c instanceof TrueCompletion and - first(super.getBody(), succ) - or - // Flow from last element of loop body to first element of update/condition/self - exists(AstNode next | - last(super.getBody(), pred, c) and - c.continuesLoop() and - first(next, succ) and - if exists(super.getUpdate(0)) - then next = super.getUpdate(0) - else next = this.getConditionOrBody() - ) - or - // Flow from last element of update to first element of next update/condition/loop body - exists(AstNode next, int i | - last(super.getUpdate(i), pred, c) and - c instanceof NormalCompletion and - first(next, succ) and - if exists(super.getUpdate(i + 1)) - then next = super.getUpdate(i + 1) - else next = this.getConditionOrBody() - ) - } - } - - private class ForeachStmtTree extends ControlFlowTree instanceof ForeachStmt { - final override predicate propagatesAbnormal(AstNode child) { child = super.getIterableExpr() } - - final override predicate first(AstNode first) { - // Unlike most other statements, `foreach` statements are not modeled in - // pre-order, because we use the `foreach` node itself to represent the - // emptiness test that determines whether to execute the loop body - first(super.getIterableExpr(), first) - } - - final override predicate last(AstNode last, Completion c) { - // Emptiness test exits with no more elements - last = this and - c.(EmptinessCompletion).isEmpty() - or - // Body exits with a break completion - last(super.getBody(), last, c.(NestedBreakCompletion).getAnInnerCompatibleCompletion()) - or - // Body exits abnormally - last(super.getBody(), last, c) and - not c instanceof NormalCompletion and - not c instanceof ContinueCompletion and - not c instanceof BreakCompletion - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from last element of iterator expression to emptiness test - last(super.getIterableExpr(), pred, c) and - c instanceof NormalCompletion and - succ = this - or - // Flow from emptiness test to first element of variable declaration/loop body - pred = this and - c = any(EmptinessCompletion ec | not ec.isEmpty()) and - ( - first(super.getVariableDeclExpr(), succ) - or - first(super.getVariableDeclTuple(), succ) - or - not exists(super.getVariableDeclExpr()) and - not exists(super.getVariableDeclTuple()) and - first(super.getBody(), succ) - ) - or - // Flow from last element of variable declaration to first element of loop body - ( - last(super.getVariableDeclExpr(), pred, c) or - last(super.getVariableDeclTuple(), pred, c) - ) and - c instanceof SimpleCompletion and - first(super.getBody(), succ) - or - // Flow from last element of loop body back to emptiness test - last(super.getBody(), pred, c) and - c.continuesLoop() and - succ = this - } - } - - pragma[nomagic] - private AstNode lastLastCatchClause(CatchClause cc, Completion c) { - cc.isLast() and - last(cc, result, c) - } - - pragma[nomagic] - private AstNode lastCatchClauseBlock(CatchClause cc, Completion c) { - last(cc.getBlock(), result, c) - } - - /** Gets a child of `cfe` that is in CFG scope `scope`. */ - pragma[noinline] - private ControlFlowElement getAChildInScope(AstNode cfe, Callable scope) { - result = cfe.getAChild() and - scope = result.getEnclosingCallable() - } - - class TryStmtTree extends PreOrderTree instanceof TryStmt { - final override predicate propagatesAbnormal(AstNode child) { child = super.getFinally() } - - /** - * Gets a descendant that belongs to the finally block of this try statement. - */ - AstNode getAFinallyDescendant() { - result = super.getFinally() - or - exists(ControlFlowElement mid | - mid = this.getAFinallyDescendant() and - result = getAChildInScope(mid, mid.getEnclosingCallable()) and - not exists(TryStmt nestedTry | - result = nestedTry.getFinally() and - nestedTry != this - ) - ) - } - - /** - * Holds if `innerTry` has a finally block and is immediately nested inside the - * finally block of this try statement. - */ - private predicate nestedFinally(TryStmt innerTry) { - exists(AstNode innerFinally | - innerFinally = getAChildInScope(this.getAFinallyDescendant(), super.getEnclosingCallable()) and - innerFinally = innerTry.getFinally() - ) - } - - /** - * Gets the finally-nesting level of this try statement. That is, the number of - * finally blocks that this try statement is nested under. - */ - int nestLevel() { result = count(TryStmtTree outer | outer.nestedFinally+(this)) } - - /** Holds if `last` is a last element of the block of this try statement. */ - pragma[nomagic] - predicate lastBlock(AstNode last, Completion c) { last(super.getBlock(), last, c) } - - /** - * Gets a last element from a `try` or `catch` block of this try statement - * that may finish with completion `c`, such that control may be transferred - * to the finally block (if it exists), but only if `finalizable = true`. - */ - pragma[nomagic] - AstNode getAFinallyPredecessor(Completion c, boolean finalizable) { - // Exit completions skip the finally block - (if c instanceof ExitCompletion then finalizable = false else finalizable = true) and - ( - this.lastBlock(result, c) and - ( - // Any non-throw completion from the `try` block will always continue directly - // to the finally block - not c instanceof ThrowCompletion - or - // Any completion from the `try` block will continue to the finally block - // when there are no catch clauses - not exists(super.getACatchClause()) - ) - or - // Last element from any of the `catch` clause blocks continues to the finally block - result = lastCatchClauseBlock(super.getACatchClause(), c) - or - // Last element of last `catch` clause continues to the finally block - result = lastLastCatchClause(super.getACatchClause(), c) - ) - } - - pragma[nomagic] - private predicate lastFinally0(AstNode last, Completion c) { last(super.getFinally(), last, c) } - - pragma[nomagic] - private predicate lastFinally( - AstNode last, NormalCompletion finally, Completion outer, int nestLevel - ) { - this.lastFinally0(last, finally) and - exists( - this.getAFinallyPredecessor(any(Completion c0 | outer = c0.getOuterCompletion()), true) - ) and - nestLevel = this.nestLevel() - } - - final override predicate last(AstNode last, Completion c) { - exists(boolean finalizable | last = this.getAFinallyPredecessor(c, finalizable) | - // If there is no finally block, last elements are from the body, from - // the blocks of one of the `catch` clauses, or from the last `catch` clause - not super.hasFinally() - or - finalizable = false - ) - or - this.lastFinally(last, c, any(NormalCompletion nc), _) - or - // If the finally block completes normally, it inherits any non-normal - // completion that was current before the finally block was entered - exists(int nestLevel | - c = - any(NestedCompletion nc | - this.lastFinally(last, nc.getAnInnerCompatibleCompletion(), nc.getOuterCompletion(), - nestLevel) and - // unbind - nc.getNestLevel() >= nestLevel and - nc.getNestLevel() <= nestLevel - ) - ) - } - - /** - * Gets an exception type that is thrown by `cfe` in the block of this `try` - * statement. Throw completion `c` matches the exception type. - */ - ExceptionClass getAThrownException(AstNode cfe, ThrowCompletion c) { - this.lastBlock(cfe, c) and - result = c.getExceptionClass() - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Pre-order: flow from statement itself to first element of body - pred = this and - first(super.getBlock(), succ) and - c instanceof SimpleCompletion - or - // Flow from last element of body to first `catch` clause - exists(this.getAThrownException(pred, c)) and - first(super.getCatchClause(0), succ) - or - exists(CatchClause cc, int i | cc = super.getCatchClause(i) | - // Flow from one `catch` clause to the next - pred = cc and - last(super.getCatchClause(i), cc, c) and - first(super.getCatchClause(i + 1), succ) and - c = any(MatchingCompletion mc | not mc.isMatch()) - or - // Flow from last element of `catch` clause filter to next `catch` clause - last(super.getCatchClause(i), pred, c) and - last(cc.getFilterClause(), pred, _) and - first(super.getCatchClause(i + 1), succ) and - c instanceof FalseCompletion - ) - or - // Flow into finally block - pred = this.getAFinallyPredecessor(c, true) and - first(super.getFinally(), succ) - } - } - - private class SpecificCatchClauseTree extends PreOrderTree instanceof SpecificCatchClause { - final override predicate propagatesAbnormal(AstNode child) { child = super.getFilterClause() } - - pragma[nomagic] - private predicate lastFilterClause(AstNode last, Completion c) { - last(super.getFilterClause(), last, c) - } - - /** - * Holds if the `try` block that this catch clause belongs to may throw an - * exception of type `c`, where no `catch` clause is guaranteed to catch it. - * This catch clause is the last catch clause in the try statement that - * it belongs to. - */ - pragma[nomagic] - private predicate throwMayBeUncaught(ThrowCompletion c) { - exists(TryStmt ts | - ts = super.getTryStmt() and - ts.(TryStmtTree).lastBlock(_, c) and - not ts.getACatchClause() instanceof GeneralCatchClause and - forall(SpecificCatchClause scc | scc = ts.getACatchClause() | - scc.hasFilterClause() - or - not c.getExceptionClass().getABaseType*() = scc.getCaughtExceptionType() - ) and - super.isLast() - ) - } - - final override predicate last(AstNode last, Completion c) { - // Last element of `catch` block - last(super.getBlock(), last, c) - or - not super.isLast() and - ( - // Incompatible exception type: clause itself - last = this and - c.(MatchingCompletion).isNonMatch() - or - // Incompatible filter - this.lastFilterClause(last, c) and - c instanceof FalseCompletion - ) - or - // Last `catch` clause inherits throw completions from the `try` block, - // when the clause does not match - super.isLast() and - c = - any(NestedCompletion nc | - nc.getNestLevel() = 0 and - this.throwMayBeUncaught(nc.getOuterCompletion()) and - ( - // Incompatible exception type: clause itself - last = this and - nc.getInnerCompletion() = - any(MatchingCompletion mc | - mc.isNonMatch() and - mc.isValidFor(this) - ) - or - // Incompatible filter - this.lastFilterClause(last, nc.getInnerCompletion().(FalseCompletion)) - ) - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Flow from catch clause to variable declaration/filter clause/block - pred = this and - c.(MatchingCompletion).isMatch() and - exists(AstNode next | first(next, succ) | - if exists(super.getVariableDeclExpr()) - then next = super.getVariableDeclExpr() - else - if exists(super.getFilterClause()) - then next = super.getFilterClause() - else next = super.getBlock() - ) - or - // Flow from variable declaration to filter clause/block - last(super.getVariableDeclExpr(), pred, c) and - c instanceof SimpleCompletion and - exists(AstNode next | first(next, succ) | - if exists(super.getFilterClause()) - then next = super.getFilterClause() - else next = super.getBlock() - ) - or - // Flow from filter to block - last(super.getFilterClause(), pred, c) and - c instanceof TrueCompletion and - first(super.getBlock(), succ) - } - } - - private class JumpStmtTree extends PostOrderTree instanceof JumpStmt { - final override predicate propagatesAbnormal(AstNode child) { child = this.getChild(0) } - - final override predicate first(AstNode first) { - first(this.getChild(0), first) - or - not exists(this.getChild(0)) and first = this - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(this.getChild(0), pred, c) and - succ = this and - c instanceof NormalCompletion - } - } - - pragma[nomagic] - private predicate goto(ControlFlowElement cfe, GotoCompletion gc, string label, Callable enclosing) { - last(_, cfe, gc) and - // Special case: when a `goto` happens inside a try statement with a - // finally block, flow does not go directly to the target, but instead - // to the finally block (and from there possibly to the target) - not cfe = - any(Statements::TryStmtTree t | t.(TryStmt).hasFinally()).getAFinallyPredecessor(_, true) and - label = gc.getLabel() and - enclosing = cfe.getEnclosingCallable() - } - - private class LabeledStmtTree extends PreOrderTree instanceof LabeledStmt { - final override predicate propagatesAbnormal(AstNode child) { none() } - - final override predicate last(AstNode last, Completion c) { - if this instanceof DefaultCase - then last(super.getStmt(), last, c) - else ( - not this instanceof CaseStmt and - last = this and - c.isValidFor(this) - ) - } - - pragma[noinline] - predicate hasLabelInCallable(string label, Callable c) { - super.getEnclosingCallable() = c and - label = super.getLabel() - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - this instanceof DefaultCase and - pred = this and - first(super.getStmt(), succ) and - c instanceof SimpleCompletion - or - // Flow from element with matching `goto` completion to this statement - exists(string label, Callable enclosing | - goto(pred, c, label, enclosing) and - this.hasLabelInCallable(label, enclosing) and - succ = this - ) - } - } -} - -/** A control flow element that is split into multiple control flow nodes. */ -class SplitAstNode extends AstNode, ControlFlowElement { - SplitAstNode() { strictcount(this.getAControlFlowNode()) > 1 } -} diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/NonReturning.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/NonReturning.qll index 10f92d882b7..45f802619be 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/NonReturning.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/NonReturning.qll @@ -9,13 +9,9 @@ import csharp private import semmle.code.csharp.ExprOrStmtParent private import semmle.code.csharp.commons.Assertions private import semmle.code.csharp.frameworks.System -private import Completion /** A call that definitely does not return (conservative analysis). */ -abstract class NonReturningCall extends Call { - /** Gets a valid completion for this non-returning call. */ - abstract Completion getACompletion(); -} +abstract class NonReturningCall extends Call { } private class ExitingCall extends NonReturningCall { ExitingCall() { @@ -23,36 +19,21 @@ private class ExitingCall extends NonReturningCall { or this = any(FailingAssertion fa | fa.getAssertionFailure().isExit()) } - - override ExitCompletion getACompletion() { not result instanceof NestedCompletion } } private class ThrowingCall extends NonReturningCall { - private ThrowCompletion c; - ThrowingCall() { - not c instanceof NestedCompletion and - ( - c = this.getTarget().(ThrowingCallable).getACallCompletion() - or - this.(FailingAssertion).getAssertionFailure().isException(c.getExceptionClass()) - or - this = - any(MethodCall mc | - mc.getTarget() - .hasFullyQualifiedName("System.Runtime.ExceptionServices", "ExceptionDispatchInfo", - "Throw") and - ( - mc.hasNoArguments() and - c.getExceptionClass() instanceof SystemExceptionClass - or - c.getExceptionClass() = mc.getArgument(0).getType() - ) - ) - ) + this.getTarget() instanceof ThrowingCallable + or + this.(FailingAssertion).getAssertionFailure().isException(_) + or + this = + any(MethodCall mc | + mc.getTarget() + .hasFullyQualifiedName("System.Runtime.ExceptionServices", "ExceptionDispatchInfo", + "Throw") + ) } - - override ThrowCompletion getACompletion() { result = c } } /** Holds if accessor `a` has an auto-implementation. */ @@ -107,44 +88,35 @@ private Stmt getAnExitingStmt() { private class ThrowingCallable extends NonReturningCallable { ThrowingCallable() { - forex(ControlFlowElement body | body = this.getBody() | body = getAThrowingElement(_)) + forex(ControlFlowElement body | body = this.getBody() | body = getAThrowingElement()) } - - /** Gets a valid completion for a call to this throwing callable. */ - ThrowCompletion getACallCompletion() { this.getBody() = getAThrowingElement(result) } } -private predicate directlyThrows(ThrowElement te, ThrowCompletion c) { - c.getExceptionClass() = te.getThrownExceptionType() and - not c instanceof NestedCompletion and +private predicate directlyThrows(ThrowElement te) { // For stub implementations, there may exist proper implementations that are not seen // during compilation, so we conservatively rule those out not isStub(te) } -private ControlFlowElement getAThrowingElement(ThrowCompletion c) { - c = result.(ThrowingCall).getACompletion() +private ControlFlowElement getAThrowingElement() { + result instanceof ThrowingCall or - directlyThrows(result, c) + directlyThrows(result) or - result = getAThrowingStmt(c) + result = getAThrowingStmt() } -private Stmt getAThrowingStmt(ThrowCompletion c) { - directlyThrows(result, c) +private Stmt getAThrowingStmt() { + directlyThrows(result) or - result.(ExprStmt).getExpr() = getAThrowingElement(c) + result.(ExprStmt).getExpr() = getAThrowingElement() or - result.(BlockStmt).getFirstStmt() = getAThrowingStmt(c) + result.(BlockStmt).getFirstStmt() = getAThrowingStmt() or - exists(IfStmt ifStmt, ThrowCompletion c1, ThrowCompletion c2 | + exists(IfStmt ifStmt | result = ifStmt and - ifStmt.getThen() = getAThrowingStmt(c1) and - ifStmt.getElse() = getAThrowingStmt(c2) - | - c = c1 - or - c = c2 + ifStmt.getThen() = getAThrowingStmt() and + ifStmt.getElse() = getAThrowingStmt() ) } diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll deleted file mode 100644 index 173179216f3..00000000000 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll +++ /dev/null @@ -1,124 +0,0 @@ -/** - * INTERNAL: Do not use. - * - * Provides classes and predicates relevant for splitting the control flow graph. - */ - -import csharp -private import Completion as Comp -private import Comp -private import ControlFlowGraphImpl -private import semmle.code.csharp.controlflow.ControlFlowGraph::ControlFlow as Cfg - -cached -private module Cached { - private import semmle.code.csharp.Caching - - cached - newtype TSplitKind = TConditionalCompletionSplitKind() - - cached - newtype TSplit = TConditionalCompletionSplit(ConditionalCompletion c) -} - -import Cached - -/** - * A split for a control flow element. For example, a tag that determines how to - * continue execution after leaving a `finally` block. - */ -class Split extends TSplit { - /** Gets a textual representation of this split. */ - string toString() { none() } -} - -module ConditionalCompletionSplitting { - /** - * A split for conditional completions. For example, in - * - * ```csharp - * void M(int i) - * { - * if (x && !y) - * System.Console.WriteLine("true") - * } - * ``` - * - * we record whether `x`, `y`, and `!y` evaluate to `true` or `false`, and restrict - * the edges out of `!y` and `x && !y` accordingly. - */ - class ConditionalCompletionSplit extends Split, TConditionalCompletionSplit { - ConditionalCompletion completion; - - ConditionalCompletionSplit() { this = TConditionalCompletionSplit(completion) } - - ConditionalCompletion getCompletion() { result = completion } - - override string toString() { result = completion.toString() } - } - - private class ConditionalCompletionSplitKind_ extends SplitKind, TConditionalCompletionSplitKind { - override int getListOrder() { result = 0 } - - override predicate isEnabled(AstNode cfe) { this.appliesTo(cfe) } - - override string toString() { result = "ConditionalCompletion" } - } - - module ConditionalCompletionSplittingInput { - private import Completion as Comp - - class ConditionalCompletion = Comp::ConditionalCompletion; - - class ConditionalCompletionSplitKind extends ConditionalCompletionSplitKind_, TSplitKind { } - - class ConditionalCompletionSplit = ConditionalCompletionSplitting::ConditionalCompletionSplit; - - bindingset[parent, parentCompletion] - predicate condPropagateExpr( - AstNode parent, ConditionalCompletion parentCompletion, AstNode child, - ConditionalCompletion childCompletion - ) { - child = parent.(LogicalNotExpr).getOperand() and - childCompletion.getDual() = parentCompletion - or - childCompletion = parentCompletion and - ( - child = parent.(LogicalAndExpr).getAnOperand() - or - child = parent.(LogicalOrExpr).getAnOperand() - or - parent = any(ConditionalExpr ce | child = [ce.getThen(), ce.getElse()]) - or - child = parent.(SwitchExpr).getACase() - or - child = parent.(SwitchCaseExpr).getBody() - or - parent = - any(NullCoalescingOperation nce | - if childCompletion instanceof NullnessCompletion - then child = nce.getRightOperand() - else child = nce.getAnOperand() - ) - ) - or - child = parent.(NotPatternExpr).getPattern() and - childCompletion.getDual() = parentCompletion - or - child = parent.(IsExpr).getPattern() and - parentCompletion.(BooleanCompletion).getValue() = - childCompletion.(MatchingCompletion).getValue() - or - childCompletion = parentCompletion and - ( - child = parent.(AndPatternExpr).getAnOperand() - or - child = parent.(OrPatternExpr).getAnOperand() - or - child = parent.(RecursivePatternExpr).getAChildExpr() - or - child = parent.(PropertyPatternExpr).getPattern(_) - ) - } - } -} diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll index 3d690ee1ac4..d36fb68b915 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll @@ -126,7 +126,7 @@ private predicate nonNullDef(Ssa::ExplicitDefinition def) { /** * Holds if `node` is a dereference `d` of SSA definition `def`. */ -private predicate dereferenceAt(ControlFlow::Node node, Ssa::Definition def, Dereference d) { +private predicate dereferenceAt(ControlFlowNode node, Ssa::Definition def, Dereference d) { d = def.getAReadAtNode(node) } @@ -192,9 +192,7 @@ private predicate isNullDefaultArgument(Ssa::ImplicitParameterDefinition def, Al } /** Holds if `def` is an SSA definition that may be `null`. */ -private predicate defMaybeNull( - Ssa::Definition def, ControlFlow::Node node, string msg, Element reason -) { +private predicate defMaybeNull(Ssa::Definition def, ControlFlowNode node, string msg, Element reason) { not nonNullDef(def) and ( // A variable compared to `null` might be `null` @@ -224,7 +222,7 @@ private predicate defMaybeNull( or // If the source of a variable is `null` then the variable may be `null` exists(AssignableDefinition adef | adef = def.(Ssa::ExplicitDefinition).getADefinition() | - adef.getSource() = maybeNullExpr(node.getAstNode()) and + adef.getSource() = maybeNullExpr(node.asExpr()) and reason = adef.getExpr() and msg = "because of $@ assignment" ) @@ -256,19 +254,19 @@ private Ssa::Definition getAnUltimateDefinition(Ssa::Definition def) { * through an intermediate dereference that always throws a null reference * exception. */ -private predicate defReaches(Ssa::Definition def, ControlFlow::Node cfn) { +private predicate defReaches(Ssa::Definition def, ControlFlowNode cfn) { exists(def.getAFirstReadAtNode(cfn)) or - exists(ControlFlow::Node mid | defReaches(def, mid) | + exists(ControlFlowNode mid | defReaches(def, mid) | SsaImpl::adjacentReadPairSameVar(_, mid, cfn) and - not mid = any(Dereference d | d.isAlwaysNull(def.getSourceVariable())).getAControlFlowNode() + not mid = any(Dereference d | d.isAlwaysNull(def.getSourceVariable())).getControlFlowNode() ) } private module NullnessConfig implements ControlFlowReachability::ConfigSig { - predicate source(ControlFlow::Node node, Ssa::Definition def) { defMaybeNull(def, node, _, _) } + predicate source(ControlFlowNode node, Ssa::Definition def) { defMaybeNull(def, node, _, _) } - predicate sink(ControlFlow::Node node, Ssa::Definition def) { + predicate sink(ControlFlowNode node, Ssa::Definition def) { exists(Dereference d | dereferenceAt(node, def, d) and not d instanceof NonNullExpr @@ -283,9 +281,7 @@ private module NullnessConfig implements ControlFlowReachability::ConfigSig { private module NullnessFlow = ControlFlowReachability::Flow; predicate maybeNullDeref(Dereference d, Ssa::SourceVariable v, string msg, Element reason) { - exists( - Ssa::Definition origin, Ssa::Definition ssa, ControlFlow::Node src, ControlFlow::Node sink - | + exists(Ssa::Definition origin, Ssa::Definition ssa, ControlFlowNode src, ControlFlowNode sink | defMaybeNull(origin, src, msg, reason) and NullnessFlow::flow(src, origin, sink, ssa) and ssa.getSourceVariable() = v and @@ -388,6 +384,6 @@ class Dereference extends G::DereferenceableExpr { */ predicate isFirstAlwaysNull(Ssa::SourceVariable v) { this.isAlwaysNull(v) and - defReaches(v.getAnSsaDefinition(), this.getAControlFlowNode()) + defReaches(v.getAnSsaDefinition(), this.getControlFlowNode()) } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/SSA.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/SSA.qll index e8180201b9a..92149e02640 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/SSA.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/SSA.qll @@ -164,10 +164,8 @@ module Ssa { */ class Definition extends SsaImpl::Definition { /** Gets the control flow node of this SSA definition. */ - final ControlFlow::Node getControlFlowNode() { - exists(ControlFlow::BasicBlock bb, int i | this.definesAt(_, bb, i) | - result = bb.getNode(0.maximum(i)) - ) + final ControlFlowNode getControlFlowNode() { + exists(BasicBlock bb, int i | this.definesAt(_, bb, i) | result = bb.getNode(0.maximum(i))) } /** @@ -176,9 +174,7 @@ module Ssa { * point it is still live, without crossing another SSA definition of the * same source variable. */ - final predicate isLiveAtEndOfBlock(ControlFlow::BasicBlock bb) { - SsaImpl::isLiveAtEndOfBlock(this, bb) - } + final predicate isLiveAtEndOfBlock(BasicBlock bb) { SsaImpl::isLiveAtEndOfBlock(this, bb) } /** * Gets a read of the source variable underlying this SSA definition that @@ -236,7 +232,7 @@ module Ssa { * - The reads of `this.Field` on lines 10 and 11 can be reached from the phi * node between lines 9 and 10. */ - final AssignableRead getAReadAtNode(ControlFlow::Node cfn) { + final AssignableRead getAReadAtNode(ControlFlowNode cfn) { result = SsaImpl::getAReadAtNode(this, cfn) } @@ -310,72 +306,9 @@ module Ssa { * Subsequent reads can be found by following the steps defined by * `AssignableRead.getANextRead()`. */ - final AssignableRead getAFirstReadAtNode(ControlFlow::Node cfn) { + final AssignableRead getAFirstReadAtNode(ControlFlowNode cfn) { SsaImpl::firstReadSameVar(this, cfn) and - result.getAControlFlowNode() = cfn - } - - /** - * Gets a last read of the source variable underlying this SSA definition. - * That is, a read that can reach the end of the enclosing callable, or - * another SSA definition for the source variable, without passing through - * any other read. Example: - * - * ```csharp - * int Field; - * - * void SetField(int i) { - * this.Field = i; - * Use(this.Field); - * if (i > 0) - * this.Field = i - 1; - * else if (i < 0) - * SetField(1); - * Use(this.Field); - * Use(this.Field); - * } - * ``` - * - * - The reads of `i` on lines 7 and 8 are the last reads for the implicit - * parameter definition on line 3. - * - The read of `this.Field` on line 5 is a last read of the definition on - * line 4. - * - The read of `this.Field` on line 11 is a last read of the phi node - * between lines 9 and 10. - */ - deprecated final AssignableRead getALastRead() { result = this.getALastReadAtNode(_) } - - /** - * Gets a last read of the source variable underlying this SSA definition at - * control flow node `cfn`. That is, a read that can reach the end of the - * enclosing callable, or another SSA definition for the source variable, - * without passing through any other read. Example: - * - * ```csharp - * int Field; - * - * void SetField(int i) { - * this.Field = i; - * Use(this.Field); - * if (i > 0) - * this.Field = i - 1; - * else if (i < 0) - * SetField(1); - * Use(this.Field); - * Use(this.Field); - * } - * ``` - * - * - The reads of `i` on lines 7 and 8 are the last reads for the implicit - * parameter definition on line 3. - * - The read of `this.Field` on line 5 is a last read of the definition on - * line 4. - * - The read of `this.Field` on line 11 is a last read of the phi node - * between lines 9 and 10. - */ - deprecated final AssignableRead getALastReadAtNode(ControlFlow::Node cfn) { - SsaImpl::lastReadSameVar(this, cfn) and - result.getAControlFlowNode() = cfn + result.getControlFlowNode() = cfn } /** @@ -426,7 +359,9 @@ module Ssa { * This is either an expression, for example `x = 0`, a parameter, or a * callable. Phi nodes have no associated syntax element. */ - Element getElement() { result = this.getControlFlowNode().getAstNode() } + Element getElement() { + result.(ControlFlowElement).getControlFlowNode() = this.getControlFlowNode() + } /** Gets the callable to which this SSA definition belongs. */ final Callable getEnclosingCallable() { @@ -484,7 +419,7 @@ module Ssa { * `M2` via the call on line 6. */ deprecated final predicate isCapturedVariableDefinitionFlowIn( - ImplicitEntryDefinition def, ControlFlow::Nodes::ElementNode c, boolean additionalCalls + ImplicitEntryDefinition def, ControlFlowNodes::ElementNode c, boolean additionalCalls ) { none() } @@ -520,9 +455,7 @@ module Ssa { override Element getElement() { result = ad.getElement() } - override string toString() { - result = SsaImpl::getToStringPrefix(this) + "SSA def(" + this.getSourceVariable() + ")" - } + override string toString() { result = "SSA def(" + this.getSourceVariable() + ")" } override Location getLocation() { result = ad.getLocation() } } @@ -536,7 +469,7 @@ module Ssa { */ class ImplicitDefinition extends Definition, SsaImpl::WriteDefinition { ImplicitDefinition() { - exists(ControlFlow::BasicBlock bb, SourceVariable v, int i | this.definesAt(v, bb, i) | + exists(BasicBlock bb, SourceVariable v, int i | this.definesAt(v, bb, i) | SsaImpl::implicitEntryDefinition(bb, v) and i = -1 or @@ -554,25 +487,21 @@ module Ssa { */ class ImplicitEntryDefinition extends ImplicitDefinition { ImplicitEntryDefinition() { - exists(ControlFlow::BasicBlock bb, SourceVariable v | + exists(BasicBlock bb, SourceVariable v | this.definesAt(v, bb, -1) and SsaImpl::implicitEntryDefinition(bb, v) ) } /** Gets the callable that this entry definition belongs to. */ - final Callable getCallable() { result = this.getBasicBlock().getCallable() } + final Callable getCallable() { result = this.getBasicBlock().getEnclosingCallable() } override Element getElement() { result = this.getCallable() } override string toString() { if this.getSourceVariable().getAssignable() instanceof LocalScopeVariable - then - result = - SsaImpl::getToStringPrefix(this) + "SSA capture def(" + this.getSourceVariable() + ")" - else - result = - SsaImpl::getToStringPrefix(this) + "SSA entry def(" + this.getSourceVariable() + ")" + then result = "SSA capture def(" + this.getSourceVariable() + ")" + else result = "SSA entry def(" + this.getSourceVariable() + ")" } override Location getLocation() { result = this.getCallable().getLocation() } @@ -582,7 +511,7 @@ module Ssa { class C = ImplicitParameterDefinition; predicate relevantLocations(ImplicitParameterDefinition def, Location l1, Location l2) { - not def.getBasicBlock() instanceof ControlFlow::BasicBlocks::EntryBlock and + not def.getBasicBlock() instanceof EntryBasicBlock and l1 = def.getParameter().getALocation() and l2 = def.getBasicBlock().getLocation() } @@ -614,7 +543,7 @@ module Ssa { override Element getElement() { result = this.getParameter() } override string toString() { - result = SsaImpl::getToStringPrefix(this) + "SSA param(" + this.getParameter() + ")" + result = "SSA param(" + pragma[only_bind_out](this.getParameter()) + ")" } override Location getLocation() { @@ -634,7 +563,7 @@ module Ssa { private Call c; ImplicitCallDefinition() { - exists(ControlFlow::BasicBlock bb, SourceVariable v, int i | + exists(BasicBlock bb, SourceVariable v, int i | this.definesAt(v, bb, i) and SsaImpl::updatesNamedFieldOrProp(bb, i, c, v, _) ) @@ -656,9 +585,7 @@ module Ssa { ) } - override string toString() { - result = SsaImpl::getToStringPrefix(this) + "SSA call def(" + this.getSourceVariable() + ")" - } + override string toString() { result = "SSA call def(" + this.getSourceVariable() + ")" } override Location getLocation() { result = this.getCall().getLocation() } } @@ -671,9 +598,7 @@ module Ssa { private Definition q; ImplicitQualifierDefinition() { - exists( - ControlFlow::BasicBlock bb, int i, SourceVariables::QualifiedFieldOrPropSourceVariable v - | + exists(BasicBlock bb, int i, SourceVariables::QualifiedFieldOrPropSourceVariable v | this.definesAt(v, bb, i) | SsaImpl::variableWriteQualifier(bb, i, v, _) and @@ -684,10 +609,7 @@ module Ssa { /** Gets the SSA definition for the qualifier. */ final Definition getQualifierDefinition() { result = q } - override string toString() { - result = - SsaImpl::getToStringPrefix(this) + "SSA qualifier def(" + this.getSourceVariable() + ")" - } + override string toString() { result = "SSA qualifier def(" + this.getSourceVariable() + ")" } override Location getLocation() { result = this.getQualifierDefinition().getLocation() } } @@ -723,13 +645,11 @@ module Ssa { final Definition getAnInput() { this.hasInputFromBlock(result, _) } /** Holds if `inp` is an input to this phi node along the edge originating in `bb`. */ - predicate hasInputFromBlock(Definition inp, ControlFlow::BasicBlock bb) { + predicate hasInputFromBlock(Definition inp, BasicBlock bb) { inp = SsaImpl::phiHasInputFromBlock(this, bb) } - override string toString() { - result = SsaImpl::getToStringPrefix(this) + "SSA phi(" + this.getSourceVariable() + ")" - } + override string toString() { result = "SSA phi(" + this.getSourceVariable() + ")" } /* * The location of a phi node is the same as the location of the first node diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/SignAnalysis.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/SignAnalysis.qll index 6f6f38bd199..e1d804e6548 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/SignAnalysis.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/SignAnalysis.qll @@ -11,36 +11,32 @@ private import semmle.code.csharp.dataflow.internal.rangeanalysis.SignAnalysisCo /** Holds if `e` can be positive and cannot be negative. */ predicate positiveExpr(Expr e) { - forex(ControlFlow::Node cfn | cfn = e.getAControlFlowNode() | + exists(ControlFlowNode cfn | cfn = e.getControlFlowNode() | positive(cfn) or strictlyPositive(cfn) ) } /** Holds if `e` can be negative and cannot be positive. */ predicate negativeExpr(Expr e) { - forex(ControlFlow::Node cfn | cfn = e.getAControlFlowNode() | + exists(ControlFlowNode cfn | cfn = e.getControlFlowNode() | negative(cfn) or strictlyNegative(cfn) ) } /** Holds if `e` is strictly positive. */ -predicate strictlyPositiveExpr(Expr e) { - forex(ControlFlow::Node cfn | cfn = e.getAControlFlowNode() | strictlyPositive(cfn)) -} +predicate strictlyPositiveExpr(Expr e) { strictlyPositive(e.getControlFlowNode()) } /** Holds if `e` is strictly negative. */ -predicate strictlyNegativeExpr(Expr e) { - forex(ControlFlow::Node cfn | cfn = e.getAControlFlowNode() | strictlyNegative(cfn)) -} +predicate strictlyNegativeExpr(Expr e) { strictlyNegative(e.getControlFlowNode()) } /** Holds if `e` can be positive and cannot be negative. */ -predicate positive(ControlFlow::Nodes::ExprNode e) { Common::positive(e) } +predicate positive(ControlFlowNodes::ExprNode e) { Common::positive(e) } /** Holds if `e` can be negative and cannot be positive. */ -predicate negative(ControlFlow::Nodes::ExprNode e) { Common::negative(e) } +predicate negative(ControlFlowNodes::ExprNode e) { Common::negative(e) } /** Holds if `e` is strictly positive. */ -predicate strictlyPositive(ControlFlow::Nodes::ExprNode e) { Common::strictlyPositive(e) } +predicate strictlyPositive(ControlFlowNodes::ExprNode e) { Common::strictlyPositive(e) } /** Holds if `e` is strictly negative. */ -predicate strictlyNegative(ControlFlow::Nodes::ExprNode e) { Common::strictlyNegative(e) } +predicate strictlyNegative(ControlFlowNodes::ExprNode e) { Common::strictlyNegative(e) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/BaseSSA.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/BaseSSA.qll index a994873274a..63a9e782250 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/BaseSSA.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/BaseSSA.qll @@ -5,17 +5,25 @@ import csharp */ module BaseSsa { private import AssignableDefinitions - private import semmle.code.csharp.controlflow.BasicBlocks as BasicBlocks private import codeql.ssa.Ssa as SsaImplCommon + cached + private module BaseSsaStage { + cached + predicate ref() { any() } + + cached + predicate backref() { (exists(any(SsaDefinition def).getARead()) implies any()) } + } + /** * Holds if the `i`th node of basic block `bb` is assignable definition `def`, * targeting local scope variable `v`. */ private predicate definitionAt( - AssignableDefinition def, ControlFlow::BasicBlock bb, int i, SsaInput::SourceVariable v + AssignableDefinition def, BasicBlock bb, int i, SsaImplInput::SourceVariable v ) { - bb.getNode(i) = def.getExpr().getAControlFlowNode() and + bb.getNode(i) = def.getExpr().getControlFlowNode() and v = def.getTarget() and // In cases like `(x, x) = (0, 1)`, we discard the first (dead) definition of `x` not exists(TupleAssignmentDefinition first, TupleAssignmentDefinition second | first = def | @@ -25,11 +33,9 @@ module BaseSsa { ) } - private predicate implicitEntryDef( - Callable c, ControlFlow::BasicBlocks::EntryBlock bb, SsaInput::SourceVariable v - ) { - exists(ControlFlow::BasicBlocks::EntryBlock entry | - c = entry.getCallable() and + private predicate entryDef(Callable c, BasicBlock bb, SsaImplInput::SourceVariable v) { + exists(EntryBasicBlock entry | + c = entry.getEnclosingCallable() and // In case `c` has multiple bodies, we want each body to get its own implicit // entry definition. In case `c` doesn't have multiple bodies, the line below // is simply the same as `bb = entry`, because `entry.getFirstNode().getASuccessor()` @@ -82,77 +88,59 @@ module BaseSsa { } } - private module SsaInput implements SsaImplCommon::InputSig { + private module SsaImplInput implements SsaImplCommon::InputSig { class SourceVariable = SimpleLocalScopeVariable; - predicate variableWrite(ControlFlow::BasicBlock bb, int i, SourceVariable v, boolean certain) { + predicate variableWrite(BasicBlock bb, int i, SourceVariable v, boolean certain) { + BaseSsaStage::ref() and exists(AssignableDefinition def | definitionAt(def, bb, i, v) and if def.isCertain() then certain = true else certain = false ) or - implicitEntryDef(_, bb, v) and + entryDef(_, bb, v) and i = -1 and certain = true } - predicate variableRead(ControlFlow::BasicBlock bb, int i, SourceVariable v, boolean certain) { + predicate variableRead(BasicBlock bb, int i, SourceVariable v, boolean certain) { exists(AssignableRead read | - read.getAControlFlowNode() = bb.getNode(i) and + read.getControlFlowNode() = bb.getNode(i) and read.getTarget() = v and certain = true ) } } - private module SsaImpl = SsaImplCommon::Make; + private module SsaImpl = SsaImplCommon::Make; - class Definition extends SsaImpl::Definition { - final AssignableRead getARead() { - exists(ControlFlow::BasicBlock bb, int i | - SsaImpl::ssaDefReachesRead(_, this, bb, i) and - result.getAControlFlowNode() = bb.getNode(i) - ) + private module SsaInput implements SsaImpl::SsaInputSig { + private import csharp as CS + + class Expr = CS::Expr; + + class Parameter = CS::Parameter; + + class VariableWrite extends AssignableDefinition { + Expr asExpr() { result = this.getExpr() } + + Expr getValue() { result = this.getSource() } + + predicate isParameterInit(Parameter p) { + this.(ImplicitParameterDefinition).getParameter() = p + } } - final AssignableDefinition getDefinition() { - exists(ControlFlow::BasicBlock bb, int i, SsaInput::SourceVariable v | - this.definesAt(v, bb, i) and - definitionAt(result, bb, i, v) - ) - } - - final predicate isImplicitEntryDefinition(SsaInput::SourceVariable v) { - exists(ControlFlow::BasicBlock bb | - this.definesAt(v, bb, -1) and - implicitEntryDef(_, bb, v) - ) - } - - private Definition getAPhiInputOrPriorDefinition() { - result = this.(PhiNode).getAnInput() or - SsaImpl::uncertainWriteDefinitionInput(this, result) - } - - final Definition getAnUltimateDefinition() { - result = this.getAPhiInputOrPriorDefinition*() and - not result instanceof PhiNode - } - - override Location getLocation() { - result = this.getDefinition().getLocation() + predicate explicitWrite(VariableWrite w, BasicBlock bb, int i, SsaImplInput::SourceVariable v) { + definitionAt(w, bb, i, v) or - exists(Callable c, ControlFlow::BasicBlock bb, SsaInput::SourceVariable v | - this.definesAt(v, bb, -1) and - implicitEntryDef(c, bb, v) and - result = c.getLocation() - ) + entryDef(_, bb, v) and + i = -1 and + w.isParameterInit(v) } } - class PhiNode extends SsaImpl::PhiNode, Definition { - override Location getLocation() { result = this.getBasicBlock().getLocation() } + module Ssa = SsaImpl::MakeSsa; - final Definition getAnInput() { SsaImpl::phiHasInputFromBlock(this, result, _) } - } + import Ssa } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowDispatch.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowDispatch.qll index be183815c71..e365385c6d4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowDispatch.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowDispatch.qll @@ -28,8 +28,8 @@ newtype TReturnKind = private predicate hasMultipleSourceLocations(Callable c) { strictcount(getASourceLocation(c)) > 1 } private predicate objectInitEntry(ObjectInitMethod m, ControlFlowElement first) { - exists(ControlFlow::Nodes::EntryNode en | - en.getCallable() = m and first.getControlFlowNode() = en.getASuccessor() + exists(ControlFlow::EntryNode en | + en.getEnclosingCallable() = m and first = en.getASuccessor().getAstNode() ) } @@ -73,12 +73,12 @@ private module Cached { cached newtype TDataFlowCall = - TNonDelegateCall(ControlFlow::Nodes::ElementNode cfn, DispatchCall dc) { + TNonDelegateCall(ControlFlowNodes::ElementNode cfn, DispatchCall dc) { DataFlowImplCommon::forceCachingInSameStage() and - cfn.getAstNode() = dc.getCall() + cfn.asExpr() = dc.getCall() } or - TExplicitDelegateLikeCall(ControlFlow::Nodes::ElementNode cfn, DelegateLikeCall dc) { - cfn.getAstNode() = dc + TExplicitDelegateLikeCall(ControlFlowNodes::ElementNode cfn, DelegateLikeCall dc) { + cfn.asExpr() = dc } or TSummaryCall(FlowSummary::SummarizedCallable c, FlowSummaryImpl::Private::SummaryNode receiver) { FlowSummaryImpl::Private::summaryCallbackRange(c, receiver) @@ -210,60 +210,63 @@ class DataFlowCallable extends TDataFlowCallable { } pragma[nomagic] - private ControlFlow::Nodes::ElementNode getAMultiBodyEntryNode(ControlFlow::BasicBlock bb, int i) { + private BasicBlock getAMultiBodyEntryBlock() { this.isMultiBodied() and exists(ControlFlowElement body, Location l | body = this.asCallable(l).getBody() or objectInitEntry(this.asCallable(l), body) | NearestLocation::nearestLocation(body, l, _) and - result = body.getAControlFlowEntryNode() - ) and - bb.getNode(i) = result - } - - pragma[nomagic] - private ControlFlow::Nodes::ElementNode getAMultiBodyControlFlowNodePred() { - result = this.getAMultiBodyEntryNode(_, _).getAPredecessor() - or - result = this.getAMultiBodyControlFlowNodePred().getAPredecessor() - } - - pragma[nomagic] - private ControlFlow::Nodes::ElementNode getAMultiBodyControlFlowNodeSuccSameBasicBlock() { - exists(ControlFlow::BasicBlock bb, int i, int j | - exists(this.getAMultiBodyEntryNode(bb, i)) and - result = bb.getNode(j) and - j > i + result.getANode().isBefore(body) ) } pragma[nomagic] - private ControlFlow::BasicBlock getAMultiBodyBasicBlockSucc() { - result = this.getAMultiBodyEntryNode(_, _).getBasicBlock().getASuccessor() + private BasicBlock getAMultiBodyControlFlowPred() { + result = this.getAMultiBodyEntryBlock().getAPredecessor() + or + result = this.getAMultiBodyControlFlowPred().getAPredecessor() + } + + pragma[nomagic] + private BasicBlock getAMultiBodyBasicBlockSucc() { + result = this.getAMultiBodyEntryBlock().getASuccessor() or result = this.getAMultiBodyBasicBlockSucc().getASuccessor() } - pragma[inline] - private ControlFlow::Nodes::ElementNode getAMultiBodyControlFlowNode() { + pragma[nomagic] + private BasicBlock getAMultiBodyBasicBlock() { result = [ - this.getAMultiBodyEntryNode(_, _), this.getAMultiBodyControlFlowNodePred(), - this.getAMultiBodyControlFlowNodeSuccSameBasicBlock(), - this.getAMultiBodyBasicBlockSucc().getANode() + this.getAMultiBodyEntryBlock(), this.getAMultiBodyControlFlowPred(), + this.getAMultiBodyBasicBlockSucc() ] } + pragma[inline] + private ControlFlowNode getAMultiBodyControlFlowNode() { + result = this.getAMultiBodyBasicBlock().getANode() + } + /** Gets a control flow node belonging to this callable. */ pragma[inline] - ControlFlow::Node getAControlFlowNode() { + ControlFlowNode getAControlFlowNode() { result = this.getAMultiBodyControlFlowNode() or not this.isMultiBodied() and result.getEnclosingCallable() = this.asCallable(_) } + /** Gets a basic block belonging to this callable. */ + pragma[inline] + BasicBlock getABasicBlock() { + result = this.getAMultiBodyBasicBlock() + or + not this.isMultiBodied() and + result.getEnclosingCallable() = this.asCallable(_) + } + /** Gets the underlying summarized callable, if any. */ FlowSummary::SummarizedCallable asSummarizedCallable() { this = TSummarizedCallable(result) } @@ -307,7 +310,7 @@ abstract class DataFlowCall extends TDataFlowCall { abstract DataFlowCallable getARuntimeTarget(); /** Gets the control flow node where this call happens, if any. */ - abstract ControlFlow::Nodes::ElementNode getControlFlowNode(); + abstract ControlFlowNodes::ElementNode getControlFlowNode(); /** Gets the data flow node corresponding to this call, if any. */ abstract DataFlow::Node getNode(); @@ -363,7 +366,7 @@ private predicate folderDist(Folder f1, Folder f2, int i) = /** A non-delegate C# call relevant for data flow. */ class NonDelegateDataFlowCall extends DataFlowCall, TNonDelegateCall { - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; private DispatchCall dc; NonDelegateDataFlowCall() { this = TNonDelegateCall(cfn, dc) } @@ -436,7 +439,7 @@ class NonDelegateDataFlowCall extends DataFlowCall, TNonDelegateCall { not dc.isReflection() } - override ControlFlow::Nodes::ElementNode getControlFlowNode() { result = cfn } + override ControlFlowNodes::ElementNode getControlFlowNode() { result = cfn } override DataFlow::ExprNode getNode() { result.getControlFlowNode() = cfn } @@ -452,7 +455,7 @@ abstract class DelegateDataFlowCall extends DataFlowCall { } /** An explicit delegate or function pointer call relevant for data flow. */ class ExplicitDelegateLikeDataFlowCall extends DelegateDataFlowCall, TExplicitDelegateLikeCall { - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; private DelegateLikeCall dc; ExplicitDelegateLikeDataFlowCall() { this = TExplicitDelegateLikeCall(cfn, dc) } @@ -464,7 +467,7 @@ class ExplicitDelegateLikeDataFlowCall extends DelegateDataFlowCall, TExplicitDe none() // handled by the shared library } - override ControlFlow::Nodes::ElementNode getControlFlowNode() { result = cfn } + override ControlFlowNodes::ElementNode getControlFlowNode() { result = cfn } override DataFlow::ExprNode getNode() { result.getControlFlowNode() = cfn } @@ -495,7 +498,7 @@ class SummaryCall extends DelegateDataFlowCall, TSummaryCall { none() // handled by the shared library } - override ControlFlow::Nodes::ElementNode getControlFlowNode() { none() } + override ControlFlowNodes::ElementNode getControlFlowNode() { none() } override DataFlow::Node getNode() { none() } 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 ae530b2d451..5b3bf5f2dae 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll @@ -41,13 +41,13 @@ predicate isArgumentNode(ArgumentNode arg, DataFlowCall c, ArgumentPosition pos) * Gets a control flow node used for data flow purposes for the primary constructor * parameter access `pa`. */ -private ControlFlow::Node getAPrimaryConstructorParameterCfn(ParameterAccess pa) { +private ControlFlowNode getAPrimaryConstructorParameterCfn(ParameterAccess pa) { pa.getTarget().getCallable() instanceof PrimaryConstructor and ( - result = pa.(ParameterRead).getAControlFlowNode() + result = pa.(ParameterRead).getControlFlowNode() or pa = - any(AssignableDefinition def | result = def.getExpr().getAControlFlowNode()).getTargetAccess() + any(AssignableDefinition def | result = def.getExpr().getControlFlowNode()).getTargetAccess() ) } @@ -72,7 +72,7 @@ abstract class NodeImpl extends Node { /** Do not call: use `getControlFlowNode()` instead. */ cached - abstract ControlFlow::Node getControlFlowNodeImpl(); + abstract ControlFlowNode getControlFlowNodeImpl(); /** Do not call: use `getLocation()` instead. */ cached @@ -83,22 +83,9 @@ abstract class NodeImpl extends Node { abstract string toStringImpl(); } -// TODO: Remove once static initializers are folded into the -// static constructors -private DataFlowCallable getEnclosingStaticFieldOrProperty(Expr e) { - result.asFieldOrProperty() = - any(FieldOrProperty f | - f.isStatic() and - e = f.getAChild+() and - not exists(e.getEnclosingCallable()) - ) -} - private class ExprNodeImpl extends ExprNode, NodeImpl { override DataFlowCallable getEnclosingCallableImpl() { result.getAControlFlowNode() = this.getControlFlowNodeImpl() - or - result = getEnclosingStaticFieldOrProperty(this.asExpr()) } override Type getTypeImpl() { @@ -106,7 +93,7 @@ private class ExprNodeImpl extends ExprNode, NodeImpl { result = this.getExpr().getType() } - override ControlFlow::Nodes::ElementNode getControlFlowNodeImpl() { + override ControlFlowNodes::ElementNode getControlFlowNodeImpl() { forceCachingInSameStage() and this = TExprNode(result) } @@ -127,13 +114,13 @@ private class ExprNodeImpl extends ExprNode, NodeImpl { * as if they were lambdas. */ abstract private class LocalFunctionCreationNode extends NodeImpl, TLocalFunctionCreationNode { - ControlFlow::Nodes::ElementNode cfn; + ControlFlowNodes::ElementNode cfn; LocalFunction function; boolean isPostUpdate; LocalFunctionCreationNode() { this = TLocalFunctionCreationNode(cfn, isPostUpdate) and - function = cfn.getAstNode().(LocalFunctionStmt).getLocalFunction() + function = cfn.asStmt().(LocalFunctionStmt).getLocalFunction() } LocalFunction getFunction() { result = function } @@ -151,9 +138,9 @@ abstract private class LocalFunctionCreationNode extends NodeImpl, TLocalFunctio override DataFlowType getDataFlowType() { result.asDelegate() = function } - override ControlFlow::Nodes::ElementNode getControlFlowNodeImpl() { none() } + override ControlFlowNodes::ElementNode getControlFlowNodeImpl() { none() } - ControlFlow::Nodes::ElementNode getUnderlyingControlFlowNode() { result = cfn } + ControlFlowNodes::ElementNode getUnderlyingControlFlowNode() { result = cfn } override Location getLocationImpl() { result = cfn.getLocation() } } @@ -166,13 +153,11 @@ private class LocalFunctionCreationPreNode extends LocalFunctionCreationNode { /** Calculation of the relative order in which `this` references are read. */ private module ThisFlow { - private class BasicBlock = ControlFlow::BasicBlock; - /** Holds if `e` is a `this` access. */ predicate thisAccessExpr(Expr e) { e instanceof ThisAccess or e instanceof BaseAccess } /** Holds if `n` is a `this` access at control flow node `cfn`. */ - private predicate thisAccess(Node n, ControlFlow::Node cfn) { + private predicate thisAccess(Node n, ControlFlowNode cfn) { thisAccessExpr(n.asExprAtNode(cfn)) or cfn = n.(InstanceParameterAccessPreNode).getUnderlyingControlFlowNode() @@ -181,7 +166,7 @@ private module ThisFlow { private predicate primaryConstructorThisAccess(Node n, BasicBlock bb, int ppos) { exists(Parameter p | n.(PrimaryConstructorThisAccessPreNode).getParameter() = p and - bb.getCallable() = p.getCallable() and + bb.getEnclosingCallable() = p.getCallable() and ppos = p.getPosition() ) } @@ -198,9 +183,9 @@ private module ThisFlow { i = ppos - numberOfPrimaryConstructorParameters(bb) ) or - exists(DataFlowCallable c, ControlFlow::BasicBlocks::EntryBlock entry | + exists(DataFlowCallable c, EntryBasicBlock entry | n.(InstanceParameterNode).isParameterOf(c, _) and - exists(ControlFlow::Node succ | + exists(ControlFlowNode succ | succ = c.getAControlFlowNode() and succ = entry.getFirstNode().getASuccessor() and // In case `c` has multiple bodies, we want each body to gets its own implicit @@ -261,9 +246,8 @@ private module ThisFlow { /** Provides logic related to captured variables. */ module VariableCapture { private import codeql.dataflow.VariableCapture as Shared - private import semmle.code.csharp.controlflow.BasicBlocks as BasicBlocks - private predicate closureFlowStep(ControlFlow::Nodes::ExprNode e1, ControlFlow::Nodes::ExprNode e2) { + private predicate closureFlowStep(ControlFlowNodes::ExprNode e1, ControlFlowNodes::ExprNode e2) { e1.getExpr() = LocalFlow::getALastEvalNode(e2.getExpr()) or exists(Ssa::Definition def, AssignableDefinition adef | @@ -273,21 +257,19 @@ module VariableCapture { ) } - private module CaptureInput implements Shared::InputSig { + private module CaptureInput implements Shared::InputSig { private import csharp as CS private import semmle.code.csharp.controlflow.ControlFlowGraph as Cfg private import TaintTrackingPrivate as TaintTrackingPrivate - Callable basicBlockGetEnclosingCallable(BasicBlocks::BasicBlock bb) { - result = bb.getCallable() - } + Callable basicBlockGetEnclosingCallable(BasicBlock bb) { result = bb.getEnclosingCallable() } - private predicate thisAccess(ControlFlow::Node cfn, InstanceCallable c) { - ThisFlow::thisAccessExpr(cfn.getAstNode()) and + private predicate thisAccess(ControlFlowNode cfn, InstanceCallable c) { + ThisFlow::thisAccessExpr(cfn.asExpr()) and cfn.getEnclosingCallable().getEnclosingCallable*() = c } - private predicate capturedThisAccess(ControlFlow::Node cfn, InstanceCallable c) { + private predicate capturedThisAccess(ControlFlowNode cfn, InstanceCallable c) { thisAccess(cfn, c) and cfn.getEnclosingCallable() != c } @@ -347,8 +329,8 @@ module VariableCapture { } } - class Expr extends ControlFlow::Node { - predicate hasCfgNode(BasicBlocks::BasicBlock bb, int i) { this = bb.getNode(i) } + class Expr extends ControlFlowNode { + predicate hasCfgNode(BasicBlock bb, int i) { this = bb.getNode(i) } } class VariableWrite extends Expr { @@ -357,10 +339,10 @@ module VariableCapture { VariableWrite() { def.getTarget() = v.asLocalScopeVariable() and - this = def.getExpr().getAControlFlowNode() + this = def.getExpr().getControlFlowNode() } - ControlFlow::Node getRhs() { LocalFlow::defAssigns(def, this, _, result) } + ControlFlowNode getRhs() { LocalFlow::defAssigns(def, this, _, result) } CapturedVariable getVariable() { result = v } } @@ -369,7 +351,7 @@ module VariableCapture { CapturedVariable v; VariableRead() { - this.getAstNode().(AssignableRead).getTarget() = v.asLocalScopeVariable() + this.asExpr().(AssignableRead).getTarget() = v.asLocalScopeVariable() or thisAccess(this, v.asThis()) } @@ -380,14 +362,16 @@ module VariableCapture { class ClosureExpr extends Expr { Callable c; - ClosureExpr() { lambdaCreationExpr(this.getAstNode(), c) } + ClosureExpr() { + lambdaCreationExpr(any(ControlFlowElement e | e.getControlFlowNode() = this), c) + } predicate hasBody(Callable body) { body = c } predicate hasAliasedAccess(Expr f) { closureFlowStep+(this, f) and not closureFlowStep(f, _) or - isLocalFunctionCallReceiver(_, f.getAstNode(), c) + isLocalFunctionCallReceiver(_, f.asExpr(), c) } } @@ -400,7 +384,7 @@ module VariableCapture { class ClosureExpr = CaptureInput::ClosureExpr; - module Flow = Shared::Flow; + module Flow = Shared::Flow; private Flow::ClosureNode asClosureNode(Node n) { result = n.(CaptureNode).getSynthesizedCaptureNode() @@ -564,15 +548,15 @@ module LocalFlow { } predicate defAssigns( - AssignableDefinition def, ControlFlow::Node cfnDef, Expr value, ControlFlow::Node valueCfn + AssignableDefinition def, ControlFlowNode cfnDef, Expr value, ControlFlowNode valueCfn ) { def.getSource() = value and valueCfn = value.getControlFlowNode() and - cfnDef = def.getExpr().getAControlFlowNode() + cfnDef = def.getExpr().getControlFlowNode() } private predicate defAssigns(ExprNode value, AssignableDefinitionNode defNode) { - exists(ControlFlow::Node cfn, AssignableDefinition def, ControlFlow::Node cfnDef | + exists(ControlFlowNode cfn, AssignableDefinition def, ControlFlowNode cfnDef | defAssigns(def, cfnDef, value.getExpr(), _) and cfn = value.getControlFlowNode() and defNode = TAssignableDefinitionNode(def, cfnDef) @@ -596,7 +580,7 @@ module LocalFlow { or ThisFlow::adjacentThisRefs(nodeFrom.(PostUpdateNode).getPreUpdateNode(), nodeTo) or - exists(AssignableDefinition def, ControlFlow::Node cfn, Ssa::ExplicitDefinition ssaDef | + exists(AssignableDefinition def, ControlFlowNode cfn, Ssa::ExplicitDefinition ssaDef | ssaDef.getADefinition() = def and ssaDef.getControlFlowNode() = cfn and nodeFrom = TAssignableDefinitionNode(def, cfn) and @@ -764,6 +748,7 @@ private class Argument extends Expr { * * `postUpdate` indicates whether the store targets a post-update node. */ +pragma[nomagic] private predicate fieldOrPropertyStore(ContentSet c, Expr src, Expr q, boolean postUpdate) { exists(FieldOrProperty f | c = f.getContentSet() and @@ -811,9 +796,9 @@ private predicate fieldOrPropertyStore(ContentSet c, Expr src, Expr q, boolean p // Tuple element, `(..., src, ...)` `f` is `ItemX` of tuple `q` exists(TupleExpr te, int i | te = q and - src = te.getArgument(i) and + src = te.getArgument(pragma[only_bind_into](i)) and te.isConstruction() and - f = q.getType().(TupleType).getElement(i) and + f = q.getType().(TupleType).getElement(pragma[only_bind_into](i)) and postUpdate = false ) ) @@ -1024,10 +1009,10 @@ private module Cached { cached newtype TNode = - TExprNode(ControlFlow::Nodes::ElementNode cfn) { cfn.getAstNode() instanceof Expr } or + TExprNode(ControlFlowNodes::ElementNode cfn) { exists(cfn.asExpr()) } or TSsaNode(SsaImpl::DataFlowIntegration::SsaNode node) or - TAssignableDefinitionNode(AssignableDefinition def, ControlFlow::Node cfn) { - cfn = def.getExpr().getAControlFlowNode() + TAssignableDefinitionNode(AssignableDefinition def, ControlFlowNode cfn) { + cfn = def.getExpr().getControlFlowNode() } or TExplicitParameterNode(Parameter p, DataFlowCallable c) { p = c.asCallable(_).(CallableUsedInSource).getAParameter() @@ -1038,20 +1023,20 @@ private module Cached { l = c.getARelevantLocation() } or TDelegateSelfReferenceNode(Callable c) { lambdaCreationExpr(_, c) } or - TLocalFunctionCreationNode(ControlFlow::Nodes::ElementNode cfn, Boolean isPostUpdate) { - cfn.getAstNode() instanceof LocalFunctionStmt + TLocalFunctionCreationNode(ControlFlowNodes::ElementNode cfn, Boolean isPostUpdate) { + cfn.asStmt() instanceof LocalFunctionStmt } or - TYieldReturnNode(ControlFlow::Nodes::ElementNode cfn) { - any(Callable c).canYieldReturn(cfn.getAstNode()) + TYieldReturnNode(ControlFlowNodes::ElementNode cfn) { + any(Callable c).canYieldReturn(cfn.asExpr()) } or - TAsyncReturnNode(ControlFlow::Nodes::ElementNode cfn) { - any(Callable c | c.(Modifiable).isAsync()).canReturn(cfn.getAstNode()) + TAsyncReturnNode(ControlFlowNodes::ElementNode cfn) { + any(Callable c | c.(Modifiable).isAsync()).canReturn(cfn.asExpr()) } or - TMallocNode(ControlFlow::Nodes::ElementNode cfn) { cfn.getAstNode() instanceof ObjectCreation } or - TObjectInitializerNode(ControlFlow::Nodes::ElementNode cfn) { - cfn.getAstNode().(ObjectCreation).hasInitializer() + TMallocNode(ControlFlowNodes::ElementNode cfn) { cfn.asExpr() instanceof ObjectCreation } or + TObjectInitializerNode(ControlFlowNodes::ElementNode cfn) { + cfn.asExpr().(ObjectCreation).hasInitializer() } or - TExprPostUpdateNode(ControlFlow::Nodes::ExprNode cfn) { + TExprPostUpdateNode(ControlFlowNodes::ExprNode cfn) { ( cfn.getExpr() instanceof Argument or @@ -1070,7 +1055,7 @@ private module Cached { // needed for reverse stores; e.g. `x.f1.f2 = y` induces // a store step of `f1` into `x` exists(TExprPostUpdateNode upd, Expr read | - upd = TExprPostUpdateNode(read.getAControlFlowNode()) + upd = TExprPostUpdateNode(read.getControlFlowNode()) | fieldOrPropertyRead(e, _, read) or @@ -1085,12 +1070,12 @@ private module Cached { TFlowSummaryNode(FlowSummaryImpl::Private::SummaryNode sn) { sn.getSummarizedCallable() instanceof CallableUsedInSource } or - TParamsArgumentNode(ControlFlow::Node callCfn) { - callCfn = any(Call c | isParamsArg(c, _, _)).getAControlFlowNode() + TParamsArgumentNode(ControlFlowNode callCfn) { + callCfn = any(Call c | isParamsArg(c, _, _)).getControlFlowNode() } or TFlowInsensitiveFieldNode(FieldOrPropertyUsedInSource f) { f.isFieldLike() } or TFlowInsensitiveCapturedVariableNode(LocalScopeVariable v) { v.isCaptured() } or - TInstanceParameterAccessNode(ControlFlow::Node cfn, Boolean isPostUpdate) { + TInstanceParameterAccessNode(ControlFlowNode cfn, Boolean isPostUpdate) { cfn = getAPrimaryConstructorParameterCfn(_) } or TPrimaryConstructorThisAccessNode(Parameter p, Boolean isPostUpdate, DataFlowCallable c) { @@ -1228,12 +1213,12 @@ class SsaNode extends NodeImpl, TSsaNode { SsaNode() { this = TSsaNode(node) } override DataFlowCallable getEnclosingCallableImpl() { - result.getAControlFlowNode().getBasicBlock() = node.getBasicBlock() + result.getABasicBlock() = node.getBasicBlock() } override Type getTypeImpl() { result = node.getSourceVariable().getType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = node.getLocation() } @@ -1246,7 +1231,7 @@ class SsaDefinitionNode extends SsaNode { Ssa::Definition getDefinition() { result = node.getDefinition() } - override ControlFlow::Node getControlFlowNodeImpl() { + override ControlFlowNode getControlFlowNodeImpl() { result = this.getDefinition().getControlFlowNode() } } @@ -1254,7 +1239,7 @@ class SsaDefinitionNode extends SsaNode { /** A definition, viewed as a node in a data flow graph. */ class AssignableDefinitionNodeImpl extends NodeImpl, TAssignableDefinitionNode { private AssignableDefinition def; - private ControlFlow::Node cfn_; + private ControlFlowNode cfn_; AssignableDefinitionNodeImpl() { this = TAssignableDefinitionNode(def, cfn_) } @@ -1262,7 +1247,7 @@ class AssignableDefinitionNodeImpl extends NodeImpl, TAssignableDefinitionNode { AssignableDefinition getDefinition() { result = def } /** Gets the underlying definition, at control flow node `cfn`, if any. */ - AssignableDefinition getDefinitionAtNode(ControlFlow::Node cfn) { + AssignableDefinition getDefinitionAtNode(ControlFlowNode cfn) { result = def and cfn = cfn_ } @@ -1271,7 +1256,7 @@ class AssignableDefinitionNodeImpl extends NodeImpl, TAssignableDefinitionNode { override Type getTypeImpl() { result = def.getTarget().getType() } - override ControlFlow::Node getControlFlowNodeImpl() { result = cfn_ } + override ControlFlowNode getControlFlowNodeImpl() { result = cfn_ } override Location getLocationImpl() { result = def.getTargetAccess().getLocation() @@ -1374,7 +1359,7 @@ private module ParameterNodes { override Type getTypeImpl() { result = parameter.getType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = this.getParameterLocation(_) } @@ -1399,7 +1384,7 @@ private module ParameterNodes { override Type getTypeImpl() { result = callable.getDeclaringType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = location } @@ -1424,7 +1409,7 @@ private module ParameterNodes { callable = c.asCallable(_) and pos.isDelegateSelf() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override DataFlowCallable getEnclosingCallableImpl() { result.asCallable(_) = callable } @@ -1508,7 +1493,7 @@ private module ArgumentNodes { * the constructor has run. */ class MallocNode extends ArgumentNodeImpl, NodeImpl, TMallocNode { - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; MallocNode() { this = TMallocNode(cfn) } @@ -1517,15 +1502,11 @@ private module ArgumentNodes { pos.isQualifier() } - override ControlFlow::Node getControlFlowNodeImpl() { result = cfn } + override ControlFlowNode getControlFlowNodeImpl() { result = cfn } - override DataFlowCallable getEnclosingCallableImpl() { - result.getAControlFlowNode() = cfn - or - result = getEnclosingStaticFieldOrProperty(cfn.getAstNode()) - } + override DataFlowCallable getEnclosingCallableImpl() { result.getAControlFlowNode() = cfn } - override Type getTypeImpl() { result = cfn.getAstNode().(Expr).getType() } + override Type getTypeImpl() { result = cfn.asExpr().getType() } override Location getLocationImpl() { result = cfn.getLocation() } @@ -1547,12 +1528,12 @@ private module ArgumentNodes { * `Foo(new[] { "a", "b", "c" })`. */ class ParamsArgumentNode extends ArgumentNodeImpl, NodeImpl, TParamsArgumentNode { - private ControlFlow::Node callCfn; + private ControlFlowNode callCfn; ParamsArgumentNode() { this = TParamsArgumentNode(callCfn) } private Parameter getParameter() { - callCfn = any(Call c | isParamsArg(c, _, result)).getAControlFlowNode() + callCfn = any(Call c | isParamsArg(c, _, result)).getControlFlowNode() } override predicate argumentOf(DataFlowCall call, ArgumentPosition pos) { @@ -1560,15 +1541,11 @@ private module ArgumentNodes { pos.getPosition() = this.getParameter().getPosition() } - override DataFlowCallable getEnclosingCallableImpl() { - result.getAControlFlowNode() = callCfn - or - result = getEnclosingStaticFieldOrProperty(callCfn.getAstNode()) - } + override DataFlowCallable getEnclosingCallableImpl() { result.getAControlFlowNode() = callCfn } override Type getTypeImpl() { result = this.getParameter().getType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = callCfn.getLocation() } @@ -1639,10 +1616,10 @@ private module ReturnNodes { * to `yield return e [e]`. */ class YieldReturnNode extends ReturnNode, NodeImpl, TYieldReturnNode { - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; private YieldReturnStmt yrs; - YieldReturnNode() { this = TYieldReturnNode(cfn) and yrs.getExpr().getAControlFlowNode() = cfn } + YieldReturnNode() { this = TYieldReturnNode(cfn) and yrs.getExpr().getControlFlowNode() = cfn } YieldReturnStmt getYieldReturnStmt() { result = yrs } @@ -1652,7 +1629,7 @@ private module ReturnNodes { override Type getTypeImpl() { result = yrs.getEnclosingCallable().getReturnType() } - override ControlFlow::Node getControlFlowNodeImpl() { result = cfn } + override ControlFlowNode getControlFlowNodeImpl() { result = cfn } override Location getLocationImpl() { result = yrs.getLocation() } @@ -1663,10 +1640,10 @@ private module ReturnNodes { * A synthesized `return` node for returned expressions inside `async` methods. */ class AsyncReturnNode extends ReturnNode, NodeImpl, TAsyncReturnNode { - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; private Expr expr; - AsyncReturnNode() { this = TAsyncReturnNode(cfn) and expr = cfn.getAstNode() } + AsyncReturnNode() { this = TAsyncReturnNode(cfn) and expr = cfn.asExpr() } Expr getExpr() { result = expr } @@ -1676,7 +1653,7 @@ private module ReturnNodes { override Type getTypeImpl() { result = expr.getEnclosingCallable().getReturnType() } - override ControlFlow::Node getControlFlowNodeImpl() { result = cfn } + override ControlFlowNode getControlFlowNodeImpl() { result = cfn } override Location getLocationImpl() { result = expr.getLocation() } @@ -1728,7 +1705,7 @@ private module OutNodes { private import semmle.code.csharp.frameworks.system.Collections private import semmle.code.csharp.frameworks.system.collections.Generic - private DataFlowCall csharpCall(Expr e, ControlFlow::Node cfn) { + private DataFlowCall csharpCall(Expr e, ControlFlowNode cfn) { e = any(DispatchCall dc | result = TNonDelegateCall(cfn, dc)).getCall() or result = TExplicitDelegateLikeCall(cfn, e) } @@ -1758,7 +1735,7 @@ private module OutNodes { */ class ParamOutNode extends OutNode, AssignableDefinitionNode { private AssignableDefinitions::OutRefDefinition outRefDef; - private ControlFlow::Node cfn; + private ControlFlowNode cfn; ParamOutNode() { outRefDef = this.getDefinitionAtNode(cfn) } @@ -1803,7 +1780,7 @@ class FlowSummaryNode extends NodeImpl, TFlowSummaryNode { override Type getTypeImpl() { none() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = this.getSummarizedCallable().getLocation() } @@ -1827,7 +1804,7 @@ class FlowSummaryNode extends NodeImpl, TFlowSummaryNode { * all of which are represented by an `InstanceParameterAccessNode` node. */ abstract private class InstanceParameterAccessNode extends NodeImpl, TInstanceParameterAccessNode { - ControlFlow::Node cfn; + ControlFlowNode cfn; boolean isPostUpdate; Parameter p; @@ -1840,14 +1817,14 @@ abstract private class InstanceParameterAccessNode extends NodeImpl, TInstancePa override Type getTypeImpl() { result = cfn.getEnclosingCallable().getDeclaringType() } - override ControlFlow::Nodes::ElementNode getControlFlowNodeImpl() { none() } + override ControlFlowNodes::ElementNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = cfn.getLocation() } /** * Gets the underlying control flow node. */ - ControlFlow::Node getUnderlyingControlFlowNode() { result = cfn } + ControlFlowNode getUnderlyingControlFlowNode() { result = cfn } /** * Gets the primary constructor parameter that this is a this access to. @@ -1889,7 +1866,7 @@ abstract private class PrimaryConstructorThisAccessNode extends NodeImpl, override Type getTypeImpl() { result = p.getCallable().getDeclaringType() } - override ControlFlow::Nodes::ElementNode getControlFlowNodeImpl() { none() } + override ControlFlowNodes::ElementNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { NearestLocation::nearestLocation(p, @@ -1927,7 +1904,7 @@ class CaptureNode extends NodeImpl, TCaptureNode { VariableCapture::Flow::SynthesizedCaptureNode getSynthesizedCaptureNode() { result = cn } override DataFlowCallable getEnclosingCallableImpl() { - result.getAControlFlowNode().getBasicBlock() = cn.getBasicBlock() + result.getABasicBlock() = cn.getBasicBlock() } override Type getTypeImpl() { @@ -1940,7 +1917,7 @@ class CaptureNode extends NodeImpl, TCaptureNode { else result = super.getDataFlowType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = cn.getLocation() } @@ -2051,7 +2028,7 @@ class FlowInsensitiveFieldNode extends NodeImpl, TFlowInsensitiveFieldNode { override Type getTypeImpl() { result = f.getType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = f.getLocation() } @@ -2075,7 +2052,7 @@ class FlowInsensitiveCapturedVariableNode extends NodeImpl, TFlowInsensitiveCapt override Type getTypeImpl() { result = v.getType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = v.getLocation() } @@ -2118,7 +2095,7 @@ private ContentSet getResultContent() { private predicate primaryConstructorParameterStore( AssignableDefinitionNode node1, PrimaryConstructorParameterContent c, Node node2 ) { - exists(AssignableDefinition def, ControlFlow::Node cfn, Parameter p | + exists(AssignableDefinition def, ControlFlowNode cfn, Parameter p | node1 = TAssignableDefinitionNode(def, cfn) and p = def.getTarget() and node2 = TInstanceParameterAccessNode(cfn, true) and @@ -2361,7 +2338,7 @@ predicate expectsContent(Node n, ContentSet c) { n.asExpr() instanceof SpreadElementExpr and c.isElement() } -class NodeRegion instanceof ControlFlow::BasicBlock { +class NodeRegion instanceof BasicBlock { string toString() { result = "NodeRegion" } predicate contains(Node n) { this = n.getControlFlowNode().getBasicBlock() } @@ -2427,10 +2404,10 @@ DataFlowType getNodeType(Node n) { not lambdaCreation(n, _, _) and not isLocalFunctionCallReceiver(_, n.asExpr(), _) or - [ - n.asExpr().(ControlFlowElement), - n.(LocalFunctionCreationPreNode).getUnderlyingControlFlowNode().getAstNode() - ] = result.getADelegateCreation() + n.asExpr() = result.getADelegateCreation() + or + n.(LocalFunctionCreationPreNode).getUnderlyingControlFlowNode() = + result.getADelegateCreation().getControlFlowNode() } private class DataFlowNullType extends Gvn::GvnType { @@ -2557,10 +2534,10 @@ module PostUpdateNodes { class ObjectCreationNode extends SourcePostUpdateNode, ExprNode, TExprNode { private ObjectCreation oc; - ObjectCreationNode() { this = TExprNode(oc.getAControlFlowNode()) } + ObjectCreationNode() { this = TExprNode(oc.getControlFlowNode()) } override Node getPreUpdateSourceNode() { - exists(ControlFlow::Nodes::ElementNode cfn | this = TExprNode(cfn) | + exists(ControlFlowNodes::ElementNode cfn | this = TExprNode(cfn) | result = TObjectInitializerNode(cfn) or not oc.hasInitializer() and @@ -2580,11 +2557,11 @@ module PostUpdateNodes { TObjectInitializerNode { private ObjectCreation oc; - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; ObjectInitializerNode() { this = TObjectInitializerNode(cfn) and - cfn = oc.getAControlFlowNode() + cfn = oc.getControlFlowNode() } /** Gets the initializer to which this initializer node belongs. */ @@ -2603,15 +2580,11 @@ module PostUpdateNodes { ) } - override DataFlowCallable getEnclosingCallableImpl() { - result.getAControlFlowNode() = cfn - or - result = getEnclosingStaticFieldOrProperty(oc) - } + override DataFlowCallable getEnclosingCallableImpl() { result.getAControlFlowNode() = cfn } override Type getTypeImpl() { result = oc.getType() } - override ControlFlow::Nodes::ElementNode getControlFlowNodeImpl() { result = cfn } + override ControlFlowNodes::ElementNode getControlFlowNodeImpl() { result = cfn } override Location getLocationImpl() { result = cfn.getLocation() } @@ -2619,21 +2592,17 @@ module PostUpdateNodes { } class ExprPostUpdateNode extends SourcePostUpdateNode, NodeImpl, TExprPostUpdateNode { - private ControlFlow::Nodes::ElementNode cfn; + private ControlFlowNodes::ElementNode cfn; ExprPostUpdateNode() { this = TExprPostUpdateNode(cfn) } override ExprNode getPreUpdateSourceNode() { result = TExprNode(cfn) } - override DataFlowCallable getEnclosingCallableImpl() { - result.getAControlFlowNode() = cfn - or - result = getEnclosingStaticFieldOrProperty(cfn.getAstNode()) - } + override DataFlowCallable getEnclosingCallableImpl() { result.getAControlFlowNode() = cfn } - override Type getTypeImpl() { result = cfn.getAstNode().(Expr).getType() } + override Type getTypeImpl() { result = cfn.asExpr().getType() } - override ControlFlow::Node getControlFlowNodeImpl() { none() } + override ControlFlowNode getControlFlowNodeImpl() { none() } override Location getLocationImpl() { result = cfn.getLocation() } @@ -2762,7 +2731,7 @@ private predicate isLocalFunctionCallReceiver( f = receiver.getTarget().getUnboundDeclaration() } -private predicate lambdaCallExpr(DataFlowCall call, Expr receiver, ControlFlow::Node receiverCfn) { +private predicate lambdaCallExpr(DataFlowCall call, Expr receiver, ControlFlowNode receiverCfn) { exists(DelegateLikeCall dc | call.(ExplicitDelegateLikeDataFlowCall).getCall() = dc and receiver = dc.getExpr() and @@ -2783,7 +2752,7 @@ predicate lambdaCall(DataFlowCall call, LambdaCallKind kind, Node receiver) { ( lambdaCallExpr(call, receiver.asExpr(), _) and // local function calls can be resolved directly without a flow analysis - not call.getControlFlowNode().getAstNode() instanceof LocalFunctionCall + not call.getControlFlowNode().asExpr() instanceof LocalFunctionCall or receiver.(FlowSummaryNode).getSummaryNode() = call.(SummaryCall).getReceiver() ) and diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll index f4d24fdb510..7919b38de3f 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll @@ -17,7 +17,7 @@ class Node extends TNode { * Gets the expression corresponding to this node, at control flow node `cfn`, * if any. */ - Expr asExprAtNode(ControlFlow::Nodes::ElementNode cfn) { + Expr asExprAtNode(ControlFlowNodes::ElementNode cfn) { result = this.(ExprNode).getExprAtNode(cfn) } @@ -31,7 +31,7 @@ class Node extends TNode { * Gets the definition corresponding to this node, at control flow node `cfn`, * if any. */ - AssignableDefinition asDefinitionAtNode(ControlFlow::Node cfn) { + AssignableDefinition asDefinitionAtNode(ControlFlowNode cfn) { result = this.(AssignableDefinitionNode).getDefinitionAtNode(cfn) } @@ -44,7 +44,7 @@ class Node extends TNode { } /** Gets the control flow node corresponding to this node, if any. */ - final ControlFlow::Node getControlFlowNode() { result = this.(NodeImpl).getControlFlowNodeImpl() } + final ControlFlowNode getControlFlowNode() { result = this.(NodeImpl).getControlFlowNodeImpl() } /** Gets a textual representation of this node. */ final string toString() { result = this.(NodeImpl).toStringImpl() } @@ -71,7 +71,7 @@ class Node extends TNode { * * Note that because of control-flow splitting, one `Expr` may correspond * to multiple `ExprNode`s, just like it may correspond to multiple - * `ControlFlow::Node`s. + * `ControlFlowNode`s. */ class ExprNode extends Node, TExprNode { /** Gets the expression corresponding to this node. */ @@ -81,9 +81,9 @@ class ExprNode extends Node, TExprNode { * Gets the expression corresponding to this node, at control flow node `cfn`, * if any. */ - Expr getExprAtNode(ControlFlow::Nodes::ElementNode cfn) { + Expr getExprAtNode(ControlFlowNodes::ElementNode cfn) { this = TExprNode(cfn) and - result = cfn.getAstNode() + result = cfn.asExpr() } } @@ -113,7 +113,7 @@ class AssignableDefinitionNode extends Node instanceof AssignableDefinitionNodeI AssignableDefinition getDefinition() { result = super.getDefinition() } /** Gets the underlying definition, at control flow node `cfn`, if any. */ - AssignableDefinition getDefinitionAtNode(ControlFlow::Node cfn) { + AssignableDefinition getDefinitionAtNode(ControlFlowNode cfn) { result = super.getDefinitionAtNode(cfn) } } @@ -133,12 +133,14 @@ AssignableDefinitionNode assignableDefinitionNode(AssignableDefinition def) { predicate localFlowStep = localFlowStepImpl/2; +private predicate localFlowStepPlus(Node source, Node sink) = fastTC(localFlowStep/2)(source, sink) + /** * Holds if data flows from `source` to `sink` in zero or more local * (intra-procedural) steps. */ pragma[inline] -predicate localFlow(Node source, Node sink) { localFlowStep*(source, sink) } +predicate localFlow(Node source, Node sink) { localFlowStepPlus(source, sink) or source = sink } /** * Holds if data can flow from `e1` to `e2` in zero or more diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll index 83593a5df36..6e933c6a8e0 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll @@ -5,11 +5,10 @@ import csharp private import codeql.ssa.Ssa as SsaImplCommon private import AssignableDefinitions -private import semmle.code.csharp.controlflow.BasicBlocks as BasicBlocks private import semmle.code.csharp.controlflow.Guards as Guards private import semmle.code.csharp.dataflow.internal.BaseSSA -private module SsaInput implements SsaImplCommon::InputSig { +private module SsaInput implements SsaImplCommon::InputSig { class SourceVariable = Ssa::SourceVariable; /** @@ -18,7 +17,7 @@ private module SsaInput implements SsaImplCommon::InputSig as Impl +import SsaImplCommon::Make as Impl class Definition = Impl::Definition; @@ -56,8 +55,8 @@ module Consistency = Impl::Consistency; /** * Holds if the `i`th node of basic block `bb` reads source variable `v`. */ -private predicate variableReadActual(ControlFlow::BasicBlock bb, int i, Ssa::SourceVariable v) { - v.getAnAccess().(AssignableRead) = bb.getNode(i).getAstNode() +private predicate variableReadActual(BasicBlock bb, int i, Ssa::SourceVariable v) { + v.getAnAccess().(AssignableRead) = bb.getNode(i).asExpr() } private module SourceVariableImpl { @@ -125,11 +124,9 @@ private module SourceVariableImpl { * Holds if the `i`th node of basic block `bb` is assignable definition `ad` * targeting source variable `v`. */ - predicate variableDefinition( - ControlFlow::BasicBlock bb, int i, Ssa::SourceVariable v, AssignableDefinition ad - ) { + predicate variableDefinition(BasicBlock bb, int i, Ssa::SourceVariable v, AssignableDefinition ad) { ad = v.getADefinition() and - ad.getExpr().getAControlFlowNode() = bb.getNode(i) and + ad.getExpr().getControlFlowNode() = bb.getNode(i) and // In cases like `(x, x) = (0, 1)`, we discard the first (dead) definition of `x` not exists(TupleAssignmentDefinition first, TupleAssignmentDefinition second | first = ad | second.getAssignment() = first.getAssignment() and @@ -159,9 +156,7 @@ private module SourceVariableImpl { * * This excludes implicit writes via calls. */ - predicate variableWriteDirect( - ControlFlow::BasicBlock bb, int i, Ssa::SourceVariable v, boolean certain - ) { + predicate variableWriteDirect(BasicBlock bb, int i, Ssa::SourceVariable v, boolean certain) { exists(AssignableDefinition ad | variableDefinition(bb, i, v, ad) | if any(AssignableDefinition ad0 | ad0 = ad or ad0 = getASameOutRefDefAfter(v, ad)).isCertain() then certain = true @@ -186,13 +181,12 @@ private module SourceVariableImpl { * } * ``` */ - predicate outRefExitRead(ControlFlow::BasicBlock bb, int i, LocalScopeSourceVariable v) { - exists(ControlFlow::Nodes::AnnotatedExitNode exit | - exit.isNormal() and + predicate outRefExitRead(BasicBlock bb, int i, LocalScopeSourceVariable v) { + exists(ControlFlow::NormalExitNode exit | exists(LocalScopeVariable lsv | lsv = v.getAssignable() and bb.getNode(i) = exit and - exit.getCallable() = lsv.getCallable() + exit.getEnclosingCallable() = lsv.getCallable() | lsv.(Parameter).isOutOrRef() or @@ -218,12 +212,12 @@ private module SourceVariableImpl { * The pseudo read is inserted at the CFG node `i` on the left-hand side of the * assignment on line 3. */ - predicate refReadBeforeWrite(ControlFlow::BasicBlock bb, int i, LocalScopeSourceVariable v) { + predicate refReadBeforeWrite(BasicBlock bb, int i, LocalScopeSourceVariable v) { exists(AssignableDefinitions::AssignmentDefinition def, LocalVariable lv | def.getTarget() = lv and lv.isRef() and lv = v.getAssignable() and - bb.getNode(i) = def.getExpr().getAControlFlowNode() and + bb.getNode(i) = def.getExpr().getControlFlowNode() and not def.getAssignment() instanceof LocalVariableDeclAndInitExpr ) } @@ -276,15 +270,17 @@ private module CallGraph { * * the constructor call `new Lazy(M2)` includes `M2` as a target. */ - Callable getARuntimeTarget(Call c, boolean libraryDelegateCall) { + Callable getARuntimeTarget(Call c, ControlFlowNode n, boolean libraryDelegateCall) { // Non-delegate call: use dispatch library exists(DispatchCall dc | dc.getCall() = c | + n = dc.getControlFlowNode() and result = dc.getADynamicTarget().getUnboundDeclaration() and libraryDelegateCall = false ) or // Delegate call: use simple analysis - result = SimpleDelegateAnalysis::getARuntimeDelegateTarget(c, libraryDelegateCall) + result = SimpleDelegateAnalysis::getARuntimeDelegateTarget(c, libraryDelegateCall) and + n = c.getControlFlowNode() } private module SimpleDelegateAnalysis { @@ -471,7 +467,7 @@ private module CallGraph { /** Holds if `(c1,c2)` is an edge in the call graph. */ predicate callEdge(Callable c1, Callable c2) { - exists(Call c | c.getEnclosingCallable() = c1 and c2 = getARuntimeTarget(c, _)) + exists(Call c | c.getEnclosingCallable() = c1 and c2 = getARuntimeTarget(c, _, _)) } } @@ -605,7 +601,7 @@ private module FieldOrPropsImpl { private predicate intraInstanceCallEdge(Callable c1, InstanceCallable c2) { exists(Call c | c.getEnclosingCallable() = c1 and - c2 = getARuntimeTarget(c, _) and + c2 = getARuntimeTarget(c, _, _) and c.(QualifiableExpr).targetIsLocalInstance() ) } @@ -620,9 +616,8 @@ private module FieldOrPropsImpl { } pragma[noinline] - predicate callAt(ControlFlow::BasicBlock bb, int i, Call call) { - bb.getNode(i) = call.getAControlFlowNode() and - getARuntimeTarget(call, _).hasBody() + predicate callAt(BasicBlock bb, int i, Call call) { + getARuntimeTarget(call, bb.getNode(i), _).hasBody() } /** @@ -630,9 +625,7 @@ private module FieldOrPropsImpl { * an update somewhere, and `fp` is likely to be live in `bb` at index * `i`. */ - predicate updateCandidate( - ControlFlow::BasicBlock bb, int i, FieldOrPropSourceVariable fp, Call call - ) { + predicate updateCandidate(BasicBlock bb, int i, FieldOrPropSourceVariable fp, Call call) { callAt(bb, i, call) and call.getEnclosingCallable() = fp.getEnclosingCallable() and relevantDefinition(_, fp.getAssignable(), _) and @@ -643,7 +636,7 @@ private module FieldOrPropsImpl { Call call, FieldOrPropSourceVariable fps, FieldOrProp fp, Callable c, boolean fresh ) { updateCandidate(_, _, fps, call) and - c = getARuntimeTarget(call, _) and + c = getARuntimeTarget(call, _, _) and fp = fps.getAssignable() and if c instanceof Constructor then fresh = true else fresh = false } @@ -714,71 +707,12 @@ private module FieldOrPropsImpl { } } -private predicate variableReadPseudo(ControlFlow::BasicBlock bb, int i, Ssa::SourceVariable v) { +private predicate variableReadPseudo(BasicBlock bb, int i, Ssa::SourceVariable v) { outRefExitRead(bb, i, v) or refReadBeforeWrite(bb, i, v) } -pragma[noinline] -deprecated private predicate adjacentDefRead( - Definition def, ControlFlow::BasicBlock bb1, int i1, ControlFlow::BasicBlock bb2, int i2, - SsaInput::SourceVariable v -) { - Impl::adjacentDefRead(def, bb1, i1, bb2, i2) and - v = def.getSourceVariable() -} - -deprecated private predicate adjacentDefReachesRead( - Definition def, SsaInput::SourceVariable v, ControlFlow::BasicBlock bb1, int i1, - ControlFlow::BasicBlock bb2, int i2 -) { - adjacentDefRead(def, bb1, i1, bb2, i2, v) and - ( - def.definesAt(v, bb1, i1) - or - SsaInput::variableRead(bb1, i1, v, true) - ) - or - exists(ControlFlow::BasicBlock bb3, int i3 | - adjacentDefReachesRead(def, v, bb1, i1, bb3, i3) and - SsaInput::variableRead(bb3, i3, _, false) and - Impl::adjacentDefRead(def, bb3, i3, bb2, i2) - ) -} - -deprecated private predicate adjacentDefReachesUncertainRead( - Definition def, ControlFlow::BasicBlock bb1, int i1, ControlFlow::BasicBlock bb2, int i2 -) { - exists(SsaInput::SourceVariable v | - adjacentDefReachesRead(def, v, bb1, i1, bb2, i2) and - SsaInput::variableRead(bb2, i2, v, false) - ) -} - -/** Same as `lastRefRedef`, but skips uncertain reads. */ -pragma[nomagic] -deprecated private predicate lastRefSkipUncertainReads( - Definition def, ControlFlow::BasicBlock bb, int i -) { - Impl::lastRef(def, bb, i) and - not SsaInput::variableRead(bb, i, def.getSourceVariable(), false) - or - exists(ControlFlow::BasicBlock bb0, int i0 | - Impl::lastRef(def, bb0, i0) and - adjacentDefReachesUncertainRead(def, bb, i, bb0, i0) - ) -} - -pragma[nomagic] -deprecated predicate lastReadSameVar(Definition def, ControlFlow::Node cfn) { - exists(ControlFlow::BasicBlock bb, int i | - lastRefSkipUncertainReads(def, bb, i) and - variableReadActual(bb, i, _) and - cfn = bb.getNode(i) - ) -} - cached private module Cached { cached @@ -818,9 +752,9 @@ private module Cached { } cached - predicate implicitEntryDefinition(ControlFlow::BasicBlock bb, Ssa::SourceVariable v) { - exists(ControlFlow::BasicBlocks::EntryBlock entry, Callable c | - c = entry.getCallable() and + predicate implicitEntryDefinition(BasicBlock bb, Ssa::SourceVariable v) { + exists(EntryBasicBlock entry, Callable c | + c = entry.getEnclosingCallable() and // In case `c` has multiple bodies, we want each body to get its own implicit // entry definition. In case `c` doesn't have multiple bodies, the line below // is simply the same as `bb = entry`, because `entry.getFirstNode().getASuccessor()` @@ -856,7 +790,7 @@ private module Cached { */ cached predicate updatesNamedFieldOrProp( - ControlFlow::BasicBlock bb, int i, Call c, FieldOrPropSourceVariable fp, Callable setter + BasicBlock bb, int i, Call c, FieldOrPropSourceVariable fp, Callable setter ) { FieldOrPropsImpl::updateCandidate(bb, i, fp, c) and FieldOrPropsImpl::updatesNamedFieldOrProp(fp, c, setter) @@ -864,7 +798,7 @@ private module Cached { cached predicate variableWriteQualifier( - ControlFlow::BasicBlock bb, int i, QualifiedFieldOrPropSourceVariable v, boolean certain + BasicBlock bb, int i, QualifiedFieldOrPropSourceVariable v, boolean certain ) { SsaInput::variableWrite(bb, i, v.getQualifier(), certain) and // Eliminate corner case where a call definition can overlap with a @@ -877,29 +811,29 @@ private module Cached { cached predicate explicitDefinition(WriteDefinition def, Ssa::SourceVariable v, AssignableDefinition ad) { - exists(ControlFlow::BasicBlock bb, int i | + exists(BasicBlock bb, int i | def.definesAt(v, bb, i) and variableDefinition(bb, i, v, ad) ) } cached - predicate isLiveAtEndOfBlock(Definition def, ControlFlow::BasicBlock bb) { + predicate isLiveAtEndOfBlock(Definition def, BasicBlock bb) { Impl::ssaDefReachesEndOfBlock(bb, def, _) } cached - Definition phiHasInputFromBlock(Ssa::PhiNode phi, ControlFlow::BasicBlock bb) { + Definition phiHasInputFromBlock(Ssa::PhiNode phi, BasicBlock bb) { Impl::phiHasInputFromBlock(phi, result, bb) } cached - AssignableRead getAReadAtNode(Definition def, ControlFlow::Node cfn) { - exists(Ssa::SourceVariable v, ControlFlow::BasicBlock bb, int i | + AssignableRead getAReadAtNode(Definition def, ControlFlowNode cfn) { + exists(Ssa::SourceVariable v, BasicBlock bb, int i | Impl::ssaDefReachesRead(v, def, bb, i) and variableReadActual(bb, i, v) and cfn = bb.getNode(i) and - result.getAControlFlowNode() = cfn + result.getControlFlowNode() = cfn ) } @@ -908,10 +842,8 @@ private module Cached { * without passing through any other read. */ cached - predicate firstReadSameVar(Definition def, ControlFlow::Node cfn) { - exists(ControlFlow::BasicBlock bb, int i | - Impl::firstUse(def, bb, i, true) and cfn = bb.getNode(i) - ) + predicate firstReadSameVar(Definition def, ControlFlowNode cfn) { + exists(BasicBlock bb, int i | Impl::firstUse(def, bb, i, true) and cfn = bb.getNode(i)) } /** @@ -920,11 +852,8 @@ private module Cached { * passing through another read. */ cached - predicate adjacentReadPairSameVar(Definition def, ControlFlow::Node cfn1, ControlFlow::Node cfn2) { - exists( - ControlFlow::BasicBlock bb1, int i1, ControlFlow::BasicBlock bb2, int i2, - Ssa::SourceVariable v - | + predicate adjacentReadPairSameVar(Definition def, ControlFlowNode cfn1, ControlFlowNode cfn2) { + exists(BasicBlock bb1, int i1, BasicBlock bb2, int i2, Ssa::SourceVariable v | Impl::ssaDefReachesRead(v, def, bb1, i1) and Impl::adjacentUseUse(bb1, i1, bb2, i2, v, true) and cfn1 = bb1.getNode(i1) and @@ -940,7 +869,7 @@ private module Cached { cached predicate isLiveOutRefParameterDefinition(Ssa::Definition def, Parameter p) { p.isOutOrRef() and - exists(Ssa::SourceVariable v, Ssa::Definition def0, ControlFlow::BasicBlock bb, int i | + exists(Ssa::SourceVariable v, Ssa::Definition def0, BasicBlock bb, int i | v = def.getSourceVariable() and p = v.getAssignable() and def = def0.getAnUltimateDefinition() and @@ -1022,31 +951,11 @@ private module Cached { import Cached -private string getSplitString(Definition def) { - exists(ControlFlow::BasicBlock bb, int i, ControlFlow::Node cfn | - def.definesAt(_, bb, i) and - result = cfn.(ControlFlow::Nodes::ElementNode).getSplitsString() - | - cfn = bb.getNode(i) - or - not exists(bb.getNode(i)) and - cfn = bb.getFirstNode() - ) -} - -string getToStringPrefix(Definition def) { - result = "[" + getSplitString(def) + "] " - or - not exists(getSplitString(def)) and - result = "" -} - private module DataFlowIntegrationInput implements Impl::DataFlowIntegrationInputSig { - private import semmle.code.csharp.controlflow.BasicBlocks private import codeql.util.Boolean - class Expr extends ControlFlow::Node { - predicate hasCfgNode(ControlFlow::BasicBlock bb, int i) { this = bb.getNode(i) } + class Expr extends ControlFlowNode { + predicate hasCfgNode(BasicBlock bb, int i) { this = bb.getNode(i) } } Expr getARead(Definition def) { exists(getAReadAtNode(def, result)) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/Steps.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/Steps.qll index 63cd0b65dc6..7e2709468d6 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/Steps.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/Steps.qll @@ -15,8 +15,8 @@ module Steps { * Gets a read that may read the value assigned at definition `def`. */ private AssignableRead getARead(AssignableDefinition def) { - exists(BaseSsa::Definition ssaDef | - ssaDef.getAnUltimateDefinition().getDefinition() = def and + exists(BaseSsa::SsaDefinition ssaDef | + ssaDef.getAnUltimateDefinition().(BaseSsa::SsaExplicitWrite).getDefinition() = def and result = ssaDef.getARead() ) or diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPublic.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPublic.qll index 1e60165d748..60ebece0ee5 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPublic.qll @@ -1,12 +1,17 @@ private import csharp private import TaintTrackingPrivate +private predicate localTaintStepPlus(DataFlow::Node source, DataFlow::Node sink) = + fastTC(localTaintStep/2)(source, sink) + /** * Holds if taint propagates from `source` to `sink` in zero or more local * (intra-procedural) steps. */ pragma[inline] -predicate localTaint(DataFlow::Node source, DataFlow::Node sink) { localTaintStep*(source, sink) } +predicate localTaint(DataFlow::Node source, DataFlow::Node sink) { + localTaintStepPlus(source, sink) or source = sink +} /** * Holds if taint can flow from `e1` to `e2` in zero or more diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/BoundSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/BoundSpecific.qll index 3885c11afd1..03742268430 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/BoundSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/BoundSpecific.qll @@ -10,7 +10,7 @@ private import semmle.code.csharp.dataflow.internal.rangeanalysis.SsaUtils as SU class SsaVariable = SU::SsaVariable; -class Expr = CS::ControlFlow::Nodes::ExprNode; +class Expr = CS::ControlFlowNodes::ExprNode; class Location = CS::Location; diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ConstantUtils.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ConstantUtils.qll index bea31ed7f55..91e0ee50ef5 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ConstantUtils.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ConstantUtils.qll @@ -7,7 +7,7 @@ private import Ssa private import SsaUtils private import RangeUtils -private class ExprNode = ControlFlow::Nodes::ExprNode; +private class ExprNode = ControlFlowNodes::ExprNode; /** * Holds if `pa` is an access to the `Length` property of an array. diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll index ca0aa83f29f..fbc09e7ec52 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll @@ -4,15 +4,14 @@ module Private { private import semmle.code.csharp.dataflow.internal.rangeanalysis.RangeUtils as RU private import SsaUtils as SU private import SsaReadPositionCommon - private import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl as CfgImpl - class BasicBlock = CS::ControlFlow::BasicBlock; + class BasicBlock = CS::BasicBlock; class SsaVariable = SU::SsaVariable; class SsaPhiNode = CS::Ssa::PhiNode; - class Expr = CS::ControlFlow::Nodes::ExprNode; + class Expr = CS::ControlFlowNodes::ExprNode; class Guard = RU::Guard; 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 171f2d2f59e..e53e3a44276 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 @@ -9,7 +9,7 @@ private module Impl { private import SsaReadPositionCommon private import semmle.code.csharp.controlflow.Guards as G - private class ExprNode = ControlFlow::Nodes::ExprNode; + private class ExprNode = ControlFlowNodes::ExprNode; /** Holds if `parent` having child `child` implies `parentNode` having child `childNode`. */ predicate hasChild(Expr parent, Expr child, ExprNode parentNode, ExprNode childNode) { @@ -20,7 +20,7 @@ private module Impl { /** Holds if SSA definition `def` equals `e + delta`. */ predicate ssaUpdateStep(ExplicitDefinition def, ExprNode e, int delta) { - exists(ControlFlow::Node cfn | cfn = def.getControlFlowNode() | + exists(ControlFlowNode cfn | cfn = def.getControlFlowNode() | e = cfn.(ExprNode::Assignment).getRightOperand() and delta = 0 and not cfn instanceof ExprNode::AssignOperation @@ -83,9 +83,7 @@ private module Impl { /** * Holds if basic block `bb` is guarded by this guard having value `v`. */ - predicate controlsBasicBlock(ControlFlow::BasicBlock bb, G::GuardValue v) { - super.controlsBasicBlock(bb, v) - } + predicate controlsBasicBlock(BasicBlock bb, G::GuardValue v) { super.controlsBasicBlock(bb, v) } /** * Holds if this guard is an equality test between `e1` and `e2`. If the test is @@ -160,7 +158,7 @@ import Impl module ExprNode { private import csharp as CS - private class ExprNode = CS::ControlFlow::Nodes::ExprNode; + private class ExprNode = CS::ControlFlowNodes::ExprNode; private import Sign diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll index f64eceda134..f6dd4911256 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll @@ -33,7 +33,7 @@ module Private { class Type = CS::Type; - class Expr = CS::ControlFlow::Nodes::ExprNode; + class Expr = CS::ControlFlowNodes::ExprNode; class VariableUpdate = CS::Ssa::ExplicitDefinition; @@ -63,7 +63,7 @@ private module Impl { private import SsaReadPositionCommon private import semmle.code.csharp.commons.ComparisonTest - private class ExprNode = ControlFlow::Nodes::ExprNode; + private class ExprNode = ControlFlowNodes::ExprNode; /** Gets the character value of expression `e`. */ string getCharValue(ExprNode e) { result = e.getValue() and e.getType() instanceof CharType } @@ -254,7 +254,7 @@ private module Impl { Guard getComparisonGuard(ComparisonExpr ce) { result = ce.getExpr() } private newtype TComparisonExpr = - MkComparisonExpr(ComparisonTest ct, ExprNode e) { e = ct.getExpr().getAControlFlowNode() } + MkComparisonExpr(ComparisonTest ct, ExprNode e) { e = ct.getExpr().getControlFlowNode() } /** A relational comparison */ class ComparisonExpr extends MkComparisonExpr { diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionSpecific.qll index cbf4a1d5739..6da6ec8b11e 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionSpecific.qll @@ -2,39 +2,34 @@ * Provides C#-specific definitions for use in the `SsaReadPosition`. */ -private import csharp +private import csharp as CS private import SsaReadPositionCommon -private import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl as CfgImpl -class SsaVariable = Ssa::Definition; +class SsaVariable = CS::Ssa::Definition; -class SsaPhiNode = Ssa::PhiNode; +class SsaPhiNode = CS::Ssa::PhiNode; -class BasicBlock = ControlFlow::BasicBlock; +class BasicBlock = CS::BasicBlock; /** Gets a basic block in which SSA variable `v` is read. */ -BasicBlock getAReadBasicBlock(SsaVariable v) { - result = v.getARead().getAControlFlowNode().getBasicBlock() -} +BasicBlock getAReadBasicBlock(SsaVariable v) { result = v.getARead().getBasicBlock() } private class PhiInputEdgeBlock extends BasicBlock { PhiInputEdgeBlock() { this = any(SsaReadPositionPhiInputEdge edge).getOrigBlock() } } -private int getId(PhiInputEdgeBlock bb) { - exists(CfgImpl::AstNode n | result = n.getId() | - n = bb.getFirstNode().getAstNode() - or - n = bb.(ControlFlow::BasicBlocks::EntryBlock).getCallable() - ) +private predicate id(CS::ControlFlowElementOrCallable x, CS::ControlFlowElementOrCallable y) { + x = y } -private string getSplitString(PhiInputEdgeBlock bb) { - result = bb.getFirstNode().(ControlFlow::Nodes::ElementNode).getSplitsString() - or - not exists(bb.getFirstNode().(ControlFlow::Nodes::ElementNode).getSplitsString()) and - result = "" -} +private predicate idOfAst(CS::ControlFlowElementOrCallable x, int y) = + equivalenceRelation(id/2)(x, y) + +private predicate idOf(PhiInputEdgeBlock x, int y) { idOfAst(x.getFirstNode().getAstNode(), y) } + +private int getId1(PhiInputEdgeBlock bb) { idOf(bb, result) } + +private string getId2(PhiInputEdgeBlock bb) { bb.getFirstNode().getIdTag() = result } /** * Declarations to be exposed to users of SsaReadPositionCommon. @@ -50,7 +45,7 @@ module Public { rank[r](SsaReadPositionPhiInputEdge e | e.phiInput(phi, _) | - e order by getId(e.getOrigBlock()), getSplitString(e.getOrigBlock()) + e order by getId1(e.getOrigBlock()), getId2(e.getOrigBlock()) ) } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaUtils.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaUtils.qll index cf4b44239e9..55267fad17c 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaUtils.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaUtils.qll @@ -7,7 +7,7 @@ private import Ssa private import RangeUtils private import ConstantUtils -private class ExprNode = ControlFlow::Nodes::ExprNode; +private class ExprNode = ControlFlowNodes::ExprNode; /** An SSA variable. */ class SsaVariable extends Definition { diff --git a/csharp/ql/lib/semmle/code/csharp/dispatch/Dispatch.qll b/csharp/ql/lib/semmle/code/csharp/dispatch/Dispatch.qll index 770fab65f54..15a64d12b49 100644 --- a/csharp/ql/lib/semmle/code/csharp/dispatch/Dispatch.qll +++ b/csharp/ql/lib/semmle/code/csharp/dispatch/Dispatch.qll @@ -20,6 +20,9 @@ class DispatchCall extends Internal::TDispatchCall { /** Gets the underlying expression of this call. */ Expr getCall() { result = Internal::getCall(this) } + /** Gets the control flow node of this call. */ + ControlFlowNode getControlFlowNode() { result = Internal::getControlFlowNode(this) } + /** Gets the `i`th argument of this call. */ Expr getArgument(int i) { result = Internal::getArgument(this, i) } @@ -90,8 +93,17 @@ private module Internal { not mc.isLateBound() and not isExtensionAccessorCall(mc) } or - TDispatchAccessorCall(AccessorCall ac) or - TDispatchOperatorCall(OperatorCall oc) { not oc.isLateBound() } or + TDispatchAccessorCall(AccessorCall ac, boolean isRead) { + // For compound assignments an AccessorCall can be both a read and a write + ac instanceof AssignableRead and isRead = true + or + ac instanceof AssignableWrite and isRead = false + } or + TDispatchOperatorCall(OperatorCall oc) { + not oc.isLateBound() and + not oc instanceof CompoundAssignmentOperatorCall + } or + TDispatchCompoundAssignmentOperatorCall(CompoundAssignmentOperatorCall caoc) or TDispatchReflectionCall(MethodCall mc, string name, Expr object, Expr qualifier, int args) { isReflectionCall(mc, name, object, qualifier, args) } or @@ -117,6 +129,11 @@ private module Internal { cached Expr getCall(DispatchCall dc) { result = dc.(DispatchCallImpl).getCall() } + cached + ControlFlowNode getControlFlowNode(DispatchCall dc) { + result = dc.(DispatchCallImpl).getControlFlowNode() + } + cached Expr getArgument(DispatchCall dc, int i) { result = dc.(DispatchCallImpl).getArgument(i) } @@ -224,6 +241,9 @@ private module Internal { /** Gets the underlying expression of this call. */ abstract Expr getCall(); + /** Gets the control flow node of this call. */ + ControlFlowNode getControlFlowNode() { result = this.getCall().getControlFlowNode() } + /** Gets the `i`th argument of this call. */ abstract Expr getArgument(int i); @@ -339,8 +359,8 @@ private module Internal { 1 < strictcount(this.getADynamicTarget().getUnboundDeclaration()) and c = this.getCall().getEnclosingCallable().getUnboundDeclaration() and ( - exists(BaseSsa::Definition def, Parameter p | - def.isImplicitEntryDefinition(p) and + exists(BaseSsa::SsaParameterInit def, Parameter p | + def.getParameter() = p and this.getSyntheticQualifier() = def.getARead() and p.getPosition() = i and c.getAParameter() = p and @@ -870,6 +890,20 @@ private module Internal { override Operator getAStaticTarget() { result = this.getCall().getTarget() } } + private class DispatchCompoundAssignmentOperatorCall extends DispatchOverridableCall, + TDispatchCompoundAssignmentOperatorCall + { + override CompoundAssignmentOperatorCall getCall() { + this = TDispatchCompoundAssignmentOperatorCall(result) + } + + override Expr getArgument(int i) { result = this.getCall().getArgument(i) } + + override Expr getQualifier() { result = this.getCall().getQualifier() } + + override Operator getAStaticTarget() { result = this.getCall().getTarget() } + } + /** * A call to an accessor. * @@ -877,13 +911,28 @@ private module Internal { * into account. */ private class DispatchAccessorCall extends DispatchOverridableCall, TDispatchAccessorCall { - override AccessorCall getCall() { this = TDispatchAccessorCall(result) } + private predicate isRead() { this = TDispatchAccessorCall(_, true) } + + override ControlFlowNode getControlFlowNode() { + if this.isRead() + then result = this.getCall().getControlFlowNode() + else + exists(AssignableDefinition def | + def.getTargetAccess() = this.getCall() and result = def.getExpr().getControlFlowNode() + ) + } + + override AccessorCall getCall() { this = TDispatchAccessorCall(result, _) } override Expr getArgument(int i) { result = this.getCall().getArgument(i) } override Expr getQualifier() { result = this.getCall().(MemberAccess).getQualifier() } - override Accessor getAStaticTarget() { result = this.getCall().getTarget() } + override Accessor getAStaticTarget() { + if this.isRead() + then result = this.getCall().getReadTarget() + else result = this.getCall().getWriteTarget() + } override RuntimeAccessor getADynamicTarget() { result = DispatchOverridableCall.super.getADynamicTarget() and diff --git a/csharp/ql/lib/semmle/code/csharp/exprs/Assignment.qll b/csharp/ql/lib/semmle/code/csharp/exprs/Assignment.qll index 8c7dd80da24..f65b13bf8ec 100644 --- a/csharp/ql/lib/semmle/code/csharp/exprs/Assignment.qll +++ b/csharp/ql/lib/semmle/code/csharp/exprs/Assignment.qll @@ -94,13 +94,17 @@ class AssignOperation extends Assignment, @assign_op_expr { } /** - * A compound assignment operation that implicitly invokes an operator. - * For example, `x += y` assigns the result of `x + y` to `x`. + * A compound assignment operation that invokes an operator. + * + * (1) `x += y` invokes the compound assignment operator `+=` (if it exists). + * (2) `x += y` invokes the operator `+` and assigns `x + y` to `x`. * * Either an arithmetic assignment operation (`AssignArithmeticOperation`) or a bitwise * assignment operation (`AssignBitwiseOperation`). */ -class AssignCallOperation extends AssignOperation, OperatorCall, @assign_op_call_expr { +class AssignCallOperation extends AssignOperation, OperatorCall, QualifiableExpr, + @assign_op_call_expr +{ override string toString() { result = AssignOperation.super.toString() } } diff --git a/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll b/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll index 272a8e0caae..9dbf898e286 100644 --- a/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll +++ b/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll @@ -529,6 +529,19 @@ class ExtensionOperatorCall extends OperatorCall { ExtensionOperatorCall() { this.getTarget() instanceof ExtensionOperator } override string getAPrimaryQlClass() { result = "ExtensionOperatorCall" } + + private predicate isOrdinaryStaticCall() { + not exists(Expr e | e = this.getChildExpr(-1) | not e instanceof TypeAccess) + } + + override Expr getArgument(int i) { + exists(int j | result = this.getChildExpr(j) | + i >= 0 and + if this.isOrdinaryStaticCall() or this.getTarget() instanceof CompoundAssignmentOperator + then j = i + else j = i - 1 + ) + } } /** @@ -557,6 +570,58 @@ class MutatorOperatorCall extends OperatorCall { predicate isPostfix() { mutator_invocation_mode(this, 2) } } +/** + * A call to a compound assignment operator, for example `this += other` + * on line 7 in + * + * ```csharp + * class A { + * public void operator +=(A other) { + * ... + * } + * + * public void Add(A other) { + * this += other; + * } + * } + * ``` + */ +class CompoundAssignmentOperatorCall extends AssignCallOperation { + CompoundAssignmentOperatorCall() { this.getTarget() instanceof CompoundAssignmentOperator } + + override Expr getArgument(int i) { result = this.getChildExpr(i + 1) and i >= 0 } + + /** Gets the qualifier of this compound assignment operator call. */ + override Expr getQualifier() { result = this.getChildExpr(0) } +} + +/** + * A call to a compound assignment extension operator, for example `s1 *= s2` on + * line 9 in + * + * ```csharp + * static class MyExtensions { + * extension(string s) { + * public void operator *=(string other) { ... } + * } + * } + * + * class A { + * void M(string s1, string s2) { + * s1 *= s2; + * } + * } + */ +class ExtensionCompoundAssignmentOperatorCall extends CompoundAssignmentOperatorCall, + ExtensionOperatorCall +{ + override Expr getArgument(int i) { result = ExtensionOperatorCall.super.getArgument(i) } + + override Expr getQualifier() { none() } + + override string getAPrimaryQlClass() { result = "ExtensionCompoundAssignmentOperatorCall" } +} + private class DelegateLikeCall_ = @delegate_invocation_expr or @function_pointer_invocation_expr; /** @@ -633,7 +698,25 @@ class FunctionPointerCall extends DelegateLikeCall, @function_pointer_invocation * (`EventCall`). */ class AccessorCall extends Call, QualifiableExpr, @call_access_expr { - override Accessor getTarget() { none() } + override Accessor getTarget() { result = this.getReadTarget() or result = this.getWriteTarget() } + + /** + * Gets the static (compile-time) target of this call, assuming that this is + * an `AssignableRead`. + * + * Note that left-hand sides of compound assignments are both + * `AssignableRead`s and `AssignableWrite`s. + */ + Accessor getReadTarget() { none() } + + /** + * Gets the static (compile-time) target of this call, assuming that this is + * an `AssignableWrite`. + * + * Note that left-hand sides of compound assignments are both + * `AssignableRead`s and `AssignableWrite`s. + */ + Accessor getWriteTarget() { none() } override Expr getArgument(int i) { none() } @@ -655,12 +738,12 @@ class AccessorCall extends Call, QualifiableExpr, @call_access_expr { * ``` */ class PropertyCall extends AccessorCall, PropertyAccessExpr { - override Accessor getTarget() { - exists(PropertyAccess pa, Property p | pa = this and p = this.getProperty() | - pa instanceof AssignableRead and result = p.getGetter() - or - pa instanceof AssignableWrite and result = p.getSetter() - ) + override Accessor getReadTarget() { + this instanceof AssignableRead and result = this.getProperty().getGetter() + } + + override Accessor getWriteTarget() { + this instanceof AssignableWrite and result = this.getProperty().getSetter() } override Expr getArgument(int i) { @@ -690,12 +773,12 @@ class PropertyCall extends AccessorCall, PropertyAccessExpr { * ``` */ class IndexerCall extends AccessorCall, IndexerAccessExpr { - override Accessor getTarget() { - exists(IndexerAccess ia, Indexer i | ia = this and i = this.getIndexer() | - ia instanceof AssignableRead and result = i.getGetter() - or - ia instanceof AssignableWrite and result = i.getSetter() - ) + override Accessor getReadTarget() { + this instanceof AssignableRead and result = this.getIndexer().getGetter() + } + + override Accessor getWriteTarget() { + this instanceof AssignableWrite and result = this.getIndexer().getSetter() } override Expr getArgument(int i) { @@ -770,7 +853,7 @@ class ExtensionPropertyCall extends PropertyCall { * ``` */ class EventCall extends AccessorCall, EventAccessExpr { - override EventAccessor getTarget() { + override EventAccessor getWriteTarget() { exists(Event e, AddOrRemoveEventExpr aoree | e = this.getEvent() and aoree.getLeftOperand() = this diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/Format.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/Format.qll index b00459c64b0..d191f62aa92 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/Format.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/Format.qll @@ -126,7 +126,7 @@ private class SystemDiagnosticsFormatMethods extends FormatMethodImpl { pragma[nomagic] private predicate parameterReadPostDominatesEntry(ParameterRead pr) { - pr.getAControlFlowNode().postDominates(pr.getEnclosingCallable().getEntryPoint()) and + pr.getControlFlowNode().postDominates(pr.getEnclosingCallable().getEntryPoint()) and getParameterType(pr.getTarget()) instanceof ObjectType } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ConditionalBypassQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ConditionalBypassQuery.qll index 53b44f873a6..a9ad31dc804 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ConditionalBypassQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ConditionalBypassQuery.qll @@ -5,7 +5,6 @@ import csharp private import semmle.code.csharp.controlflow.Guards -private import semmle.code.csharp.controlflow.BasicBlocks private import semmle.code.csharp.security.dataflow.flowsinks.FlowSinks private import semmle.code.csharp.security.dataflow.flowsources.FlowSources private import semmle.code.csharp.frameworks.System diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll index 2906fde4e1d..aa8c8536556 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll @@ -3,6 +3,7 @@ */ import csharp +private import semmle.code.csharp.commons.Collections private import semmle.code.csharp.frameworks.system.Net private import semmle.code.csharp.frameworks.system.Web private import semmle.code.csharp.frameworks.system.web.Http @@ -104,7 +105,7 @@ class WcfRemoteFlowSource extends RemoteFlowSource, DataFlow::ParameterNode { } /** A data flow source of remote user input (ASP.NET web service). */ -class AspNetServiceRemoteFlowSource extends RemoteFlowSource, DataFlow::ParameterNode { +class AspNetServiceRemoteFlowSource extends AspNetRemoteFlowSource, DataFlow::ParameterNode { AspNetServiceRemoteFlowSource() { exists(Method m | m.getAParameter() = this.getParameter() and @@ -115,8 +116,50 @@ class AspNetServiceRemoteFlowSource extends RemoteFlowSource, DataFlow::Paramete override string getSourceType() { result = "ASP.NET web service input" } } +private class CandidateMemberToTaint extends Member { + CandidateMemberToTaint() { + this.isPublic() and + not this.isStatic() and + ( + this = + any(Property p | + p.isAutoImplemented() and + p.getGetter().isPublic() and + p.getSetter().isPublic() + ) + or + this = any(Field f | f.isPublic()) + ) + } +} + +/** + * Taint members (transitively) on types used in + * 1. Action method parameters. + * 2. WebMethod parameters. + * + * Note that this also impacts uses of such types in other contexts. + */ +private class AspNetRemoteFlowSourceMember extends TaintTracking::TaintedMember, + CandidateMemberToTaint +{ + AspNetRemoteFlowSourceMember() { + exists(Type t, Type t0 | t = this.getDeclaringType() | + (t = t0 or t = t0.(CollectionType).getElementType()) and + ( + t0 = any(AspNetRemoteFlowSourceMember m).getType() + or + t0 = any(ActionMethodParameter p).getType() + or + t0 = any(AspNetServiceRemoteFlowSource source).getType() + ) + ) + } +} + /** A data flow source of remote user input (ASP.NET request message). */ -class SystemNetHttpRequestMessageRemoteFlowSource extends RemoteFlowSource, DataFlow::ExprNode { +class SystemNetHttpRequestMessageRemoteFlowSource extends AspNetRemoteFlowSource, DataFlow::ExprNode +{ SystemNetHttpRequestMessageRemoteFlowSource() { this.getType() instanceof SystemWebHttpRequestMessageClass } @@ -166,7 +209,7 @@ class MicrosoftOwinRequestRemoteFlowSource extends RemoteFlowSource, DataFlow::E } /** A parameter to an Mvc controller action method, viewed as a source of remote user input. */ -class ActionMethodParameter extends RemoteFlowSource, DataFlow::ParameterNode { +class ActionMethodParameter extends AspNetRemoteFlowSource, DataFlow::ParameterNode { ActionMethodParameter() { exists(Parameter p | p = this.getParameter() and @@ -218,14 +261,18 @@ class AspNetCoreRoutingMethodParameter extends AspNetCoreRemoteFlowSource, DataF * Flow is defined from any ASP.NET Core remote source object to any of its member * properties. */ -private class AspNetCoreRemoteFlowSourceMember extends TaintTracking::TaintedMember, Property { +private class AspNetCoreRemoteFlowSourceMember extends TaintTracking::TaintedMember, + CandidateMemberToTaint +{ AspNetCoreRemoteFlowSourceMember() { - this.getDeclaringType() = any(AspNetCoreRemoteFlowSource source).getType() and - this.isPublic() and - not this.isStatic() and - this.isAutoImplemented() and - this.getGetter().isPublic() and - this.getSetter().isPublic() + exists(Type t, Type t0 | t = this.getDeclaringType() | + (t = t0 or t = t0.(CollectionType).getElementType()) and + ( + t0 = any(AspNetCoreRemoteFlowSourceMember m).getType() + or + t0 = any(AspNetCoreRemoteFlowSource m).getType() + ) + ) } } diff --git a/csharp/ql/lib/semmlecode.csharp.dbscheme b/csharp/ql/lib/semmlecode.csharp.dbscheme index 19b8cc3e2dc..ea7ad33252e 100644 --- a/csharp/ql/lib/semmlecode.csharp.dbscheme +++ b/csharp/ql/lib/semmlecode.csharp.dbscheme @@ -1338,7 +1338,8 @@ dynamic_member_name( @qualifiable_expr = @member_access_expr | @method_invocation_expr - | @element_access_expr; + | @element_access_expr + | @assign_op_call_expr; conditional_access( unique int id: @qualifiable_expr ref); diff --git a/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/old.dbscheme b/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/old.dbscheme new file mode 100644 index 00000000000..19b8cc3e2dc --- /dev/null +++ b/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/old.dbscheme @@ -0,0 +1,1504 @@ +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2021-07-14 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * csc f1.cs f2.cs f3.cs + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + unique int id : @compilation, + string cwd : string ref +); + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | --compiler + * 1 | *path to compiler* + * 2 | f1.cs + * 3 | f2.cs + * 4 | f3.cs + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile.rsp` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.cs + * 1 | f2.cs + * 2 | f3.cs + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The references used by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs /r:ref1.dll /r:ref2.dll /r:ref3.dll + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | ref1.dll + * 1 | ref2.dll + * 2 | ref3.dll + */ +#keyset[id, num] +compilation_referencing_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location ref +); + +extractor_messages( + unique int id: @extractor_message, + int severity: int ref, + string origin : string ref, + string text : string ref, + string entity : string ref, + int location: @location ref, + string stack_trace : string ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +compilation_assembly( + unique int id : @compilation ref, + int assembly: @assembly ref +) + +// Populated by the CSV extractor +externalData( + int id: @externalDataElement, + string path: string ref, + int column: int ref, + string value: string ref); + +sourceLocationPrefix( + string prefix: string ref); + +/* + * Overlay support + */ + +/** + * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, + * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, + * when building an overlay database, and these can be used by the discard predicates. + */ +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path : string ref +); + +/* + * C# dbscheme + */ + +/** ELEMENTS **/ + +@element = @declaration | @stmt | @expr | @modifier | @attribute | @namespace_declaration + | @using_directive | @type_parameter_constraints | @externalDataElement + | @xmllocatable | @asp_element | @namespace | @preprocessor_directive; + +@declaration = @callable | @generic | @assignable | @namespace; + +@named_element = @namespace | @declaration; + +@declaration_with_accessors = @property | @indexer | @event; + +@assignable = @variable | @assignable_with_accessors | @event; + +@assignable_with_accessors = @property | @indexer; + +@attributable = @assembly | @field | @parameter | @operator | @method | @constructor + | @destructor | @callable_accessor | @value_or_ref_type | @declaration_with_accessors + | @local_function | @lambda_expr; + +/** LOCATIONS, ASEMMBLIES, MODULES, FILES and FOLDERS **/ + +@location = @location_default | @assembly; + +@locatable = @declaration_with_accessors | @callable_accessor | @declaration_or_directive + | @diagnostic | @extractor_message | @preprocessor_directive | @attribute | @type_mention | @type_parameter_constraints + | @declaration_with_accessors | @callable_accessor | @operator | @method + | @constructor | @destructor | @field | @local_variable | @parameter | @stmt | @expr + | @xmllocatable | @commentline | @commentblock | @asp_element + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +locations_mapped( + unique int id: @location_default ref, + int mapped_to: @location_default ref); + +@sourceline = @file | @callable | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref); + +assemblies( + unique int id: @assembly, + int file: @file ref, + string fullname: string ref, + string name: string ref, + string version: string ref); + +files( + unique int id: @file, + string name: string ref); + +folders( + unique int id: @folder, + string name: string ref); + +@container = @folder | @file ; + +containerparent( + int parent: @container ref, + unique int child: @container ref); + +file_extraction_mode( + unique int file: @file ref, + int mode: int ref + /* 0 = normal, 1 = standalone extractor */ + ); + +/** NAMESPACES **/ + +@type_container = @namespace | @type; + +namespaces( + unique int id: @namespace, + string name: string ref); + +namespace_declarations( + unique int id: @namespace_declaration, + int namespace_id: @namespace ref); + +namespace_declaration_location( + unique int id: @namespace_declaration ref, + int loc: @location ref); + +parent_namespace( + unique int child_id: @type_container ref, + int namespace_id: @namespace ref); + +@declaration_or_directive = @namespace_declaration | @type | @using_directive; + +parent_namespace_declaration( + int child_id: @declaration_or_directive ref, // cannot be unique because of partial classes + int namespace_id: @namespace_declaration ref); + +@using_directive = @using_namespace_directive | @using_static_directive; + +using_global( + unique int id: @using_directive ref +); + +using_namespace_directives( + unique int id: @using_namespace_directive, + int namespace_id: @namespace ref); + +using_static_directives( + unique int id: @using_static_directive, + int type_id: @type_or_ref ref); + +using_directive_location( + unique int id: @using_directive ref, + int loc: @location ref); + +@preprocessor_directive = @pragma_warning | @pragma_checksum | @directive_define | @directive_undefine | @directive_warning + | @directive_error | @directive_nullable | @directive_line | @directive_region | @directive_endregion | @directive_if + | @directive_elif | @directive_else | @directive_endif; + +@conditional_directive = @directive_if | @directive_elif; +@branch_directive = @directive_if | @directive_elif | @directive_else; + +directive_ifs( + unique int id: @directive_if, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref); /* 0: false, 1: true */ + +directive_elifs( + unique int id: @directive_elif, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +directive_elses( + unique int id: @directive_else, + int branchTaken: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +#keyset[id, start] +directive_endifs( + unique int id: @directive_endif, + unique int start: @directive_if ref); + +directive_define_symbols( + unique int id: @define_symbol_expr ref, + string name: string ref); + +directive_regions( + unique int id: @directive_region, + string name: string ref); + +#keyset[id, start] +directive_endregions( + unique int id: @directive_endregion, + unique int start: @directive_region ref); + +directive_lines( + unique int id: @directive_line, + int kind: int ref); /* 0: default, 1: hidden, 2: numeric, 3: span */ + +directive_line_value( + unique int id: @directive_line ref, + int line: int ref); + +directive_line_file( + unique int id: @directive_line ref, + int file: @file ref); + +directive_line_offset( + unique int id: @directive_line ref, + int offset: int ref); + +directive_line_span( + unique int id: @directive_line ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +directive_nullables( + unique int id: @directive_nullable, + int setting: int ref, /* 0: disable, 1: enable, 2: restore */ + int target: int ref); /* 0: none, 1: annotations, 2: warnings */ + +directive_warnings( + unique int id: @directive_warning, + string message: string ref); + +directive_errors( + unique int id: @directive_error, + string message: string ref); + +directive_undefines( + unique int id: @directive_undefine, + string name: string ref); + +directive_defines( + unique int id: @directive_define, + string name: string ref); + +pragma_checksums( + unique int id: @pragma_checksum, + int file: @file ref, + string guid: string ref, + string bytes: string ref); + +pragma_warnings( + unique int id: @pragma_warning, + int kind: int ref /* 0 = disable, 1 = restore */); + +#keyset[id, index] +pragma_warning_error_codes( + int id: @pragma_warning ref, + string errorCode: string ref, + int index: int ref); + +preprocessor_directive_location( + unique int id: @preprocessor_directive ref, + int loc: @location ref); + +preprocessor_directive_compilation( + int id: @preprocessor_directive ref, + int compilation: @compilation ref); + +preprocessor_directive_active( + unique int id: @preprocessor_directive ref, + int active: int ref); /* 0: false, 1: true */ + +/** TYPES **/ + +types( + unique int id: @type, + int kind: int ref, + string name: string ref); + +case @type.kind of + 1 = @bool_type +| 2 = @char_type +| 3 = @decimal_type +| 4 = @sbyte_type +| 5 = @short_type +| 6 = @int_type +| 7 = @long_type +| 8 = @byte_type +| 9 = @ushort_type +| 10 = @uint_type +| 11 = @ulong_type +| 12 = @float_type +| 13 = @double_type +| 14 = @enum_type +| 15 = @struct_type +| 17 = @class_type +| 19 = @interface_type +| 20 = @delegate_type +| 21 = @null_type +| 22 = @type_parameter +| 23 = @pointer_type +| 24 = @nullable_type +| 25 = @array_type +| 26 = @void_type +| 27 = @int_ptr_type +| 28 = @uint_ptr_type +| 29 = @dynamic_type +| 30 = @arglist_type +| 31 = @unknown_type +| 32 = @tuple_type +| 33 = @function_pointer_type +| 34 = @inline_array_type +| 35 = @extension_type + ; + +@simple_type = @bool_type | @char_type | @integral_type | @floating_point_type | @decimal_type; +@integral_type = @signed_integral_type | @unsigned_integral_type; +@signed_integral_type = @sbyte_type | @short_type | @int_type | @long_type; +@unsigned_integral_type = @byte_type | @ushort_type | @uint_type | @ulong_type; +@floating_point_type = @float_type | @double_type; +@value_type = @simple_type | @enum_type | @struct_type | @nullable_type | @int_ptr_type + | @uint_ptr_type | @tuple_type | @void_type | @inline_array_type; +@ref_type = @class_type | @interface_type | @array_type | @delegate_type | @null_type + | @dynamic_type | @extension_type; +@value_or_ref_type = @value_type | @ref_type; + +typerefs( + unique int id: @typeref, + string name: string ref); + +typeref_type( + int id: @typeref ref, + unique int typeId: @type ref); + +@type_or_ref = @type | @typeref; + +array_element_type( + unique int array: @array_type ref, + int dimension: int ref, + int rank: int ref, + int element: @type_or_ref ref); + +nullable_underlying_type( + unique int nullable: @nullable_type ref, + int underlying: @type_or_ref ref); + +pointer_referent_type( + unique int pointer: @pointer_type ref, + int referent: @type_or_ref ref); + +enum_underlying_type( + unique int enum_id: @enum_type ref, + int underlying_type_id: @type_or_ref ref); + +delegate_return_type( + unique int delegate_id: @delegate_type ref, + int return_type_id: @type_or_ref ref); + +function_pointer_return_type( + unique int function_pointer_id: @function_pointer_type ref, + int return_type_id: @type_or_ref ref); + +extension_receiver_type( + unique int extension: @extension_type ref, + int receiver_type_id: @type_or_ref ref); + +extend( + int sub: @type ref, + int super: @type_or_ref ref); + +anonymous_types( + unique int id: @type ref); + +@interface_or_ref = @interface_type | @typeref; + +implement( + int sub: @type ref, + int super: @type_or_ref ref); + +type_location( + int id: @type ref, + int loc: @location ref); + +tuple_underlying_type( + unique int tuple: @tuple_type ref, + int struct: @type_or_ref ref); + +#keyset[tuple, index] +tuple_element( + int tuple: @tuple_type ref, + int index: int ref, + unique int field: @field ref); + +attributes( + unique int id: @attribute, + int kind: int ref, + int type_id: @type_or_ref ref, + int target: @attributable ref); + +case @attribute.kind of + 0 = @attribute_default +| 1 = @attribute_return +| 2 = @attribute_assembly +| 3 = @attribute_module +; + +attribute_location( + int id: @attribute ref, + int loc: @location ref); + +@type_mention_parent = @element | @type_mention; + +type_mention( + unique int id: @type_mention, + int type_id: @type_or_ref ref, + int parent: @type_mention_parent ref); + +type_mention_location( + unique int id: @type_mention ref, + int loc: @location ref); + +@has_type_annotation = @assignable | @type_parameter | @callable | @expr | @delegate_type | @generic | @function_pointer_type; + +/** + * A direct annotation on an entity, for example `string? x;`. + * + * Annotations: + * 2 = reftype is not annotated "!" + * 3 = reftype is annotated "?" + * 4 = readonly ref type / in parameter + * 5 = ref type parameter, return or local variable + * 6 = out parameter + * + * Note that the annotation depends on the element it annotates. + * @assignable: The annotation is on the type of the assignable, for example the variable type. + * @type_parameter: The annotation is on the reftype constraint + * @callable: The annotation is on the return type + * @array_type: The annotation is on the element type + */ +type_annotation(int id: @has_type_annotation ref, int annotation: int ref); + +nullability(unique int nullability: @nullability, int kind: int ref); + +case @nullability.kind of + 0 = @oblivious +| 1 = @not_annotated +| 2 = @annotated +; + +#keyset[parent, index] +nullability_parent(int nullability: @nullability ref, int index: int ref, int parent: @nullability ref) + +type_nullability(int id: @has_type_annotation ref, int nullability: @nullability ref); + +/** + * The nullable flow state of an expression, as determined by Roslyn. + * 0 = none (default, not populated) + * 1 = not null + * 2 = maybe null + */ +expr_flowstate(unique int id: @expr ref, int state: int ref); + +/** GENERICS **/ + +@generic = @type | @method | @local_function; + +type_parameters( + unique int id: @type_parameter ref, + int index: int ref, + int generic_id: @generic ref, + int variance: int ref /* none = 0, out = 1, in = 2 */); + +#keyset[constructed_id, index] +type_arguments( + int id: @type_or_ref ref, + int index: int ref, + int constructed_id: @generic_or_ref ref); + +@generic_or_ref = @generic | @typeref; + +constructed_generic( + unique int constructed: @generic ref, + int generic: @generic_or_ref ref); + +type_parameter_constraints( + unique int id: @type_parameter_constraints, + int param_id: @type_parameter ref); + +type_parameter_constraints_location( + int id: @type_parameter_constraints ref, + int loc: @location ref); + +general_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int kind: int ref /* class = 1, struct = 2, new = 3 */); + +specific_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref); + +specific_type_parameter_nullability( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref, + int nullability: @nullability ref); + +/** FUNCTION POINTERS */ + +function_pointer_calling_conventions( + int id: @function_pointer_type ref, + int kind: int ref); + +#keyset[id, index] +has_unmanaged_calling_conventions( + int id: @function_pointer_type ref, + int index: int ref, + int conv_id: @type_or_ref ref); + +/** MODIFIERS */ + +@modifiable = @modifiable_direct | @event_accessor; + +@modifiable_direct = @member | @accessor | @local_function | @anonymous_function_expr; + +modifiers( + unique int id: @modifier, + string name: string ref); + +has_modifiers( + int id: @modifiable_direct ref, + int mod_id: @modifier ref); + +/** MEMBERS **/ + +@member = @method | @constructor | @destructor | @field | @property | @event | @operator | @indexer | @type; + +@named_exprorstmt = @goto_stmt | @labeled_stmt | @expr; + +@virtualizable = @method | @property | @indexer | @event | @operator; + +exprorstmt_name( + unique int parent_id: @named_exprorstmt ref, + string name: string ref); + +nested_types( + unique int id: @type ref, + int declaring_type_id: @type ref, + int unbound_id: @type ref); + +properties( + unique int id: @property, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @property ref); + +property_location( + int id: @property ref, + int loc: @location ref); + +indexers( + unique int id: @indexer, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @indexer ref); + +indexer_location( + int id: @indexer ref, + int loc: @location ref); + +accessors( + unique int id: @accessor, + int kind: int ref, + string name: string ref, + int declaring_member_id: @member ref, + int unbound_id: @accessor ref); + +case @accessor.kind of + 1 = @getter +| 2 = @setter + ; + +init_only_accessors( + unique int id: @accessor ref); + +accessor_location( + int id: @accessor ref, + int loc: @location ref); + +events( + unique int id: @event, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @event ref); + +event_location( + int id: @event ref, + int loc: @location ref); + +event_accessors( + unique int id: @event_accessor, + int kind: int ref, + string name: string ref, + int declaring_event_id: @event ref, + int unbound_id: @event_accessor ref); + +case @event_accessor.kind of + 1 = @add_event_accessor +| 2 = @remove_event_accessor + ; + +event_accessor_location( + int id: @event_accessor ref, + int loc: @location ref); + +operators( + unique int id: @operator, + string name: string ref, + string symbol: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @operator ref); + +operator_location( + int id: @operator ref, + int loc: @location ref); + +constant_value( + int id: @variable ref, + string value: string ref); + +/** CALLABLES **/ + +@callable = @method | @constructor | @destructor | @operator | @callable_accessor | @anonymous_function_expr | @local_function; + +@callable_accessor = @accessor | @event_accessor; + +methods( + unique int id: @method, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @method ref); + +method_location( + int id: @method ref, + int loc: @location ref); + +constructors( + unique int id: @constructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @constructor ref); + +constructor_location( + int id: @constructor ref, + int loc: @location ref); + +destructors( + unique int id: @destructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @destructor ref); + +destructor_location( + int id: @destructor ref, + int loc: @location ref); + +overrides( + int id: @callable ref, + int base_id: @callable ref); + +explicitly_implements( + int id: @member ref, + int interface_id: @interface_or_ref ref); + +local_functions( + unique int id: @local_function, + string name: string ref, + int return_type: @type ref, + int unbound_id: @local_function ref); + +local_function_stmts( + unique int fn: @local_function_stmt ref, + int stmt: @local_function ref); + +/** VARIABLES **/ + +@variable = @local_scope_variable | @field; + +@local_scope_variable = @local_variable | @parameter; + +fields( + unique int id: @field, + int kind: int ref, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @field ref); + +case @field.kind of + 1 = @addressable_field +| 2 = @constant + ; + +field_location( + int id: @field ref, + int loc: @location ref); + +localvars( + unique int id: @local_variable, + int kind: int ref, + string name: string ref, + int implicitly_typed: int ref /* 0 = no, 1 = yes */, + int type_id: @type_or_ref ref, + int parent_id: @local_var_decl_expr ref); + +case @local_variable.kind of + 1 = @addressable_local_variable +| 2 = @local_constant +| 3 = @local_variable_ref + ; + +localvar_location( + unique int id: @local_variable ref, + int loc: @location ref); + +@parameterizable = @callable | @delegate_type | @indexer | @function_pointer_type | @extension_type; + +#keyset[name, parent_id] +#keyset[index, parent_id] +params( + unique int id: @parameter, + string name: string ref, + int type_id: @type_or_ref ref, + int index: int ref, + int mode: int ref, /* value = 0, ref = 1, out = 2, params/array = 3, this = 4, in = 5, ref readonly = 6 */ + int parent_id: @parameterizable ref, + int unbound_id: @parameter ref); + +param_location( + int id: @parameter ref, + int loc: @location ref); + +@has_scoped_annotation = @local_scope_variable + +scoped_annotation( + int id: @has_scoped_annotation ref, + int kind: int ref // scoped ref = 1, scoped value = 2 + ); + +/** STATEMENTS **/ + +@exprorstmt_parent = @control_flow_element | @top_level_exprorstmt_parent; + +statements( + unique int id: @stmt, + int kind: int ref); + +#keyset[index, parent] +stmt_parent( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_stmt_parent = @callable; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +stmt_parent_top_level( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @top_level_stmt_parent ref); + +case @stmt.kind of + 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @switch_stmt +| 5 = @while_stmt +| 6 = @do_stmt +| 7 = @for_stmt +| 8 = @foreach_stmt +| 9 = @break_stmt +| 10 = @continue_stmt +| 11 = @goto_stmt +| 12 = @goto_case_stmt +| 13 = @goto_default_stmt +| 14 = @throw_stmt +| 15 = @return_stmt +| 16 = @yield_stmt +| 17 = @try_stmt +| 18 = @checked_stmt +| 19 = @unchecked_stmt +| 20 = @lock_stmt +| 21 = @using_block_stmt +| 22 = @var_decl_stmt +| 23 = @const_decl_stmt +| 24 = @empty_stmt +| 25 = @unsafe_stmt +| 26 = @fixed_stmt +| 27 = @label_stmt +| 28 = @catch +| 29 = @case_stmt +| 30 = @local_function_stmt +| 31 = @using_decl_stmt + ; + +@using_stmt = @using_block_stmt | @using_decl_stmt; + +@labeled_stmt = @label_stmt | @case; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @using_decl_stmt; + +@cond_stmt = @if_stmt | @switch_stmt; + +@loop_stmt = @while_stmt | @do_stmt | @for_stmt | @foreach_stmt; + +@jump_stmt = @break_stmt | @goto_any_stmt | @continue_stmt | @throw_stmt | @return_stmt + | @yield_stmt; + +@goto_any_stmt = @goto_default_stmt | @goto_case_stmt | @goto_stmt; + + +stmt_location( + unique int id: @stmt ref, + int loc: @location ref); + +catch_type( + unique int catch_id: @catch ref, + int type_id: @type_or_ref ref, + int kind: int ref /* explicit = 1, implicit = 2 */); + +foreach_stmt_info( + unique int id: @foreach_stmt ref, + int kind: int ref /* non-async = 1, async = 2 */); + +@foreach_symbol = @method | @property | @type_or_ref; + +#keyset[id, kind] +foreach_stmt_desugar( + int id: @foreach_stmt ref, + int symbol: @foreach_symbol ref, + int kind: int ref /* GetEnumeratorMethod = 1, CurrentProperty = 2, MoveNextMethod = 3, DisposeMethod = 4, ElementType = 5 */); + +/** EXPRESSIONS **/ + +expressions( + unique int id: @expr, + int kind: int ref, + int type_id: @type_or_ref ref); + +#keyset[index, parent] +expr_parent( + unique int expr: @expr ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_expr_parent = @attribute | @field | @property | @indexer | @parameter | @directive_if | @directive_elif; + +@top_level_exprorstmt_parent = @top_level_expr_parent | @top_level_stmt_parent; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +expr_parent_top_level( + unique int expr: @expr ref, + int index: int ref, + int parent: @top_level_exprorstmt_parent ref); + +case @expr.kind of +/* literal */ + 1 = @bool_literal_expr +| 2 = @char_literal_expr +| 3 = @decimal_literal_expr +| 4 = @int_literal_expr +| 5 = @long_literal_expr +| 6 = @uint_literal_expr +| 7 = @ulong_literal_expr +| 8 = @float_literal_expr +| 9 = @double_literal_expr +| 10 = @utf16_string_literal_expr +| 11 = @null_literal_expr +/* primary & unary */ +| 12 = @this_access_expr +| 13 = @base_access_expr +| 14 = @local_variable_access_expr +| 15 = @parameter_access_expr +| 16 = @field_access_expr +| 17 = @property_access_expr +| 18 = @method_access_expr +| 19 = @event_access_expr +| 20 = @indexer_access_expr +| 21 = @array_access_expr +| 22 = @type_access_expr +| 23 = @typeof_expr +| 24 = @method_invocation_expr +| 25 = @delegate_invocation_expr +| 26 = @operator_invocation_expr +| 27 = @cast_expr +| 28 = @object_creation_expr +| 29 = @explicit_delegate_creation_expr +| 30 = @implicit_delegate_creation_expr +| 31 = @array_creation_expr +| 32 = @default_expr +| 33 = @plus_expr +| 34 = @minus_expr +| 35 = @bit_not_expr +| 36 = @log_not_expr +| 37 = @post_incr_expr +| 38 = @post_decr_expr +| 39 = @pre_incr_expr +| 40 = @pre_decr_expr +/* multiplicative */ +| 41 = @mul_expr +| 42 = @div_expr +| 43 = @rem_expr +/* additive */ +| 44 = @add_expr +| 45 = @sub_expr +/* shift */ +| 46 = @lshift_expr +| 47 = @rshift_expr +/* relational */ +| 48 = @lt_expr +| 49 = @gt_expr +| 50 = @le_expr +| 51 = @ge_expr +/* equality */ +| 52 = @eq_expr +| 53 = @ne_expr +/* logical */ +| 54 = @bit_and_expr +| 55 = @bit_xor_expr +| 56 = @bit_or_expr +| 57 = @log_and_expr +| 58 = @log_or_expr +/* type testing */ +| 59 = @is_expr +| 60 = @as_expr +/* null coalescing */ +| 61 = @null_coalescing_expr +/* conditional */ +| 62 = @conditional_expr +/* assignment */ +| 63 = @simple_assign_expr +| 64 = @assign_add_expr +| 65 = @assign_sub_expr +| 66 = @assign_mul_expr +| 67 = @assign_div_expr +| 68 = @assign_rem_expr +| 69 = @assign_and_expr +| 70 = @assign_xor_expr +| 71 = @assign_or_expr +| 72 = @assign_lshift_expr +| 73 = @assign_rshift_expr +/* more */ +| 74 = @object_init_expr +| 75 = @collection_init_expr +| 76 = @array_init_expr +| 77 = @checked_expr +| 78 = @unchecked_expr +| 79 = @constructor_init_expr +| 80 = @add_event_expr +| 81 = @remove_event_expr +| 82 = @par_expr +| 83 = @local_var_decl_expr +| 84 = @lambda_expr +| 85 = @anonymous_method_expr +| 86 = @namespace_expr +/* dynamic */ +| 92 = @dynamic_element_access_expr +| 93 = @dynamic_member_access_expr +/* unsafe */ +| 100 = @pointer_indirection_expr +| 101 = @address_of_expr +| 102 = @sizeof_expr +/* async */ +| 103 = @await_expr +/* C# 6.0 */ +| 104 = @nameof_expr +| 105 = @interpolated_string_expr +| 106 = @unknown_expr +/* C# 7.0 */ +| 107 = @throw_expr +| 108 = @tuple_expr +| 109 = @local_function_invocation_expr +| 110 = @ref_expr +| 111 = @discard_expr +/* C# 8.0 */ +| 112 = @range_expr +| 113 = @index_expr +| 114 = @switch_expr +| 115 = @recursive_pattern_expr +| 116 = @property_pattern_expr +| 117 = @positional_pattern_expr +| 118 = @switch_case_expr +| 119 = @assign_coalesce_expr +| 120 = @suppress_nullable_warning_expr +| 121 = @namespace_access_expr +/* C# 9.0 */ +| 122 = @lt_pattern_expr +| 123 = @gt_pattern_expr +| 124 = @le_pattern_expr +| 125 = @ge_pattern_expr +| 126 = @not_pattern_expr +| 127 = @and_pattern_expr +| 128 = @or_pattern_expr +| 129 = @function_pointer_invocation_expr +| 130 = @with_expr +/* C# 11.0 */ +| 131 = @list_pattern_expr +| 132 = @slice_pattern_expr +| 133 = @urshift_expr +| 134 = @assign_urshift_expr +| 135 = @utf8_string_literal_expr +/* C# 12.0 */ +| 136 = @collection_expr +| 137 = @spread_element_expr +| 138 = @interpolated_string_insert_expr +/* Preprocessor */ +| 999 = @define_symbol_expr +; + +@switch = @switch_stmt | @switch_expr; +@case = @case_stmt | @switch_case_expr; +@pattern_match = @case | @is_expr; +@unary_pattern_expr = @not_pattern_expr; +@relational_pattern_expr = @gt_pattern_expr | @lt_pattern_expr | @ge_pattern_expr | @le_pattern_expr; +@binary_pattern_expr = @and_pattern_expr | @or_pattern_expr; + +@integer_literal_expr = @int_literal_expr | @long_literal_expr | @uint_literal_expr | @ulong_literal_expr; +@real_literal_expr = @float_literal_expr | @double_literal_expr | @decimal_literal_expr; +@string_literal_expr = @utf16_string_literal_expr | @utf8_string_literal_expr; +@literal_expr = @bool_literal_expr | @char_literal_expr | @integer_literal_expr | @real_literal_expr + | @string_literal_expr | @null_literal_expr; + +@assign_expr = @simple_assign_expr | @assign_op_expr | @local_var_decl_expr; +@assign_op_call_expr = @assign_arith_expr | @assign_bitwise_expr +@assign_op_expr = @assign_op_call_expr | @assign_event_expr | @assign_coalesce_expr; +@assign_event_expr = @add_event_expr | @remove_event_expr; + +@add_operation = @add_expr | @assign_add_expr; +@sub_operation = @sub_expr | @assign_sub_expr; +@mul_operation = @mul_expr | @assign_mul_expr; +@div_operation = @div_expr | @assign_div_expr; +@rem_operation = @rem_expr | @assign_rem_expr; +@and_operation = @bit_and_expr | @assign_and_expr; +@xor_operation = @bit_xor_expr | @assign_xor_expr; +@or_operation = @bit_or_expr | @assign_or_expr; +@lshift_operation = @lshift_expr | @assign_lshift_expr; +@rshift_operation = @rshift_expr | @assign_rshift_expr; +@urshift_operation = @urshift_expr | @assign_urshift_expr; +@null_coalescing_operation = @null_coalescing_expr | @assign_coalesce_expr; + +@assign_arith_expr = @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr + | @assign_rem_expr +@assign_bitwise_expr = @assign_and_expr | @assign_or_expr | @assign_xor_expr + | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr; + +@member_access_expr = @field_access_expr | @property_access_expr | @indexer_access_expr | @event_access_expr + | @method_access_expr | @type_access_expr | @dynamic_member_access_expr; +@access_expr = @member_access_expr | @this_access_expr | @base_access_expr | @assignable_access_expr | @namespace_access_expr; +@element_access_expr = @indexer_access_expr | @array_access_expr | @dynamic_element_access_expr; + +@local_variable_access = @local_variable_access_expr | @local_var_decl_expr; +@local_scope_variable_access_expr = @parameter_access_expr | @local_variable_access; +@variable_access_expr = @local_scope_variable_access_expr | @field_access_expr; + +@assignable_access_expr = @variable_access_expr | @property_access_expr | @element_access_expr + | @event_access_expr | @dynamic_member_access_expr; + +@objectorcollection_init_expr = @object_init_expr | @collection_init_expr; + +@delegate_creation_expr = @explicit_delegate_creation_expr | @implicit_delegate_creation_expr; + +@bin_arith_op_expr = @mul_expr | @div_expr | @rem_expr | @add_expr | @sub_expr; +@incr_op_expr = @pre_incr_expr | @post_incr_expr; +@decr_op_expr = @pre_decr_expr | @post_decr_expr; +@mut_op_expr = @incr_op_expr | @decr_op_expr; +@un_arith_op_expr = @plus_expr | @minus_expr | @mut_op_expr; +@arith_op_expr = @bin_arith_op_expr | @un_arith_op_expr; + +@ternary_log_op_expr = @conditional_expr; +@bin_log_op_expr = @log_and_expr | @log_or_expr | @null_coalescing_expr; +@un_log_op_expr = @log_not_expr; +@log_expr = @un_log_op_expr | @bin_log_op_expr | @ternary_log_op_expr; + +@bin_bit_op_expr = @bit_and_expr | @bit_or_expr | @bit_xor_expr | @lshift_expr + | @rshift_expr | @urshift_expr; +@un_bit_op_expr = @bit_not_expr; +@bit_expr = @un_bit_op_expr | @bin_bit_op_expr; + +@equality_op_expr = @eq_expr | @ne_expr; +@rel_op_expr = @gt_expr | @lt_expr| @ge_expr | @le_expr; +@comp_expr = @equality_op_expr | @rel_op_expr; + +@op_expr = @un_op | @bin_op | @ternary_op; + +@ternary_op = @ternary_log_op_expr; +@bin_op = @assign_expr | @bin_arith_op_expr | @bin_log_op_expr | @bin_bit_op_expr | @comp_expr; +@un_op = @un_arith_op_expr | @un_log_op_expr | @un_bit_op_expr | @sizeof_expr + | @pointer_indirection_expr | @address_of_expr; + +@anonymous_function_expr = @lambda_expr | @anonymous_method_expr; + +@op_invoke_expr = @operator_invocation_expr | @assign_op_call_expr +@call = @method_invocation_expr | @constructor_init_expr | @op_invoke_expr + | @delegate_invocation_expr | @object_creation_expr | @call_access_expr + | @local_function_invocation_expr | @function_pointer_invocation_expr; + +@call_access_expr = @property_access_expr | @event_access_expr | @indexer_access_expr; + +@late_bindable_expr = @dynamic_element_access_expr | @dynamic_member_access_expr + | @object_creation_expr | @method_invocation_expr | @op_invoke_expr; + +@throw_element = @throw_expr | @throw_stmt; + +@implicitly_typeable_object_creation_expr = @object_creation_expr | @explicit_delegate_creation_expr; + +implicitly_typed_array_creation( + unique int id: @array_creation_expr ref); + +explicitly_sized_array_creation( + unique int id: @array_creation_expr ref); + +stackalloc_array_creation( + unique int id: @array_creation_expr ref); + +implicitly_typed_object_creation( + unique int id: @implicitly_typeable_object_creation_expr ref); + +mutator_invocation_mode( + unique int id: @operator_invocation_expr ref, + int mode: int ref /* prefix = 1, postfix = 2*/); + +expr_value( + unique int id: @expr ref, + string value: string ref); + +expr_call( + unique int caller_id: @expr ref, + int target_id: @callable ref); + +expr_access( + unique int accesser_id: @access_expr ref, + int target_id: @accessible ref); + +@accessible = @method | @assignable | @local_function | @namespace; + +expr_location( + unique int id: @expr ref, + int loc: @location ref); + +dynamic_member_name( + unique int id: @late_bindable_expr ref, + string name: string ref); + +@qualifiable_expr = @member_access_expr + | @method_invocation_expr + | @element_access_expr; + +conditional_access( + unique int id: @qualifiable_expr ref); + +expr_argument( + unique int id: @expr ref, + int mode: int ref); + /* mode is the same as params: value = 0, ref = 1, out = 2 */ + +expr_argument_name( + unique int id: @expr ref, + string name: string ref); + +lambda_expr_return_type( + unique int id: @lambda_expr ref, + int type_id: @type_or_ref ref); + +/* Compiler generated */ + +compiler_generated(unique int id: @element ref); + +/** CONTROL/DATA FLOW **/ + +@control_flow_element = @stmt | @expr; + +/* XML Files */ + +xmlEncoding ( + unique int id: @file ref, + string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* Comments */ + +commentline( + unique int id: @commentline, + int kind: int ref, + string text: string ref, + string rawtext: string ref); + +case @commentline.kind of + 0 = @singlelinecomment +| 1 = @xmldoccomment +| 2 = @multilinecomment; + +commentline_location( + unique int id: @commentline ref, + int loc: @location ref); + +commentblock( + unique int id : @commentblock); + +commentblock_location( + unique int id: @commentblock ref, + int loc: @location ref); + +commentblock_binding( + int id: @commentblock ref, + int entity: @element ref, + int bindtype: int ref); /* 0: Parent, 1: Best, 2: Before, 3: After */ + +commentblock_child( + int id: @commentblock ref, + int commentline: @commentline ref, + int index: int ref); + +/* ASP.NET */ + +case @asp_element.kind of + 0=@asp_close_tag +| 1=@asp_code +| 2=@asp_comment +| 3=@asp_data_binding +| 4=@asp_directive +| 5=@asp_open_tag +| 6=@asp_quoted_string +| 7=@asp_text +| 8=@asp_xml_directive; + +@asp_attribute = @asp_code | @asp_data_binding | @asp_quoted_string; + +asp_elements( + unique int id: @asp_element, + int kind: int ref, + int loc: @location ref); + +asp_comment_server(unique int comment: @asp_comment ref); +asp_code_inline(unique int code: @asp_code ref); +asp_directive_attribute( + int directive: @asp_directive ref, + int index: int ref, + string name: string ref, + int value: @asp_quoted_string ref); +asp_directive_name( + unique int directive: @asp_directive ref, + string name: string ref); +asp_element_body( + unique int element: @asp_element ref, + string body: string ref); +asp_tag_attribute( + int tag: @asp_open_tag ref, + int index: int ref, + string name: string ref, + int attribute: @asp_attribute ref); +asp_tag_name( + unique int tag: @asp_open_tag ref, + string name: string ref); +asp_tag_isempty(int tag: @asp_open_tag ref); diff --git a/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/semmlecode.csharp.dbscheme b/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/semmlecode.csharp.dbscheme new file mode 100644 index 00000000000..ea7ad33252e --- /dev/null +++ b/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/semmlecode.csharp.dbscheme @@ -0,0 +1,1505 @@ +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2021-07-14 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * csc f1.cs f2.cs f3.cs + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + unique int id : @compilation, + string cwd : string ref +); + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | --compiler + * 1 | *path to compiler* + * 2 | f1.cs + * 3 | f2.cs + * 4 | f3.cs + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile.rsp` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.cs + * 1 | f2.cs + * 2 | f3.cs + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The references used by a compiler invocation. + * If `id` is for the compiler invocation + * + * csc f1.cs f2.cs f3.cs /r:ref1.dll /r:ref2.dll /r:ref3.dll + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | ref1.dll + * 1 | ref2.dll + * 2 | ref3.dll + */ +#keyset[id, num] +compilation_referencing_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location ref +); + +extractor_messages( + unique int id: @extractor_message, + int severity: int ref, + string origin : string ref, + string text : string ref, + string entity : string ref, + int location: @location ref, + string stack_trace : string ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +compilation_assembly( + unique int id : @compilation ref, + int assembly: @assembly ref +) + +// Populated by the CSV extractor +externalData( + int id: @externalDataElement, + string path: string ref, + int column: int ref, + string value: string ref); + +sourceLocationPrefix( + string prefix: string ref); + +/* + * Overlay support + */ + +/** + * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, + * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, + * when building an overlay database, and these can be used by the discard predicates. + */ +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path : string ref +); + +/* + * C# dbscheme + */ + +/** ELEMENTS **/ + +@element = @declaration | @stmt | @expr | @modifier | @attribute | @namespace_declaration + | @using_directive | @type_parameter_constraints | @externalDataElement + | @xmllocatable | @asp_element | @namespace | @preprocessor_directive; + +@declaration = @callable | @generic | @assignable | @namespace; + +@named_element = @namespace | @declaration; + +@declaration_with_accessors = @property | @indexer | @event; + +@assignable = @variable | @assignable_with_accessors | @event; + +@assignable_with_accessors = @property | @indexer; + +@attributable = @assembly | @field | @parameter | @operator | @method | @constructor + | @destructor | @callable_accessor | @value_or_ref_type | @declaration_with_accessors + | @local_function | @lambda_expr; + +/** LOCATIONS, ASEMMBLIES, MODULES, FILES and FOLDERS **/ + +@location = @location_default | @assembly; + +@locatable = @declaration_with_accessors | @callable_accessor | @declaration_or_directive + | @diagnostic | @extractor_message | @preprocessor_directive | @attribute | @type_mention | @type_parameter_constraints + | @declaration_with_accessors | @callable_accessor | @operator | @method + | @constructor | @destructor | @field | @local_variable | @parameter | @stmt | @expr + | @xmllocatable | @commentline | @commentblock | @asp_element + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +locations_mapped( + unique int id: @location_default ref, + int mapped_to: @location_default ref); + +@sourceline = @file | @callable | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref); + +assemblies( + unique int id: @assembly, + int file: @file ref, + string fullname: string ref, + string name: string ref, + string version: string ref); + +files( + unique int id: @file, + string name: string ref); + +folders( + unique int id: @folder, + string name: string ref); + +@container = @folder | @file ; + +containerparent( + int parent: @container ref, + unique int child: @container ref); + +file_extraction_mode( + unique int file: @file ref, + int mode: int ref + /* 0 = normal, 1 = standalone extractor */ + ); + +/** NAMESPACES **/ + +@type_container = @namespace | @type; + +namespaces( + unique int id: @namespace, + string name: string ref); + +namespace_declarations( + unique int id: @namespace_declaration, + int namespace_id: @namespace ref); + +namespace_declaration_location( + unique int id: @namespace_declaration ref, + int loc: @location ref); + +parent_namespace( + unique int child_id: @type_container ref, + int namespace_id: @namespace ref); + +@declaration_or_directive = @namespace_declaration | @type | @using_directive; + +parent_namespace_declaration( + int child_id: @declaration_or_directive ref, // cannot be unique because of partial classes + int namespace_id: @namespace_declaration ref); + +@using_directive = @using_namespace_directive | @using_static_directive; + +using_global( + unique int id: @using_directive ref +); + +using_namespace_directives( + unique int id: @using_namespace_directive, + int namespace_id: @namespace ref); + +using_static_directives( + unique int id: @using_static_directive, + int type_id: @type_or_ref ref); + +using_directive_location( + unique int id: @using_directive ref, + int loc: @location ref); + +@preprocessor_directive = @pragma_warning | @pragma_checksum | @directive_define | @directive_undefine | @directive_warning + | @directive_error | @directive_nullable | @directive_line | @directive_region | @directive_endregion | @directive_if + | @directive_elif | @directive_else | @directive_endif; + +@conditional_directive = @directive_if | @directive_elif; +@branch_directive = @directive_if | @directive_elif | @directive_else; + +directive_ifs( + unique int id: @directive_if, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref); /* 0: false, 1: true */ + +directive_elifs( + unique int id: @directive_elif, + int branchTaken: int ref, /* 0: false, 1: true */ + int conditionValue: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +directive_elses( + unique int id: @directive_else, + int branchTaken: int ref, /* 0: false, 1: true */ + int parent: @directive_if ref, + int index: int ref); + +#keyset[id, start] +directive_endifs( + unique int id: @directive_endif, + unique int start: @directive_if ref); + +directive_define_symbols( + unique int id: @define_symbol_expr ref, + string name: string ref); + +directive_regions( + unique int id: @directive_region, + string name: string ref); + +#keyset[id, start] +directive_endregions( + unique int id: @directive_endregion, + unique int start: @directive_region ref); + +directive_lines( + unique int id: @directive_line, + int kind: int ref); /* 0: default, 1: hidden, 2: numeric, 3: span */ + +directive_line_value( + unique int id: @directive_line ref, + int line: int ref); + +directive_line_file( + unique int id: @directive_line ref, + int file: @file ref); + +directive_line_offset( + unique int id: @directive_line ref, + int offset: int ref); + +directive_line_span( + unique int id: @directive_line ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +directive_nullables( + unique int id: @directive_nullable, + int setting: int ref, /* 0: disable, 1: enable, 2: restore */ + int target: int ref); /* 0: none, 1: annotations, 2: warnings */ + +directive_warnings( + unique int id: @directive_warning, + string message: string ref); + +directive_errors( + unique int id: @directive_error, + string message: string ref); + +directive_undefines( + unique int id: @directive_undefine, + string name: string ref); + +directive_defines( + unique int id: @directive_define, + string name: string ref); + +pragma_checksums( + unique int id: @pragma_checksum, + int file: @file ref, + string guid: string ref, + string bytes: string ref); + +pragma_warnings( + unique int id: @pragma_warning, + int kind: int ref /* 0 = disable, 1 = restore */); + +#keyset[id, index] +pragma_warning_error_codes( + int id: @pragma_warning ref, + string errorCode: string ref, + int index: int ref); + +preprocessor_directive_location( + unique int id: @preprocessor_directive ref, + int loc: @location ref); + +preprocessor_directive_compilation( + int id: @preprocessor_directive ref, + int compilation: @compilation ref); + +preprocessor_directive_active( + unique int id: @preprocessor_directive ref, + int active: int ref); /* 0: false, 1: true */ + +/** TYPES **/ + +types( + unique int id: @type, + int kind: int ref, + string name: string ref); + +case @type.kind of + 1 = @bool_type +| 2 = @char_type +| 3 = @decimal_type +| 4 = @sbyte_type +| 5 = @short_type +| 6 = @int_type +| 7 = @long_type +| 8 = @byte_type +| 9 = @ushort_type +| 10 = @uint_type +| 11 = @ulong_type +| 12 = @float_type +| 13 = @double_type +| 14 = @enum_type +| 15 = @struct_type +| 17 = @class_type +| 19 = @interface_type +| 20 = @delegate_type +| 21 = @null_type +| 22 = @type_parameter +| 23 = @pointer_type +| 24 = @nullable_type +| 25 = @array_type +| 26 = @void_type +| 27 = @int_ptr_type +| 28 = @uint_ptr_type +| 29 = @dynamic_type +| 30 = @arglist_type +| 31 = @unknown_type +| 32 = @tuple_type +| 33 = @function_pointer_type +| 34 = @inline_array_type +| 35 = @extension_type + ; + +@simple_type = @bool_type | @char_type | @integral_type | @floating_point_type | @decimal_type; +@integral_type = @signed_integral_type | @unsigned_integral_type; +@signed_integral_type = @sbyte_type | @short_type | @int_type | @long_type; +@unsigned_integral_type = @byte_type | @ushort_type | @uint_type | @ulong_type; +@floating_point_type = @float_type | @double_type; +@value_type = @simple_type | @enum_type | @struct_type | @nullable_type | @int_ptr_type + | @uint_ptr_type | @tuple_type | @void_type | @inline_array_type; +@ref_type = @class_type | @interface_type | @array_type | @delegate_type | @null_type + | @dynamic_type | @extension_type; +@value_or_ref_type = @value_type | @ref_type; + +typerefs( + unique int id: @typeref, + string name: string ref); + +typeref_type( + int id: @typeref ref, + unique int typeId: @type ref); + +@type_or_ref = @type | @typeref; + +array_element_type( + unique int array: @array_type ref, + int dimension: int ref, + int rank: int ref, + int element: @type_or_ref ref); + +nullable_underlying_type( + unique int nullable: @nullable_type ref, + int underlying: @type_or_ref ref); + +pointer_referent_type( + unique int pointer: @pointer_type ref, + int referent: @type_or_ref ref); + +enum_underlying_type( + unique int enum_id: @enum_type ref, + int underlying_type_id: @type_or_ref ref); + +delegate_return_type( + unique int delegate_id: @delegate_type ref, + int return_type_id: @type_or_ref ref); + +function_pointer_return_type( + unique int function_pointer_id: @function_pointer_type ref, + int return_type_id: @type_or_ref ref); + +extension_receiver_type( + unique int extension: @extension_type ref, + int receiver_type_id: @type_or_ref ref); + +extend( + int sub: @type ref, + int super: @type_or_ref ref); + +anonymous_types( + unique int id: @type ref); + +@interface_or_ref = @interface_type | @typeref; + +implement( + int sub: @type ref, + int super: @type_or_ref ref); + +type_location( + int id: @type ref, + int loc: @location ref); + +tuple_underlying_type( + unique int tuple: @tuple_type ref, + int struct: @type_or_ref ref); + +#keyset[tuple, index] +tuple_element( + int tuple: @tuple_type ref, + int index: int ref, + unique int field: @field ref); + +attributes( + unique int id: @attribute, + int kind: int ref, + int type_id: @type_or_ref ref, + int target: @attributable ref); + +case @attribute.kind of + 0 = @attribute_default +| 1 = @attribute_return +| 2 = @attribute_assembly +| 3 = @attribute_module +; + +attribute_location( + int id: @attribute ref, + int loc: @location ref); + +@type_mention_parent = @element | @type_mention; + +type_mention( + unique int id: @type_mention, + int type_id: @type_or_ref ref, + int parent: @type_mention_parent ref); + +type_mention_location( + unique int id: @type_mention ref, + int loc: @location ref); + +@has_type_annotation = @assignable | @type_parameter | @callable | @expr | @delegate_type | @generic | @function_pointer_type; + +/** + * A direct annotation on an entity, for example `string? x;`. + * + * Annotations: + * 2 = reftype is not annotated "!" + * 3 = reftype is annotated "?" + * 4 = readonly ref type / in parameter + * 5 = ref type parameter, return or local variable + * 6 = out parameter + * + * Note that the annotation depends on the element it annotates. + * @assignable: The annotation is on the type of the assignable, for example the variable type. + * @type_parameter: The annotation is on the reftype constraint + * @callable: The annotation is on the return type + * @array_type: The annotation is on the element type + */ +type_annotation(int id: @has_type_annotation ref, int annotation: int ref); + +nullability(unique int nullability: @nullability, int kind: int ref); + +case @nullability.kind of + 0 = @oblivious +| 1 = @not_annotated +| 2 = @annotated +; + +#keyset[parent, index] +nullability_parent(int nullability: @nullability ref, int index: int ref, int parent: @nullability ref) + +type_nullability(int id: @has_type_annotation ref, int nullability: @nullability ref); + +/** + * The nullable flow state of an expression, as determined by Roslyn. + * 0 = none (default, not populated) + * 1 = not null + * 2 = maybe null + */ +expr_flowstate(unique int id: @expr ref, int state: int ref); + +/** GENERICS **/ + +@generic = @type | @method | @local_function; + +type_parameters( + unique int id: @type_parameter ref, + int index: int ref, + int generic_id: @generic ref, + int variance: int ref /* none = 0, out = 1, in = 2 */); + +#keyset[constructed_id, index] +type_arguments( + int id: @type_or_ref ref, + int index: int ref, + int constructed_id: @generic_or_ref ref); + +@generic_or_ref = @generic | @typeref; + +constructed_generic( + unique int constructed: @generic ref, + int generic: @generic_or_ref ref); + +type_parameter_constraints( + unique int id: @type_parameter_constraints, + int param_id: @type_parameter ref); + +type_parameter_constraints_location( + int id: @type_parameter_constraints ref, + int loc: @location ref); + +general_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int kind: int ref /* class = 1, struct = 2, new = 3 */); + +specific_type_parameter_constraints( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref); + +specific_type_parameter_nullability( + int id: @type_parameter_constraints ref, + int base_id: @type_or_ref ref, + int nullability: @nullability ref); + +/** FUNCTION POINTERS */ + +function_pointer_calling_conventions( + int id: @function_pointer_type ref, + int kind: int ref); + +#keyset[id, index] +has_unmanaged_calling_conventions( + int id: @function_pointer_type ref, + int index: int ref, + int conv_id: @type_or_ref ref); + +/** MODIFIERS */ + +@modifiable = @modifiable_direct | @event_accessor; + +@modifiable_direct = @member | @accessor | @local_function | @anonymous_function_expr; + +modifiers( + unique int id: @modifier, + string name: string ref); + +has_modifiers( + int id: @modifiable_direct ref, + int mod_id: @modifier ref); + +/** MEMBERS **/ + +@member = @method | @constructor | @destructor | @field | @property | @event | @operator | @indexer | @type; + +@named_exprorstmt = @goto_stmt | @labeled_stmt | @expr; + +@virtualizable = @method | @property | @indexer | @event | @operator; + +exprorstmt_name( + unique int parent_id: @named_exprorstmt ref, + string name: string ref); + +nested_types( + unique int id: @type ref, + int declaring_type_id: @type ref, + int unbound_id: @type ref); + +properties( + unique int id: @property, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @property ref); + +property_location( + int id: @property ref, + int loc: @location ref); + +indexers( + unique int id: @indexer, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @indexer ref); + +indexer_location( + int id: @indexer ref, + int loc: @location ref); + +accessors( + unique int id: @accessor, + int kind: int ref, + string name: string ref, + int declaring_member_id: @member ref, + int unbound_id: @accessor ref); + +case @accessor.kind of + 1 = @getter +| 2 = @setter + ; + +init_only_accessors( + unique int id: @accessor ref); + +accessor_location( + int id: @accessor ref, + int loc: @location ref); + +events( + unique int id: @event, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @event ref); + +event_location( + int id: @event ref, + int loc: @location ref); + +event_accessors( + unique int id: @event_accessor, + int kind: int ref, + string name: string ref, + int declaring_event_id: @event ref, + int unbound_id: @event_accessor ref); + +case @event_accessor.kind of + 1 = @add_event_accessor +| 2 = @remove_event_accessor + ; + +event_accessor_location( + int id: @event_accessor ref, + int loc: @location ref); + +operators( + unique int id: @operator, + string name: string ref, + string symbol: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @operator ref); + +operator_location( + int id: @operator ref, + int loc: @location ref); + +constant_value( + int id: @variable ref, + string value: string ref); + +/** CALLABLES **/ + +@callable = @method | @constructor | @destructor | @operator | @callable_accessor | @anonymous_function_expr | @local_function; + +@callable_accessor = @accessor | @event_accessor; + +methods( + unique int id: @method, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @method ref); + +method_location( + int id: @method ref, + int loc: @location ref); + +constructors( + unique int id: @constructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @constructor ref); + +constructor_location( + int id: @constructor ref, + int loc: @location ref); + +destructors( + unique int id: @destructor, + string name: string ref, + int declaring_type_id: @type ref, + int unbound_id: @destructor ref); + +destructor_location( + int id: @destructor ref, + int loc: @location ref); + +overrides( + int id: @callable ref, + int base_id: @callable ref); + +explicitly_implements( + int id: @member ref, + int interface_id: @interface_or_ref ref); + +local_functions( + unique int id: @local_function, + string name: string ref, + int return_type: @type ref, + int unbound_id: @local_function ref); + +local_function_stmts( + unique int fn: @local_function_stmt ref, + int stmt: @local_function ref); + +/** VARIABLES **/ + +@variable = @local_scope_variable | @field; + +@local_scope_variable = @local_variable | @parameter; + +fields( + unique int id: @field, + int kind: int ref, + string name: string ref, + int declaring_type_id: @type ref, + int type_id: @type_or_ref ref, + int unbound_id: @field ref); + +case @field.kind of + 1 = @addressable_field +| 2 = @constant + ; + +field_location( + int id: @field ref, + int loc: @location ref); + +localvars( + unique int id: @local_variable, + int kind: int ref, + string name: string ref, + int implicitly_typed: int ref /* 0 = no, 1 = yes */, + int type_id: @type_or_ref ref, + int parent_id: @local_var_decl_expr ref); + +case @local_variable.kind of + 1 = @addressable_local_variable +| 2 = @local_constant +| 3 = @local_variable_ref + ; + +localvar_location( + unique int id: @local_variable ref, + int loc: @location ref); + +@parameterizable = @callable | @delegate_type | @indexer | @function_pointer_type | @extension_type; + +#keyset[name, parent_id] +#keyset[index, parent_id] +params( + unique int id: @parameter, + string name: string ref, + int type_id: @type_or_ref ref, + int index: int ref, + int mode: int ref, /* value = 0, ref = 1, out = 2, params/array = 3, this = 4, in = 5, ref readonly = 6 */ + int parent_id: @parameterizable ref, + int unbound_id: @parameter ref); + +param_location( + int id: @parameter ref, + int loc: @location ref); + +@has_scoped_annotation = @local_scope_variable + +scoped_annotation( + int id: @has_scoped_annotation ref, + int kind: int ref // scoped ref = 1, scoped value = 2 + ); + +/** STATEMENTS **/ + +@exprorstmt_parent = @control_flow_element | @top_level_exprorstmt_parent; + +statements( + unique int id: @stmt, + int kind: int ref); + +#keyset[index, parent] +stmt_parent( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_stmt_parent = @callable; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +stmt_parent_top_level( + unique int stmt: @stmt ref, + int index: int ref, + int parent: @top_level_stmt_parent ref); + +case @stmt.kind of + 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @switch_stmt +| 5 = @while_stmt +| 6 = @do_stmt +| 7 = @for_stmt +| 8 = @foreach_stmt +| 9 = @break_stmt +| 10 = @continue_stmt +| 11 = @goto_stmt +| 12 = @goto_case_stmt +| 13 = @goto_default_stmt +| 14 = @throw_stmt +| 15 = @return_stmt +| 16 = @yield_stmt +| 17 = @try_stmt +| 18 = @checked_stmt +| 19 = @unchecked_stmt +| 20 = @lock_stmt +| 21 = @using_block_stmt +| 22 = @var_decl_stmt +| 23 = @const_decl_stmt +| 24 = @empty_stmt +| 25 = @unsafe_stmt +| 26 = @fixed_stmt +| 27 = @label_stmt +| 28 = @catch +| 29 = @case_stmt +| 30 = @local_function_stmt +| 31 = @using_decl_stmt + ; + +@using_stmt = @using_block_stmt | @using_decl_stmt; + +@labeled_stmt = @label_stmt | @case; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @using_decl_stmt; + +@cond_stmt = @if_stmt | @switch_stmt; + +@loop_stmt = @while_stmt | @do_stmt | @for_stmt | @foreach_stmt; + +@jump_stmt = @break_stmt | @goto_any_stmt | @continue_stmt | @throw_stmt | @return_stmt + | @yield_stmt; + +@goto_any_stmt = @goto_default_stmt | @goto_case_stmt | @goto_stmt; + + +stmt_location( + unique int id: @stmt ref, + int loc: @location ref); + +catch_type( + unique int catch_id: @catch ref, + int type_id: @type_or_ref ref, + int kind: int ref /* explicit = 1, implicit = 2 */); + +foreach_stmt_info( + unique int id: @foreach_stmt ref, + int kind: int ref /* non-async = 1, async = 2 */); + +@foreach_symbol = @method | @property | @type_or_ref; + +#keyset[id, kind] +foreach_stmt_desugar( + int id: @foreach_stmt ref, + int symbol: @foreach_symbol ref, + int kind: int ref /* GetEnumeratorMethod = 1, CurrentProperty = 2, MoveNextMethod = 3, DisposeMethod = 4, ElementType = 5 */); + +/** EXPRESSIONS **/ + +expressions( + unique int id: @expr, + int kind: int ref, + int type_id: @type_or_ref ref); + +#keyset[index, parent] +expr_parent( + unique int expr: @expr ref, + int index: int ref, + int parent: @control_flow_element ref); + +@top_level_expr_parent = @attribute | @field | @property | @indexer | @parameter | @directive_if | @directive_elif; + +@top_level_exprorstmt_parent = @top_level_expr_parent | @top_level_stmt_parent; + +// [index, parent] is not a keyset because the same parent may be compiled multiple times +expr_parent_top_level( + unique int expr: @expr ref, + int index: int ref, + int parent: @top_level_exprorstmt_parent ref); + +case @expr.kind of +/* literal */ + 1 = @bool_literal_expr +| 2 = @char_literal_expr +| 3 = @decimal_literal_expr +| 4 = @int_literal_expr +| 5 = @long_literal_expr +| 6 = @uint_literal_expr +| 7 = @ulong_literal_expr +| 8 = @float_literal_expr +| 9 = @double_literal_expr +| 10 = @utf16_string_literal_expr +| 11 = @null_literal_expr +/* primary & unary */ +| 12 = @this_access_expr +| 13 = @base_access_expr +| 14 = @local_variable_access_expr +| 15 = @parameter_access_expr +| 16 = @field_access_expr +| 17 = @property_access_expr +| 18 = @method_access_expr +| 19 = @event_access_expr +| 20 = @indexer_access_expr +| 21 = @array_access_expr +| 22 = @type_access_expr +| 23 = @typeof_expr +| 24 = @method_invocation_expr +| 25 = @delegate_invocation_expr +| 26 = @operator_invocation_expr +| 27 = @cast_expr +| 28 = @object_creation_expr +| 29 = @explicit_delegate_creation_expr +| 30 = @implicit_delegate_creation_expr +| 31 = @array_creation_expr +| 32 = @default_expr +| 33 = @plus_expr +| 34 = @minus_expr +| 35 = @bit_not_expr +| 36 = @log_not_expr +| 37 = @post_incr_expr +| 38 = @post_decr_expr +| 39 = @pre_incr_expr +| 40 = @pre_decr_expr +/* multiplicative */ +| 41 = @mul_expr +| 42 = @div_expr +| 43 = @rem_expr +/* additive */ +| 44 = @add_expr +| 45 = @sub_expr +/* shift */ +| 46 = @lshift_expr +| 47 = @rshift_expr +/* relational */ +| 48 = @lt_expr +| 49 = @gt_expr +| 50 = @le_expr +| 51 = @ge_expr +/* equality */ +| 52 = @eq_expr +| 53 = @ne_expr +/* logical */ +| 54 = @bit_and_expr +| 55 = @bit_xor_expr +| 56 = @bit_or_expr +| 57 = @log_and_expr +| 58 = @log_or_expr +/* type testing */ +| 59 = @is_expr +| 60 = @as_expr +/* null coalescing */ +| 61 = @null_coalescing_expr +/* conditional */ +| 62 = @conditional_expr +/* assignment */ +| 63 = @simple_assign_expr +| 64 = @assign_add_expr +| 65 = @assign_sub_expr +| 66 = @assign_mul_expr +| 67 = @assign_div_expr +| 68 = @assign_rem_expr +| 69 = @assign_and_expr +| 70 = @assign_xor_expr +| 71 = @assign_or_expr +| 72 = @assign_lshift_expr +| 73 = @assign_rshift_expr +/* more */ +| 74 = @object_init_expr +| 75 = @collection_init_expr +| 76 = @array_init_expr +| 77 = @checked_expr +| 78 = @unchecked_expr +| 79 = @constructor_init_expr +| 80 = @add_event_expr +| 81 = @remove_event_expr +| 82 = @par_expr +| 83 = @local_var_decl_expr +| 84 = @lambda_expr +| 85 = @anonymous_method_expr +| 86 = @namespace_expr +/* dynamic */ +| 92 = @dynamic_element_access_expr +| 93 = @dynamic_member_access_expr +/* unsafe */ +| 100 = @pointer_indirection_expr +| 101 = @address_of_expr +| 102 = @sizeof_expr +/* async */ +| 103 = @await_expr +/* C# 6.0 */ +| 104 = @nameof_expr +| 105 = @interpolated_string_expr +| 106 = @unknown_expr +/* C# 7.0 */ +| 107 = @throw_expr +| 108 = @tuple_expr +| 109 = @local_function_invocation_expr +| 110 = @ref_expr +| 111 = @discard_expr +/* C# 8.0 */ +| 112 = @range_expr +| 113 = @index_expr +| 114 = @switch_expr +| 115 = @recursive_pattern_expr +| 116 = @property_pattern_expr +| 117 = @positional_pattern_expr +| 118 = @switch_case_expr +| 119 = @assign_coalesce_expr +| 120 = @suppress_nullable_warning_expr +| 121 = @namespace_access_expr +/* C# 9.0 */ +| 122 = @lt_pattern_expr +| 123 = @gt_pattern_expr +| 124 = @le_pattern_expr +| 125 = @ge_pattern_expr +| 126 = @not_pattern_expr +| 127 = @and_pattern_expr +| 128 = @or_pattern_expr +| 129 = @function_pointer_invocation_expr +| 130 = @with_expr +/* C# 11.0 */ +| 131 = @list_pattern_expr +| 132 = @slice_pattern_expr +| 133 = @urshift_expr +| 134 = @assign_urshift_expr +| 135 = @utf8_string_literal_expr +/* C# 12.0 */ +| 136 = @collection_expr +| 137 = @spread_element_expr +| 138 = @interpolated_string_insert_expr +/* Preprocessor */ +| 999 = @define_symbol_expr +; + +@switch = @switch_stmt | @switch_expr; +@case = @case_stmt | @switch_case_expr; +@pattern_match = @case | @is_expr; +@unary_pattern_expr = @not_pattern_expr; +@relational_pattern_expr = @gt_pattern_expr | @lt_pattern_expr | @ge_pattern_expr | @le_pattern_expr; +@binary_pattern_expr = @and_pattern_expr | @or_pattern_expr; + +@integer_literal_expr = @int_literal_expr | @long_literal_expr | @uint_literal_expr | @ulong_literal_expr; +@real_literal_expr = @float_literal_expr | @double_literal_expr | @decimal_literal_expr; +@string_literal_expr = @utf16_string_literal_expr | @utf8_string_literal_expr; +@literal_expr = @bool_literal_expr | @char_literal_expr | @integer_literal_expr | @real_literal_expr + | @string_literal_expr | @null_literal_expr; + +@assign_expr = @simple_assign_expr | @assign_op_expr | @local_var_decl_expr; +@assign_op_call_expr = @assign_arith_expr | @assign_bitwise_expr +@assign_op_expr = @assign_op_call_expr | @assign_event_expr | @assign_coalesce_expr; +@assign_event_expr = @add_event_expr | @remove_event_expr; + +@add_operation = @add_expr | @assign_add_expr; +@sub_operation = @sub_expr | @assign_sub_expr; +@mul_operation = @mul_expr | @assign_mul_expr; +@div_operation = @div_expr | @assign_div_expr; +@rem_operation = @rem_expr | @assign_rem_expr; +@and_operation = @bit_and_expr | @assign_and_expr; +@xor_operation = @bit_xor_expr | @assign_xor_expr; +@or_operation = @bit_or_expr | @assign_or_expr; +@lshift_operation = @lshift_expr | @assign_lshift_expr; +@rshift_operation = @rshift_expr | @assign_rshift_expr; +@urshift_operation = @urshift_expr | @assign_urshift_expr; +@null_coalescing_operation = @null_coalescing_expr | @assign_coalesce_expr; + +@assign_arith_expr = @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr + | @assign_rem_expr +@assign_bitwise_expr = @assign_and_expr | @assign_or_expr | @assign_xor_expr + | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr; + +@member_access_expr = @field_access_expr | @property_access_expr | @indexer_access_expr | @event_access_expr + | @method_access_expr | @type_access_expr | @dynamic_member_access_expr; +@access_expr = @member_access_expr | @this_access_expr | @base_access_expr | @assignable_access_expr | @namespace_access_expr; +@element_access_expr = @indexer_access_expr | @array_access_expr | @dynamic_element_access_expr; + +@local_variable_access = @local_variable_access_expr | @local_var_decl_expr; +@local_scope_variable_access_expr = @parameter_access_expr | @local_variable_access; +@variable_access_expr = @local_scope_variable_access_expr | @field_access_expr; + +@assignable_access_expr = @variable_access_expr | @property_access_expr | @element_access_expr + | @event_access_expr | @dynamic_member_access_expr; + +@objectorcollection_init_expr = @object_init_expr | @collection_init_expr; + +@delegate_creation_expr = @explicit_delegate_creation_expr | @implicit_delegate_creation_expr; + +@bin_arith_op_expr = @mul_expr | @div_expr | @rem_expr | @add_expr | @sub_expr; +@incr_op_expr = @pre_incr_expr | @post_incr_expr; +@decr_op_expr = @pre_decr_expr | @post_decr_expr; +@mut_op_expr = @incr_op_expr | @decr_op_expr; +@un_arith_op_expr = @plus_expr | @minus_expr | @mut_op_expr; +@arith_op_expr = @bin_arith_op_expr | @un_arith_op_expr; + +@ternary_log_op_expr = @conditional_expr; +@bin_log_op_expr = @log_and_expr | @log_or_expr | @null_coalescing_expr; +@un_log_op_expr = @log_not_expr; +@log_expr = @un_log_op_expr | @bin_log_op_expr | @ternary_log_op_expr; + +@bin_bit_op_expr = @bit_and_expr | @bit_or_expr | @bit_xor_expr | @lshift_expr + | @rshift_expr | @urshift_expr; +@un_bit_op_expr = @bit_not_expr; +@bit_expr = @un_bit_op_expr | @bin_bit_op_expr; + +@equality_op_expr = @eq_expr | @ne_expr; +@rel_op_expr = @gt_expr | @lt_expr| @ge_expr | @le_expr; +@comp_expr = @equality_op_expr | @rel_op_expr; + +@op_expr = @un_op | @bin_op | @ternary_op; + +@ternary_op = @ternary_log_op_expr; +@bin_op = @assign_expr | @bin_arith_op_expr | @bin_log_op_expr | @bin_bit_op_expr | @comp_expr; +@un_op = @un_arith_op_expr | @un_log_op_expr | @un_bit_op_expr | @sizeof_expr + | @pointer_indirection_expr | @address_of_expr; + +@anonymous_function_expr = @lambda_expr | @anonymous_method_expr; + +@op_invoke_expr = @operator_invocation_expr | @assign_op_call_expr +@call = @method_invocation_expr | @constructor_init_expr | @op_invoke_expr + | @delegate_invocation_expr | @object_creation_expr | @call_access_expr + | @local_function_invocation_expr | @function_pointer_invocation_expr; + +@call_access_expr = @property_access_expr | @event_access_expr | @indexer_access_expr; + +@late_bindable_expr = @dynamic_element_access_expr | @dynamic_member_access_expr + | @object_creation_expr | @method_invocation_expr | @op_invoke_expr; + +@throw_element = @throw_expr | @throw_stmt; + +@implicitly_typeable_object_creation_expr = @object_creation_expr | @explicit_delegate_creation_expr; + +implicitly_typed_array_creation( + unique int id: @array_creation_expr ref); + +explicitly_sized_array_creation( + unique int id: @array_creation_expr ref); + +stackalloc_array_creation( + unique int id: @array_creation_expr ref); + +implicitly_typed_object_creation( + unique int id: @implicitly_typeable_object_creation_expr ref); + +mutator_invocation_mode( + unique int id: @operator_invocation_expr ref, + int mode: int ref /* prefix = 1, postfix = 2*/); + +expr_value( + unique int id: @expr ref, + string value: string ref); + +expr_call( + unique int caller_id: @expr ref, + int target_id: @callable ref); + +expr_access( + unique int accesser_id: @access_expr ref, + int target_id: @accessible ref); + +@accessible = @method | @assignable | @local_function | @namespace; + +expr_location( + unique int id: @expr ref, + int loc: @location ref); + +dynamic_member_name( + unique int id: @late_bindable_expr ref, + string name: string ref); + +@qualifiable_expr = @member_access_expr + | @method_invocation_expr + | @element_access_expr + | @assign_op_call_expr; + +conditional_access( + unique int id: @qualifiable_expr ref); + +expr_argument( + unique int id: @expr ref, + int mode: int ref); + /* mode is the same as params: value = 0, ref = 1, out = 2 */ + +expr_argument_name( + unique int id: @expr ref, + string name: string ref); + +lambda_expr_return_type( + unique int id: @lambda_expr ref, + int type_id: @type_or_ref ref); + +/* Compiler generated */ + +compiler_generated(unique int id: @element ref); + +/** CONTROL/DATA FLOW **/ + +@control_flow_element = @stmt | @expr; + +/* XML Files */ + +xmlEncoding ( + unique int id: @file ref, + string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* Comments */ + +commentline( + unique int id: @commentline, + int kind: int ref, + string text: string ref, + string rawtext: string ref); + +case @commentline.kind of + 0 = @singlelinecomment +| 1 = @xmldoccomment +| 2 = @multilinecomment; + +commentline_location( + unique int id: @commentline ref, + int loc: @location ref); + +commentblock( + unique int id : @commentblock); + +commentblock_location( + unique int id: @commentblock ref, + int loc: @location ref); + +commentblock_binding( + int id: @commentblock ref, + int entity: @element ref, + int bindtype: int ref); /* 0: Parent, 1: Best, 2: Before, 3: After */ + +commentblock_child( + int id: @commentblock ref, + int commentline: @commentline ref, + int index: int ref); + +/* ASP.NET */ + +case @asp_element.kind of + 0=@asp_close_tag +| 1=@asp_code +| 2=@asp_comment +| 3=@asp_data_binding +| 4=@asp_directive +| 5=@asp_open_tag +| 6=@asp_quoted_string +| 7=@asp_text +| 8=@asp_xml_directive; + +@asp_attribute = @asp_code | @asp_data_binding | @asp_quoted_string; + +asp_elements( + unique int id: @asp_element, + int kind: int ref, + int loc: @location ref); + +asp_comment_server(unique int comment: @asp_comment ref); +asp_code_inline(unique int code: @asp_code ref); +asp_directive_attribute( + int directive: @asp_directive ref, + int index: int ref, + string name: string ref, + int value: @asp_quoted_string ref); +asp_directive_name( + unique int directive: @asp_directive ref, + string name: string ref); +asp_element_body( + unique int element: @asp_element ref, + string body: string ref); +asp_tag_attribute( + int tag: @asp_open_tag ref, + int index: int ref, + string name: string ref, + int attribute: @asp_attribute ref); +asp_tag_name( + unique int tag: @asp_open_tag ref, + string name: string ref); +asp_tag_isempty(int tag: @asp_open_tag ref); diff --git a/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/upgrade.properties b/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/upgrade.properties new file mode 100644 index 00000000000..1a6c09d7415 --- /dev/null +++ b/csharp/ql/lib/upgrades/19b8cc3e2dc768d4cbc03d6e3773b709bbebd036/upgrade.properties @@ -0,0 +1,2 @@ +description: Add @assign_op_call_expr to @qualifiable_expr. +compatibility: full diff --git a/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql b/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql index c1eb996863c..8e36f4f1ad1 100644 --- a/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql +++ b/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql @@ -16,11 +16,10 @@ import csharp import semmle.code.csharp.commons.Assertions import semmle.code.csharp.commons.Constants -import semmle.code.csharp.controlflow.BasicBlocks import semmle.code.csharp.controlflow.Guards as Guards import codeql.controlflow.queries.ConstantCondition as ConstCond -module ConstCondInput implements ConstCond::InputSig { +module ConstCondInput implements ConstCond::InputSig { class SsaDefinition = Ssa::Definition; class GuardValue = Guards::GuardValue; diff --git a/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql b/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql index 150ae78ae09..340663c6701 100644 --- a/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql +++ b/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql @@ -22,22 +22,32 @@ predicate correctlySynchronized(CollectionMember c, Expr access) { ( c.getType().(ValueOrRefType).getABaseType*().getName().matches("Concurrent%") or access.getEnclosingStmt().getParent*() instanceof LockStmt or - any(LockingCall call).getAControlFlowNode().getASuccessor+() = access.getAControlFlowNode() + any(LockingCall call).getControlFlowNode().getASuccessor+() = access.getControlFlowNode() ) } -ControlFlow::Node unlockedReachable(Callable a) { - result = a.getEntryPoint() +predicate firstLockingCallInBlock(BasicBlock b, int i) { + i = min(int j | b.getNode(j).asExpr() instanceof LockingCall) +} + +BasicBlock unlockedReachable(Callable a) { + result = a.getEntryPoint().getBasicBlock() or - exists(ControlFlow::Node mid | mid = unlockedReachable(a) | - not mid.getAstNode() instanceof LockingCall and + exists(BasicBlock mid | mid = unlockedReachable(a) | + not firstLockingCallInBlock(mid, _) and result = mid.getASuccessor() ) } predicate unlockedCalls(Callable a, Callable b) { - exists(Call call | - call.getAControlFlowNode() = unlockedReachable(a) and + exists(Call call, BasicBlock callBlock, int j | + call.getControlFlowNode() = callBlock.getNode(j) and + callBlock = unlockedReachable(a) and + ( + exists(int i | j <= i and firstLockingCallInBlock(callBlock, i)) + or + not firstLockingCallInBlock(callBlock, _) + ) and call.getARuntimeTarget() = b and not call.getParent*() instanceof LockStmt ) diff --git a/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql b/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql index 59816a18b3f..12baac99c78 100644 --- a/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql +++ b/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql @@ -131,7 +131,7 @@ class RelevantDefinition extends AssignableDefinition { /** Holds if this definition is dead and we want to report it. */ predicate isDead() { // Ensure that the definition is not in dead code - exists(this.getExpr().getAControlFlowNode()) and + exists(this.getExpr().getControlFlowNode()) and not this.isMaybeLive() and // Allow dead initializer assignments, such as `string s = string.Empty`, but only // if the initializer expression assigns a default-like value, and there exists another diff --git a/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql b/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql index 0831eb56199..d616c2377c3 100644 --- a/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql +++ b/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql @@ -80,21 +80,20 @@ class NestedForLoopSameVariable extends ForStmt { } /** Finds elements inside the outer loop that are no longer guarded by the loop invariant. */ - private ControlFlow::Node getAnUnguardedNode() { + private ControlFlowNode getAnUnguardedNode() { hasChild(this.getOuterForStmt().getBody(), result.getAstNode()) and ( - result = - this.getCondition().(ControlFlowElement).getAControlFlowExitNode().getAFalseSuccessor() + result.isAfterFalse(this.getCondition()) or - exists(ControlFlow::Node mid | mid = this.getAnUnguardedNode() | + exists(ControlFlowNode mid | mid = this.getAnUnguardedNode() | mid.getASuccessor() = result and - not exists(this.getAComparisonTest(result.getAstNode())) + not exists(this.getAComparisonTest(result.asExpr())) ) ) } private VariableAccess getAnUnguardedAccess() { - result = this.getAnUnguardedNode().getAstNode() and + result = this.getAnUnguardedNode().asExpr() and result.getTarget() = iteration } } diff --git a/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql b/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql index f639b060ac1..39f0bfddf6a 100644 --- a/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql +++ b/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql @@ -15,15 +15,15 @@ import csharp // Iterate the control flow until we reach a Stmt -Stmt findSuccessorStmt(ControlFlow::Node n) { - result = n.getAstNode() +Stmt findSuccessorStmt(ControlFlowNode n) { + result = n.asStmt() or - not n.getAstNode() instanceof Stmt and result = findSuccessorStmt(n.getASuccessor()) + not exists(n.asStmt()) and result = findSuccessorStmt(n.getASuccessor()) } // Return a successor statement to s Stmt getASuccessorStmt(Stmt s) { - result = findSuccessorStmt(s.getAControlFlowNode().getASuccessor()) + result = findSuccessorStmt(s.getControlFlowNode().getASuccessor()) } class IfThenStmt extends IfStmt { diff --git a/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql b/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql index 5c11a77f30d..0b87b12041a 100644 --- a/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql +++ b/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql @@ -13,20 +13,15 @@ import csharp import semmle.code.csharp.frameworks.System -private predicate equalsMethodChild(EqualsMethod equals, Element child) { - child = equals +pragma[nomagic] +predicate nodeBeforeParameterAccess(ControlFlowNode node) { + exists(EqualsMethod equals | equals.getBody().getControlFlowNode() = node) or - equalsMethodChild(equals, child.getParent()) -} - -predicate nodeBeforeParameterAccess(ControlFlow::Node node) { - exists(EqualsMethod equals | equals.getBody() = node.getAstNode()) - or - exists(EqualsMethod equals, Parameter param, ControlFlow::Node mid | + exists(EqualsMethod equals, Parameter param, ControlFlowNode mid | equals.getParameter(0) = param and - equalsMethodChild(equals, mid.getAstNode()) and + equals = mid.getEnclosingCallable() and nodeBeforeParameterAccess(mid) and - not param.getAnAccess() = mid.getAstNode() and + not param.getAnAccess().getControlFlowNode() = mid and mid.getASuccessor() = node ) } @@ -35,5 +30,5 @@ from ParameterAccess access, CastExpr cast where access = cast.getAChild() and access.getTarget().getDeclaringElement() = access.getEnclosingCallable() and - nodeBeforeParameterAccess(access.getAControlFlowNode()) + nodeBeforeParameterAccess(access.getControlFlowNode()) select cast, "Equals() method does not check argument type." diff --git a/csharp/ql/src/Performance/StringBuilderInLoop.ql b/csharp/ql/src/Performance/StringBuilderInLoop.ql index f1f23ebf5e0..1f7e24988ce 100644 --- a/csharp/ql/src/Performance/StringBuilderInLoop.ql +++ b/csharp/ql/src/Performance/StringBuilderInLoop.ql @@ -13,10 +13,10 @@ import csharp import semmle.code.csharp.frameworks.system.Text -from ObjectCreation creation, LoopStmt loop, ControlFlow::Node loopEntryNode +from ObjectCreation creation, LoopStmt loop, ControlFlowNode loopEntryNode where creation.getType() instanceof SystemTextStringBuilderClass and - loopEntryNode = loop.getBody().getAControlFlowEntryNode() and + loopEntryNode.isBefore(loop.getBody()) and loop.getBody().getAChild*() = creation and - creation.getAControlFlowNode().postDominates(loopEntryNode) + creation.getControlFlowNode().postDominates(loopEntryNode) select creation, "Creating a 'StringBuilder' in a loop." diff --git a/csharp/ql/src/Security Features/CWE-384/AbandonSession.ql b/csharp/ql/src/Security Features/CWE-384/AbandonSession.ql index c350c8f3755..2654b48c233 100644 --- a/csharp/ql/src/Security Features/CWE-384/AbandonSession.ql +++ b/csharp/ql/src/Security Features/CWE-384/AbandonSession.ql @@ -56,18 +56,18 @@ predicate sessionUse(MemberAccess ma) { } /** A control flow step that is not sanitised by a call to clear the session. */ -predicate controlStep(ControlFlow::Node s1, ControlFlow::Node s2) { +predicate controlStep(ControlFlowNode s1, ControlFlowNode s2) { s2 = s1.getASuccessor() and - not sessionEndMethod(s2.getAstNode().(MethodCall).getTarget()) + not sessionEndMethod(s2.asExpr().(MethodCall).getTarget()) } from - ControlFlow::Node loginCall, Method loginMethod, ControlFlow::Node sessionUse, + ControlFlowNode loginCall, Method loginMethod, ControlFlowNode sessionUse, ControlFlow::SuccessorType fromLoginFlow where - loginMethod = loginCall.getAstNode().(MethodCall).getTarget() and + loginMethod = loginCall.asExpr().(MethodCall).getTarget() and loginMethod(loginMethod, fromLoginFlow) and - sessionUse(sessionUse.getAstNode()) and - controlStep+(loginCall.getASuccessorByType(fromLoginFlow), sessionUse) + sessionUse(sessionUse.asExpr()) and + controlStep+(loginCall.getASuccessor(fromLoginFlow), sessionUse) select sessionUse, "This session has not been invalidated following the call to $@.", loginCall, loginMethod.getName() diff --git a/csharp/ql/src/Useless code/DefaultToStringQuery.qll b/csharp/ql/src/Useless code/DefaultToStringQuery.qll index 411ca47b5e6..cd7a1419028 100644 --- a/csharp/ql/src/Useless code/DefaultToStringQuery.qll +++ b/csharp/ql/src/Useless code/DefaultToStringQuery.qll @@ -30,7 +30,7 @@ predicate invokesToString(Expr e, ValueOrRefType t) { pragma[nomagic] private predicate parameterReadPostDominatesEntry(ParameterRead pr) { - pr.getAControlFlowNode().postDominates(pr.getEnclosingCallable().getEntryPoint()) + pr.getControlFlowNode().postDominates(pr.getEnclosingCallable().getEntryPoint()) } pragma[nomagic] diff --git a/csharp/ql/test/library-tests/assignables/AssignableDefinitionNode.ql b/csharp/ql/test/library-tests/assignables/AssignableDefinitionNode.ql index 8ff3aad95fc..2e4af6cfe9b 100644 --- a/csharp/ql/test/library-tests/assignables/AssignableDefinitionNode.ql +++ b/csharp/ql/test/library-tests/assignables/AssignableDefinitionNode.ql @@ -1,4 +1,4 @@ import csharp from AssignableDefinition def -select def, def.getExpr().getAControlFlowNode() +select def, def.getExpr().getControlFlowNode() diff --git a/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected b/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected index 9802f2b0195..19aa44a8447 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected @@ -1,1178 +1,1318 @@ -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | exit AccessorCalls | 7 | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:23:5:25 | exit get_Item | 4 | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:33:5:35 | exit set_Item | 4 | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:32:7:34 | exit add_Event | 4 | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:40:7:45 | exit remove_Event | 4 | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | exit M1 | 34 | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | exit M2 | 42 | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:28:10:28:11 | exit M3 | 17 | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:35:10:35:11 | exit M4 | 20 | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | exit M5 | 24 | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | exit M6 | 30 | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | exit M7 | 25 | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | exit M8 | 31 | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:66:10:66:11 | exit M9 | 51 | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation | 7 | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:11:3:12 | exit M1 | 5 | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:12:5:13 | exit M2 | 6 | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:11:7:12 | exit M3 | 8 | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:12:9:13 | exit M4 | 13 | -| Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | exit AssertTests | 7 | -| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 | 7 | -| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | exit M | 31 | -| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | exit (...) => ... | 4 | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | exit + | 6 | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | exit SetParamSingle | 7 | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | exit SetParamMulti | 10 | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | exit M2 | 28 | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | exit BreakInTry | 7 | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:7:33:7:36 | access to parameter args | 5 | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | exit M1 | 2 | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | 1 | -| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:9:21:9:31 | ... == ... | 6 | -| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:10:21:10:26 | break; | 1 | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:15:17:15:28 | ... == ... | 5 | -| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:16:17:16:17 | ; | 1 | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:22:29:22:32 | access to parameter args | 3 | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | 1 | -| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:26:21:26:31 | ... == ... | 8 | -| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:27:21:27:26 | break; | 1 | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | 5 | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:32:21:32:21 | ; | 1 | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | exit M2 | 3 | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:42:17:42:28 | ... == ... | 8 | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | exit M3 | 2 | -| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:43:17:43:23 | return ...; | 1 | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | access to parameter args | 2 | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | 1 | -| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:49:21:49:31 | ... == ... | 6 | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:50:21:50:26 | break; | 1 | -| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:53:7:53:7 | ; | 1 | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:60:17:60:28 | ... == ... | 8 | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | exit M4 | 2 | -| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:61:17:61:23 | return ...; | 1 | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | access to parameter args | 2 | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | 1 | -| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:67:21:67:31 | ... == ... | 6 | -| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:68:21:68:26 | break; | 1 | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators | 7 | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | exit Default | 6 | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | 6 | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | exit Typeof | 6 | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:20:12:20:17 | exit Nameof | 6 | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally | 7 | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | 9 | -| CompileTimeOperators.cs:28:10:28:10 | exit M | CompileTimeOperators.cs:28:10:28:10 | exit M | 1 | -| CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | 1 | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | 3 | -| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:28:10:28:10 | exit M (normal) | 5 | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess | 7 | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:26 | access to parameter i | 2 | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | exit M1 | 2 | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | call to method ToString | 1 | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | 1 | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:26:5:26 | access to parameter s | 2 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | exit M2 | 2 | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:34 | access to property Length | 1 | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | 2 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | exit M3 | 2 | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:38:7:55 | access to property Length | 1 | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | 1 | -| ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | 1 | -| ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | 1 | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | 1 | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:25 | access to parameter s | 2 | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | access to property Length | 1 | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | exit M4 | 3 | -| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:38:9:38 | 0 | 1 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:13:13:13:13 | access to parameter s | 4 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | exit M5 | 2 | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:21 | access to property Length | 1 | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:13:13:25 | ... > ... | 3 | -| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:13:14:21 | return ...; | 2 | -| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:13:16:21 | return ...; | 2 | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | 2 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | exit M6 | 2 | -| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | 2 | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:23:18:23:29 | (...) ... | 5 | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:24:18:24:24 | (...) ... | 4 | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:25:13:25:14 | "" | 4 | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:21:10:21:11 | exit M7 | 5 | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:10:30:12 | exit Out | 5 | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:35:9:35:12 | access to property Prop | 8 | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 | 2 | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | 1 | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | exit get_Item | 6 | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | exit set_Item | 4 | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | 4 | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:12:48:25 | ... = ... | 3 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | 2 | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:12:49:32 | ... = ... | 3 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | 2 | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:12:50:23 | ... = ... | 4 | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | 1 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | 2 | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:18:51:31 | ... = ... | 3 | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | 1 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | 2 | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:18:52:38 | ... = ... | 3 | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | 1 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | 2 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | 4 | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | 1 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:46:10:46:11 | exit M9 | 4 | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | 8 | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | exit Conditions | 7 | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:5:13:5:15 | access to parameter inc | 4 | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | exit IncrOrDecr | 2 | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:15 | ...++ | 3 | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:14:7:16 | access to parameter inc | 2 | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:7:13:7:16 | [false] !... | 1 | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:7:13:7:16 | [true] !... | 1 | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:15 | ...-- | 3 | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:14:13:14:13 | access to parameter b | 7 | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:15 | ...++ | 3 | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:13:16:17 | ... > ... | 4 | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:18:17:18 | access to parameter b | 2 | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:17:17:17:18 | [false] !... | 1 | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:17:17:17:18 | [true] !... | 1 | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:19 | ...-- | 3 | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:11:9:11:10 | exit M1 | 4 | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:25:13:25:14 | access to parameter b1 | 7 | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | 2 | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:19 | ...++ | 3 | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:13:28:14 | access to parameter b2 | 2 | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:15 | ...++ | 3 | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:22:9:22:10 | exit M2 | 4 | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:37:13:37:14 | access to parameter b1 | 10 | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:19 | ... = ... | 3 | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | 2 | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:15 | ...++ | 3 | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:41:13:41:14 | access to local variable b2 | 2 | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:15 | ...++ | 3 | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:33:9:33:10 | exit M3 | 4 | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:49:9:53:9 | while (...) ... | 6 | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:22 | ... > ... | 4 | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:51:17:51:17 | access to parameter b | 3 | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:19 | ...++ | 3 | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:46:9:46:10 | exit M4 | 4 | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:60:9:64:9 | while (...) ... | 6 | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:22 | ... > ... | 4 | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:62:17:62:17 | access to parameter b | 3 | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:19 | ...++ | 3 | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:13:65:13 | access to parameter b | 2 | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:15 | ...++ | 3 | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:57:9:57:10 | exit M5 | 4 | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:74:27:74:28 | access to parameter ss | 12 | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | 1 | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | Exit | 11 | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:23:5:25 | Exit | 4 | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:33:5:35 | Exit | 4 | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:32:7:34 | Exit | 4 | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:40:7:45 | Exit | 4 | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:10:10:10:11 | Exit | 66 | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:19:10:19:11 | Exit | 90 | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:28:10:28:11 | Exit | 33 | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:35:10:35:11 | Exit | 42 | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:42:10:42:11 | Exit | 46 | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:49:10:49:11 | Exit | 64 | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:56:10:56:11 | Exit | 50 | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:61:10:61:11 | Exit | 68 | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:66:10:66:11 | Exit | 104 | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | Exit | 11 | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:11:3:12 | Exit | 7 | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:12:5:13 | Exit | 8 | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:11:7:12 | Exit | 12 | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:12:9:13 | Exit | 21 | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | Exit | 11 | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:9:20:9:20 | access to parameter b | 7 | +| Assert.cs:7:10:7:11 | Exceptional Exit | Assert.cs:7:10:7:11 | Exceptional Exit | 1 | +| Assert.cs:7:10:7:11 | Exit | Assert.cs:7:10:7:11 | Exit | 1 | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:9:31:9:32 | "" | 2 | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:9:24:9:27 | null | 2 | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:10:9:10:31 | call to method Assert | 12 | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:7:10:7:11 | Normal Exit | 13 | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:16:20:16:20 | access to parameter b | 7 | +| Assert.cs:14:10:14:11 | Exceptional Exit | Assert.cs:14:10:14:11 | Exceptional Exit | 1 | +| Assert.cs:14:10:14:11 | Exit | Assert.cs:14:10:14:11 | Exit | 1 | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:16:31:16:32 | "" | 2 | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:16:24:16:27 | null | 2 | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:17:9:17:24 | call to method IsNull | 8 | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:14:10:14:11 | Normal Exit | 13 | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:23:20:23:20 | access to parameter b | 7 | +| Assert.cs:21:10:21:11 | Exceptional Exit | Assert.cs:21:10:21:11 | Exceptional Exit | 1 | +| Assert.cs:21:10:21:11 | Exit | Assert.cs:21:10:21:11 | Exit | 1 | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:23:31:23:32 | "" | 2 | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:23:24:23:27 | null | 2 | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:24:9:24:27 | call to method IsNotNull | 8 | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:21:10:21:11 | Normal Exit | 13 | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:30:20:30:20 | access to parameter b | 7 | +| Assert.cs:28:10:28:11 | Exceptional Exit | Assert.cs:28:10:28:11 | Exceptional Exit | 1 | +| Assert.cs:28:10:28:11 | Exit | Assert.cs:28:10:28:11 | Exit | 1 | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:30:31:30:32 | "" | 2 | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:30:24:30:27 | null | 2 | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:31:9:31:32 | call to method IsTrue | 12 | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:28:10:28:11 | Normal Exit | 13 | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:37:20:37:20 | access to parameter b | 7 | +| Assert.cs:35:10:35:11 | Exceptional Exit | Assert.cs:35:10:35:11 | Exceptional Exit | 1 | +| Assert.cs:35:10:35:11 | Exit | Assert.cs:35:10:35:11 | Exit | 1 | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:37:31:37:32 | "" | 2 | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:37:24:37:27 | null | 2 | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:38:9:38:32 | call to method IsTrue | 12 | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:35:10:35:11 | Normal Exit | 13 | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:44:20:44:20 | access to parameter b | 7 | +| Assert.cs:42:10:42:11 | Exceptional Exit | Assert.cs:42:10:42:11 | Exceptional Exit | 1 | +| Assert.cs:42:10:42:11 | Exit | Assert.cs:42:10:42:11 | Exit | 1 | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:44:31:44:32 | "" | 2 | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:44:24:44:27 | null | 2 | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:45:9:45:33 | call to method IsFalse | 12 | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:42:10:42:11 | Normal Exit | 13 | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:51:20:51:20 | access to parameter b | 7 | +| Assert.cs:49:10:49:11 | Exceptional Exit | Assert.cs:49:10:49:11 | Exceptional Exit | 1 | +| Assert.cs:49:10:49:11 | Exit | Assert.cs:49:10:49:11 | Exit | 1 | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:51:31:51:32 | "" | 2 | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:51:24:51:27 | null | 2 | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:52:9:52:33 | call to method IsFalse | 12 | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:49:10:49:11 | Normal Exit | 13 | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:58:20:58:20 | access to parameter b | 7 | +| Assert.cs:56:10:56:11 | Exceptional Exit | Assert.cs:56:10:56:11 | Exceptional Exit | 1 | +| Assert.cs:56:10:56:11 | Exit | Assert.cs:56:10:56:11 | Exit | 1 | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:58:31:58:32 | "" | 2 | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:58:24:58:27 | null | 2 | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:23:59:31 | ... != ... | 11 | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:56:10:56:11 | Normal Exit | 13 | +| Assert.cs:59:23:59:31 | After ... != ... [false] | Assert.cs:59:23:59:31 | After ... != ... [false] | 1 | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:59:36:59:36 | access to parameter b | 2 | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:9:59:37 | call to method IsTrue | 2 | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:65:20:65:20 | access to parameter b | 7 | +| Assert.cs:63:10:63:11 | Exceptional Exit | Assert.cs:63:10:63:11 | Exceptional Exit | 1 | +| Assert.cs:63:10:63:11 | Exit | Assert.cs:63:10:63:11 | Exit | 1 | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:65:31:65:32 | "" | 2 | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:65:24:65:27 | null | 2 | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:24:66:32 | ... == ... | 11 | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:63:10:63:11 | Normal Exit | 13 | +| Assert.cs:66:24:66:32 | After ... == ... [false] | Assert.cs:66:37:66:37 | access to parameter b | 2 | +| Assert.cs:66:24:66:32 | After ... == ... [true] | Assert.cs:66:24:66:32 | After ... == ... [true] | 1 | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:9:66:38 | call to method IsFalse | 2 | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:72:20:72:20 | access to parameter b | 7 | +| Assert.cs:70:10:70:12 | Exceptional Exit | Assert.cs:70:10:70:12 | Exceptional Exit | 1 | +| Assert.cs:70:10:70:12 | Exit | Assert.cs:70:10:70:12 | Exit | 1 | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:72:31:72:32 | "" | 2 | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:72:24:72:27 | null | 2 | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:23:73:31 | ... == ... | 11 | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:70:10:70:12 | Normal Exit | 13 | +| Assert.cs:73:23:73:31 | After ... == ... [false] | Assert.cs:73:23:73:31 | After ... == ... [false] | 1 | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:73:36:73:36 | access to parameter b | 2 | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:9:73:37 | call to method IsTrue | 2 | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:79:20:79:20 | access to parameter b | 7 | +| Assert.cs:77:10:77:12 | Exceptional Exit | Assert.cs:77:10:77:12 | Exceptional Exit | 1 | +| Assert.cs:77:10:77:12 | Exit | Assert.cs:77:10:77:12 | Exit | 1 | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:79:31:79:32 | "" | 2 | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:79:24:79:27 | null | 2 | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:24:80:32 | ... != ... | 11 | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:77:10:77:12 | Normal Exit | 13 | +| Assert.cs:80:24:80:32 | After ... != ... [false] | Assert.cs:80:37:80:37 | access to parameter b | 2 | +| Assert.cs:80:24:80:32 | After ... != ... [true] | Assert.cs:80:24:80:32 | After ... != ... [true] | 1 | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:9:80:38 | call to method IsFalse | 2 | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:86:20:86:20 | access to parameter b | 7 | +| Assert.cs:84:10:84:12 | Exceptional Exit | Assert.cs:84:10:84:12 | Exceptional Exit | 1 | +| Assert.cs:84:10:84:12 | Exit | Assert.cs:84:10:84:12 | Exit | 1 | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:86:31:86:32 | "" | 2 | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:86:24:86:27 | null | 2 | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:87:9:87:31 | call to method Assert | 12 | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:90:13:90:13 | access to parameter b | 16 | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:90:24:90:25 | "" | 2 | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:90:17:90:20 | null | 2 | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | call to method IsNull | 8 | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:94:13:94:13 | access to parameter b | 16 | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:94:24:94:25 | "" | 2 | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:94:17:94:20 | null | 2 | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | call to method IsNotNull | 8 | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:98:13:98:13 | access to parameter b | 16 | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:98:24:98:25 | "" | 2 | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:98:17:98:20 | null | 2 | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | call to method IsTrue | 12 | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | access to parameter b | 16 | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:102:24:102:25 | "" | 2 | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:102:17:102:20 | null | 2 | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | call to method IsTrue | 12 | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | access to parameter b | 16 | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:106:24:106:25 | "" | 2 | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:106:17:106:20 | null | 2 | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | call to method IsFalse | 12 | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | access to parameter b | 16 | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:110:24:110:25 | "" | 2 | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:110:17:110:20 | null | 2 | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | call to method IsFalse | 12 | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | access to parameter b | 16 | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:114:24:114:25 | "" | 2 | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:114:17:114:20 | null | 2 | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | ... != ... | 11 | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | access to parameter b | 16 | +| Assert.cs:115:23:115:31 | After ... != ... [false] | Assert.cs:115:23:115:31 | After ... != ... [false] | 1 | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:115:36:115:36 | access to parameter b | 2 | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:9:115:37 | call to method IsTrue | 2 | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:118:24:118:25 | "" | 2 | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:118:17:118:20 | null | 2 | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | ... == ... | 11 | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | access to parameter b | 16 | +| Assert.cs:119:24:119:32 | After ... == ... [false] | Assert.cs:119:37:119:38 | After !... | 4 | +| Assert.cs:119:24:119:32 | After ... == ... [true] | Assert.cs:119:24:119:32 | After ... == ... [true] | 1 | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:9:119:39 | call to method IsFalse | 2 | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:122:24:122:25 | "" | 2 | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:122:17:122:20 | null | 2 | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | ... == ... | 11 | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | access to parameter b | 16 | +| Assert.cs:123:23:123:31 | After ... == ... [false] | Assert.cs:123:23:123:31 | After ... == ... [false] | 1 | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:123:36:123:36 | access to parameter b | 2 | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:9:123:37 | call to method IsTrue | 2 | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:126:24:126:25 | "" | 2 | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:126:17:126:20 | null | 2 | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | ... != ... | 11 | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:84:10:84:12 | Normal Exit | 13 | +| Assert.cs:127:24:127:32 | After ... != ... [false] | Assert.cs:127:37:127:38 | After !... | 4 | +| Assert.cs:127:24:127:32 | After ... != ... [true] | Assert.cs:127:24:127:32 | After ... != ... [true] | 1 | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:9:127:39 | call to method IsFalse | 2 | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:131:18:131:32 | Exit | 4 | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | 9 | +| Assert.cs:138:10:138:12 | Exceptional Exit | Assert.cs:138:10:138:12 | Exceptional Exit | 1 | +| Assert.cs:138:10:138:12 | Exit | Assert.cs:138:10:138:12 | Exit | 1 | +| Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | Assert.cs:138:10:138:12 | Normal Exit | 5 | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Exit | 11 | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:3:10:3:10 | Exit | 62 | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:18:14:35 | Exit | 4 | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:17:40:17:40 | Exit | 7 | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:27:10:27:23 | Exit | 12 | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:32:10:32:22 | Exit | 19 | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:38:10:38:11 | Exit | 52 | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | Exit | 11 | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:33:7:36 | access to parameter args | 6 | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:15:17:15:28 | ... == ... | 8 | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:9:21:9:31 | ... == ... | 7 | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | 1 | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | 1 | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | 4 | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:10:21:10:26 | break; | 3 | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:3:10:3:11 | Exit | 6 | +| BreakInTry.cs:15:17:15:28 | After ... == ... [false] | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | 1 | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:16:17:16:17 | ; | 2 | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:29:22:32 | access to parameter args | 4 | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | Exit | 5 | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:26:21:26:31 | ... == ... | 9 | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | 1 | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | 1 | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:25:13:28:13 | After {...} | 3 | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:27:21:27:26 | break; | 3 | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | 6 | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:30:13:33:13 | After {...} | 2 | +| BreakInTry.cs:31:21:31:32 | After ... == ... [false] | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | 1 | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:32:21:32:21 | ; | 2 | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:42:17:42:28 | ... == ... | 9 | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | Exit | 2 | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:39:5:54:5 | After {...} | 3 | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:41:9:44:9 | After {...} | 3 | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:43:17:43:23 | return ...; | 3 | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | access to parameter args | 3 | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:46:9:52:9 | After {...} | 2 | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:49:21:49:31 | ... == ... | 7 | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | 1 | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | 1 | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | 4 | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:50:21:50:26 | break; | 3 | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:60:17:60:28 | ... == ... | 9 | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | Exit | 2 | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:57:5:71:5 | After {...} | 2 | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:59:9:62:9 | After {...} | 3 | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:61:17:61:23 | return ...; | 3 | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | access to parameter args | 3 | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:64:9:70:9 | After {...} | 2 | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:67:21:67:31 | ... == ... | 7 | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | 1 | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | 1 | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | 4 | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:68:21:68:26 | break; | 3 | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | Exit | 11 | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:5:9:5:15 | Exit | 7 | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:10:9:10:14 | Exit | 7 | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:15:10:15:15 | Exit | 7 | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:20:12:20:17 | Exit | 7 | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | Exit | 11 | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:36:9:38:9 | After {...} | 14 | +| CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | 1 | +| CompileTimeOperators.cs:28:10:28:10 | Exit | CompileTimeOperators.cs:28:10:28:10 | Exit | 1 | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:39:9:39:34 | After ...; | 7 | +| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:28:10:28:10 | Normal Exit | 9 | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | Exit | 11 | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:26 | access to parameter i | 4 | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:38 | call to method ToString | 2 | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | 1 | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | 2 | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | 1 | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:12:3:13 | Exit | 3 | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:26 | access to parameter s | 3 | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:26:5:34 | access to property Length | 2 | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | 1 | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:10:5:11 | Exit | 3 | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | 4 | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:10:7:11 | Exit | 3 | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | 1 | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | 2 | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:38:7:55 | access to property Length | 2 | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | 1 | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | 2 | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:25 | access to parameter s | 4 | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:33 | access to property Length | 2 | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | 1 | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | 1 | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:38:9:38 | 0 | 2 | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:9:9:10 | Exit | 3 | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:13 | access to parameter s | 6 | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | Exit | 2 | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:13:13:13:21 | access to property Length | 2 | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | 1 | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:25 | ... > ... | 6 | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:16:13:16:21 | return ...; | 4 | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:14:13:14:21 | return ...; | 4 | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | 3 | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | 3 | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | 1 | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | Exit | 3 | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:23:18:23:29 | (...) ... | 9 | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:24:18:24:24 | (...) ... | 11 | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:23:17:23:38 | access to property Length | 2 | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | 1 | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:25:13:25:14 | "" | 9 | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:24:17:24:37 | call to method ToString | 2 | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | 1 | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | 3 | +| ConditionalAccess.cs:25:13:25:14 | After "" [null] | ConditionalAccess.cs:25:13:25:14 | After "" [null] | 1 | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:21:10:21:11 | Exit | 7 | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:10:30:12 | Exit | 8 | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:35:9:35:12 | access to property Prop | 14 | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:35:9:35:24 | call to method Out | 3 | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | 1 | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:32:10:32:11 | Exit | 5 | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:9:42:11 | Exit | 7 | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:9:43:11 | Exit | 4 | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | 6 | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:48:12:48:25 | ... = ... | 5 | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | 6 | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:49:12:49:32 | ... = ... | 5 | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | 6 | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:50:12:50:23 | ... = ... | 6 | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | 7 | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:16 | access to property Prop | 2 | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:51:18:51:31 | ... = ... | 5 | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | 1 | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | 7 | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:16 | access to property Prop | 2 | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:52:18:52:38 | ... = ... | 5 | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | 1 | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | 6 | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:53:12:53:25 | ... -= ... | 5 | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | 6 | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:54:12:54:29 | ... += ... | 5 | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | 1 | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:46:10:46:11 | Exit | 5 | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:26:60:38 | Exit | 12 | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Exit | 11 | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:5:13:5:15 | access to parameter inc | 4 | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:14:7:16 | access to parameter inc | 4 | +| Conditions.cs:5:13:5:15 | After access to parameter inc [false] | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | 1 | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:6:13:6:16 | After ...; | 7 | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:3:10:3:19 | Exit | 4 | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:8:13:8:16 | After ...; | 8 | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:7:13:7:16 | After !... [false] | 2 | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:14:13:14:13 | access to parameter b | 11 | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:13:16:17 | ... > ... | 6 | +| Conditions.cs:14:13:14:13 | After access to parameter b [false] | Conditions.cs:14:13:14:13 | After access to parameter b [false] | 1 | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:15:13:15:16 | After ...; | 7 | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:11:9:11:10 | Exit | 6 | +| Conditions.cs:16:13:16:17 | After ... > ... [false] | Conditions.cs:16:13:16:17 | After ... > ... [false] | 1 | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:18:17:18 | access to parameter b | 4 | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | 1 | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:18:17:18:20 | After ...; | 8 | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:17:17:17:18 | After !... [false] | 2 | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:25:13:25:14 | access to parameter b1 | 11 | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:13:28:14 | access to parameter b2 | 3 | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | 1 | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:17:26:18 | access to parameter b2 | 3 | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:26:13:27:20 | After if (...) ... | 1 | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | 1 | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:27:17:27:20 | After ...; | 7 | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:22:9:22:10 | Exit | 6 | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | 1 | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:29:13:29:16 | After ...; | 7 | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:37:13:37:14 | access to parameter b1 | 18 | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | 3 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | 1 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:38:13:38:20 | After ...; | 8 | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:13:41:14 | access to local variable b2 | 3 | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | 1 | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:40:13:40:16 | After ...; | 7 | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:33:9:33:10 | Exit | 6 | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | 1 | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:42:13:42:16 | After ...; | 7 | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:49:9:53:9 | while (...) ... | 10 | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | ... > ... | 8 | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:46:9:46:10 | Exit | 7 | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:51:17:51:17 | access to parameter b | 4 | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:50:9:53:9 | After {...} | 2 | +| Conditions.cs:51:17:51:17 | After access to parameter b [false] | Conditions.cs:51:17:51:17 | After access to parameter b [false] | 1 | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:52:17:52:20 | After ...; | 7 | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:60:9:64:9 | while (...) ... | 10 | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | ... > ... | 8 | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:65:13:65:13 | access to parameter b | 4 | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:62:17:62:17 | access to parameter b | 4 | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:61:9:64:9 | After {...} | 2 | +| Conditions.cs:62:17:62:17 | After access to parameter b [false] | Conditions.cs:62:17:62:17 | After access to parameter b [false] | 1 | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:63:17:63:20 | After ...; | 7 | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:57:9:57:10 | Exit | 6 | +| Conditions.cs:65:13:65:13 | After access to parameter b [false] | Conditions.cs:65:13:65:13 | After access to parameter b [false] | 1 | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:66:13:66:16 | After ...; | 7 | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:27:74:28 | access to parameter ss | 25 | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:13:81:13 | access to local variable b | 3 | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:76:17:76:17 | access to local variable b | 4 | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:19 | ...++ | 3 | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:21 | ... > ... | 4 | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:25 | ... = ... | 3 | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:13:81:13 | access to local variable b | 2 | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:15 | ...++ | 3 | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:70:9:70:10 | exit M6 | 4 | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:90:27:90:28 | access to parameter ss | 12 | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | 1 | +| Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | 1 | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | 1 | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:17:78:21 | ... > ... | 6 | +| Conditions.cs:76:17:76:17 | After access to local variable b [false] | Conditions.cs:76:17:76:17 | After access to local variable b [false] | 1 | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:77:17:77:20 | After ...; | 7 | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| Conditions.cs:78:17:78:21 | After ... > ... [false] | Conditions.cs:78:17:78:21 | After ... > ... [false] | 1 | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:79:17:79:26 | After ...; | 8 | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:70:9:70:10 | Exit | 6 | +| Conditions.cs:81:13:81:13 | After access to local variable b [false] | Conditions.cs:81:13:81:13 | After access to local variable b [false] | 1 | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:82:13:82:16 | After ...; | 7 | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:27:90:28 | access to parameter ss | 25 | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | Exit | 6 | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:92:17:92:17 | access to local variable b | 4 | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:19 | ...++ | 3 | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:21 | ... > ... | 4 | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:25 | ... = ... | 3 | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:17:96:17 | access to local variable b | 2 | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:19 | ...++ | 3 | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:86:9:86:10 | exit M7 | 4 | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:105:13:105:13 | access to parameter b | 8 | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:19 | ... += ... | 4 | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:13:107:24 | ... > ... | 5 | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:18:108:18 | access to parameter b | 2 | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:108:17:108:18 | [false] !... | 1 | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:108:17:108:18 | [true] !... | 1 | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:23 | ... += ... | 4 | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:102:12:102:13 | exit M8 | 4 | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:116:18:116:22 | Int32 i = ... | 8 | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | exit M9 | 2 | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:25:116:39 | ... < ... | 4 | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:44 | ...++ | 2 | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:119:18:119:21 | access to local variable last | 11 | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:119:17:119:21 | [false] !... | 1 | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:119:17:119:21 | [true] !... | 1 | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:22 | ... = ... | 3 | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:17:121:20 | access to local variable last | 2 | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:24 | ... = ... | 3 | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:131:9:140:9 | while (...) ... | 3 | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | true | 1 | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:133:17:133:22 | access to field Field1 | 4 | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:135:21:135:26 | access to field Field2 | 4 | -| Conditions.cs:136:17:138:17 | {...} | Conditions.cs:137:21:137:37 | call to method ToString | 5 | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:145:17:145:17 | access to parameter b | 4 | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | exit M11 | 2 | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:146:13:146:13 | access to parameter b | 4 | -| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:21:145:23 | "a" | 1 | -| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:27:145:29 | "b" | 1 | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:13:147:48 | call to method WriteLine | 6 | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:13:149:48 | call to method WriteLine | 6 | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | exit ExitMethods | 7 | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:8:10:8:11 | exit M1 | 8 | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:14:10:14:11 | exit M2 | 8 | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:20:10:20:11 | exit M3 | 7 | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:26:10:26:11 | exit M4 | 7 | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:32:10:32:11 | exit M5 | 7 | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:44:9:47:9 | catch (...) {...} | 8 | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | exit M6 | 2 | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:46:13:46:19 | return ...; | 2 | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | 1 | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:50:13:50:19 | return ...; | 2 | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:54:10:54:11 | exit M7 | 6 | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:60:10:60:11 | exit M8 | 6 | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:68:13:68:13 | access to parameter b | 4 | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | 1 | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | 1 | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (abnormal) | 3 | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:74:13:74:13 | access to parameter b | 4 | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | exit ErrorAlways | 2 | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:13:75:34 | throw ...; | 2 | -| ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:13:77:45 | throw ...; | 3 | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 | 6 | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 | 5 | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:87:10:87:13 | exit Exit | 7 | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:92:10:92:18 | exit ExitInTry | 9 | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:105:10:105:24 | exit ApplicationExit | 6 | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:112:16:112:25 | ... != ... | 6 | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr | ExitMethods.cs:110:13:110:21 | exit ThrowExpr | 1 | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:110:13:110:21 | exit ThrowExpr (normal) | 7 | -| ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:110:13:110:21 | exit ThrowExpr (abnormal) | 4 | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:117:16:117:30 | call to method Contains | 5 | -| 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: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: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: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 | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:52 | call to method Throw | 4 | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:5:23:5:29 | exit ToInt32 | 7 | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:10:24:10:29 | exit ToBool | 8 | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:23:15:33 | exit CallToInt32 | 5 | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:20:17:20:20 | exit Main | 20 | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | exit Finally | 7 | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:15:13:15:40 | call to method WriteLine | 11 | -| Finally.cs:7:10:7:11 | exit M1 | Finally.cs:7:10:7:11 | exit M1 | 1 | -| Finally.cs:7:10:7:11 | exit M1 (abnormal) | Finally.cs:7:10:7:11 | exit M1 (abnormal) | 1 | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | exit M1 (normal) | 1 | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:23:13:23:37 | call to method WriteLine | 7 | -| Finally.cs:19:10:19:11 | exit M2 | Finally.cs:19:10:19:11 | exit M2 | 1 | -| Finally.cs:19:10:19:11 | exit M2 (abnormal) | Finally.cs:19:10:19:11 | exit M2 (abnormal) | 1 | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | exit M2 (normal) | 1 | -| Finally.cs:24:13:24:19 | return ...; | Finally.cs:24:13:24:19 | return ...; | 1 | +| Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | 1 | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | 1 | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:17:94:21 | ... > ... | 6 | +| Conditions.cs:92:17:92:17 | After access to local variable b [false] | Conditions.cs:92:17:92:17 | After access to local variable b [false] | 1 | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:93:17:93:20 | After ...; | 7 | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:17:96:17 | access to local variable b | 3 | +| Conditions.cs:94:17:94:21 | After ... > ... [false] | Conditions.cs:94:17:94:21 | After ... > ... [false] | 1 | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:95:17:95:26 | After ...; | 8 | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| Conditions.cs:96:17:96:17 | After access to local variable b [false] | Conditions.cs:96:17:96:17 | After access to local variable b [false] | 1 | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:97:17:97:20 | After ...; | 7 | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:105:13:105:13 | access to parameter b | 14 | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:13:107:24 | ... > ... | 9 | +| Conditions.cs:105:13:105:13 | After access to parameter b [false] | Conditions.cs:105:13:105:13 | After access to parameter b [false] | 1 | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:106:13:106:20 | After ...; | 8 | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:102:12:102:13 | Exit | 6 | +| Conditions.cs:107:13:107:24 | After ... > ... [false] | Conditions.cs:107:13:107:24 | After ... > ... [false] | 1 | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:18:108:18 | access to parameter b | 4 | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | 1 | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:109:17:109:24 | After ...; | 9 | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:108:17:108:18 | After !... [false] | 2 | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:116:18:116:22 | After Int32 i = ... | 15 | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:113:10:113:11 | Exit | 5 | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:119:18:119:21 | access to local variable last | 23 | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | ... < ... | 7 | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:17:121:20 | access to local variable last | 3 | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:120:17:120:23 | After ...; | 9 | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:119:17:119:21 | After !... [false] | 2 | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:116:42:116:44 | After ...++ | 7 | +| Conditions.cs:121:17:121:20 | After access to local variable last [false] | Conditions.cs:121:17:121:20 | After access to local variable last [false] | 1 | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:122:17:122:25 | After ...; | 8 | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:131:9:140:9 | while (...) ... | 3 | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:133:17:133:22 | access to field Field1 | 8 | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:132:9:140:9 | After {...} | 2 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [false] | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | 1 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:135:21:135:26 | access to field Field2 | 6 | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:134:13:139:13 | After {...} | 2 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [false] | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | 1 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:136:17:138:17 | After {...} | 12 | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:145:17:145:17 | access to parameter b | 7 | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:145:27:145:29 | "b" | 2 | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:145:21:145:23 | "a" | 2 | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:146:13:146:13 | access to parameter b | 6 | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:143:10:143:12 | Exit | 4 | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:149:13:149:49 | After ...; | 14 | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:147:13:147:49 | After ...; | 14 | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | Exit | 11 | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:8:10:8:11 | Exit | 12 | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:14:10:14:11 | Exit | 12 | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:20:10:20:11 | Exit | 8 | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:26:10:26:11 | Exit | 8 | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:32:10:32:11 | Exit | 8 | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:44:9:47:9 | catch (...) {...} | 9 | +| ExitMethods.cs:38:10:38:11 | Exit | ExitMethods.cs:38:10:38:11 | Exit | 1 | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | Normal Exit | 1 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:46:13:46:19 | return ...; | 4 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | catch (...) {...} | 2 | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:50:13:50:19 | return ...; | 4 | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | Exceptional Exit | 2 | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:54:10:54:11 | Exit | 7 | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:60:10:60:11 | Exit | 7 | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:68:13:68:13 | access to parameter b | 4 | +| ExitMethods.cs:66:17:66:26 | Exit | ExitMethods.cs:66:17:66:26 | Exit | 1 | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:66:17:66:26 | Normal Exit | 4 | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:66:17:66:26 | Exceptional Exit | 7 | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:74:13:74:13 | access to parameter b | 4 | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | Exit | 2 | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:77:13:77:45 | throw ...; | 7 | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:75:13:75:34 | throw ...; | 6 | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:80:17:80:28 | Exit | 9 | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:17:85:28 | Exit | 8 | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:87:10:87:13 | Exit | 8 | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:99:9:102:9 | After {...} | 16 | +| ExitMethods.cs:92:10:92:18 | Exceptional Exit | ExitMethods.cs:92:10:92:18 | Exceptional Exit | 1 | +| ExitMethods.cs:92:10:92:18 | Exit | ExitMethods.cs:92:10:92:18 | Exit | 1 | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:92:10:92:18 | Normal Exit | 3 | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:105:10:105:24 | Exit | 7 | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:112:16:112:25 | ... != ... | 11 | +| ExitMethods.cs:110:13:110:21 | Exit | ExitMethods.cs:110:13:110:21 | Exit | 1 | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:110:13:110:21 | Exceptional Exit | 8 | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:110:13:110:21 | Normal Exit | 12 | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:117:16:117:30 | call to method Contains | 8 | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:117:38:117:38 | 1 | 2 | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:117:34:117:34 | 0 | 2 | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:115:16:115:34 | Exit | 4 | +| ExitMethods.cs:120:17:120:32 | Entry | ExitMethods.cs:120:17:120:32 | Exit | 8 | +| ExitMethods.cs:126:17:126:33 | Entry | ExitMethods.cs:126:17:126:33 | Exit | 8 | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:33:132:49 | call to method IsFalse | 4 | +| ExitMethods.cs:132:10:132:20 | Exceptional Exit | ExitMethods.cs:132:10:132:20 | Exceptional Exit | 1 | +| ExitMethods.cs:132:10:132:20 | Exit | ExitMethods.cs:132:10:132:20 | Exit | 1 | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:10:132:20 | Normal Exit | 2 | +| ExitMethods.cs:134:17:134:33 | Entry | ExitMethods.cs:134:17:134:33 | Exit | 9 | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:142:13:142:13 | access to parameter b | 4 | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | Exit | 2 | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:145:13:145:52 | call to method Throw | 8 | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:143:13:143:42 | call to method Throw | 5 | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:5:23:5:29 | Exit | 10 | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:10:24:10:29 | Exit | 11 | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:23:15:33 | Exit | 7 | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:20:17:20:20 | Exit | 37 | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Exit | 11 | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:11:13:11:37 | call to method WriteLine | 8 | +| Finally.cs:7:10:7:11 | Exceptional Exit | Finally.cs:7:10:7:11 | Exceptional Exit | 1 | +| Finally.cs:7:10:7:11 | Exit | Finally.cs:7:10:7:11 | Exit | 1 | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:7:10:7:11 | Normal Exit | 3 | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:10:9:12:9 | After {...} | 3 | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:14:9:16:9 | After {...} | 8 | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:23:13:23:37 | call to method WriteLine | 8 | +| Finally.cs:19:10:19:11 | Exceptional Exit | Finally.cs:19:10:19:11 | Exceptional Exit | 1 | +| Finally.cs:19:10:19:11 | Exit | Finally.cs:19:10:19:11 | Exit | 1 | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | Normal Exit | 1 | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:20:5:52:5 | After {...} | 2 | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:24:13:24:19 | return ...; | 4 | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:28:13:28:18 | throw ...; | 7 | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | catch (...) {...} | 2 | | Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | catch (...) {...} | 1 | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:48:26:51 | true | 2 | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:28:13:28:18 | throw ...; | 2 | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | 1 | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:34:21:34:24 | true | 6 | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:38:17:38:44 | throw ...; | 5 | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | 1 | -| Finally.cs:42:9:43:9 | {...} | Finally.cs:42:9:43:9 | {...} | 1 | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:46:13:46:19 | return ...; | 3 | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:50:13:50:40 | call to method WriteLine | 4 | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:58:13:58:37 | call to method WriteLine | 7 | -| Finally.cs:54:10:54:11 | exit M3 | Finally.cs:54:10:54:11 | exit M3 | 1 | -| Finally.cs:54:10:54:11 | exit M3 (abnormal) | Finally.cs:54:10:54:11 | exit M3 (abnormal) | 1 | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | exit M3 (normal) | 1 | -| Finally.cs:59:13:59:19 | return ...; | Finally.cs:59:13:59:19 | return ...; | 1 | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:38:17:38:44 | throw ...; | 17 | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | catch (...) {...} | 2 | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:42:9:43:9 | {...} | 2 | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:46:13:46:19 | return ...; | 6 | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:49:9:51:9 | After {...} | 8 | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:58:13:58:37 | call to method WriteLine | 8 | +| Finally.cs:54:10:54:11 | Exceptional Exit | Finally.cs:54:10:54:11 | Exceptional Exit | 1 | +| Finally.cs:54:10:54:11 | Exit | Finally.cs:54:10:54:11 | Exit | 1 | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | Normal Exit | 1 | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:55:5:72:5 | After {...} | 2 | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:59:13:59:19 | return ...; | 4 | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:63:13:63:18 | throw ...; | 7 | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | catch (...) {...} | 2 | | Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | catch (...) {...} | 1 | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:48:61:51 | true | 2 | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:63:13:63:18 | throw ...; | 2 | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | 1 | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:35:65:51 | ... != ... | 5 | -| Finally.cs:66:9:67:9 | {...} | Finally.cs:66:9:67:9 | {...} | 1 | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:70:13:70:40 | call to method WriteLine | 4 | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:77:9:100:9 | while (...) ... | 6 | -| Finally.cs:74:10:74:11 | exit M4 | Finally.cs:74:10:74:11 | exit M4 | 1 | -| Finally.cs:74:10:74:11 | exit M4 (abnormal) | Finally.cs:74:10:74:11 | exit M4 (abnormal) | 1 | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | exit M4 (normal) | 1 | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:16:77:20 | ... > ... | 3 | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:81:21:81:26 | ... == ... | 7 | -| Finally.cs:82:21:82:27 | return ...; | Finally.cs:82:21:82:27 | return ...; | 1 | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:21:83:26 | ... == ... | 4 | -| Finally.cs:84:21:84:29 | continue; | Finally.cs:84:21:84:29 | continue; | 1 | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:21:85:26 | ... == ... | 4 | -| Finally.cs:86:21:86:26 | break; | Finally.cs:86:21:86:26 | break; | 1 | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:92:25:92:30 | ... == ... | 7 | -| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:93:25:93:46 | throw ...; | 1 | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | 1 | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:97:21:97:23 | ...-- | 4 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:107:17:107:21 | access to field Field | 7 | -| Finally.cs:103:10:103:11 | exit M5 | Finally.cs:103:10:103:11 | exit M5 | 1 | -| Finally.cs:103:10:103:11 | exit M5 (abnormal) | Finally.cs:103:10:103:11 | exit M5 (abnormal) | 1 | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | exit M5 (normal) | 1 | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | access to property Length | 1 | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:107:17:107:33 | ... == ... | 2 | -| Finally.cs:108:17:108:23 | return ...; | Finally.cs:108:17:108:23 | return ...; | 1 | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:21 | access to field Field | 3 | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | 1 | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:109:17:109:33 | ... == ... | 2 | -| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:110:17:110:49 | throw ...; | 1 | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | 1 | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:19:114:35 | ... == ... | 7 | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:114:17:114:36 | [false] !... | 1 | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:114:17:114:36 | [true] !... | 1 | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:17:115:40 | call to method WriteLine | 4 | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:17:116:32 | ... > ... | 6 | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:17:117:36 | call to method WriteLine | 3 | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:121:10:121:11 | exit M6 | 12 | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:133:10:133:11 | exit M7 | 13 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:151:17:151:28 | ... == ... | 8 | -| Finally.cs:147:10:147:11 | exit M8 | Finally.cs:147:10:147:11 | exit M8 | 1 | -| Finally.cs:147:10:147:11 | exit M8 (abnormal) | Finally.cs:147:10:147:11 | exit M8 (abnormal) | 1 | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | exit M8 (normal) | 1 | -| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:152:17:152:50 | throw ...; | 1 | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | 1 | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:21:158:31 | access to property Length | 6 | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:158:21:158:36 | ... == ... | 2 | -| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:159:21:159:45 | throw ...; | 1 | -| Finally.cs:159:41:159:43 | "1" | Finally.cs:159:27:159:44 | object creation of type Exception | 2 | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:35:65:51 | ... != ... | 9 | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | 1 | +| Finally.cs:65:35:65:51 | After ... != ... [false] | Finally.cs:65:35:65:51 | After ... != ... [false] | 1 | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:66:9:67:9 | {...} | 2 | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:69:9:71:9 | After {...} | 8 | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:77:9:100:9 | while (...) ... | 10 | +| Finally.cs:74:10:74:11 | Exceptional Exit | Finally.cs:74:10:74:11 | Exceptional Exit | 1 | +| Finally.cs:74:10:74:11 | Exit | Finally.cs:74:10:74:11 | Exit | 1 | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | Normal Exit | 1 | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:75:5:101:5 | After {...} | 2 | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | ... > ... | 5 | +| Finally.cs:77:16:77:20 | After ... > ... [false] | Finally.cs:77:16:77:20 | After ... > ... [false] | 1 | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:81:21:81:26 | ... == ... | 9 | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:78:9:100:9 | After {...} | 2 | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | ... == ... | 7 | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:82:21:82:27 | return ...; | 3 | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | ... == ... | 7 | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:84:21:84:29 | continue; | 3 | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:80:13:87:13 | After {...} | 3 | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:86:21:86:26 | break; | 3 | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:92:25:92:30 | ... == ... | 8 | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:89:13:99:13 | After {...} | 2 | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:91:17:94:17 | After {...} | 3 | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:93:31:93:45 | object creation of type Exception | 4 | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:93:25:93:46 | throw ...; | 2 | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:96:17:98:17 | After {...} | 8 | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:107:17:107:21 | access to field Field | 10 | +| Finally.cs:103:10:103:11 | Exceptional Exit | Finally.cs:103:10:103:11 | Exceptional Exit | 1 | +| Finally.cs:103:10:103:11 | Exit | Finally.cs:103:10:103:11 | Exit | 1 | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | Normal Exit | 1 | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:104:5:119:5 | After {...} | 2 | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:28 | access to property Length | 2 | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:33 | ... == ... | 3 | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:109:17:109:21 | access to field Field | 8 | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:108:17:108:23 | return ...; | 3 | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:28 | access to property Length | 2 | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:33 | ... == ... | 3 | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:106:9:111:9 | After {...} | 3 | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | 4 | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | throw ...; | 2 | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:19:114:35 | ... == ... | 13 | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:17:116:32 | ... > ... | 12 | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:115:17:115:41 | After ...; | 11 | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:114:17:114:36 | After !... [false] | 2 | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:113:9:118:9 | After {...} | 2 | +| Finally.cs:116:17:116:32 | After ... > ... [false] | Finally.cs:116:17:116:32 | After ... > ... [false] | 1 | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:117:17:117:37 | After ...; | 7 | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:121:10:121:11 | Exit | 23 | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:137:13:137:36 | call to method WriteLine | 8 | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:136:9:138:9 | After {...} | 3 | +| Finally.cs:140:9:143:9 | {...} | Finally.cs:133:10:133:11 | Exit | 9 | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:151:17:151:28 | ... == ... | 9 | +| Finally.cs:147:10:147:11 | Exceptional Exit | Finally.cs:147:10:147:11 | Exceptional Exit | 1 | +| Finally.cs:147:10:147:11 | Exit | Finally.cs:147:10:147:11 | Exit | 1 | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:147:10:147:11 | Normal Exit | 3 | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:150:9:153:9 | After {...} | 3 | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | 4 | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | throw ...; | 2 | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:21:158:31 | access to property Length | 8 | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:155:9:169:9 | After {...} | 2 | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:36 | ... == ... | 3 | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:157:13:160:13 | After {...} | 3 | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:159:27:159:44 | object creation of type Exception | 5 | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:159:21:159:45 | throw ...; | 2 | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:39:161:54 | ... == ... | 9 | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:166:13:168:13 | After {...} | 11 | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | catch (...) {...} | 1 | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:39:161:54 | ... == ... | 5 | -| Finally.cs:162:13:164:13 | {...} | Finally.cs:163:17:163:42 | call to method WriteLine | 6 | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:167:17:167:37 | call to method WriteLine | 5 | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | exit ExceptionA | 7 | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | exit ExceptionB | 7 | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | exit ExceptionC | 7 | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:180:17:180:18 | access to parameter b1 | 6 | -| Finally.cs:176:10:176:11 | exit M9 | Finally.cs:176:10:176:11 | exit M9 | 1 | -| Finally.cs:176:10:176:11 | exit M9 (abnormal) | Finally.cs:176:10:176:11 | exit M9 (abnormal) | 1 | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | exit M9 (normal) | 1 | -| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:180:21:180:43 | throw ...; | 1 | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | 1 | +| Finally.cs:161:39:161:54 | After ... == ... [false] | Finally.cs:161:39:161:54 | After ... == ... [false] | 1 | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:162:13:164:13 | After {...} | 13 | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | Exit | 11 | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | Exit | 11 | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | Exit | 11 | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:17:180:18 | access to parameter b1 | 6 | +| Finally.cs:176:10:176:11 | Exceptional Exit | Finally.cs:176:10:176:11 | Exceptional Exit | 1 | +| Finally.cs:176:10:176:11 | Exit | Finally.cs:176:10:176:11 | Exit | 1 | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:176:10:176:11 | Normal Exit | 3 | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:179:9:181:9 | After {...} | 3 | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:180:27:180:42 | object creation of type ExceptionA | 4 | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:180:21:180:43 | throw ...; | 2 | | Finally.cs:183:9:192:9 | {...} | Finally.cs:186:21:186:22 | access to parameter b2 | 5 | -| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:186:25:186:47 | throw ...; | 1 | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | 1 | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:183:9:192:9 | After {...} | 2 | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:185:13:187:13 | After {...} | 3 | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:186:31:186:46 | object creation of type ExceptionB | 4 | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:186:25:186:47 | throw ...; | 2 | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | access to parameter b2 | 2 | +| Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | 1 | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | catch (...) {...} | 1 | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | access to parameter b2 | 1 | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:190:21:190:22 | access to parameter b1 | 3 | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:25:190:47 | throw ...; | 2 | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:17:199:18 | access to parameter b1 | 6 | -| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | exit M10 | 1 | -| Finally.cs:195:10:195:12 | exit M10 (abnormal) | Finally.cs:195:10:195:12 | exit M10 (abnormal) | 1 | -| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; | 1 | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | 1 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [false] | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | 1 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | access to parameter b1 | 4 | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:189:13:191:13 | After {...} | 3 | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:190:25:190:47 | throw ...; | 6 | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:17:199:18 | access to parameter b1 | 6 | +| Finally.cs:195:10:195:12 | Exceptional Exit | Finally.cs:195:10:195:12 | Exceptional Exit | 1 | +| Finally.cs:195:10:195:12 | Exit | Finally.cs:195:10:195:12 | Exit | 1 | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:195:10:195:12 | Normal Exit | 13 | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:198:9:200:9 | After {...} | 3 | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:199:27:199:42 | object creation of type ExceptionA | 4 | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | 2 | | Finally.cs:202:9:212:9 | {...} | Finally.cs:205:21:205:22 | access to parameter b2 | 5 | -| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; | 1 | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | 1 | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:202:9:212:9 | After {...} | 12 | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:204:13:206:13 | After {...} | 3 | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:205:31:205:46 | object creation of type ExceptionB | 4 | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | 2 | | Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | 3 | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | 2 | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | 5 | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | exit M10 (normal) | 6 | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:220:13:220:36 | call to method WriteLine | 7 | -| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:224:13:224:38 | call to method WriteLine | 5 | -| Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | exit M11 | 9 | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:239:21:239:22 | access to parameter b1 | 8 | -| Finally.cs:233:10:233:12 | exit M12 | Finally.cs:233:10:233:12 | exit M12 | 1 | -| Finally.cs:233:10:233:12 | exit M12 (abnormal) | Finally.cs:233:10:233:12 | exit M12 (abnormal) | 1 | -| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:240:21:240:43 | throw ...; | 1 | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | 1 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:208:13:210:13 | After {...} | 3 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:209:25:209:47 | throw ...; | 6 | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:220:13:220:36 | call to method WriteLine | 8 | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:219:9:221:9 | After {...} | 3 | +| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:223:9:225:9 | After {...} | 10 | +| Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | Exit | 18 | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:239:21:239:22 | access to parameter b1 | 8 | +| Finally.cs:233:10:233:12 | Exceptional Exit | Finally.cs:233:10:233:12 | Exceptional Exit | 1 | +| Finally.cs:233:10:233:12 | Exit | Finally.cs:233:10:233:12 | Exit | 1 | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:233:10:233:12 | Normal Exit | 9 | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:254:13:254:44 | call to method WriteLine | 5 | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:238:13:241:13 | After {...} | 3 | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:240:27:240:42 | object creation of type ExceptionA | 4 | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:240:21:240:43 | throw ...; | 2 | | Finally.cs:243:13:253:13 | {...} | Finally.cs:246:25:246:26 | access to parameter b2 | 5 | -| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:247:25:247:47 | throw ...; | 1 | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | 1 | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | 4 | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:44 | call to method WriteLine | 3 | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:258:13:258:46 | call to method WriteLine | 4 | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:233:10:233:12 | exit M12 (normal) | 4 | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:272:13:272:18 | ... += ... | 15 | -| Finally.cs:263:10:263:12 | exit M13 | Finally.cs:263:10:263:12 | exit M13 | 1 | -| Finally.cs:263:10:263:12 | exit M13 (abnormal) | Finally.cs:263:10:263:12 | exit M13 (abnormal) | 1 | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | exit M13 (normal) | 1 | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | exit Foreach | 7 | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:8:29:8:32 | access to parameter args | 3 | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | exit M1 | 2 | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | 1 | -| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:9:13:9:13 | ; | 2 | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:14:27:14:30 | access to parameter args | 3 | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | exit M2 | 2 | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | 1 | -| Foreach.cs:14:22:14:22 | String _ | Foreach.cs:15:13:15:13 | ; | 2 | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:27:20:27 | access to parameter e | 3 | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | exit M3 | 2 | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | 1 | -| Foreach.cs:20:22:20:22 | String x | Foreach.cs:21:11:21:11 | ; | 2 | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | call to method ToArray | 1 | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:68 | ... ?? ... | 1 | -| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | 1 | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:26:36:26:39 | access to parameter args | 3 | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | exit M4 | 2 | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | 1 | -| Foreach.cs:26:23:26:23 | String x | Foreach.cs:27:11:27:11 | ; | 4 | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:32:32:32:35 | access to parameter args | 3 | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | exit M5 | 2 | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | 1 | -| Foreach.cs:32:23:32:23 | String x | Foreach.cs:33:11:33:11 | ; | 4 | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:38:39:38:42 | access to parameter args | 3 | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | exit M6 | 2 | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | 1 | -| Foreach.cs:38:26:38:26 | String x | Foreach.cs:39:11:39:11 | ; | 4 | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | exit | 15 | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | exit Initializers | 4 | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | exit Initializers | 7 | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | exit Initializers | 7 | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | exit M | 23 | -| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:16:18:16 | exit H | 6 | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | exit | 11 | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | exit NoConstructor | 7 | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | exit | 7 | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | exit Sub | 12 | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | exit Sub | 10 | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | exit Sub | 14 | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | exit IndexInitializers | 7 | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | exit Compound | 7 | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | exit Test | 116 | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling | 7 | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:9:13:9:28 | ... == ... | 7 | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | exit M1 | 2 | -| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | 1 | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | 4 | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | access to parameter args | 1 | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | 11 | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | exit M2 | 2 | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | 4 | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:24:29:24:32 | access to parameter args | 3 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | exit M3 | 2 | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | access to parameter args | 2 | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | 4 | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | 7 | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | exit M4 | 2 | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | 4 | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | 19 | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | exit M5 | 2 | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | 2 | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | 6 | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | 12 | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | exit M6 | 2 | -| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:49:9:52:9 | {...} | 2 | -| LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:51:13:51:23 | goto ...; | 5 | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | 11 | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | exit M7 | 2 | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | 1 | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:243:13:253:13 | After {...} | 2 | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:245:17:248:17 | After {...} | 3 | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:247:31:247:46 | object creation of type ExceptionA | 4 | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:247:25:247:47 | throw ...; | 2 | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:250:17:252:17 | After {...} | 8 | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:236:9:255:9 | After {...} | 3 | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:257:9:259:9 | After {...} | 8 | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:267:13:267:34 | call to method WriteLine | 8 | +| Finally.cs:263:10:263:12 | Exceptional Exit | Finally.cs:263:10:263:12 | Exceptional Exit | 1 | +| Finally.cs:263:10:263:12 | Exit | Finally.cs:263:10:263:12 | Exit | 1 | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:263:10:263:12 | Normal Exit | 3 | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:266:9:268:9 | After {...} | 3 | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:270:9:273:9 | After {...} | 15 | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Exit | 11 | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:29:8:32 | access to parameter args | 4 | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | Exit | 4 | +| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| Foreach.cs:8:29:8:32 | After access to parameter args [empty] | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | 1 | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | 1 | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:27:14:30 | access to parameter args | 4 | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | Exit | 4 | +| Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| Foreach.cs:14:27:14:30 | After access to parameter args [empty] | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | 1 | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | 1 | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:27 | access to parameter e | 6 | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | Exit | 4 | +| Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:38 | call to method ToArray | 2 | +| Foreach.cs:20:27:20:27 | After access to parameter e [null] | Foreach.cs:20:27:20:27 | After access to parameter e [null] | 1 | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | 1 | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | call to method Empty | 3 | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | 1 | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | 1 | +| Foreach.cs:20:43:20:68 | After call to method Empty [empty] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | 1 | +| Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | 1 | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:36:26:39 | access to parameter args | 4 | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | Exit | 4 | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | 7 | +| Foreach.cs:26:36:26:39 | After access to parameter args [empty] | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | 1 | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | 1 | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:32:32:35 | access to parameter args | 4 | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | Exit | 4 | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | 7 | +| Foreach.cs:32:32:32:35 | After access to parameter args [empty] | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | 1 | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | 1 | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:39:38:42 | access to parameter args | 4 | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | Exit | 4 | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | 7 | +| Foreach.cs:38:39:38:42 | After access to parameter args [empty] | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | 1 | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | 1 | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Exit | 9 | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Exit | 27 | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Exit | 11 | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Exit | 11 | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:12:10:12:10 | Exit | 48 | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Exit | 11 | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Exit | 19 | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:26:11:26:13 | Exit | 11 | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Exit | 22 | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:9:33:11 | Exit | 18 | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Exit | 26 | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | Exit | 11 | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Exit | 11 | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:51:10:51:13 | Exit | 245 | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | Exit | 11 | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:9:13:9:28 | ... == ... | 10 | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | Exit | 2 | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:29:11:32 | access to parameter args | 4 | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:10:13:10:19 | return ...; | 3 | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:8:5:13:5 | After {...} | 2 | +| LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | 8 | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | 1 | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | 1 | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | 20 | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | Exit | 4 | +| LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | 8 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | 1 | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:29:24:32 | access to parameter args | 4 | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | Exit | 4 | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | access to parameter args | 3 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | 1 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | 1 | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | 2 | +| LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | 8 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | 1 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | 1 | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | 14 | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | Exit | 4 | +| LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | 8 | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | 1 | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | 36 | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | Exit | 4 | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | 3 | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | 1 | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | 2 | +| LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | 12 | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | 1 | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | 1 | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | 20 | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:45:10:45:11 | Exit | 5 | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:49:9:52:9 | {...} | 3 | +| LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:51:13:51:23 | goto ...; | 9 | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | 20 | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | Exit | 4 | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:60:17:60:17 | access to parameter b | 4 | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | 3 | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:62:17:62:17 | access to parameter b | 2 | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | 3 | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:69:14:69:23 | call to method Any | 5 | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | exit M8 | 2 | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:69:13:69:23 | [false] !... | 1 | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:69:13:69:23 | [true] !... | 1 | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | 1 | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:72:29:72:32 | access to parameter args | 4 | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | 4 | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | 8 | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | exit M9 | 2 | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | 5 | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | 8 | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | exit M10 | 2 | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | 5 | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | 8 | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | exit M11 | 2 | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | 1 | -| LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | 5 | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | enter C1 | 1 | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | exit C1 | 2 | -| MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | {...} | 4 | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:22:6:31 | enter get_P1 | 1 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 | 1 | -| MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:22:6:31 | exit get_P1 (abnormal) | 3 | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:21:7:23 | enter get_P2 | 1 | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 | MultiImplementationA.cs:7:21:7:23 | exit get_P2 | 1 | -| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (abnormal) | 4 | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:41:7:43 | enter set_P2 | 1 | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 | MultiImplementationA.cs:7:41:7:43 | exit set_P2 | 1 | -| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (abnormal) | 4 | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:16:8:16 | enter M | 1 | -| MultiImplementationA.cs:8:16:8:16 | exit M | MultiImplementationA.cs:8:16:8:16 | exit M | 1 | -| MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | 3 | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | enter | 1 | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit | 2 | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:24:32:24:34 | ... = ... | 8 | -| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | 2 | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | enter get_Item | 1 | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item | MultiImplementationA.cs:14:31:14:31 | exit get_Item | 1 | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:36:15:38 | enter get_Item | 1 | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item | MultiImplementationA.cs:15:36:15:38 | exit get_Item | 1 | -| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | exit get_Item (normal) | 4 | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:54:15:56 | enter set_Item | 1 | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | exit set_Item | 2 | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | 1 | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | access to parameter b | 3 | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | 1 | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:61:17:61:37 | After ...; | 7 | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | 3 | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | 1 | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:63:17:63:37 | After ...; | 7 | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:69:14:69:23 | call to method Any | 7 | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | Exit | 2 | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:70:13:70:19 | return ...; | 4 | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:29:72:32 | access to parameter args | 11 | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:68:5:74:5 | After {...} | 2 | +| LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | 8 | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | 1 | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | 1 | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | 15 | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | Exit | 4 | +| LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | 10 | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | 1 | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | 15 | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | Exit | 4 | +| LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | 10 | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | 1 | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | 15 | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | Exit | 4 | +| LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | 10 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | 1 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | 1 | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | {...} | 8 | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Entry | 1 | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Exit | 2 | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:22:6:31 | Exceptional Exit | 4 | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Entry | 1 | +| MultiImplementationA.cs:6:22:6:31 | Exit | MultiImplementationA.cs:6:22:6:31 | Exit | 1 | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:21:7:23 | Entry | 1 | +| MultiImplementationA.cs:7:21:7:23 | Exit | MultiImplementationA.cs:7:21:7:23 | Exit | 1 | +| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:21:7:23 | Exceptional Exit | 5 | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:41:7:43 | Entry | 1 | +| MultiImplementationA.cs:7:41:7:43 | Exit | MultiImplementationA.cs:7:41:7:43 | Exit | 1 | +| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:41:7:43 | Exceptional Exit | 5 | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:16:8:16 | Entry | 1 | +| MultiImplementationA.cs:8:16:8:16 | Exit | MultiImplementationA.cs:8:16:8:16 | Exit | 1 | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:16:8:16 | Exceptional Exit | 4 | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:11:7:11:8 | Entry | 1 | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | Exit | 2 | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:24:32:24:34 | After ... = ... | 16 | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | Entry | 1 | +| MultiImplementationA.cs:14:31:14:31 | Exit | MultiImplementationA.cs:14:31:14:31 | Exit | 1 | +| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | Normal Exit | 2 | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:36:15:38 | Entry | 1 | +| MultiImplementationA.cs:15:36:15:38 | Exit | MultiImplementationA.cs:15:36:15:38 | Exit | 1 | +| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | Normal Exit | 5 | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:54:15:56 | Entry | 1 | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | Exit | 2 | | MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:58:15:60 | {...} | 1 | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:16:17:16:18 | enter M1 | 1 | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | exit M1 | 2 | -| MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:18:9:18:22 | M2(...) | 2 | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:9:18:22 | exit M2 | 4 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | enter C2 | 1 | -| MultiImplementationA.cs:20:12:20:13 | exit C2 | MultiImplementationA.cs:20:12:20:13 | exit C2 | 1 | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | 10 | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | enter C2 | 1 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 | 2 | -| MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:27:21:29 | {...} | 3 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:6:22:7 | enter ~C2 | 1 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 | MultiImplementationA.cs:22:6:22:7 | exit ~C2 | 1 | -| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | exit ~C2 (normal) | 2 | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | 1 | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | 1 | -| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (normal) | 2 | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | enter C3 | 1 | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | exit C3 | 2 | -| MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | {...} | 4 | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:21:30:23 | exit get_P3 | 5 | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | enter C4 | 1 | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | exit C4 | 2 | -| MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | {...} | 4 | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:9:36:10 | enter M1 | 1 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 | MultiImplementationA.cs:36:9:36:10 | exit M1 | 1 | -| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:9:36:10 | exit M1 (abnormal) | 4 | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:9:37:10 | exit M2 | 6 | -| MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | {...} | 4 | -| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 (normal) | 2 | -| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | 4 | -| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | 2 | -| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | exit M (normal) | 2 | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:22:32:22:34 | ... = ... | 8 | -| MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | 3 | -| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | 4 | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:16:17:16:18 | Entry | 1 | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | Exit | 2 | +| MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:17:5:19:5 | After {...} | 3 | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:9:18:22 | Exit | 4 | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | Normal Exit | 20 | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Entry | 1 | +| MultiImplementationA.cs:20:12:20:13 | Exit | MultiImplementationA.cs:20:12:20:13 | Exit | 1 | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:12:21:13 | Entry | 1 | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | Exit | 2 | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:27:21:29 | {...} | 5 | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:6:22:7 | Entry | 1 | +| MultiImplementationA.cs:22:6:22:7 | Exit | MultiImplementationA.cs:22:6:22:7 | Exit | 1 | +| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | Normal Exit | 2 | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:28:23:35 | Entry | 1 | +| MultiImplementationA.cs:23:28:23:35 | Exit | MultiImplementationA.cs:23:28:23:35 | Exit | 1 | +| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | Normal Exit | 2 | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | {...} | 8 | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Entry | 1 | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Exit | 2 | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:21:30:23 | Exit | 6 | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | {...} | 8 | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Entry | 1 | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Exit | 2 | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:9:36:10 | Entry | 1 | +| MultiImplementationA.cs:36:9:36:10 | Exit | MultiImplementationA.cs:36:9:36:10 | Exit | 1 | +| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:9:36:10 | Exceptional Exit | 5 | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:9:37:10 | Exit | 7 | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationB.cs:1:7:1:8 | {...} | 8 | +| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | Normal Exit | 2 | +| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | Normal Exit | 5 | +| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | Normal Exit | 2 | +| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | Normal Exit | 2 | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationB.cs:22:32:22:34 | After ... = ... | 16 | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationA.cs:14:31:14:31 | Exceptional Exit | 4 | +| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationA.cs:15:36:15:38 | Exceptional Exit | 5 | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationB.cs:13:60:13:62 | {...} | 1 | -| MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:16:9:16:31 | M2(...) | 2 | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:9:16:31 | exit M2 | 5 | -| MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationA.cs:20:12:20:13 | exit C2 (abnormal) | 7 | -| MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:27:19:29 | {...} | 3 | -| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationA.cs:22:6:22:7 | exit ~C2 (abnormal) | 4 | -| MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (abnormal) | 3 | -| MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | {...} | 4 | -| MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | {...} | 4 | -| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | exit M1 (normal) | 2 | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | exit NullCoalescing | 7 | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:23:3:23 | access to parameter i | 2 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | exit M1 | 3 | -| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:28:3:28 | 0 | 1 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:25:5:25 | access to parameter b | 2 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | exit M2 | 3 | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | 1 | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | 1 | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | false | 1 | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:39:5:39 | 0 | 1 | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:43:5:43 | 1 | 1 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | 2 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | exit M3 | 3 | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | 1 | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | 1 | -| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:52:7:53 | "" | 1 | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:37:9:37 | access to parameter b | 2 | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | exit M4 | 3 | -| NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | 1 | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | 1 | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | access to parameter s | 1 | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | access to parameter s | 1 | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | "" | 1 | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | 1 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | 2 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | exit M5 | 3 | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | 1 | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | 1 | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | 1 | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | 1 | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | 1 | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | 1 | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:64:11:64 | 0 | 1 | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:68:11:68 | 1 | 1 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:15:17:15:26 | (...) ... | 5 | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:16:17:16:18 | "" | 5 | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:17:13:17:19 | (...) ... | 5 | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | exit M6 | 4 | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | exit | 11 | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | exit Partial | 7 | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | exit Partial | 7 | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | exit Patterns | 7 | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:8:18:8:23 | Int32 i1 | 8 | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:8:13:8:23 | [false] ... is ... | 1 | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:8:13:8:23 | [true] ... is ... | 1 | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:10:13:10:42 | call to method WriteLine | 7 | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:23:12:31 | String s1 | 3 | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:12:18:12:31 | [false] ... is ... | 1 | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:12:18:12:31 | [true] ... is ... | 1 | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:14:13:14:45 | call to method WriteLine | 7 | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:23:16:28 | Object v1 | 3 | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | 1 | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | 1 | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:17:9:18:9 | {...} | 1 | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:22:18:22:22 | "xyz" | 4 | -| Patterns.cs:23:17:23:22 | break; | Patterns.cs:23:17:23:22 | break; | 1 | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:18:24:23 | Int32 i2 | 2 | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:30:24:35 | ... > ... | 3 | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:26:17:26:22 | break; | 7 | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:18:27:23 | Int32 i3 | 2 | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:29:17:29:22 | break; | 7 | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:18:30:26 | String s2 | 2 | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:32:17:32:22 | break; | 7 | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:18:33:23 | Object v2 | 2 | -| Patterns.cs:34:17:34:22 | break; | Patterns.cs:34:17:34:22 | break; | 1 | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:37:17:37:22 | break; | 5 | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | exit M1 | 4 | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:47:24:47:25 | exit M2 | 7 | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:18:51:21 | null | 3 | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:9:51:21 | [false] ... is ... | 1 | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:9:51:21 | [true] ... is ... | 1 | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | exit M3 | 3 | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:14:51:21 | [match] not ... | 1 | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:14:51:21 | [no-match] not ... | 1 | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:30 | ... is ... | 3 | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:39 | ... is ... | 3 | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:18:54:37 | Patterns u | 3 | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:53:24:53:25 | exit M4 | 5 | -| Patterns.cs:54:27:54:35 | [match] { ... } | Patterns.cs:54:27:54:35 | [match] { ... } | 1 | -| Patterns.cs:54:27:54:35 | [no-match] { ... } | Patterns.cs:54:27:54:35 | [no-match] { ... } | 1 | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:33:54:33 | 1 | 1 | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:17:60:17 | 1 | 4 | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:56:26:56:27 | exit M5 | 4 | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:13:60:17 | [match] not ... | 1 | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:60:13:60:17 | [no-match] not ... | 1 | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:13:60:28 | ... => ... | 2 | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:13:61:13 | _ | 1 | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:13:61:24 | ... => ... | 2 | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:69:17:69:17 | 2 | 4 | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:69:13:69:17 | [no-match] not ... | 1 | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:13:70:13 | 2 | 1 | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:65:26:65:27 | exit M6 | 6 | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:78:13:78:15 | > ... | 5 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:74:26:74:27 | exit M7 | 4 | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:13:78:24 | ... => ... | 2 | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:13:79:15 | < ... | 2 | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:13:79:24 | ... => ... | 2 | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:13 | 1 | 1 | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:13:80:20 | ... => ... | 2 | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:13:81:13 | _ | 1 | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:13:81:20 | ... => ... | 2 | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:44:85:44 | 1 | 3 | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:39:85:53 | [false] ... is ... | 1 | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:39:85:53 | [true] ... is ... | 1 | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | exit M8 | 3 | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:44:85:53 | [match] ... or ... | 1 | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | 1 | -| Patterns.cs:85:49:85:53 | [match] not ... | Patterns.cs:85:49:85:53 | [match] not ... | 1 | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:49:85:53 | [no-match] not ... | 1 | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:53:85:53 | 2 | 1 | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:57:85:63 | "not 2" | 1 | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:67:85:69 | "2" | 1 | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:44:87:44 | 1 | 3 | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:39:87:54 | [false] ... is ... | 1 | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:39:87:54 | [true] ... is ... | 1 | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | exit M9 | 3 | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:44:87:54 | [match] ... and ... | 1 | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | 1 | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:50:87:54 | [match] not ... | 1 | -| Patterns.cs:87:50:87:54 | [no-match] not ... | Patterns.cs:87:50:87:54 | [no-match] not ... | 1 | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:54:87:54 | 2 | 1 | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:58:87:60 | "1" | 1 | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:64:87:70 | "not 1" | 1 | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:29:95:31 | access to constant A | 5 | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | exit M10 | 2 | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:13:95:40 | [false] ... is ... | 1 | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:13:95:40 | [true] ... is ... | 1 | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | 1 | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | 1 | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | 1 | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | 1 | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:29:95:38 | [match] ... or ... | 1 | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:29:95:38 | [no-match] ... or ... | 1 | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:36:95:38 | access to constant B | 1 | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:97:13:97:38 | call to method WriteLine | 4 | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | exit PostDominance | 7 | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:5:10:5:11 | exit M1 | 7 | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:12:18:12:21 | null | 5 | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | exit M2 | 2 | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:12:13:12:21 | [false] ... is ... | 1 | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:12:13:12:21 | [true] ... is ... | 1 | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:13:13:13:19 | return ...; | 1 | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:9:14:28 | call to method WriteLine | 3 | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:19:18:19:21 | null | 5 | -| PostDominance.cs:17:10:17:11 | exit M3 | PostDominance.cs:17:10:17:11 | exit M3 | 1 | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:19:13:19:21 | [false] ... is ... | 1 | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:19:13:19:21 | [true] ... is ... | 1 | -| PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:17:10:17:11 | exit M3 (abnormal) | 4 | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:17:10:17:11 | exit M3 (normal) | 4 | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | exit Qualifiers | 7 | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:16:7:21 | exit Method | 4 | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:23:8:34 | exit StaticMethod | 4 | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:10:10:10:10 | exit M | 58 | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | exit Switch | 7 | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:5:10:5:11 | exit M1 | 6 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:14:18:14:20 | "a" | 6 | -| Switch.cs:10:10:10:11 | exit M2 | Switch.cs:10:10:10:11 | exit M2 | 1 | -| Switch.cs:10:10:10:11 | exit M2 (abnormal) | Switch.cs:10:10:10:11 | exit M2 (abnormal) | 1 | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | exit M2 (normal) | 1 | -| Switch.cs:15:17:15:23 | return ...; | Switch.cs:15:17:15:23 | return ...; | 1 | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:18:16:18 | 0 | 2 | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:17:17:38 | throw ...; | 2 | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:18:18:21 | null | 2 | -| Switch.cs:19:17:19:29 | goto default; | Switch.cs:19:17:19:29 | goto default; | 1 | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:18:20:22 | Int32 i | 2 | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:29 | ... == ... | 4 | -| Switch.cs:22:21:22:27 | return ...; | Switch.cs:22:21:22:27 | return ...; | 1 | -| Switch.cs:23:27:23:27 | 0 | Switch.cs:23:17:23:28 | goto case ...; | 2 | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:18:24:25 | String s | 2 | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:43 | ... > ... | 4 | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:24:32:24:55 | [false] ... && ... | 1 | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:24:32:24:55 | [true] ... && ... | 1 | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:48:24:55 | ... != ... | 3 | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:26:17:26:23 | return ...; | 4 | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:18:27:25 | Double d | 2 | -| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:27:32:27:38 | call to method Throw | 1 | -| Switch.cs:30:13:30:20 | default: | Switch.cs:29:17:29:23 | return ...; | 4 | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:35:10:35:11 | exit M3 | 6 | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:48:18:48:20 | access to type Int32 | 6 | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | exit M4 | 2 | -| Switch.cs:49:17:49:22 | break; | Switch.cs:49:17:49:22 | break; | 1 | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:18:50:21 | access to type Boolean | 2 | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:30:50:38 | ... != ... | 3 | -| Switch.cs:51:17:51:22 | break; | Switch.cs:51:17:51:22 | break; | 1 | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:59:18:59:18 | 2 | 8 | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:18:61:18 | 3 | 2 | -| Switch.cs:62:17:62:22 | break; | Switch.cs:55:10:55:11 | exit M5 | 3 | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:70:18:70:20 | access to type Int32 | 7 | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | exit M6 | 2 | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:18:72:19 | "" | 2 | -| Switch.cs:73:17:73:22 | break; | Switch.cs:73:17:73:22 | break; | 1 | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:81:18:81:18 | 1 | 6 | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | exit M7 | 2 | -| Switch.cs:82:24:82:27 | true | Switch.cs:82:17:82:28 | return ...; | 2 | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:18:83:18 | 2 | 2 | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:21:84:25 | ... > ... | 4 | -| Switch.cs:85:21:85:26 | break; | Switch.cs:85:21:85:26 | break; | 1 | -| Switch.cs:86:24:86:27 | true | Switch.cs:86:17:86:28 | return ...; | 2 | -| Switch.cs:88:16:88:20 | false | Switch.cs:88:9:88:21 | return ...; | 2 | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:95:18:95:20 | access to type Int32 | 6 | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | exit M8 | 2 | -| Switch.cs:96:24:96:27 | true | Switch.cs:96:17:96:28 | return ...; | 2 | -| Switch.cs:98:16:98:20 | false | Switch.cs:98:9:98:21 | return ...; | 2 | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:103:17:103:17 | access to parameter s | 4 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | exit M9 | 2 | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:25 | access to property Length | 1 | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:18:105:18 | 0 | 2 | -| Switch.cs:105:28:105:28 | 0 | Switch.cs:105:21:105:29 | return ...; | 2 | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:18:106:18 | 1 | 2 | -| Switch.cs:106:28:106:28 | 1 | Switch.cs:106:21:106:29 | return ...; | 2 | -| Switch.cs:108:17:108:17 | 1 | Switch.cs:108:9:108:18 | return ...; | 3 | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:17:111:21 | exit Throw | 5 | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:117:18:117:18 | 3 | 7 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | exit M10 | 2 | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:25:117:34 | ... == ... | 3 | -| Switch.cs:117:44:117:44 | 1 | Switch.cs:117:37:117:45 | return ...; | 2 | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:18:118:18 | 2 | 2 | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:25:118:33 | ... == ... | 3 | -| Switch.cs:118:43:118:43 | 2 | Switch.cs:118:36:118:44 | return ...; | 2 | -| Switch.cs:120:17:120:17 | 1 | Switch.cs:120:9:120:18 | return ...; | 3 | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:24:125:29 | Boolean b | 5 | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | exit M11 | 2 | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:13:125:48 | [false] ... switch { ... } | 1 | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:125:13:125:48 | [true] ... switch { ... } | 1 | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:125:24:125:34 | [false] ... => ... | 1 | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:24:125:34 | [true] ... => ... | 1 | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:34:125:34 | access to local variable b | 1 | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:37 | _ | 1 | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:37:125:46 | [false] ... => ... | 1 | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:42:125:46 | false | 1 | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:126:13:126:19 | return ...; | 1 | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:28:131:35 | String s | 4 | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | exit M12 | 3 | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:16:131:66 | call to method ToString | 1 | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | 1 | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:17:131:53 | [null] ... switch { ... } | 1 | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:28:131:40 | [non-null] ... => ... | 1 | -| Switch.cs:131:28:131:40 | [null] ... => ... | Switch.cs:131:28:131:40 | [null] ... => ... | 1 | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:40:131:40 | access to local variable s | 1 | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:43 | _ | 1 | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:43:131:51 | [null] ... => ... | 1 | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:48:131:51 | null | 1 | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:139:18:139:18 | 1 | 6 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | exit M13 | 2 | -| Switch.cs:138:13:138:20 | default: | Switch.cs:138:22:138:31 | return ...; | 4 | -| Switch.cs:139:28:139:28 | 1 | Switch.cs:139:21:139:29 | return ...; | 2 | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:18:140:18 | 2 | 2 | -| Switch.cs:140:28:140:28 | 2 | Switch.cs:140:21:140:29 | return ...; | 2 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:148:18:148:18 | 1 | 6 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | exit M14 | 2 | -| Switch.cs:148:28:148:28 | 1 | Switch.cs:148:21:148:29 | return ...; | 2 | -| Switch.cs:149:13:149:20 | default: | Switch.cs:149:22:149:31 | return ...; | 4 | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:18:150:18 | 2 | 2 | -| Switch.cs:150:28:150:28 | 2 | Switch.cs:150:21:150:29 | return ...; | 2 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:28:156:31 | true | 5 | -| Switch.cs:154:10:154:12 | exit M15 | Switch.cs:154:10:154:12 | exit M15 | 1 | -| Switch.cs:154:10:154:12 | exit M15 (abnormal) | Switch.cs:154:10:154:12 | exit M15 (abnormal) | 1 | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | exit M15 (normal) | 1 | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:157:13:157:13 | access to parameter b | 4 | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:28:156:38 | ... => ... | 2 | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:45 | false | 1 | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:41:156:52 | ... => ... | 2 | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:13:158:48 | call to method WriteLine | 6 | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:13:160:48 | call to method WriteLine | 6 | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:167:18:167:18 | 1 | 6 | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | exit M16 | 2 | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:18:168:18 | 2 | 2 | -| Switch.cs:169:17:169:51 | ...; | Switch.cs:170:17:170:22 | break; | 4 | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:18:171:18 | 3 | 2 | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:173:17:173:22 | break; | 4 | -| Switch.cs:174:13:174:20 | default: | Switch.cs:176:17:176:22 | break; | 5 | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | exit TypeAccesses | 7 | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:18:7:22 | Int32 j | 13 | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | 1 | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | 1 | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:25:7:25 | ; | 1 | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:3:10:3:10 | exit M | 5 | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | exit VarDecls | 7 | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:5:18:5:19 | exit M1 | 19 | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:13:12:13:13 | exit M2 | 13 | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:25:20:25:20 | access to parameter b | 11 | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:19:7:19:8 | exit M3 | 4 | -| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:24:25:24 | access to local variable x | 1 | -| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:28:25:28 | access to local variable y | 1 | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | exit C | 7 | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:41:28:47 | exit Dispose | 4 | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:11:13:11:17 | ... > ... | 15 | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | exit Main | 2 | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:13:12:48 | call to method WriteLine | 3 | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:9:17:9 | while (...) ... | 1 | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:16:14:20 | ... > ... | 3 | -| cflow.cs:15:9:17:9 | {...} | cflow.cs:16:13:16:40 | call to method WriteLine | 7 | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:19:9:22:25 | do ... while (...); | 1 | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | ... < ... | 9 | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:18:24:22 | Int32 i = ... | 3 | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:25:24:31 | ... <= ... | 3 | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:36 | ...++ | 2 | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:17:26:26 | ... == ... | 7 | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:26:17:26:40 | [false] ... && ... | 1 | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:26:17:26:40 | [true] ... && ... | 1 | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:31:26:40 | ... == ... | 5 | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:17:27:45 | call to method WriteLine | 3 | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:22:28:31 | ... == ... | 6 | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:17:29:41 | call to method WriteLine | 3 | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:22:30:31 | ... == ... | 6 | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:17:31:41 | call to method WriteLine | 3 | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:17:33:36 | call to method WriteLine | 3 | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:39:17:39:17 | access to parameter a | 4 | -| cflow.cs:37:17:37:22 | exit Switch | cflow.cs:37:17:37:22 | exit Switch | 1 | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:18:41:18 | 1 | 2 | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:43:17:43:28 | goto case ...; | 5 | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:18:44:18 | 2 | 2 | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:46:17:46:28 | goto case ...; | 5 | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:18:47:18 | 3 | 2 | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:49:17:49:22 | break; | 4 | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:53:18:53:19 | 42 | 4 | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:55:17:55:22 | break; | 4 | -| cflow.cs:56:13:56:20 | default: | cflow.cs:58:17:58:22 | break; | 5 | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:62:18:62:18 | 0 | 6 | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:23:63:33 | ... == ... | 5 | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:63:21:63:34 | [false] !... | 1 | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:63:21:63:34 | [true] !... | 1 | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:37:17:37:22 | exit Switch (abnormal) | 3 | -| cflow.cs:65:17:65:22 | break; | cflow.cs:65:17:65:22 | break; | 1 | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:37:17:37:22 | exit Switch (normal) | 3 | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:72:13:72:21 | ... == ... | 6 | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | exit M | 2 | -| cflow.cs:73:13:73:19 | return ...; | cflow.cs:73:13:73:19 | return ...; | 1 | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:13:74:24 | ... > ... | 5 | -| cflow.cs:75:9:77:9 | {...} | cflow.cs:76:13:76:32 | call to method WriteLine | 4 | -| cflow.cs:79:9:81:9 | {...} | cflow.cs:80:13:80:47 | call to method WriteLine | 4 | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:86:13:86:21 | ... != ... | 6 | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | exit M2 | 2 | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:86:13:86:37 | [false] ... && ... | 1 | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:86:13:86:37 | [true] ... && ... | 1 | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:37 | ... > ... | 4 | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:13:87:32 | call to method WriteLine | 3 | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:92:13:92:27 | call to method Equals | 6 | -| cflow.cs:90:18:90:19 | exit M3 | cflow.cs:90:18:90:19 | exit M3 | 1 | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | exit M3 (normal) | 1 | -| cflow.cs:93:45:93:47 | "s" | cflow.cs:90:18:90:19 | exit M3 (abnormal) | 4 | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:96:13:96:25 | ... != ... | 8 | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:13:97:54 | call to method WriteLine | 4 | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:25 | ... != ... | 5 | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:13:100:41 | call to method WriteLine | 4 | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:29 | ... != ... | 5 | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:13:103:35 | call to method WriteLine | 4 | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:108:13:108:21 | ... != ... | 6 | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:110:13:113:13 | while (...) ... | 2 | -| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | true | 1 | -| cflow.cs:111:13:113:13 | {...} | cflow.cs:112:17:112:36 | call to method WriteLine | 4 | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:106:18:106:19 | exit M4 | 5 | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:119:20:119:21 | exit M5 | 14 | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:32:127:44 | ... == ... | 6 | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:19:127:21 | exit get_Prop | 4 | -| cflow.cs:127:48:127:49 | "" | cflow.cs:127:48:127:49 | "" | 1 | -| cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | access to field Field | 2 | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | exit set_Prop | 9 | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | exit ControlFlow | 12 | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:5:134:15 | exit ControlFlow | 9 | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:12:136:22 | exit ControlFlow | 8 | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:138:40:138:40 | exit + | 9 | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:33:144:35 | exit get_Item | 9 | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:56:144:58 | exit set_Item | 4 | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:149:9:150:33 | for (...;...;...) ... | 6 | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | exit For | 2 | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:16:149:21 | ... < ... | 3 | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:149:24:149:26 | ++... | 5 | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | 1 | -| cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:20 | ...++ | 2 | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | ... > ... | 8 | -| cflow.cs:156:17:156:22 | break; | cflow.cs:159:9:165:9 | for (...;...;...) ... | 2 | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | ... > ... | 11 | -| cflow.cs:164:17:164:22 | break; | cflow.cs:167:9:171:9 | for (...;...;...) ... | 2 | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:16:167:21 | ... < ... | 3 | -| cflow.cs:168:9:171:9 | {...} | cflow.cs:170:13:170:15 | ...++ | 7 | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:25:173:29 | Int32 j = ... | 5 | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:32:173:41 | ... < ... | 5 | -| cflow.cs:174:9:176:9 | {...} | cflow.cs:173:49:173:51 | ...++ | 10 | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:179:10:179:16 | exit Lambdas | 10 | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:28:181:37 | exit (...) => ... | 6 | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:28:182:61 | exit delegate(...) { ... } | 8 | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:13:187:18 | ... == ... | 6 | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | 1 | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | 1 | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:23:187:28 | ... == ... | 3 | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:39 | ... == ... | 3 | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:49 | ... && ... | 1 | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:185:10:185:18 | exit LogicalOr | 5 | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:195:17:195:32 | ... > ... | 8 | -| cflow.cs:193:10:193:17 | exit Booleans | cflow.cs:193:10:193:17 | exit Booleans | 1 | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | exit Booleans (normal) | 1 | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:15:197:31 | ... == ... | 8 | -| cflow.cs:195:39:195:43 | this access | cflow.cs:195:37:195:56 | !... | 6 | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:197:13:197:47 | [false] !... | 1 | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:197:13:197:47 | [true] !... | 1 | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | 1 | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | 1 | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | false | 1 | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | true | 1 | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:17:198:33 | ... == ... | 6 | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:13:198:48 | ... = ... | 2 | -| cflow.cs:198:37:198:41 | false | cflow.cs:198:37:198:41 | false | 1 | -| cflow.cs:198:45:198:48 | true | cflow.cs:198:45:198:48 | true | 1 | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:15:200:31 | ... == ... | 6 | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:13:200:32 | [false] !... | 1 | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:200:13:200:32 | [true] !... | 1 | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | 1 | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | 1 | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:37:200:62 | [false] !... | 1 | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:200:37:200:62 | [true] !... | 1 | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:38:200:62 | [false] !... | 1 | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:38:200:62 | [true] !... | 1 | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:56 | ... == ... | 5 | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:40:200:61 | [false] ... && ... | 1 | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:40:200:61 | [true] ... && ... | 1 | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | access to local variable b | 1 | -| cflow.cs:201:9:205:9 | {...} | cflow.cs:193:10:193:17 | exit Booleans (abnormal) | 5 | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:210:9:221:36 | do ... while (...); | 3 | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | exit Do | 2 | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | ... > ... | 12 | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | continue; | 2 | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:32 | ... < ... | 6 | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | break; | 2 | -| cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:34 | ... < ... | 5 | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:226:27:226:64 | call to method Repeat | 5 | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | exit Foreach | 2 | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | 1 | -| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | ... > ... | 13 | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | continue; | 2 | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:32 | ... < ... | 6 | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | break; | 2 | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:241:5:259:5 | {...} | 2 | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | exit Goto | 2 | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:19:242:35 | ... == ... | 7 | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:242:16:242:36 | [false] !... | 1 | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:16:242:36 | [true] !... | 1 | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:17:242:36 | [false] !... | 1 | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:17:242:36 | [true] !... | 1 | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:39:242:41 | {...} | 1 | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:13:244:28 | ... > ... | 6 | -| cflow.cs:244:31:244:41 | goto ...; | cflow.cs:244:31:244:41 | goto ...; | 1 | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:248:18:248:18 | 0 | 8 | -| cflow.cs:249:17:249:29 | goto default; | cflow.cs:249:17:249:29 | goto default; | 1 | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:18:250:18 | 1 | 2 | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:252:17:252:22 | break; | 4 | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:18:253:18 | 2 | 2 | -| cflow.cs:254:17:254:27 | goto ...; | cflow.cs:254:17:254:27 | goto ...; | 1 | -| cflow.cs:255:13:255:20 | default: | cflow.cs:257:17:257:22 | break; | 5 | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:264:18:264:22 | Int32 i = ... | 7 | -| cflow.cs:261:49:261:53 | exit Yield | cflow.cs:261:49:261:53 | exit Yield | 1 | -| cflow.cs:261:49:261:53 | exit Yield (abnormal) | cflow.cs:261:49:261:53 | exit Yield (abnormal) | 1 | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | exit Yield (normal) | 1 | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:25:264:30 | ... < ... | 3 | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:264:33:264:35 | ...++ | 5 | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:275:13:275:41 | call to method WriteLine | 7 | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | exit ControlFlowSub | 7 | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:5:284:18 | exit ControlFlowSub | 5 | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:5:286:18 | exit ControlFlowSub | 7 | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | exit DelegateCall | 7 | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:12:291:12 | exit M | 6 | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | exit NegationInConstructor | 7 | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:46:300:50 | ... > ... | 7 | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:300:44:300:51 | [false] !... | 1 | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:44:300:51 | [true] !... | 1 | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:298:10:298:10 | exit M | 5 | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:56:300:64 | ... != ... | 3 | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | exit LambdaGetter | 7 | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:306:60:310:5 | exit (...) => ... | 9 | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | exit get__getter | 4 | +| MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:15:5:17:5 | After {...} | 3 | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:9:16:31 | Exit | 6 | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | Exceptional Exit | 12 | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationB.cs:19:27:19:29 | {...} | 5 | +| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationA.cs:22:6:22:7 | Exceptional Exit | 5 | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationA.cs:23:28:23:35 | Exceptional Exit | 4 | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationB.cs:25:7:25:8 | {...} | 8 | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationB.cs:30:15:30:16 | {...} | 8 | +| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | Normal Exit | 2 | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | Exit | 11 | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:23 | access to parameter i | 3 | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | 1 | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:28:3:28 | 0 | 2 | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:9:3:10 | Exit | 3 | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:25 | access to parameter b | 4 | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | Exit | 3 | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | 1 | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:30:5:34 | After false [false] | 3 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:43:5:43 | 1 | 2 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:39:5:39 | 0 | 2 | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | 3 | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | 1 | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | 3 | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | Exit | 3 | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | 1 | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:52:7:53 | "" | 2 | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | 1 | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:37 | access to parameter b | 4 | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | Exit | 3 | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | access to parameter s | 2 | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | access to parameter s | 2 | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | 1 | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:52 | "" | 3 | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | 1 | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | 1 | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | 1 | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | 1 | +| NullCoalescing.cs:9:51:9:52 | After "" [non-null] | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | 1 | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:57:9:58 | "" | 2 | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | 1 | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | 4 | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | Exit | 3 | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | 1 | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | 3 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:68:11:68 | 1 | 2 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:64:11:64 | 0 | 2 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | 1 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | 2 | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | 1 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | 1 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | 2 | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:15:17:15:26 | (...) ... | 9 | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | 1 | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:15:31:15:31 | 0 | 2 | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | "" | 9 | +| NullCoalescing.cs:16:17:16:18 | After "" [non-null] | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | 1 | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:16:23:16:25 | "a" | 2 | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | (...) ... | 11 | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | 1 | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:17:24:17:24 | 1 | 2 | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | Exit | 7 | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationA.cs:1:15:1:21 | Exit | 19 | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Exit | 11 | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Exit | 11 | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Exit | 11 | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:8:13:8:23 | ... is ... | 13 | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:22:13:22:23 | case ...: | 4 | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:18:12:31 | ... is ... | 5 | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:9:9:11:9 | After {...} | 18 | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:12:14:18:9 | After if (...) ... | 1 | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:18:16:28 | ... is ... | 5 | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:13:9:15:9 | After {...} | 18 | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:16:14:18:9 | After if (...) ... | 1 | +| Patterns.cs:16:18:16:28 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | 1 | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:17:9:18:9 | {...} | 4 | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:5:10:5:11 | Exit | 7 | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:23:17:23:22 | break; | 4 | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | case ...: | 2 | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:30:24:35 | ... > ... | 6 | +| Patterns.cs:24:13:24:36 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [no-match] | 1 | +| Patterns.cs:24:30:24:35 | After ... > ... [false] | Patterns.cs:24:30:24:35 | After ... > ... [false] | 1 | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:26:17:26:22 | break; | 16 | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:29:17:29:22 | break; | 17 | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | case ...: | 2 | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | case ...: | 1 | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:32:17:32:22 | break; | 17 | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | case ...: | 2 | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:34:17:34:22 | break; | 4 | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:37:17:37:22 | break; | 11 | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:48:9:48:20 | ... is ... | 4 | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:47:24:47:25 | Exit | 3 | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:48:14:48:20 | After not ... | 5 | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:21 | ... is ... | 5 | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:34:51:39 | ... is ... | 4 | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:25:51:30 | ... is ... | 9 | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:50:24:50:25 | Exit | 3 | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:25:51:30 | After ... is ... | 1 | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:51:30:51:30 | 1 | 2 | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:34:51:39 | After ... is ... | 1 | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:51:39:51:39 | 2 | 2 | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:54:9:54:37 | ... is ... | 4 | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:53:24:53:25 | Exit | 3 | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:54:14:54:37 | After not ... | 13 | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:60:13:60:28 | ... => ... | 6 | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:56:26:56:27 | Exit | 4 | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:60:22:60:28 | "not 1" | 6 | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:61:18:61:24 | "other" | 5 | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:69:13:69:33 | ... => ... | 6 | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:65:26:65:27 | Exit | 4 | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:69:22:69:33 | "impossible" | 6 | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | ... => ... | 2 | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:70:18:70:27 | "possible" | 3 | +| Patterns.cs:70:13:70:27 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | 1 | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:78:13:78:24 | ... => ... | 6 | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:74:26:74:27 | Exit | 4 | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:78:20:78:24 | "> 1" | 6 | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | ... => ... | 2 | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:79:20:79:24 | "< 0" | 6 | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | ... => ... | 2 | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:80:18:80:20 | "1" | 3 | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:81:18:81:20 | "0" | 5 | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:53 | ... is ... | 5 | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:67:85:69 | "2" | 2 | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:57:85:63 | "not 2" | 11 | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:26:85:27 | Exit | 3 | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:54 | ... is ... | 5 | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:64:87:70 | "not 1" | 2 | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:58:87:60 | "1" | 11 | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:26:87:27 | Exit | 3 | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:95:13:95:40 | ... is ... | 6 | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:93:17:93:19 | Exit | 4 | +| Patterns.cs:95:13:95:40 | After ... is ... [false] | Patterns.cs:95:13:95:40 | After ... is ... [false] | 1 | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:96:9:98:9 | After {...} | 21 | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | Exit | 11 | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:5:10:5:11 | Exit | 11 | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:12:13:12:21 | ... is ... | 6 | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | Exit | 2 | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:11:5:15:5 | After {...} | 9 | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:13:13:13:19 | return ...; | 5 | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:19:13:19:21 | ... is ... | 6 | +| PostDominance.cs:17:10:17:11 | Exit | PostDominance.cs:17:10:17:11 | Exit | 1 | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:17:10:17:11 | Normal Exit | 10 | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:17:10:17:11 | Exceptional Exit | 10 | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Exit | 11 | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:16:7:21 | Exit | 4 | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:23:8:34 | Exit | 4 | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:10:10:10:10 | Exit | 149 | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Exit | 11 | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:5:10:5:11 | Exit | 8 | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:14:13:14:21 | case ...: | 5 | +| Switch.cs:10:10:10:11 | Exceptional Exit | Switch.cs:10:10:10:11 | Exceptional Exit | 1 | +| Switch.cs:10:10:10:11 | Exit | Switch.cs:10:10:10:11 | Exit | 1 | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | Normal Exit | 1 | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:15:17:15:23 | return ...; | 4 | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:16:13:16:19 | case ...: | 2 | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:17:17:17:38 | throw ...; | 7 | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | case ...: | 2 | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:19:17:19:29 | goto default; | 4 | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | case ...: | 2 | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:21:21:21:29 | ... == ... | 7 | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | case ...: | 2 | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:23:17:23:28 | goto case ...; | 5 | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:22:21:22:27 | return ...; | 3 | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:32:24:43 | ... > ... | 10 | +| Switch.cs:24:13:24:56 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | 1 | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:24:32:24:43 | After ... > ... [false] | 1 | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | ... != ... | 5 | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | 1 | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:24:48:24:55 | After ... != ... [false] | 1 | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:26:17:26:23 | return ...; | 10 | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:27:32:27:38 | call to method Throw | 4 | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:30:13:30:20 | default: | 2 | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | case ...: | 1 | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:29:17:29:23 | return ...; | 6 | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:35:10:35:11 | Exit | 7 | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:48:13:48:23 | case ...: | 5 | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:44:10:44:11 | Exit | 4 | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:49:17:49:22 | break; | 4 | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | case ...: | 2 | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:30:50:38 | ... != ... | 6 | +| Switch.cs:50:13:50:39 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [no-match] | 1 | +| Switch.cs:50:30:50:38 | After ... != ... [false] | Switch.cs:50:30:50:38 | After ... != ... [false] | 1 | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:51:17:51:22 | break; | 3 | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:59:13:59:19 | case ...: | 9 | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:55:10:55:11 | Exit | 4 | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:60:17:60:22 | break; | 4 | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | case ...: | 2 | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:62:17:62:22 | break; | 4 | +| Switch.cs:61:13:61:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [no-match] | 1 | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:70:13:70:23 | case ...: | 8 | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:66:10:66:11 | Exit | 4 | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:71:17:71:22 | break; | 4 | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | case ...: | 2 | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:73:17:73:22 | break; | 4 | +| Switch.cs:72:13:72:20 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [no-match] | 1 | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:81:13:81:19 | case ...: | 5 | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | Exit | 2 | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:88:9:88:21 | return ...; | 4 | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:82:17:82:28 | return ...; | 5 | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | case ...: | 2 | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:84:21:84:25 | ... > ... | 7 | +| Switch.cs:83:13:83:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [no-match] | 1 | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:86:17:86:28 | return ...; | 5 | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:85:21:85:26 | break; | 3 | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:95:13:95:23 | case ...: | 5 | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | Exit | 2 | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:96:17:96:28 | return ...; | 5 | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:98:9:98:21 | return ...; | 5 | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:103:17:103:17 | access to parameter s | 5 | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | Exit | 2 | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:103:17:103:25 | access to property Length | 2 | +| Switch.cs:103:17:103:17 | After access to parameter s [null] | Switch.cs:103:17:103:17 | After access to parameter s [null] | 1 | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | case ...: | 2 | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:105:21:105:29 | return ...; | 5 | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | case ...: | 2 | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:106:21:106:29 | return ...; | 5 | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:108:9:108:18 | return ...; | 8 | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:17:111:21 | Exit | 8 | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:13:117:35 | case ...: | 8 | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | Exit | 2 | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:120:9:120:18 | return ...; | 7 | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:25:117:34 | ... == ... | 6 | +| Switch.cs:117:13:117:35 | After case ...: [no-match] | Switch.cs:117:13:117:35 | After case ...: [no-match] | 1 | +| Switch.cs:117:25:117:34 | After ... == ... [false] | Switch.cs:117:25:117:34 | After ... == ... [false] | 1 | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:117:37:117:45 | return ...; | 4 | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:25:118:33 | ... == ... | 6 | +| Switch.cs:118:13:118:34 | After case ...: [no-match] | Switch.cs:118:13:118:34 | After case ...: [no-match] | 1 | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | case ...: | 1 | +| Switch.cs:118:25:118:33 | After ... == ... [false] | Switch.cs:118:25:118:33 | After ... == ... [false] | 1 | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:118:36:118:44 | return ...; | 4 | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:24:125:34 | ... => ... | 6 | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | Exit | 2 | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:124:5:127:5 | After {...} | 3 | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:126:13:126:19 | return ...; | 3 | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:125:34:125:34 | access to local variable b | 3 | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:125:42:125:46 | false | 5 | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:28:131:40 | ... => ... | 7 | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:129:12:129:14 | Exit | 4 | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:131:16:131:66 | call to method ToString | 2 | +| Switch.cs:131:17:131:53 | After ... switch { ... } [null] | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | 1 | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:131:40:131:40 | access to local variable s | 3 | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:131:48:131:51 | null | 5 | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:139:13:139:19 | case ...: | 5 | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | Exit | 2 | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:139:21:139:29 | return ...; | 5 | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | case ...: | 2 | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:140:21:140:29 | return ...; | 5 | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:138:22:138:31 | return ...; | 9 | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:148:13:148:19 | case ...: | 5 | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | Exit | 2 | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:148:21:148:29 | return ...; | 5 | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | case ...: | 2 | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:150:21:150:29 | return ...; | 5 | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:149:22:149:31 | return ...; | 9 | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:28:156:38 | ... => ... | 8 | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:157:13:157:13 | access to parameter b | 6 | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:156:36:156:38 | "a" | 3 | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | ... => ... | 2 | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:156:50:156:52 | "b" | 3 | +| Switch.cs:156:41:156:52 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [no-match] | 1 | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:154:10:154:12 | Exit | 4 | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:160:13:160:49 | After ...; | 14 | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:158:13:158:49 | After ...; | 14 | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:167:13:167:19 | case ...: | 5 | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:163:10:163:12 | Exit | 4 | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:167:18:167:18 | 1 | 2 | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | case ...: | 2 | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:168:18:168:18 | 2 | 2 | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | case ...: | 2 | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:170:17:170:22 | break; | 8 | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:173:17:173:22 | break; | 10 | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:176:17:176:22 | break; | 11 | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | Exit | 11 | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:7:13:7:22 | ... is ... | 26 | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:3:10:3:10 | Exit | 11 | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | 1 | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:7:25:7:25 | ; | 4 | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | Exit | 11 | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:5:18:5:19 | Exit | 36 | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:13:12:13:13 | Exit | 23 | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:25:20:25:20 | access to parameter b | 26 | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:25:28:25:28 | access to local variable y | 2 | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:25:24:25:24 | access to local variable x | 2 | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:19:7:19:8 | Exit | 4 | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | Exit | 11 | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:41:28:47 | Exit | 4 | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:11:13:11:17 | ... > ... | 30 | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:14:9:17:9 | while (...) ... | 2 | +| cflow.cs:11:13:11:17 | After ... > ... [false] | cflow.cs:11:13:11:17 | After ... > ... [false] | 1 | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:12:13:12:49 | After ...; | 7 | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | ... > ... | 5 | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:19:9:22:25 | do ... while (...); | 3 | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:15:9:17:9 | After {...} | 16 | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | ... < ... | 19 | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:24:18:24:22 | After Int32 i = ... | 8 | +| cflow.cs:22:18:22:23 | After ... < ... [true] | cflow.cs:22:18:22:23 | After ... < ... [true] | 1 | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:5:17:5:20 | Exit | 5 | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:17:26:26 | ... == ... | 12 | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | ... <= ... | 4 | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:24:34:24:36 | After ...++ | 7 | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | 1 | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | ... == ... | 9 | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:22:28:31 | ... == ... | 10 | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | 1 | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:27:17:27:46 | After ...; | 8 | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | 1 | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | ... == ... | 10 | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:29:17:29:42 | After ...; | 7 | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | 1 | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:33:17:33:37 | After ...; | 7 | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:31:17:31:42 | After ...; | 7 | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:41:13:41:19 | case ...: | 5 | +| cflow.cs:37:17:37:22 | Exit | cflow.cs:37:17:37:22 | Exit | 1 | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | case ...: | 4 | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:43:17:43:28 | goto case ...; | 11 | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | case ...: | 2 | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:46:17:46:28 | goto case ...; | 11 | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | case ...: | 2 | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:49:17:49:22 | break; | 10 | +| cflow.cs:47:13:47:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | 1 | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | case ...: | 10 | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:55:17:55:22 | break; | 10 | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:58:17:58:22 | break; | 11 | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Normal Exit | 5 | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:63:23:63:33 | ... == ... | 11 | +| cflow.cs:62:13:62:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [no-match] | 1 | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:37:17:37:22 | Exceptional Exit | 8 | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:65:17:65:22 | break; | 5 | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:72:13:72:21 | ... == ... | 7 | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | Exit | 2 | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:74:13:74:24 | ... > ... | 10 | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:73:13:73:19 | return ...; | 3 | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:71:5:82:5 | After {...} | 2 | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:79:9:81:9 | After {...} | 9 | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:75:9:77:9 | After {...} | 9 | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:13:86:21 | ... != ... | 8 | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:84:18:84:19 | Exit | 4 | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:86:13:86:21 | After ... != ... [false] | 1 | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | ... > ... | 8 | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | 1 | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:86:26:86:37 | After ... > ... [false] | 1 | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:87:13:87:33 | After ...; | 8 | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:92:13:92:27 | call to method Equals | 7 | +| cflow.cs:90:18:90:19 | Exit | cflow.cs:90:18:90:19 | Exit | 1 | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:96:13:96:25 | ... != ... | 16 | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:90:18:90:19 | Exceptional Exit | 8 | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:13:99:25 | ... != ... | 9 | +| cflow.cs:96:13:96:25 | After ... != ... [false] | cflow.cs:96:13:96:25 | After ... != ... [false] | 1 | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:97:13:97:55 | After ...; | 12 | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:13:102:29 | ... != ... | 9 | +| cflow.cs:99:13:99:25 | After ... != ... [false] | cflow.cs:99:13:99:25 | After ... != ... [false] | 1 | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:100:13:100:42 | After ...; | 10 | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:90:18:90:19 | Normal Exit | 3 | +| cflow.cs:102:13:102:29 | After ... != ... [false] | cflow.cs:102:13:102:29 | After ... != ... [false] | 1 | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:103:13:103:36 | After ...; | 10 | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:108:13:108:21 | ... != ... | 7 | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:106:18:106:19 | Exit | 11 | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:110:13:113:13 | while (...) ... | 3 | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:111:13:113:13 | After {...} | 11 | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:119:20:119:21 | Exit | 25 | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:32:127:44 | ... == ... | 11 | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:53:127:57 | After access to field Field | 5 | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:48:127:49 | "" | 2 | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:19:127:21 | Exit | 4 | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:62:127:64 | Exit | 15 | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | Exit | 22 | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:5:134:15 | Exit | 15 | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:12:136:22 | Exit | 12 | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:138:40:138:40 | Exit | 13 | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:33:144:35 | Exit | 14 | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:56:144:58 | Exit | 4 | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:149:9:150:33 | for (...;...;...) ... | 10 | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:152:9:157:9 | for (...;...;...) ... | 3 | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:149:24:149:26 | After ++... | 12 | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | ... < ... | 4 | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | ... > ... | 12 | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:152:18:152:20 | After ...++ | 8 | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:159:9:165:9 | for (...;...;...) ... | 5 | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | ... > ... | 18 | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | 4 | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:167:9:171:9 | for (...;...;...) ... | 5 | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:173:25:173:29 | After Int32 j = ... | 13 | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | 16 | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | ... < ... | 4 | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:146:10:146:12 | Exit | 5 | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:173:49:173:51 | After ...++ | 22 | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | ... < ... | 8 | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:179:10:179:16 | Exit | 19 | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:28:181:37 | Exit | 8 | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:28:182:61 | Exit | 11 | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:18 | ... == ... | 9 | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:185:10:185:18 | Exit | 4 | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | ... == ... | 5 | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:187:13:187:18 | After ... == ... [true] | 1 | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | 1 | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:188:13:188:55 | After ...; | 7 | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:34:187:39 | ... == ... | 7 | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:187:23:187:28 | After ... == ... [true] | 1 | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | 1 | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | ... == ... | 5 | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:190:13:190:52 | After ...; | 8 | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | 1 | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:187:34:187:49 | After ... && ... [true] | 2 | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:195:17:195:32 | ... > ... | 16 | +| cflow.cs:193:10:193:17 | Exit | cflow.cs:193:10:193:17 | Exit | 1 | +| cflow.cs:195:17:195:32 | After ... > ... [false] | cflow.cs:195:17:195:32 | After ... > ... [false] | 1 | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:195:37:195:56 | After !... | 14 | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:197:15:197:31 | ... == ... | 17 | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:15:200:31 | ... == ... | 14 | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:197:13:197:47 | After !... [false] | 5 | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | ... == ... | 19 | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:198:45:198:48 | true | 2 | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:198:37:198:41 | false | 2 | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:13:198:49 | After ...; | 4 | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:193:10:193:17 | Exceptional Exit | 9 | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:200:13:200:32 | After !... [true] | 2 | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:40:200:56 | ... == ... | 15 | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:200:40:200:56 | After ... == ... [false] | 1 | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | access to local variable b | 2 | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:193:10:193:17 | Normal Exit | 7 | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:61:200:61 | After access to local variable b [false] | 1 | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:200:37:200:62 | After !... [true] | 4 | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:210:9:221:36 | do ... while (...); | 3 | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:208:10:208:11 | Exit | 4 | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | ... < ... | 11 | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | ... > ... | 22 | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:217:17:217:32 | ... < ... | 13 | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:215:17:215:25 | continue; | 4 | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:211:9:221:9 | After {...} | 3 | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:219:17:219:22 | break; | 4 | +| cflow.cs:221:18:221:34 | After ... < ... [false] | cflow.cs:221:18:221:34 | After ... < ... [false] | 1 | +| cflow.cs:221:18:221:34 | After ... < ... [true] | cflow.cs:221:18:221:34 | After ... < ... [true] | 1 | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:27:226:64 | call to method Repeat | 7 | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Exit | 4 | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | 1 | +| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | ... > ... | 23 | +| cflow.cs:226:27:226:64 | After call to method Repeat [empty] | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | 1 | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | 1 | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:233:17:233:32 | ... < ... | 13 | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:231:17:231:25 | continue; | 4 | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:227:9:237:9 | After {...} | 3 | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:235:17:235:22 | break; | 4 | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:241:5:259:5 | {...} | 2 | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:19:242:35 | ... == ... | 14 | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:13:244:28 | ... > ... | 12 | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:242:16:242:36 | After !... [false] | 3 | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:242:39:242:41 | {...} | 4 | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:248:13:248:19 | case ...: | 15 | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:244:31:244:41 | goto ...; | 3 | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:240:10:240:13 | Exit | 4 | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:249:17:249:29 | goto default; | 4 | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | case ...: | 2 | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:252:17:252:22 | break; | 10 | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | case ...: | 2 | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:254:17:254:27 | goto ...; | 4 | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:255:13:255:20 | default: | 2 | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:257:17:257:22 | break; | 9 | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:264:18:264:22 | After Int32 i = ... | 12 | +| cflow.cs:261:49:261:53 | Exceptional Exit | cflow.cs:261:49:261:53 | Exceptional Exit | 1 | +| cflow.cs:261:49:261:53 | Exit | cflow.cs:261:49:261:53 | Exit | 1 | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Normal Exit | 1 | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:274:9:276:9 | After {...} | 14 | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:264:33:264:35 | After ...++ | 12 | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | ... < ... | 4 | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:262:5:277:5 | After {...} | 2 | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | Exit | 11 | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:5:284:18 | Exit | 7 | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:5:286:18 | Exit | 11 | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | Exit | 11 | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:12:291:12 | Exit | 8 | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | Exit | 11 | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:300:46:300:50 | ... > ... | 11 | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:298:10:298:10 | Exit | 8 | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:300:56:300:64 | After ... != ... | 7 | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:300:44:300:51 | After !... [false] | 2 | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | Exit | 11 | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | Exit | 4 | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | Exit | 14 | diff --git a/csharp/ql/test/library-tests/controlflow/graph/CONSISTENCY/CfgConsistency.expected b/csharp/ql/test/library-tests/controlflow/graph/CONSISTENCY/CfgConsistency.expected deleted file mode 100644 index ff3ec45f5ce..00000000000 --- a/csharp/ql/test/library-tests/controlflow/graph/CONSISTENCY/CfgConsistency.expected +++ /dev/null @@ -1,6 +0,0 @@ -multipleSuccessors -| BreakInTry.cs:31:21:31:32 | ... == ... | false | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | -| BreakInTry.cs:31:21:31:32 | ... == ... | false | BreakInTry.cs:35:7:35:7 | ; | -simpleAndNormalSuccessors -| BreakInTry.cs:32:21:32:21 | ; | break | successor | BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | -| Finally.cs:97:21:97:23 | ...-- | break | successor | Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:77:16:77:16 | access to local variable i | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Common.qll b/csharp/ql/test/library-tests/controlflow/graph/Common.qll index f6f9b26f1cd..0df87ac4670 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Common.qll +++ b/csharp/ql/test/library-tests/controlflow/graph/Common.qll @@ -10,14 +10,14 @@ class SourceControlFlowElement extends ControlFlowElement { } } -class SourceControlFlowNode extends ControlFlow::Node { +class SourceControlFlowNode extends ControlFlowNode { SourceControlFlowNode() { not this.getLocation().getFile() instanceof StubFile and not this.getLocation().getFile().fromLibrary() } } -class SourceBasicBlock extends ControlFlow::BasicBlock { +class SourceBasicBlock extends BasicBlock { SourceBasicBlock() { not this.getLocation().getFile() instanceof StubFile and not this.getLocation().getFile().fromLibrary() diff --git a/csharp/ql/test/library-tests/controlflow/graph/Condition.expected b/csharp/ql/test/library-tests/controlflow/graph/Condition.expected index cda25b6abd1..0e5259f89a0 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Condition.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Condition.expected @@ -1,1454 +1,1506 @@ 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: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: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: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: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: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: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: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:36:59:36 | access to parameter b | 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:37:66:37 | access to parameter b | 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:36:73:36 | access to parameter b | 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:37:80:37 | access to parameter b | 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: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: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: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: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 | -| 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 | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:16:17:16:17 | ; | true | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | false | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:27:21:27:26 | break; | false | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:30:13:33:13 | {...} | false | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:32:21:32:21 | ; | false | -| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:27:21:27:26 | break; | true | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:32:21:32:21 | ; | true | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:43:17:43:23 | return ...; | true | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | false | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:50:21:50:26 | break; | false | -| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:50:21:50:26 | break; | true | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:61:17:61:23 | return ...; | true | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | false | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:68:21:68:26 | break; | false | -| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:68:21:68:26 | break; | true | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:38 | call to method ToString | false | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | false | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | false | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:26:5:34 | access to property Length | false | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | false | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | true | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | true | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | true | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | false | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | true | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:33 | access to property Length | false | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:13:13:13:21 | access to property Length | false | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:14:20:14:20 | 0 | true | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:16:20:16:20 | 1 | false | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | false | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | true | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:24:17:24:37 | call to method ToString | true | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:25:31:25:31 | access to local variable s | true | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:24:17:24:37 | call to method ToString | false | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:25:31:25:31 | access to local variable s | false | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:25:31:25:31 | access to local variable s | false | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:35:9:35:24 | call to method Out | false | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:48:24:48:25 | 42 | false | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | false | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | false | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | false | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | false | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | false | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | false | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | false | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | false | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | false | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | false | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:6:13:6:16 | ...; | true | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | [false] !... | true | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | [true] !... | false | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:8:13:8:16 | ...; | false | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:8:13:8:16 | ...; | true | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:15:13:15:16 | ...; | true | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:13:18:20 | if (...) ... | true | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [false] !... | true | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [true] !... | true | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:18:17:18:20 | ...; | true | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [false] !... | true | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [true] !... | false | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:18:17:18:20 | ...; | false | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:18:17:18:20 | ...; | true | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:26:13:27:20 | if (...) ... | true | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:27:17:27:20 | ...; | true | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:27:17:27:20 | ...; | true | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:29:13:29:16 | ...; | true | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:38:13:38:20 | ...; | true | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:40:13:40:16 | ...; | true | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:42:13:42:16 | ...; | true | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:50:9:53:9 | {...} | true | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:52:17:52:20 | ...; | true | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:54:16:54:16 | access to local variable y | false | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:52:17:52:20 | ...; | true | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:61:9:64:9 | {...} | true | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:63:17:63:20 | ...; | true | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:65:9:66:16 | if (...) ... | false | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:66:13:66:16 | ...; | false | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:67:16:67:16 | access to local variable y | false | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:63:17:63:20 | ...; | true | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:66:13:66:16 | ...; | true | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | false | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:77:17:77:20 | ...; | false | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:78:13:79:26 | if (...) ... | false | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:79:17:79:26 | ...; | false | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | true | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:82:13:82:16 | ...; | true | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:83:16:83:16 | access to local variable x | true | -| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:77:17:77:20 | ...; | true | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:79:17:79:26 | ...; | true | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:82:13:82:16 | ...; | true | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | false | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:93:17:93:20 | ...; | false | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:94:13:95:26 | if (...) ... | false | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:95:17:95:26 | ...; | false | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:96:13:97:20 | if (...) ... | false | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:97:17:97:20 | ...; | false | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:99:16:99:16 | access to local variable x | true | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:93:17:93:20 | ...; | true | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:95:17:95:26 | ...; | true | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:97:17:97:20 | ...; | true | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:106:13:106:20 | ...; | true | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:13:109:24 | if (...) ... | true | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [false] !... | true | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [true] !... | true | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:109:17:109:24 | ...; | true | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [false] !... | true | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [true] !... | false | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:109:17:109:24 | ...; | false | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:109:17:109:24 | ...; | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:113:10:113:11 | exit M9 (normal) | false | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:42:116:42 | access to local variable i | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:117:9:123:9 | {...} | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:119:17:119:21 | [false] !... | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:119:17:119:21 | [true] !... | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:120:17:120:23 | ...; | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:121:13:122:25 | if (...) ... | true | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:122:17:122:25 | ...; | true | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:119:17:119:21 | [false] !... | true | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:119:17:119:21 | [true] !... | false | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:120:17:120:23 | ...; | false | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:120:17:120:23 | ...; | true | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:122:17:122:25 | ...; | true | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:132:9:140:9 | {...} | true | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:134:13:139:13 | {...} | true | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:136:17:138:17 | {...} | true | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:134:13:139:13 | {...} | true | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:136:17:138:17 | {...} | true | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:136:17:138:17 | {...} | true | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:145:21:145:23 | "a" | true | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:145:27:145:29 | "b" | false | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:147:13:147:49 | ...; | true | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:149:13:149:49 | ...; | false | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:45:9:47:9 | {...} | true | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:48:9:51:9 | catch (...) {...} | false | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:49:9:51:9 | {...} | false | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:49:9:51:9 | {...} | true | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | false | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:69:19:69:33 | object creation of type Exception | true | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:75:19:75:33 | object creation of type Exception | true | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:77:41:77:43 | "b" | false | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:112:29:112:29 | 1 | true | -| 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: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 | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:27:9:29:9 | {...} | true | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | false | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:41:30:42 | ArgumentException ex | false | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:34:27:34:32 | throw ...; | false | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | false | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | false | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | false | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:27:9:29:9 | {...} | true | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:41:30:42 | ArgumentException ex | true | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:34:27:34:32 | throw ...; | true | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | false | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | false | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | false | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:34:27:34:32 | throw ...; | true | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | true | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | false | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:38:61:39 | IOException ex | true | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:62:9:64:9 | {...} | true | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | false | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:26:65:26 | Exception e | false | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:66:9:67:9 | {...} | false | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:62:9:64:9 | {...} | true | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:26:65:26 | Exception e | true | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:66:9:67:9 | {...} | true | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:66:9:67:9 | {...} | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | exit M4 (abnormal) | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:78:9:100:9 | {...} | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:82:21:82:27 | return ...; | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:83:17:84:29 | if (...) ... | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:84:21:84:29 | continue; | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:85:17:86:26 | if (...) ... | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:86:21:86:26 | break; | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:89:13:99:13 | {...} | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:93:25:93:46 | throw ...; | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:93:31:93:45 | object creation of type Exception | true | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:96:17:98:17 | {...} | true | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:82:21:82:27 | return ...; | true | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:83:17:84:29 | if (...) ... | false | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:84:21:84:29 | continue; | false | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:85:17:86:26 | if (...) ... | false | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:86:21:86:26 | break; | false | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:84:21:84:29 | continue; | true | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:85:17:86:26 | if (...) ... | false | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:86:21:86:26 | break; | false | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:86:21:86:26 | break; | true | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:93:25:93:46 | throw ...; | true | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:93:31:93:45 | object creation of type Exception | true | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:108:17:108:23 | return ...; | true | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:109:13:110:49 | if (...) ... | false | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:109:17:109:28 | access to property Length | false | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:109:33:109:33 | 1 | false | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:110:17:110:49 | throw ...; | false | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | false | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:110:17:110:49 | throw ...; | true | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | true | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:17:114:36 | [false] !... | true | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:17:114:36 | [true] !... | false | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:115:17:115:41 | ...; | false | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:115:17:115:41 | ...; | true | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:117:17:117:37 | ...; | true | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:152:17:152:50 | throw ...; | true | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | true | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:159:21:159:45 | throw ...; | true | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:159:41:159:43 | "1" | true | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:30:161:30 | Exception e | true | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:162:13:164:13 | {...} | true | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:162:13:164:13 | {...} | true | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:180:21:180:43 | throw ...; | true | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:180:27:180:42 | object creation of type ExceptionA | true | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:25:186:47 | throw ...; | true | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:31:186:46 | object creation of type ExceptionB | true | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:9:20:9:20 | After access to parameter b [false] | false | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:9:20:9:20 | After access to parameter b [true] | true | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:16:20:16:20 | After access to parameter b [false] | false | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:16:20:16:20 | After access to parameter b [true] | true | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:23:20:23:20 | After access to parameter b [false] | false | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:23:20:23:20 | After access to parameter b [true] | true | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:30:20:30:20 | After access to parameter b [false] | false | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:30:20:30:20 | After access to parameter b [true] | true | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:37:20:37:20 | After access to parameter b [false] | false | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:37:20:37:20 | After access to parameter b [true] | true | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:44:20:44:20 | After access to parameter b [false] | false | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:44:20:44:20 | After access to parameter b [true] | true | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:51:20:51:20 | After access to parameter b [false] | false | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:51:20:51:20 | After access to parameter b [true] | true | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:58:20:58:20 | After access to parameter b [false] | false | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:58:20:58:20 | After access to parameter b [true] | true | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:23:59:31 | After ... != ... [false] | false | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:23:59:31 | After ... != ... [true] | true | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:65:20:65:20 | After access to parameter b [false] | false | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:65:20:65:20 | After access to parameter b [true] | true | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:24:66:32 | After ... == ... [false] | false | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:24:66:32 | After ... == ... [true] | true | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:72:20:72:20 | After access to parameter b [false] | false | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:72:20:72:20 | After access to parameter b [true] | true | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:23:73:31 | After ... == ... [false] | false | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:23:73:31 | After ... == ... [true] | true | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:79:20:79:20 | After access to parameter b [false] | false | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:79:20:79:20 | After access to parameter b [true] | true | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:24:80:32 | After ... != ... [false] | false | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:24:80:32 | After ... != ... [true] | true | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:86:20:86:20 | After access to parameter b [false] | false | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:86:20:86:20 | After access to parameter b [true] | true | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:90:13:90:13 | After access to parameter b [false] | false | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:90:13:90:13 | After access to parameter b [true] | true | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:94:13:94:13 | After access to parameter b [false] | false | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:94:13:94:13 | After access to parameter b [true] | true | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:98:13:98:13 | After access to parameter b [false] | false | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:98:13:98:13 | After access to parameter b [true] | true | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [false] | false | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [true] | true | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [false] | false | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [true] | true | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [false] | false | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [true] | true | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [false] | false | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [true] | true | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | false | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | true | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [false] | false | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [true] | true | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | false | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | true | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [false] | false | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [true] | true | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | false | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | true | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [false] | false | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [true] | true | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | false | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | true | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:26:7:28 | String arg | false | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | true | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | false | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | false | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | false | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | false | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | true | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | false | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | true | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:22:22:24 | String arg | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | true | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:24:13:33:13 | After try {...} ... | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:30:13:33:13 | {...} | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:31:17:32:21 | After if (...) ... | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | false | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | false | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | false | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | true | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | false | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | true | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | false | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | true | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:26:47:28 | String arg | false | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | true | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | false | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | false | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | false | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | false | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | true | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | false | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | true | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:26:65:28 | String arg | false | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | true | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | false | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | false | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | false | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | false | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | true | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | false | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | true | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | false | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | false | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | false | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | true | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | false | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | true | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | true | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | true | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | false | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | true | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | false | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | true | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | false | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | false | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | false | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | true | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | false | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | true | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | false | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | true | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | false | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | true | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | false | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | true | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | false | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:25:13:25:14 | After "" [null] | true | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | false | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | true | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | true | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | true | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | true | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | true | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | false | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | false | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | true | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | false | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | false | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | true | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | false | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | true | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | false | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | true | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | false | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | true | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:14:13:14:13 | After access to parameter b [false] | false | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:14:13:14:13 | After access to parameter b [true] | true | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | false | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | true | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | true | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [false] | true | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [true] | true | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:18:17:18 | After access to parameter b [false] | false | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:18:17:18 | After access to parameter b [true] | true | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | false | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | true | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:26:13:27:20 | After if (...) ... | true | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | true | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | true | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | false | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | true | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | false | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | true | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | false | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | true | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | false | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | true | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | false | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | true | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [false] | false | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | true | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:13:52:20 | After if (...) ... | true | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [false] | true | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [true] | true | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:51:17:51:17 | After access to parameter b [false] | false | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:51:17:51:17 | After access to parameter b [true] | true | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | false | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | true | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:13:63:20 | After if (...) ... | true | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [false] | true | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [true] | true | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:65:9:66:16 | After if (...) ... | false | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [false] | false | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [true] | false | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:65:13:65:13 | After access to parameter b [false] | false | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:65:13:65:13 | After access to parameter b [true] | true | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:62:17:62:17 | After access to parameter b [false] | false | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:62:17:62:17 | After access to parameter b [true] | true | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:22:74:22 | String _ | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | true | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:76:13:77:20 | After if (...) ... | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:76:17:76:17 | After access to local variable b [false] | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:76:17:76:17 | After access to local variable b [true] | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:78:13:79:26 | After if (...) ... | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:78:17:78:21 | After ... > ... [false] | false | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:78:17:78:21 | After ... > ... [true] | false | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [false] | false | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [true] | true | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:76:17:76:17 | After access to local variable b [false] | false | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:76:17:76:17 | After access to local variable b [true] | true | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | false | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | true | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:22:90:22 | String _ | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | true | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:92:13:93:20 | After if (...) ... | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:92:17:92:17 | After access to local variable b [false] | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:92:17:92:17 | After access to local variable b [true] | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:94:13:95:26 | After if (...) ... | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:94:17:94:21 | After ... > ... [false] | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:94:17:94:21 | After ... > ... [true] | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:96:13:97:20 | After if (...) ... | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:96:17:96:17 | After access to local variable b [false] | false | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:96:17:96:17 | After access to local variable b [true] | false | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:92:17:92:17 | After access to local variable b [false] | false | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:92:17:92:17 | After access to local variable b [true] | true | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | false | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | true | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [false] | false | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [true] | true | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:105:13:105:13 | After access to parameter b [false] | false | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:105:13:105:13 | After access to parameter b [true] | true | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | false | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | true | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | true | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [false] | true | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [true] | true | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:18:108:18 | After access to parameter b [false] | false | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:18:108:18 | After access to parameter b [true] | true | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:119:18:119:21 | After access to local variable last [false] | false | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:119:18:119:21 | After access to local variable last [true] | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [false] | false | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:13:120:23 | After if (...) ... | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:18:119:21 | After access to local variable last [false] | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:18:119:21 | After access to local variable last [true] | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:13:122:25 | After if (...) ... | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | true | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:17:121:20 | After access to local variable last [true] | true | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | false | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [true] | true | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | false | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | true | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:135:17:138:17 | After if (...) ... | true | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | true | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | true | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | false | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | true | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:145:17:145:17 | After access to parameter b [false] | false | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:145:17:145:17 | After access to parameter b [true] | true | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:146:13:146:13 | After access to parameter b [false] | false | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:146:13:146:13 | After access to parameter b [true] | true | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | true | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | false | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | false | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | false | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | true | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | false | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | false | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | true | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | false | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | true | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | false | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | true | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | false | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | true | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | false | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | true | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | true | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | false | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | true | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | false | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | false | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | true | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | true | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:35:65:51 | After ... != ... [false] | true | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:35:65:51 | After ... != ... [true] | true | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | true | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | false | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | false | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:35:65:51 | After ... != ... [false] | false | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:35:65:51 | After ... != ... [true] | false | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:35:65:51 | After ... != ... [false] | false | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:35:65:51 | After ... != ... [true] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | Exceptional Exit | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | After ... > ... [false] | false | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | After ... > ... [true] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:79:13:99:13 | After try {...} ... | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:81:21:81:26 | After ... == ... [false] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:81:21:81:26 | After ... == ... [true] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:83:21:83:26 | After ... == ... [false] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:83:21:83:26 | After ... == ... [true] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:85:21:85:26 | After ... == ... [false] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:85:21:85:26 | After ... == ... [true] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:89:13:99:13 | {...} | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:90:17:98:17 | After try {...} ... | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:92:25:92:30 | After ... == ... [false] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:92:25:92:30 | After ... == ... [true] | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:93:31:93:45 | After object creation of type Exception | true | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:96:17:98:17 | {...} | true | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:81:21:81:26 | After ... == ... [false] | false | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:81:21:81:26 | After ... == ... [true] | true | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:83:21:83:26 | After ... == ... [false] | false | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:83:21:83:26 | After ... == ... [true] | false | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:85:21:85:26 | After ... == ... [false] | false | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:85:21:85:26 | After ... == ... [true] | false | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | After ... == ... [false] | false | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | After ... == ... [true] | true | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [false] | false | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [true] | false | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [false] | false | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [true] | true | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:92:25:92:30 | After ... == ... [false] | false | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:92:25:92:30 | After ... == ... [true] | true | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:93:31:93:45 | After object creation of type Exception | true | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:33 | After ... == ... [false] | false | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:33 | After ... == ... [true] | true | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:21 | After access to field Field | false | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:28 | After access to property Length | false | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [false] | false | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [true] | false | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | false | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [false] | false | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [true] | true | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | true | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:19:114:35 | After ... == ... [false] | false | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:19:114:35 | After ... == ... [true] | true | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [false] | false | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [true] | true | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:151:17:151:28 | After ... == ... [false] | false | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:151:17:151:28 | After ... == ... [true] | true | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | true | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:36 | After ... == ... [false] | false | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:36 | After ... == ... [true] | true | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:159:27:159:44 | After object creation of type Exception | true | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:39:161:54 | After ... == ... [false] | false | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:39:161:54 | After ... == ... [true] | true | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | true | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:39:161:54 | After ... == ... [false] | true | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:39:161:54 | After ... == ... [true] | true | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | false | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | true | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | false | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | true | | Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | true | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | true | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:189:13:191:13 | {...} | true | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:31:190:46 | object creation of type ExceptionC | true | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | access to parameter b2 | true | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:189:13:191:13 | {...} | true | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:31:190:46 | object creation of type ExceptionC | true | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:189:13:191:13 | {...} | true | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:190:31:190:46 | object creation of type ExceptionC | true | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:190:31:190:46 | object creation of type ExceptionC | true | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:21:199:43 | throw ...; | true | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | true | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:25:205:47 | throw ...; | true | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | true | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC | true | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:211:13:211:29 | ...; | false | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:213:9:213:25 | ...; | false | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:240:21:240:43 | throw ...; | true | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:240:27:240:42 | object creation of type ExceptionA | true | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:247:25:247:47 | throw ...; | true | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:247:31:247:46 | object creation of type ExceptionA | true | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 (normal) | true | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | false | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | exit M2 (normal) | true | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | false | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:27:20:38 | call to method ToArray | false | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | exit M3 (normal) | true | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | false | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | exit M4 (normal) | true | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:23:26:23 | String x | false | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | exit M5 (normal) | true | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:23:32:23 | String x | false | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | exit M6 (normal) | true | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:26:38:26 | String x | false | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:10:13:10:19 | return ...; | true | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | false | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:11:22:11:24 | String arg | false | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:11:29:11:32 | access to parameter args | false | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | false | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | true | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | false | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | true | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | false | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | false | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | false | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | false | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | true | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | false | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | true | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | false | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | false | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | false | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | false | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | true | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:48:22:48:22 | String x | false | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:50:9:50:13 | Label: | false | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | true | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | false | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:61:17:61:37 | ...; | false | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | false | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:63:17:63:37 | ...; | false | -| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:61:17:61:37 | ...; | true | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:63:17:63:37 | ...; | true | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:69:13:69:23 | [false] !... | true | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:69:13:69:23 | [true] !... | false | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:70:13:70:19 | return ...; | false | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:71:9:71:21 | ...; | true | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | true | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:72:22:72:24 | String arg | true | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:71:9:71:21 | ...; | false | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | false | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:72:22:72:24 | String arg | false | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:70:13:70:19 | return ...; | true | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | false | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | true | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | false | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | true | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | false | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | true | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | false | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:28:3:28 | 0 | true | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | true | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:30:5:34 | false | true | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:39:5:39 | 0 | true | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:43:5:43 | 1 | false | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:39:5:39 | 0 | true | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | true | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | true | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:52:7:53 | "" | true | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:52:7:53 | "" | true | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:41:9:41 | access to parameter s | true | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:45:9:45 | access to parameter s | false | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:51:9:52 | "" | true | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | true | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:58 | ... ?? ... | false | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | true | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | true | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | true | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | true | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:68:11:68 | 1 | false | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:64:11:64 | 0 | true | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | true | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | true | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | true | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:15:31:15:31 | 0 | true | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:16:17:16:25 | ... ?? ... | true | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:17:13:17:24 | ... ?? ... | true | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:16:17:16:25 | ... ?? ... | false | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:17:13:17:24 | ... ?? ... | false | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:8:13:8:23 | [false] ... is ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:8:13:8:23 | [true] ... is ... | true | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:9:9:11:9 | {...} | true | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:12:14:18:9 | if (...) ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:12:18:12:31 | [false] ... is ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:12:18:12:31 | [true] ... is ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:13:9:15:9 | {...} | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:16:14:18:9 | if (...) ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:16:18:16:28 | [false] ... is ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:16:18:16:28 | [true] ... is ... | false | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:17:9:18:9 | {...} | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:18:12:31 | [false] ... is ... | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:18:12:31 | [true] ... is ... | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:13:9:15:9 | {...} | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | false | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:17:9:18:9 | {...} | false | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:9:9:11:9 | {...} | true | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | [false] ... is ... | false | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | [true] ... is ... | true | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:13:9:15:9 | {...} | true | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:14:18:9 | if (...) ... | false | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [false] ... is ... | false | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [true] ... is ... | false | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | false | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | false | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | false | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | false | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:17:9:18:9 | {...} | false | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:13:9:15:9 | {...} | true | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [false] ... is ... | false | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [true] ... is ... | true | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | true | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:17:9:18:9 | {...} | true | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:23:17:23:22 | break; | true | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:24:13:24:36 | case ...: | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:24:30:24:31 | access to local variable i2 | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:25:17:25:52 | ...; | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:27:13:27:24 | case ...: | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:28:17:28:47 | ...; | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:30:13:30:27 | case ...: | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:31:17:31:50 | ...; | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:33:13:33:24 | case ...: | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:34:17:34:22 | break; | false | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:35:13:35:20 | default: | false | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:30:24:31 | access to local variable i2 | true | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:25:17:25:52 | ...; | true | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:25:17:25:52 | ...; | true | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:28:17:28:47 | ...; | true | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:30:13:30:27 | case ...: | false | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:31:17:31:50 | ...; | false | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:33:13:33:24 | case ...: | false | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:34:17:34:22 | break; | false | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:35:13:35:20 | default: | false | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:31:17:31:50 | ...; | true | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:33:13:33:24 | case ...: | false | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:34:17:34:22 | break; | false | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:35:13:35:20 | default: | false | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:34:17:34:22 | break; | true | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:35:13:35:20 | default: | false | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:21 | [false] ... is ... | true | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:21 | [true] ... is ... | false | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:14:51:21 | [match] not ... | false | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:14:51:21 | [no-match] not ... | true | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:25:51:25 | access to parameter c | false | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:34:51:34 | access to parameter c | true | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | false | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | true | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:9:51:21 | [true] ... is ... | true | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:25:51:25 | access to parameter c | true | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:9:51:21 | [false] ... is ... | false | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:34:51:34 | access to parameter c | false | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:27:54:35 | [match] { ... } | true | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:27:54:35 | [no-match] { ... } | true | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:33:54:33 | 1 | true | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [match] { ... } | true | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [no-match] { ... } | false | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:13:60:17 | [match] not ... | false | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:13:60:17 | [no-match] not ... | true | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:22:60:28 | "not 1" | false | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:61:13:61:13 | _ | true | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:61:18:61:24 | "other" | true | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:22:60:28 | "not 1" | true | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:61:13:61:13 | _ | false | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:61:18:61:24 | "other" | false | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:18:61:24 | "other" | true | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:69:13:69:17 | [no-match] not ... | true | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:70:13:70:13 | 2 | true | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:70:18:70:27 | "possible" | true | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:70:13:70:13 | 2 | false | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:70:18:70:27 | "possible" | false | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:18:70:27 | "possible" | true | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:78:20:78:24 | "> 1" | true | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:79:15:79:15 | 0 | false | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:79:20:79:24 | "< 0" | false | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:80:13:80:13 | 1 | false | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:80:18:80:20 | "1" | false | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:81:13:81:13 | _ | false | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:81:18:81:20 | "0" | false | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:20:79:24 | "< 0" | true | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:80:13:80:13 | 1 | false | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:80:18:80:20 | "1" | false | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:81:13:81:13 | _ | false | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:81:18:81:20 | "0" | false | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:18:80:20 | "1" | true | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:81:13:81:13 | _ | false | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:81:18:81:20 | "0" | false | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:18:81:20 | "0" | true | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:39:85:53 | [false] ... is ... | false | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:44:85:53 | [no-match] ... or ... | false | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:49:85:53 | [match] not ... | false | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:49:85:53 | [no-match] not ... | false | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:53:85:53 | 2 | false | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:67:85:69 | "2" | false | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:67:85:69 | "2" | false | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:57:85:63 | "not 2" | true | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:39:85:53 | [true] ... is ... | true | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:57:85:63 | "not 2" | true | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:39:85:53 | [false] ... is ... | false | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:67:85:69 | "2" | false | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:39:85:53 | [false] ... is ... | false | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | false | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:67:85:69 | "2" | false | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:39:85:53 | [false] ... is ... | true | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:44:85:53 | [no-match] ... or ... | true | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [match] not ... | false | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [no-match] not ... | true | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:67:85:69 | "2" | true | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:39:87:54 | [true] ... is ... | true | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:44:87:54 | [match] ... and ... | true | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:50:87:54 | [match] not ... | true | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:50:87:54 | [no-match] not ... | true | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:54:87:54 | 2 | true | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:58:87:60 | "1" | true | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:64:87:70 | "not 1" | false | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:58:87:60 | "1" | true | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:39:87:54 | [true] ... is ... | true | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:58:87:60 | "1" | true | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:39:87:54 | [false] ... is ... | false | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:64:87:70 | "not 1" | false | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:39:87:54 | [true] ... is ... | true | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:44:87:54 | [match] ... and ... | true | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:58:87:60 | "1" | true | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:39:87:54 | [true] ... is ... | false | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:44:87:54 | [match] ... and ... | false | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [match] not ... | false | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [no-match] not ... | true | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:58:87:60 | "1" | false | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:13:95:40 | [false] ... is ... | false | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:29:95:38 | [no-match] ... or ... | false | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:36:95:38 | access to constant B | false | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:96:9:98:9 | {...} | true | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:13:95:40 | [true] ... is ... | true | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:13:95:40 | [true] ... is ... | true | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | true | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:96:9:98:9 | {...} | true | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:96:9:98:9 | {...} | true | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:13:95:40 | [false] ... is ... | false | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:13:95:40 | [false] ... is ... | false | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:13:95:40 | [true] ... is ... | true | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:21:95:40 | [match] { ... } | true | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:21:95:40 | [match] { ... } | true | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:96:9:98:9 | {...} | true | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:13:95:40 | [false] ... is ... | false | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:13:95:40 | [false] ... is ... | false | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:21:95:40 | [no-match] { ... } | false | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | [no-match] ... or ... | false | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:12:13:12:21 | [false] ... is ... | false | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:12:13:12:21 | [true] ... is ... | true | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:13:13:13:19 | return ...; | true | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:14:9:14:29 | ...; | false | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:14:9:14:29 | ...; | false | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:13:13:13:19 | return ...; | true | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:19:13:19:21 | [false] ... is ... | false | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:19:13:19:21 | [true] ... is ... | true | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:20:45:20:53 | nameof(...) | true | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:21:9:21:29 | ...; | false | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:21:9:21:29 | ...; | false | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:20:45:20:53 | nameof(...) | true | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | exit M2 (abnormal) | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:15:17:15:23 | return ...; | true | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:16:13:16:19 | case ...: | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:17:23:17:37 | object creation of type Exception | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:18:13:18:22 | case ...: | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:19:17:19:29 | goto default; | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:20:13:20:23 | case ...: | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:21:17:22:27 | if (...) ... | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:22:21:22:27 | return ...; | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:23:27:23:27 | 0 | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:13:24:56 | case ...: | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:32:24:32 | access to local variable s | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:32:24:55 | [true] ... && ... | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:48:24:48 | access to local variable s | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:25:17:25:37 | ...; | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:27:13:27:39 | case ...: | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:27:32:27:38 | call to method Throw | false | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:30:13:30:20 | default: | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:17:23:17:37 | object creation of type Exception | true | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:18:13:18:22 | case ...: | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:19:17:19:29 | goto default; | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:20:13:20:23 | case ...: | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:21:17:22:27 | if (...) ... | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:22:21:22:27 | return ...; | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:23:27:23:27 | 0 | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:13:24:56 | case ...: | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:25:17:25:37 | ...; | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:27:13:27:39 | case ...: | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | false | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:30:13:30:20 | default: | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:19:17:19:29 | goto default; | true | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:20:13:20:23 | case ...: | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:21:17:22:27 | if (...) ... | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:22:21:22:27 | return ...; | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:23:27:23:27 | 0 | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:13:24:56 | case ...: | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:25:17:25:37 | ...; | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:27:13:27:39 | case ...: | false | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:21:17:22:27 | if (...) ... | true | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:22:21:22:27 | return ...; | true | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:23:27:23:27 | 0 | true | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:13:24:56 | case ...: | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:25:17:25:37 | ...; | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:27:13:27:39 | case ...: | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | false | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:22:21:22:27 | return ...; | true | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:23:27:23:27 | 0 | false | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | true | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | true | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | true | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | true | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:25:17:25:37 | ...; | true | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:55 | [true] ... && ... | true | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:48:24:48 | access to local variable s | true | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:25:17:25:37 | ...; | true | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:25:17:25:37 | ...; | true | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:32:24:55 | [true] ... && ... | true | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:25:17:25:37 | ...; | true | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | true | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:49:17:49:22 | break; | true | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:50:13:50:39 | case ...: | false | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:50:30:50:30 | access to parameter o | false | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:51:17:51:22 | break; | false | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:30:50:30 | access to parameter o | true | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:51:17:51:22 | break; | true | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:51:17:51:22 | break; | true | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:61:13:61:19 | case ...: | false | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:62:17:62:22 | break; | false | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:62:17:62:22 | break; | true | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:66:10:66:11 | exit M6 (normal) | false | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:72:13:72:20 | case ...: | false | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:73:17:73:22 | break; | false | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:73:17:73:22 | break; | true | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:82:24:82:27 | true | true | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:83:13:83:19 | case ...: | false | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:84:17:85:26 | if (...) ... | false | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:85:21:85:26 | break; | false | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:86:24:86:27 | true | false | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:88:16:88:20 | false | false | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:84:17:85:26 | if (...) ... | true | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:85:21:85:26 | break; | true | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:86:24:86:27 | true | true | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:85:21:85:26 | break; | true | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:86:24:86:27 | true | false | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:96:24:96:27 | true | true | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:98:16:98:20 | false | false | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:103:17:103:25 | access to property Length | false | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:28:105:28 | 0 | true | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:106:13:106:19 | case ...: | false | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:106:28:106:28 | 1 | false | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:108:17:108:17 | 1 | false | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:28:106:28 | 1 | true | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:108:17:108:17 | 1 | false | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:117:25:117:25 | access to parameter s | true | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:117:44:117:44 | 1 | true | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:44:117:44 | 1 | true | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:25 | access to parameter s | true | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:43:118:43 | 2 | true | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:43:118:43 | 2 | true | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:13:125:48 | [true] ... switch { ... } | true | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:24:125:34 | [false] ... => ... | true | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:24:125:34 | [true] ... => ... | true | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:34:125:34 | access to local variable b | true | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:37:125:37 | _ | false | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:37:125:46 | [false] ... => ... | false | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:42:125:46 | false | false | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:126:13:126:19 | return ...; | true | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:126:13:126:19 | return ...; | true | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:13:125:48 | [true] ... switch { ... } | true | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:126:13:126:19 | return ...; | true | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:13:125:48 | [true] ... switch { ... } | true | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [false] ... => ... | false | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [true] ... => ... | true | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:126:13:126:19 | return ...; | true | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:46 | [false] ... => ... | true | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:42:125:46 | false | true | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:46 | [false] ... => ... | false | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:16:131:66 | call to method ToString | true | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | true | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:28:131:40 | [non-null] ... => ... | true | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:28:131:40 | [null] ... => ... | true | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:40:131:40 | access to local variable s | true | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:43:131:43 | _ | false | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:43:131:51 | [null] ... => ... | false | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:48:131:51 | null | false | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:16:131:66 | call to method ToString | false | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:16:131:66 | call to method ToString | false | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | false | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:16:131:66 | call to method ToString | false | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | false | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [non-null] ... => ... | false | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [null] ... => ... | true | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:51 | [null] ... => ... | true | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:48:131:51 | null | true | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:43:131:51 | [null] ... => ... | true | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:138:13:138:20 | default: | false | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:139:28:139:28 | 1 | true | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:140:13:140:19 | case ...: | false | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:140:28:140:28 | 2 | false | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:138:13:138:20 | default: | false | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:28:140:28 | 2 | true | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:148:28:148:28 | 1 | true | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:149:13:149:20 | default: | false | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:150:13:150:19 | case ...: | false | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:150:28:150:28 | 2 | false | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:149:13:149:20 | default: | false | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:28:150:28 | 2 | true | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | exit M15 (abnormal) | false | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:36:156:38 | "a" | true | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:41:156:45 | false | false | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:50:156:52 | "b" | false | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:158:13:158:49 | ...; | true | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:160:13:160:49 | ...; | false | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:50:156:52 | "b" | true | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:168:13:168:19 | case ...: | false | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:171:13:171:19 | case ...: | false | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:172:17:172:46 | ...; | false | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:174:13:174:20 | default: | false | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:171:13:171:19 | case ...: | false | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:172:17:172:46 | ...; | false | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:174:13:174:20 | default: | false | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:172:17:172:46 | ...; | true | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:174:13:174:20 | default: | false | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | false | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | true | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:25:7:25 | ; | true | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:25:7:25 | ; | true | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:25:24:25:24 | access to local variable x | true | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:25:28:25:28 | access to local variable y | false | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:12:13:12:49 | ...; | true | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:5:17:5:20 | exit Main (normal) | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:15:9:17:9 | {...} | true | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:19:9:22:25 | do ... while (...); | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:20:9:22:9 | {...} | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:24:9:34:9 | for (...;...;...) ... | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:24:25:24:25 | access to local variable i | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:24:34:24:34 | access to local variable i | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:25:9:34:9 | {...} | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:26:17:26:40 | [false] ... && ... | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:26:17:26:40 | [true] ... && ... | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:26:31:26:31 | access to local variable i | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:27:17:27:46 | ...; | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:28:18:33:37 | if (...) ... | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:29:17:29:42 | ...; | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:30:18:33:37 | if (...) ... | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:31:17:31:42 | ...; | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:33:17:33:37 | ...; | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:5:17:5:20 | exit Main (normal) | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:9:34:9 | for (...;...;...) ... | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:25 | access to local variable i | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:34:24:34 | access to local variable i | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:25:9:34:9 | {...} | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:40 | [false] ... && ... | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:40 | [true] ... && ... | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:31:26:31 | access to local variable i | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:27:17:27:46 | ...; | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:18:33:37 | if (...) ... | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:29:17:29:42 | ...; | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:18:33:37 | if (...) ... | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:31:17:31:42 | ...; | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:33:17:33:37 | ...; | false | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:5:17:5:20 | exit Main (normal) | false | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:34:24:34 | access to local variable i | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:25:9:34:9 | {...} | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:17:26:40 | [false] ... && ... | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:17:26:40 | [true] ... && ... | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:27:17:27:46 | ...; | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:28:18:33:37 | if (...) ... | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:29:17:29:42 | ...; | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:30:18:33:37 | if (...) ... | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:31:17:31:42 | ...; | true | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:33:17:33:37 | ...; | true | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:17:26:40 | [true] ... && ... | true | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:31:26:31 | access to local variable i | true | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:27:17:27:46 | ...; | true | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:28:18:33:37 | if (...) ... | false | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:29:17:29:42 | ...; | false | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:30:18:33:37 | if (...) ... | false | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:31:17:31:42 | ...; | false | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:33:17:33:37 | ...; | false | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:27:17:27:46 | ...; | true | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:17:26:40 | [true] ... && ... | true | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:27:17:27:46 | ...; | true | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:29:17:29:42 | ...; | true | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:30:18:33:37 | if (...) ... | false | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:31:17:31:42 | ...; | false | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:33:17:33:37 | ...; | false | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:31:17:31:42 | ...; | true | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:33:17:33:37 | ...; | false | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:42:17:42:39 | ...; | true | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:37:17:37:22 | exit Switch | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:45:17:45:39 | ...; | true | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:47:13:47:19 | case ...: | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:48:17:48:39 | ...; | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:51:9:59:9 | switch (...) {...} | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:54:17:54:48 | ...; | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:56:13:56:20 | default: | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:60:9:66:9 | switch (...) {...} | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:63:17:64:55 | if (...) ... | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:63:21:63:34 | [false] !... | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:63:21:63:34 | [true] !... | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:65:17:65:22 | break; | false | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:67:16:67:16 | access to parameter a | false | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:48:17:48:39 | ...; | true | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:54:17:54:48 | ...; | true | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:56:13:56:20 | default: | false | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:63:17:64:55 | if (...) ... | true | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:63:21:63:34 | [false] !... | true | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:63:21:63:34 | [true] !... | true | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | true | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:65:17:65:22 | break; | true | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | [false] !... | true | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | [true] !... | false | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | false | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:65:17:65:22 | break; | true | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:65:17:65:22 | break; | false | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | true | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:73:13:73:19 | return ...; | true | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:74:9:81:9 | if (...) ... | false | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:75:9:77:9 | {...} | false | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:79:9:81:9 | {...} | false | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:75:9:77:9 | {...} | true | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:79:9:81:9 | {...} | false | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:86:13:86:37 | [true] ... && ... | true | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:86:26:86:26 | access to parameter s | true | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:87:13:87:33 | ...; | true | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:87:13:87:33 | ...; | true | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:13:86:37 | [true] ... && ... | true | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:87:13:87:33 | ...; | true | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | exit M3 (normal) | false | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:93:45:93:47 | "s" | true | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:94:9:94:29 | ...; | false | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:97:13:97:55 | ...; | false | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:99:9:100:42 | if (...) ... | false | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:100:13:100:42 | ...; | false | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:102:9:103:36 | if (...) ... | false | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:103:13:103:36 | ...; | false | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:97:13:97:55 | ...; | true | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:100:13:100:42 | ...; | true | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:103:13:103:36 | ...; | true | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:109:9:115:9 | {...} | true | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:110:20:110:23 | true | true | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:111:13:113:13 | {...} | true | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:116:9:116:29 | ...; | false | -| cflow.cs:110:20:110:23 | true | cflow.cs:111:13:113:13 | {...} | true | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:48:127:49 | "" | true | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:53:127:57 | this access | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:146:10:146:12 | exit For (normal) | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:150:13:150:33 | ...; | true | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:152:9:157:9 | for (...;...;...) ... | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:152:18:152:18 | access to local variable x | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:153:9:157:9 | {...} | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:156:17:156:22 | break; | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:160:9:165:9 | {...} | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:164:17:164:22 | break; | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:167:16:167:16 | access to local variable x | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:168:9:171:9 | {...} | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:173:9:176:9 | for (...;...;...) ... | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:173:32:173:32 | access to local variable i | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:174:9:176:9 | {...} | false | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:146:10:146:12 | exit For (normal) | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:152:18:152:18 | access to local variable x | false | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:156:17:156:22 | break; | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | true | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | true | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | false | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | true | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | true | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | true | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | true | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | true | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | true | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | true | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | true | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | false | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | true | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | false | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | true | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | true | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | false | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | true | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | true | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:197:9:212:9 | After try {...} ... | false | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:203:13:210:13 | After try {...} ... | false | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | false | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | true | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | false | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | true | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | true | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | false | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | true | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | true | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:22:8:24 | String arg | false | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | true | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | false | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:22:14:22 | String _ | false | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | true | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | false | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | false | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:27 | After access to parameter e [null] | true | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | false | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | false | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | true | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | false | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:18:26:31 | Before (..., ...) | false | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | true | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | false | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:18:32:27 | Before (..., ...) | false | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | true | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | false | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:18:38:34 | Before (..., ...) | false | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | true | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | false | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | true | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | false | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:22:11:24 | String arg | false | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | false | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:22:11:24 | String arg | false | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | true | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:22:18:22 | String x | false | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:22:24:24 | Char arg | false | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | true | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | false | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:26:25:29 | Char arg0 | false | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | false | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:26:25:29 | Char arg0 | false | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | true | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:22:32:22 | String x | false | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:22:40:22 | String x | false | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | false | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:26:41:26 | String y | false | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | false | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | false | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:26:41:26 | String y | false | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | true | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | false | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:50:9:50:13 | Label: | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:22:58:22 | String x | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | false | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | true | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | true | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | false | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | true | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | true | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:22:72:24 | String arg | true | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | true | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | true | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:22:72:24 | String arg | false | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | true | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | false | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:22:79:22 | String x | false | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:22:88:22 | String x | false | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | false | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:22:97:22 | String x | false | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | true | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | false | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | false | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | true | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | false | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | true | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | false | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | true | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | false | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | true | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | true | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | true | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | true | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | false | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | true | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | false | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | true | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | true | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | true | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | false | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | false | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | false | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | true | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | false | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | true | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | false | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:52 | After "" [null] | true | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | false | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | true | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | true | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | true | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | true | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | true | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | true | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | false | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | true | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | true | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | true | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | false | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | true | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | false | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | true | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | false | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [null] | true | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | false | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | true | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:8:13:8:23 | After ... is ... [false] | false | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | true | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:12:14:18:9 | After if (...) ... | false | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:12:18:12:31 | After ... is ... [false] | false | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | false | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:16:14:18:9 | After if (...) ... | false | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:16:18:16:28 | After ... is ... [false] | false | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:22:13:22:23 | After case ...: [match] | true | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:22:13:22:23 | After case ...: [no-match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:13:24:36 | After case ...: [match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:13:24:36 | After case ...: [no-match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:30:24:35 | After ... > ... [false] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:30:24:35 | After ... > ... [true] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:27:13:27:24 | After case ...: [match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:27:13:27:24 | After case ...: [no-match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:27:13:27:24 | case ...: | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:30:13:30:27 | After case ...: [match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:30:13:30:27 | After case ...: [no-match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:33:13:33:24 | After case ...: [match] | false | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:33:13:33:24 | After case ...: [no-match] | false | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:18:12:31 | After ... is ... [false] | false | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | true | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:16:14:18:9 | After if (...) ... | false | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | false | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | false | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | false | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | true | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [match] | true | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [no-match] | false | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:30:24:35 | After ... > ... [false] | true | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:30:24:35 | After ... > ... [true] | true | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:30:24:35 | After ... > ... [false] | false | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:30:24:35 | After ... > ... [true] | true | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [match] | true | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [no-match] | false | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [match] | false | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | false | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [match] | true | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [no-match] | false | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [match] | false | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [no-match] | false | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [match] | false | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [no-match] | false | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [match] | true | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | false | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | true | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:21 | After ... is ... [false] | false | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | true | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:25:51:30 | After ... is ... | true | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | true | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:34:51:39 | After ... is ... | false | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | false | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | true | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | true | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:60:13:60:28 | After ... => ... [match] | true | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | false | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:69:13:69:33 | After ... => ... [match] | true | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | false | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:70:13:70:27 | After ... => ... [match] | false | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | false | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [match] | true | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | false | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:78:13:78:24 | After ... => ... [match] | true | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | false | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:79:13:79:24 | After ... => ... [match] | false | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | false | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:80:13:80:20 | After ... => ... [match] | false | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | false | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | After ... => ... [match] | true | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | false | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [match] | false | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | false | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [match] | true | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | false | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:53 | After ... is ... [false] | false | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | true | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:54 | After ... is ... [false] | false | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | true | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:95:13:95:40 | After ... is ... [false] | false | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | true | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:12:13:12:21 | After ... is ... [false] | false | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | true | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:19:13:19:21 | After ... is ... [false] | false | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | true | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | Exceptional Exit | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:14:13:14:21 | After case ...: [match] | true | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:14:13:14:21 | After case ...: [no-match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:16:13:16:19 | After case ...: [match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:16:13:16:19 | After case ...: [no-match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:18:13:18:22 | After case ...: [match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:18:13:18:22 | After case ...: [no-match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:20:13:20:23 | After case ...: [match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:20:13:20:23 | After case ...: [no-match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:21:21:21:29 | After ... == ... [false] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:21:21:21:29 | After ... == ... [true] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:13:24:56 | After case ...: [match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:13:24:56 | After case ...: [no-match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:32:24:43 | After ... > ... [true] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:48:24:55 | After ... != ... [true] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:27:13:27:39 | After case ...: [match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:27:13:27:39 | After case ...: [no-match] | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:27:13:27:39 | case ...: | false | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:30:13:30:20 | After default: [match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:16:13:16:19 | After case ...: [no-match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [no-match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [false] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [true] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | false | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:30:13:30:20 | After default: [match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [match] | true | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [no-match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [false] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [true] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | false | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [match] | true | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [false] | true | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [true] | true | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | false | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | false | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:21:21:21:29 | After ... == ... [false] | false | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:21:21:21:29 | After ... == ... [true] | true | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | true | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | false | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | true | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | true | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | true | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | true | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | true | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:32:24:43 | After ... > ... [true] | true | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:48:24:55 | After ... != ... [false] | true | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:48:24:55 | After ... != ... [true] | true | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | After ... != ... [true] | true | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [match] | true | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [no-match] | false | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:48:13:48:23 | After case ...: [match] | true | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:48:13:48:23 | After case ...: [no-match] | false | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:13:50:39 | After case ...: [match] | false | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:13:50:39 | After case ...: [no-match] | false | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:30:50:38 | After ... != ... [false] | false | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:30:50:38 | After ... != ... [true] | false | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [match] | true | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [no-match] | false | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:30:50:38 | After ... != ... [false] | true | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:30:50:38 | After ... != ... [true] | true | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:30:50:38 | After ... != ... [false] | false | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:30:50:38 | After ... != ... [true] | true | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:59:13:59:19 | After case ...: [match] | true | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:59:13:59:19 | After case ...: [no-match] | false | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:61:13:61:19 | After case ...: [match] | false | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:61:13:61:19 | After case ...: [no-match] | false | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [match] | true | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [no-match] | false | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:70:13:70:23 | After case ...: [match] | true | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:70:13:70:23 | After case ...: [no-match] | false | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:72:13:72:20 | After case ...: [match] | false | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:72:13:72:20 | After case ...: [no-match] | false | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [match] | true | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [no-match] | false | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:79:9:87:9 | After switch (...) {...} | false | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:81:13:81:19 | After case ...: [match] | true | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:81:13:81:19 | After case ...: [no-match] | false | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:83:13:83:19 | After case ...: [match] | false | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:83:13:83:19 | After case ...: [no-match] | false | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:84:21:84:25 | After ... > ... [false] | false | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:84:21:84:25 | After ... > ... [true] | false | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [match] | true | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [no-match] | false | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:84:21:84:25 | After ... > ... [false] | true | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:84:21:84:25 | After ... > ... [true] | true | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:84:21:84:25 | After ... > ... [false] | false | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:84:21:84:25 | After ... > ... [true] | true | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:95:13:95:23 | After case ...: [match] | true | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:95:13:95:23 | After case ...: [no-match] | false | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | false | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:103:17:103:17 | After access to parameter s [null] | true | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | After case ...: [match] | true | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | After case ...: [no-match] | false | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:106:13:106:19 | After case ...: [match] | false | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:106:13:106:19 | After case ...: [no-match] | false | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | After case ...: [match] | true | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | After case ...: [no-match] | false | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:13:117:35 | After case ...: [match] | true | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:13:117:35 | After case ...: [no-match] | false | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:25:117:34 | After ... == ... [false] | true | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:25:117:34 | After ... == ... [true] | true | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:25:117:34 | After ... == ... [false] | false | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:25:117:34 | After ... == ... [true] | true | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:25:118:33 | After ... == ... [false] | false | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:25:118:33 | After ... == ... [true] | true | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [match] | true | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [no-match] | false | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:33 | After ... == ... [false] | true | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:33 | After ... == ... [true] | true | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:24:125:34 | After ... => ... [match] | true | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:24:125:34 | After ... => ... [no-match] | false | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:28:131:40 | After ... => ... [match] | true | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:28:131:40 | After ... => ... [no-match] | false | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:139:13:139:19 | After case ...: [match] | true | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:139:13:139:19 | After case ...: [no-match] | false | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:140:13:140:19 | After case ...: [match] | false | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:140:13:140:19 | After case ...: [no-match] | false | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | After case ...: [match] | true | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | After case ...: [no-match] | false | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:148:13:148:19 | After case ...: [match] | true | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:148:13:148:19 | After case ...: [no-match] | false | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:150:13:150:19 | After case ...: [match] | false | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:150:13:150:19 | After case ...: [no-match] | false | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | After case ...: [match] | true | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | After case ...: [no-match] | false | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:28:156:38 | After ... => ... [match] | true | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:28:156:38 | After ... => ... [no-match] | false | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:41:156:52 | After ... => ... [match] | false | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:41:156:52 | After ... => ... [no-match] | false | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:157:13:157:13 | After access to parameter b [false] | false | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:157:13:157:13 | After access to parameter b [true] | true | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [match] | true | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [no-match] | false | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:167:13:167:19 | After case ...: [match] | true | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:167:13:167:19 | After case ...: [no-match] | false | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:168:13:168:19 | After case ...: [match] | false | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:168:13:168:19 | After case ...: [no-match] | false | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:171:13:171:19 | After case ...: [match] | false | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:171:13:171:19 | After case ...: [no-match] | false | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | After case ...: [match] | true | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | After case ...: [no-match] | false | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [match] | false | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [no-match] | false | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [match] | true | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [no-match] | false | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | false | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | true | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | false | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | true | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:11:13:11:17 | After ... > ... [false] | false | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:11:13:11:17 | After ... > ... [true] | true | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | After ... > ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | After ... > ... [true] | true | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:20:9:22:9 | {...} | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:22:18:22:23 | After ... < ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:22:18:22:23 | After ... < ... [true] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:24:25:24:31 | Before ... <= ... | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:13:33:37 | After if (...) ... | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:17:26:26 | After ... == ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:17:26:26 | After ... == ... [true] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:17:26:40 | After ... && ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:31:26:40 | After ... == ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:31:26:40 | After ... == ... [true] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:28:22:28:31 | After ... == ... [true] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:30:22:30:31 | After ... == ... [false] | false | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:30:22:30:31 | After ... == ... [true] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | After ... < ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | After ... < ... [true] | true | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:31 | After ... <= ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:31 | After ... <= ... [true] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:31 | Before ... <= ... | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:13:33:37 | After if (...) ... | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:26 | After ... == ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:26 | After ... == ... [true] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:40 | After ... && ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:31:26:40 | After ... == ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:31:26:40 | After ... == ... [true] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:18:33:37 | After if (...) ... | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:22:28:31 | After ... == ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:22:28:31 | After ... == ... [true] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:18:33:37 | After if (...) ... | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:22:30:31 | After ... == ... [false] | false | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:22:30:31 | After ... == ... [true] | false | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:17:26:26 | After ... == ... [false] | false | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:17:26:26 | After ... == ... [true] | true | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:31:26:40 | After ... == ... [false] | true | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | false | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:13:33:37 | After if (...) ... | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:26 | After ... == ... [false] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:26 | After ... == ... [true] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:40 | After ... && ... [false] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:31:26:40 | After ... == ... [false] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:31:26:40 | After ... == ... [true] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:18:33:37 | After if (...) ... | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:22:28:31 | After ... == ... [false] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:22:28:31 | After ... == ... [true] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:18:33:37 | After if (...) ... | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:22:30:31 | After ... == ... [false] | true | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:22:30:31 | After ... == ... [true] | true | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | After ... == ... [false] | false | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | true | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | false | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:22:28:31 | After ... == ... [true] | true | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:30:18:33:37 | After if (...) ... | false | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | false | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | false | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | false | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | true | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:37:17:37:22 | Exit | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:39:9:50:9 | After switch (...) {...} | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:41:13:41:19 | After case ...: [no-match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:44:13:44:19 | After case ...: [no-match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:47:13:47:19 | After case ...: [match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:47:13:47:19 | After case ...: [no-match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:51:9:59:9 | After switch (...) {...} | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:53:13:53:20 | After case ...: [match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:53:13:53:20 | After case ...: [no-match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:60:9:66:9 | After switch (...) {...} | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:62:13:62:19 | After case ...: [match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:62:13:62:19 | After case ...: [no-match] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:63:23:63:33 | After ... == ... [false] | false | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:63:23:63:33 | After ... == ... [true] | false | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [match] | true | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [no-match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Exit | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:39:9:50:9 | After switch (...) {...} | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | After case ...: [no-match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:51:9:59:9 | After switch (...) {...} | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [no-match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:60:9:66:9 | After switch (...) {...} | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [no-match] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:63:23:63:33 | After ... == ... [false] | false | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:63:23:63:33 | After ... == ... [true] | false | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [match] | true | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | false | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [match] | true | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [no-match] | false | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [false] | true | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [true] | true | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:63:23:63:33 | After ... == ... [false] | false | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:63:23:63:33 | After ... == ... [true] | true | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:72:13:72:21 | After ... == ... [false] | false | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:72:13:72:21 | After ... == ... [true] | true | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:74:9:81:9 | After if (...) ... | false | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:74:13:74:24 | After ... > ... [false] | false | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:74:13:74:24 | After ... > ... [true] | false | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:74:13:74:24 | After ... > ... [false] | false | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:74:13:74:24 | After ... > ... [true] | true | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:13:86:21 | After ... != ... [false] | false | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:13:86:21 | After ... != ... [true] | true | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:26:86:37 | After ... > ... [false] | true | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:26:86:37 | After ... > ... [true] | true | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | After ... > ... [false] | false | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | After ... > ... [true] | true | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:92:13:92:27 | After call to method Equals [false] | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:92:13:92:27 | After call to method Equals [true] | true | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:96:9:97:55 | After if (...) ... | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:96:13:96:25 | After ... != ... [false] | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:96:13:96:25 | After ... != ... [true] | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:99:9:100:42 | After if (...) ... | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:99:13:99:25 | After ... != ... [false] | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:99:13:99:25 | After ... != ... [true] | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:102:9:103:36 | After if (...) ... | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:102:13:102:29 | After ... != ... [false] | false | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:102:13:102:29 | After ... != ... [true] | false | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:96:13:96:25 | After ... != ... [false] | false | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:96:13:96:25 | After ... != ... [true] | true | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [false] | false | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [true] | true | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [false] | false | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [true] | true | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:108:13:108:21 | After ... != ... [false] | false | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:108:13:108:21 | After ... != ... [true] | true | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | true | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:32:127:44 | After ... == ... [false] | false | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:32:127:44 | After ... == ... [true] | true | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | true | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:153:9:157:9 | {...} | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [false] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [true] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:160:9:165:9 | {...} | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [false] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [true] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:167:16:167:21 | Before ... < ... | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | false | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:173:32:173:41 | Before ... < ... | false | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [false] | false | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [true] | true | | cflow.cs:153:9:157:9 | {...} | cflow.cs:160:9:165:9 | {...} | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:164:17:164:22 | break; | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:16 | access to local variable x | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:168:9:171:9 | {...} | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:9:176:9 | for (...;...;...) ... | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:32 | access to local variable i | true | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:174:9:176:9 | {...} | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:146:10:146:12 | exit For (normal) | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:164:17:164:22 | break; | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:16 | access to local variable x | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:168:9:171:9 | {...} | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:9:176:9 | for (...;...;...) ... | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:32 | access to local variable i | true | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:174:9:176:9 | {...} | true | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:146:10:146:12 | exit For (normal) | false | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:168:9:171:9 | {...} | true | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:173:9:176:9 | for (...;...;...) ... | false | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:173:32:173:32 | access to local variable i | false | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:174:9:176:9 | {...} | false | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:146:10:146:12 | exit For (normal) | false | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:174:9:176:9 | {...} | true | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:13:187:28 | ... \|\| ... | false | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:23:187:23 | 2 | false | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:34:187:34 | 1 | false | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:34 | 1 | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:13:187:28 | ... \|\| ... | false | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:34:187:34 | 1 | false | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:195:39:195:43 | this access | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:13:197:47 | [false] !... | false | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:13:197:47 | [true] !... | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | false | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:35:197:39 | false | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:43:197:46 | true | false | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:13:198:49 | ...; | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:17:198:48 | ... ? ... : ... | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:37:198:41 | false | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:45:198:48 | true | true | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:13:198:49 | ...; | true | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:17:198:48 | ... ? ... : ... | true | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:37:198:41 | false | true | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:45:198:48 | true | true | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:13:197:47 | [true] !... | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:13:198:49 | ...; | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:17:198:48 | ... ? ... : ... | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:37:198:41 | false | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:45:198:48 | true | false | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:13:197:47 | [false] !... | true | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:13:197:47 | [true] !... | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:13:198:49 | ...; | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:17:198:48 | ... ? ... : ... | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:37:198:41 | false | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:45:198:48 | true | false | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:13:197:47 | [false] !... | true | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | true | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:37:198:41 | false | true | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:45:198:48 | true | false | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:32 | [false] !... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:32 | [true] !... | false | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:37:200:62 | [false] !... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:37:200:62 | [true] !... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:38:200:62 | [false] !... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:38:200:62 | [true] !... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:40:200:44 | this access | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:40:200:61 | [false] ... && ... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:40:200:61 | [true] ... && ... | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:61:200:61 | access to local variable b | true | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:193:10:193:17 | exit Booleans (normal) | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:37:200:62 | [false] !... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:38:200:62 | [false] !... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:38:200:62 | [true] !... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:44 | this access | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:61 | [false] ... && ... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:61 | [true] ... && ... | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:61:200:61 | access to local variable b | false | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | false | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:201:9:205:9 | {...} | true | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:193:10:193:17 | exit Booleans (normal) | false | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | false | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | false | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:193:10:193:17 | exit Booleans (normal) | true | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | true | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:37:200:62 | [false] !... | true | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:37:200:62 | [true] !... | true | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:38:200:62 | [false] !... | true | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:61 | [true] ... && ... | true | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:61:200:61 | access to local variable b | true | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | false | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | false | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:37:200:62 | [false] !... | false | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:38:200:62 | [true] !... | false | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:37:200:62 | [true] !... | true | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:38:200:62 | [false] !... | true | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:37:200:62 | [true] !... | true | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:38:200:62 | [false] !... | true | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [true] ... && ... | true | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:214:13:216:13 | {...} | true | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:13:220:13 | if (...) ... | false | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:218:13:220:13 | {...} | false | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:218:13:220:13 | {...} | true | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:22:226:22 | String x | false | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:230:13:232:13 | {...} | false | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:233:13:236:13 | if (...) ... | false | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:234:13:236:13 | {...} | false | -| cflow.cs:226:22:226:22 | String x | cflow.cs:230:13:232:13 | {...} | true | -| cflow.cs:226:22:226:22 | String x | cflow.cs:233:13:236:13 | if (...) ... | false | -| cflow.cs:226:22:226:22 | String x | cflow.cs:234:13:236:13 | {...} | false | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:234:13:236:13 | {...} | true | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:16:242:36 | [false] !... | false | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:16:242:36 | [true] !... | true | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:17:242:36 | [false] !... | true | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:17:242:36 | [true] !... | false | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:39:242:41 | {...} | true | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:39:242:41 | {...} | true | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:16:242:36 | [true] !... | false | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:39:242:41 | {...} | false | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:16:242:36 | [false] !... | true | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:240:10:240:13 | exit Goto (normal) | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:31:244:41 | goto ...; | true | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:246:9:258:9 | switch (...) {...} | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:249:17:249:29 | goto default; | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:250:13:250:19 | case ...: | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:251:17:251:37 | ...; | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:253:13:253:19 | case ...: | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:254:17:254:27 | goto ...; | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:255:13:255:20 | default: | false | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:249:17:249:29 | goto default; | true | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:250:13:250:19 | case ...: | false | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:251:17:251:37 | ...; | false | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:253:13:253:19 | case ...: | false | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:254:17:254:27 | goto ...; | false | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:251:17:251:37 | ...; | true | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:253:13:253:19 | case ...: | false | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:254:17:254:27 | goto ...; | false | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:254:17:254:27 | goto ...; | true | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | exit Yield | false | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | exit Yield (abnormal) | false | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | exit Yield (normal) | false | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:265:9:267:9 | {...} | true | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:268:9:276:9 | try {...} ... | false | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:44:300:51 | [false] !... | true | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:44:300:51 | [true] !... | false | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:56:300:56 | access to parameter s | false | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:56:300:56 | access to parameter s | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [false] | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [true] | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [false] | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [true] | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:21 | Before ... < ... | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [false] | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [true] | true | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:41 | Before ... < ... | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [false] | false | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [true] | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [false] | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [true] | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:21 | Before ... < ... | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [false] | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [true] | true | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:41 | Before ... < ... | true | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | false | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | true | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | false | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | false | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:173:32:173:41 | Before ... < ... | false | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | false | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | true | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:18 | After ... == ... [false] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:18 | After ... == ... [true] | true | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:23:187:28 | After ... == ... [false] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:23:187:28 | After ... == ... [true] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:34:187:39 | After ... == ... [false] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:34:187:39 | After ... == ... [true] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:34:187:49 | After ... && ... [false] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:44:187:49 | After ... == ... [false] | false | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:44:187:49 | After ... == ... [true] | false | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | After ... == ... [false] | false | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | After ... == ... [true] | true | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | false | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [true] | false | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | false | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | false | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [true] | false | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | false | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [true] | true | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | true | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [true] | true | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | After ... == ... [false] | false | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | After ... == ... [true] | true | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:195:17:195:32 | After ... > ... [false] | false | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:195:17:195:32 | After ... > ... [true] | true | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:197:15:197:31 | After ... == ... [false] | false | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:197:15:197:31 | After ... == ... [true] | true | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:198:17:198:33 | After ... == ... [false] | true | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:198:17:198:33 | After ... == ... [true] | true | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:198:17:198:48 | After ... ? ... : ... | true | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:15:200:31 | After ... == ... [false] | false | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:15:200:31 | After ... == ... [true] | true | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:40:200:56 | After ... == ... [false] | true | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:40:200:56 | After ... == ... [true] | true | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:40:200:61 | After ... && ... [false] | true | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:61:200:61 | After access to local variable b [false] | true | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:61:200:61 | After access to local variable b [true] | true | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [false] | false | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [true] | true | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:40:200:56 | After ... == ... [false] | false | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:40:200:56 | After ... == ... [true] | true | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [false] | true | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | true | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [false] | false | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | true | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [false] | false | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [true] | true | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | After ... > ... [false] | false | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | After ... > ... [true] | true | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:17:217:32 | After ... < ... [false] | false | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:17:217:32 | After ... < ... [true] | false | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:217:17:217:32 | After ... < ... [false] | false | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:217:17:217:32 | After ... < ... [true] | true | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | false | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:22:226:22 | String x | false | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | true | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | false | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:229:17:229:32 | After ... > ... [false] | false | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:229:17:229:32 | After ... > ... [true] | false | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:233:17:233:32 | After ... < ... [false] | false | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:233:17:233:32 | After ... < ... [true] | false | +| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | After ... > ... [false] | false | +| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | After ... > ... [true] | true | +| cflow.cs:226:22:226:22 | String x | cflow.cs:233:17:233:32 | After ... < ... [false] | false | +| cflow.cs:226:22:226:22 | String x | cflow.cs:233:17:233:32 | After ... < ... [true] | false | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:233:17:233:32 | After ... < ... [false] | false | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:233:17:233:32 | After ... < ... [true] | true | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:19:242:35 | After ... == ... [false] | false | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:19:242:35 | After ... == ... [true] | true | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:13:244:28 | After ... > ... [false] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:13:244:28 | After ... > ... [true] | true | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:246:9:258:9 | After switch (...) {...} | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:248:13:248:19 | After case ...: [match] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:248:13:248:19 | After case ...: [no-match] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:250:13:250:19 | After case ...: [match] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:250:13:250:19 | After case ...: [no-match] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:253:13:253:19 | After case ...: [match] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:253:13:253:19 | After case ...: [no-match] | false | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:255:13:255:20 | After default: [match] | false | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:248:13:248:19 | After case ...: [match] | true | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:248:13:248:19 | After case ...: [no-match] | false | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:250:13:250:19 | After case ...: [match] | false | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:250:13:250:19 | After case ...: [no-match] | false | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:253:13:253:19 | After case ...: [match] | false | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:253:13:253:19 | After case ...: [no-match] | false | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | After case ...: [match] | true | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | After case ...: [no-match] | false | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [match] | false | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | false | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [match] | true | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | false | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Exceptional Exit | false | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Exit | false | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Normal Exit | false | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | After ... < ... [false] | false | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | After ... < ... [true] | true | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:268:9:276:9 | After try {...} ... | false | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:300:46:300:50 | After ... > ... [false] | false | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:300:46:300:50 | After ... > ... [true] | true | 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: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: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: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: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: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 | -| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:36:59:36 | access to parameter b | 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 | -| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:37:66:37 | access to parameter b | false | -| 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 | -| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:36:73:36 | access to parameter b | 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 | -| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:37:80:37 | access to parameter b | false | -| 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: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: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: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: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: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 | -| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:36:115:36 | access to parameter b | 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 | -| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:38:119:38 | access to parameter b | 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 | -| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:36:123:36 | access to parameter b | 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 | -| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:38:127:38 | access to parameter b | 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 | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:16:17:16:17 | ; | true | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:27:21:27:26 | break; | true | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:30:13:33:13 | {...} | false | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | false | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:32:21:32:21 | ; | true | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:35:7:35:7 | ; | false | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:43:17:43:23 | return ...; | true | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:46:9:52:9 | {...} | false | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | false | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:50:21:50:26 | break; | true | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:61:17:61:23 | return ...; | true | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:64:9:70:9 | {...} | false | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | false | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:68:21:68:26 | break; | true | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:14:20:14:20 | 0 | true | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:16:20:16:20 | 1 | false | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:6:13:6:16 | ...; | true | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:7:9:8:16 | if (...) ... | false | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | false | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:8:13:8:16 | ...; | true | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | [false] !... | true | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | [true] !... | false | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:15:13:15:16 | ...; | true | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:16:9:18:20 | if (...) ... | false | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:17:13:18:20 | if (...) ... | true | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:19:16:19:16 | access to local variable x | false | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:19:16:19:16 | access to local variable x | false | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:18:17:18:20 | ...; | true | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | [false] !... | true | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | [true] !... | false | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:26:13:27:20 | if (...) ... | true | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:28:9:29:16 | if (...) ... | false | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:27:17:27:20 | ...; | true | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:28:9:29:16 | if (...) ... | false | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:29:13:29:16 | ...; | true | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:30:16:30:16 | access to local variable x | false | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:38:13:38:20 | ...; | true | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:39:9:40:16 | if (...) ... | false | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:40:13:40:16 | ...; | true | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:41:9:42:16 | if (...) ... | false | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:42:13:42:16 | ...; | true | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:43:16:43:16 | access to local variable x | false | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:50:9:53:9 | {...} | true | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:54:16:54:16 | access to local variable y | false | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:49:16:49:16 | access to parameter x | false | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:52:17:52:20 | ...; | true | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:61:9:64:9 | {...} | true | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:65:9:66:16 | if (...) ... | false | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:60:16:60:16 | access to parameter x | false | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:63:17:63:20 | ...; | true | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:66:13:66:16 | ...; | true | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:67:16:67:16 | access to local variable y | false | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:77:17:77:20 | ...; | true | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:78:13:79:26 | if (...) ... | false | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | false | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:79:17:79:26 | ...; | true | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:82:13:82:16 | ...; | true | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:83:16:83:16 | access to local variable x | false | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:93:17:93:20 | ...; | true | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:94:13:95:26 | if (...) ... | false | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:95:17:95:26 | ...; | true | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:96:13:97:20 | if (...) ... | false | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | false | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:97:17:97:20 | ...; | true | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:106:13:106:20 | ...; | true | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:107:9:109:24 | if (...) ... | false | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:108:13:109:24 | if (...) ... | true | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:110:16:110:16 | access to local variable x | false | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:110:16:110:16 | access to local variable x | false | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:109:17:109:24 | ...; | true | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | [false] !... | true | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | [true] !... | false | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:113:10:113:11 | exit M9 (normal) | false | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:117:9:123:9 | {...} | true | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:121:13:122:25 | if (...) ... | false | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:120:17:120:23 | ...; | true | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | [false] !... | true | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | [true] !... | false | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:116:42:116:42 | access to local variable i | false | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:122:17:122:25 | ...; | true | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:132:9:140:9 | {...} | true | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:131:16:131:19 | true | false | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:134:13:139:13 | {...} | true | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:131:16:131:19 | true | false | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:136:17:138:17 | {...} | true | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:21:145:23 | "a" | true | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:27:145:29 | "b" | false | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:147:13:147:49 | ...; | true | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:149:13:149:49 | ...; | false | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | false | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:69:19:69:33 | object creation of type Exception | true | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:75:19:75:33 | object creation of type Exception | true | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:77:41:77:43 | "b" | false | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:29:112:29 | 1 | true | -| 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: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 | -| Finally.cs:34:21:34:24 | true | Finally.cs:34:27:34:32 | throw ...; | true | -| Finally.cs:61:48:61:51 | true | Finally.cs:62:9:64:9 | {...} | true | -| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:66:9:67:9 | {...} | true | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:74:10:74:11 | exit M4 (normal) | false | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:78:9:100:9 | {...} | true | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:82:21:82:27 | return ...; | true | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:83:17:84:29 | if (...) ... | false | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:84:21:84:29 | continue; | true | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:85:17:86:26 | if (...) ... | false | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:86:21:86:26 | break; | true | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:89:13:99:13 | {...} | false | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:93:31:93:45 | object creation of type Exception | true | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:96:17:98:17 | {...} | false | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:108:17:108:23 | return ...; | true | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:109:13:110:49 | if (...) ... | false | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | true | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:113:9:118:9 | {...} | false | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:116:13:117:37 | if (...) ... | false | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:115:17:115:41 | ...; | true | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:17:114:36 | [false] !... | true | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:17:114:36 | [true] !... | false | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:103:10:103:11 | exit M5 (normal) | false | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:117:17:117:37 | ...; | true | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | true | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:155:9:169:9 | {...} | false | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:147:10:147:11 | exit M8 (normal) | false | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:159:41:159:43 | "1" | true | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:162:13:164:13 | {...} | true | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:165:13:168:13 | catch {...} | false | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:27:180:42 | object creation of type ExceptionA | true | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:183:9:192:9 | {...} | false | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:176:10:176:11 | exit M9 (normal) | false | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:31:186:46 | object creation of type ExceptionB | true | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:189:13:191:13 | {...} | true | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:176:10:176:11 | exit M9 (normal) | false | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:31:190:46 | object creation of type ExceptionC | true | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | true | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:202:9:212:9 | {...} | false | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | true | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:208:13:210:13 | {...} | false | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | true | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | false | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:240:27:240:42 | object creation of type ExceptionA | true | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:243:13:253:13 | {...} | false | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:247:31:247:46 | object creation of type ExceptionA | true | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:250:17:252:17 | {...} | false | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:10:13:10:19 | return ...; | true | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | false | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:61:17:61:37 | ...; | true | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:62:13:63:37 | if (...) ... | false | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | false | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:63:17:63:37 | ...; | true | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:71:9:71:21 | ...; | false | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:70:13:70:19 | return ...; | true | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:13:69:23 | [false] !... | true | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:13:69:23 | [true] !... | false | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | false | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | true | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:43:5:43 | 1 | false | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:39:5:39 | 0 | true | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | false | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:41:9:41 | access to parameter s | true | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:45:9:45 | access to parameter s | false | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | false | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | true | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:68:11:68 | 1 | false | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:64:11:64 | 0 | true | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | false | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | true | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | false | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | true | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | false | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | true | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | false | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:9:9:11:9 | {...} | true | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | false | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:13:9:15:9 | {...} | true | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:20:9:38:9 | switch (...) {...} | false | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:17:9:18:9 | {...} | true | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:25:17:25:52 | ...; | true | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:27:13:27:24 | case ...: | false | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | false | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | true | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:67:85:69 | "2" | false | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:57:85:63 | "not 2" | true | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:64:87:70 | "not 1" | false | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:58:87:60 | "1" | true | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:93:17:93:19 | exit M10 (normal) | false | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:96:9:98:9 | {...} | true | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:14:9:14:29 | ...; | false | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:13:13:13:19 | return ...; | true | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:21:9:21:29 | ...; | false | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:20:45:20:53 | nameof(...) | true | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:22:21:22:27 | return ...; | true | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:23:27:23:27 | 0 | false | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:48:24:48 | access to local variable s | true | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:27:13:27:39 | case ...: | false | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:25:17:25:37 | ...; | true | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:32:24:55 | [true] ... && ... | true | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:44:10:44:11 | exit M4 (normal) | false | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:51:17:51:22 | break; | true | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:85:21:85:26 | break; | true | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:86:24:86:27 | true | false | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:44:117:44 | 1 | true | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:118:13:118:34 | case ...: | false | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:43:118:43 | 2 | true | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:120:17:120:17 | 1 | false | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:123:10:123:12 | exit M11 (normal) | false | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:126:13:126:19 | return ...; | true | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:125:13:125:48 | [false] ... switch { ... } | false | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:13:125:48 | [true] ... switch { ... } | true | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [false] ... => ... | false | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [true] ... => ... | true | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:13:125:48 | [false] ... switch { ... } | false | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:46 | [false] ... => ... | false | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:158:13:158:49 | ...; | true | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:160:13:160:49 | ...; | false | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:8:9:8:28 | ... ...; | false | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:25:7:25 | ; | true | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:24:25:24 | access to local variable x | true | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:28:25:28 | access to local variable y | false | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:12:13:12:49 | ...; | true | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:14:9:17:9 | while (...) ... | false | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:15:9:17:9 | {...} | true | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:19:9:22:25 | do ... while (...); | false | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:20:9:22:9 | {...} | true | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | false | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:5:17:5:20 | exit Main (normal) | false | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:25:9:34:9 | {...} | true | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:40 | [false] ... && ... | false | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:31:26:31 | access to local variable i | true | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:28:18:33:37 | if (...) ... | false | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:27:17:27:46 | ...; | true | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:17:26:40 | [false] ... && ... | false | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:17:26:40 | [true] ... && ... | true | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:29:17:29:42 | ...; | true | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:30:18:33:37 | if (...) ... | false | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:31:17:31:42 | ...; | true | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:33:17:33:37 | ...; | false | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:65:17:65:22 | break; | false | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | true | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:21:63:34 | [false] !... | true | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:21:63:34 | [true] !... | false | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:73:13:73:19 | return ...; | true | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:74:9:81:9 | if (...) ... | false | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:75:9:77:9 | {...} | true | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:79:9:81:9 | {...} | false | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:37 | [false] ... && ... | false | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:26:86:26 | access to parameter s | true | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:84:18:84:19 | exit M2 (normal) | false | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:87:13:87:33 | ...; | true | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:13:86:37 | [false] ... && ... | false | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:13:86:37 | [true] ... && ... | true | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:93:45:93:47 | "s" | true | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:94:9:94:29 | ...; | false | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:97:13:97:55 | ...; | true | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:99:9:100:42 | if (...) ... | false | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:100:13:100:42 | ...; | true | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:102:9:103:36 | if (...) ... | false | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:90:18:90:19 | exit M3 (normal) | false | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:103:13:103:36 | ...; | true | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:109:9:115:9 | {...} | true | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:116:9:116:29 | ...; | false | -| cflow.cs:110:20:110:23 | true | cflow.cs:111:13:113:13 | {...} | true | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:48:127:49 | "" | true | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:53:127:57 | this access | false | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:150:13:150:33 | ...; | true | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | false | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:152:18:152:18 | access to local variable x | false | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:156:17:156:22 | break; | true | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:160:9:165:9 | {...} | false | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:164:17:164:22 | break; | true | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:168:9:171:9 | {...} | true | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | false | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:146:10:146:12 | exit For (normal) | false | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:174:9:176:9 | {...} | true | -| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:23:187:23 | 2 | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:34 | 1 | false | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | false | -| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:13:187:28 | ... \|\| ... | false | -| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:56 | ... && ... | false | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:39:195:43 | this access | true | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:200:9:205:9 | if (...) ... | false | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:13:198:49 | ...; | true | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:35:197:39 | false | true | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:43:197:46 | true | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:13:197:47 | [true] !... | false | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:13:197:47 | [false] !... | true | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | false | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | true | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:37:198:41 | false | true | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:45:198:48 | true | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:44 | this access | false | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | true | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | false | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:201:9:205:9 | {...} | true | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:13:200:32 | [false] !... | true | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:13:200:32 | [true] !... | false | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | false | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | true | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | false | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:37:200:62 | [false] !... | true | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:61 | [false] ... && ... | false | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:61:200:61 | access to local variable b | true | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:38:200:62 | [true] !... | false | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:38:200:62 | [false] !... | true | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [false] ... && ... | false | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [true] ... && ... | true | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:214:13:216:13 | {...} | true | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:217:13:220:13 | if (...) ... | false | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:218:13:220:13 | {...} | true | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:221:18:221:22 | this access | false | -| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:208:10:208:11 | exit Do (normal) | false | -| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:211:9:221:9 | {...} | true | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:230:13:232:13 | {...} | true | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:233:13:236:13 | if (...) ... | false | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | false | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:234:13:236:13 | {...} | true | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:244:9:244:41 | if (...) ... | false | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:39:242:41 | {...} | true | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:16:242:36 | [true] !... | false | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:16:242:36 | [false] !... | true | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:17:242:36 | [false] !... | true | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:17:242:36 | [true] !... | false | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:31:244:41 | goto ...; | true | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:246:9:258:9 | switch (...) {...} | false | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:265:9:267:9 | {...} | true | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:268:9:276:9 | try {...} ... | false | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:300:44:300:64 | ... && ... | false | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:56:300:56 | access to parameter s | true | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:44:300:51 | [false] !... | true | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:44:300:51 | [true] !... | false | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | After access to parameter b [false] | false | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | After access to parameter b [true] | true | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | After access to parameter b [false] | false | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | After access to parameter b [true] | true | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | After access to parameter b [false] | false | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | After access to parameter b [true] | true | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | After access to parameter b [false] | false | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | After access to parameter b [true] | true | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | After access to parameter b [false] | false | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | After access to parameter b [true] | true | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | After access to parameter b [false] | false | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | After access to parameter b [true] | true | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | After access to parameter b [false] | false | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | After access to parameter b [true] | true | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | After access to parameter b [false] | false | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | After access to parameter b [true] | true | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | After ... != ... [false] | false | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | After ... != ... [true] | true | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | After access to parameter b [false] | false | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | After access to parameter b [true] | true | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | After ... == ... [false] | false | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | After ... == ... [true] | true | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | After access to parameter b [false] | false | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | After access to parameter b [true] | true | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | After ... == ... [false] | false | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | After ... == ... [true] | true | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | After access to parameter b [false] | false | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | After access to parameter b [true] | true | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | After ... != ... [false] | false | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | After ... != ... [true] | true | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | After access to parameter b [false] | false | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | After access to parameter b [true] | true | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | After access to parameter b [false] | false | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | After access to parameter b [true] | true | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | After access to parameter b [false] | false | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | After access to parameter b [true] | true | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | After access to parameter b [false] | false | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | After access to parameter b [true] | true | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | After access to parameter b [false] | false | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | After access to parameter b [true] | true | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | After access to parameter b [false] | false | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | After access to parameter b [true] | true | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | After access to parameter b [false] | false | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | After access to parameter b [true] | true | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | After access to parameter b [false] | false | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | After access to parameter b [true] | true | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | After ... != ... [false] | false | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | After ... != ... [true] | true | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | After access to parameter b [false] | false | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | After access to parameter b [true] | true | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | After ... == ... [false] | false | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | After ... == ... [true] | true | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | After access to parameter b [false] | false | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | After access to parameter b [true] | true | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | After ... == ... [false] | false | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | After ... == ... [true] | true | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | After access to parameter b [false] | false | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | After access to parameter b [true] | true | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | After ... != ... [false] | false | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | After ... != ... [true] | true | +| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | false | +| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | true | +| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | false | +| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | true | +| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | false | +| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | true | +| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | false | +| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | true | +| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | false | +| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | true | +| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | false | +| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | true | +| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | false | +| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | true | +| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | false | +| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | true | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | false | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | true | +| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | false | +| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | true | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:7:13:7:16 | After !... [true] | true | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:7:13:7:16 | After !... [false] | false | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | false | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | true | +| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | After access to parameter b [false] | false | +| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | After access to parameter b [true] | true | +| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | false | +| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | true | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:17:17:17:18 | After !... [true] | true | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:17:17:17:18 | After !... [false] | false | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | After access to parameter b [false] | false | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | After access to parameter b [true] | true | +| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | false | +| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | true | +| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | false | +| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | true | +| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | false | +| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | true | +| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | false | +| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | true | +| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | false | +| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | true | +| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | false | +| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | true | +| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | After ... > ... [false] | false | +| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | true | +| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | After access to parameter b [false] | false | +| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | After access to parameter b [true] | true | +| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | false | +| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | true | +| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | After access to parameter b [false] | false | +| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | After access to parameter b [true] | true | +| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | After access to parameter b [false] | false | +| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | After access to parameter b [true] | true | +| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | After access to local variable b [false] | false | +| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | After access to local variable b [true] | true | +| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | false | +| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | true | +| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | After access to local variable b [false] | false | +| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | After access to local variable b [true] | true | +| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | After access to local variable b [false] | false | +| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | After access to local variable b [true] | true | +| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | false | +| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | true | +| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | After access to local variable b [false] | false | +| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | After access to local variable b [true] | true | +| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | After access to parameter b [false] | false | +| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | After access to parameter b [true] | true | +| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | false | +| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | true | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:108:17:108:18 | After !... [true] | true | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:108:17:108:18 | After !... [false] | false | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | After access to parameter b [false] | false | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | After access to parameter b [true] | true | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [false] | false | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | true | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:119:17:119:21 | After !... [true] | true | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:119:17:119:21 | After !... [false] | false | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | After access to local variable last [false] | false | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | After access to local variable last [true] | true | +| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | After access to local variable last [false] | false | +| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | After access to local variable last [true] | true | +| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | After true [true] | true | +| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | false | +| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | true | +| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | false | +| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | true | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | After access to parameter b [false] | false | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | After access to parameter b [true] | true | +| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | After access to parameter b [false] | false | +| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | After access to parameter b [true] | true | +| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | false | +| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | true | +| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | false | +| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | true | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | false | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | true | +| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | false | +| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | true | +| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | false | +| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | true | +| Finally.cs:26:48:26:51 | true | Finally.cs:26:48:26:51 | After true [true] | true | +| Finally.cs:34:21:34:24 | true | Finally.cs:34:21:34:24 | After true [true] | true | +| Finally.cs:61:48:61:51 | true | Finally.cs:61:48:61:51 | After true [true] | true | +| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | After ... != ... [false] | false | +| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | After ... != ... [true] | true | +| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | After ... > ... [false] | false | +| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | After ... > ... [true] | true | +| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | After ... == ... [false] | false | +| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | After ... == ... [true] | true | +| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | After ... == ... [false] | false | +| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | After ... == ... [true] | true | +| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | After ... == ... [false] | false | +| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | After ... == ... [true] | true | +| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | After ... == ... [false] | false | +| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | After ... == ... [true] | true | +| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | After ... == ... [false] | false | +| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | After ... == ... [true] | true | +| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | After ... == ... [false] | false | +| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | After ... == ... [true] | true | +| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | After ... == ... [false] | false | +| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | After ... == ... [true] | true | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:114:17:114:36 | After !... [true] | true | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:114:17:114:36 | After !... [false] | false | +| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | After ... > ... [false] | false | +| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | After ... > ... [true] | true | +| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | After ... == ... [false] | false | +| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | After ... == ... [true] | true | +| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | After ... == ... [false] | false | +| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | After ... == ... [true] | true | +| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | After ... == ... [false] | false | +| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | After ... == ... [true] | true | +| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | false | +| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | true | +| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | false | +| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | true | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | false | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | true | +| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | false | +| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | true | +| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | false | +| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | true | +| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | false | +| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | true | +| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | false | +| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | true | +| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | false | +| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | true | +| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | false | +| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | true | +| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | false | +| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | true | +| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | true | +| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | true | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:69:13:69:23 | After !... [true] | true | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:69:13:69:23 | After !... [false] | false | +| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | false | +| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | true | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | false | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | true | +| NullCoalescing.cs:5:30:5:34 | After false [false] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | false | +| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | After false [false] | false | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | false | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | true | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | false | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | true | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | false | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | false | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | true | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | false | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | true | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | false | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | true | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | false | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | true | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | After ... is ... [false] | false | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | true | +| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | After ... is ... [true] | true | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | false | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | true | +| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | After ... is ... [true] | true | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | false | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | true | +| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | After ... is ... [true] | true | +| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | After ... > ... [false] | false | +| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | After ... > ... [true] | true | +| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | After ... is ... [false] | false | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:14:51:21 | After not ... | Patterns.cs:51:9:51:21 | After ... is ... [true] | true | +| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | true | +| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | true | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | After ... is ... [false] | false | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | true | +| Patterns.cs:85:44:85:53 | After ... or ... | Patterns.cs:85:39:85:53 | After ... is ... [true] | true | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | After ... is ... [false] | false | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | true | +| Patterns.cs:87:44:87:54 | After ... and ... | Patterns.cs:87:39:87:54 | After ... is ... [true] | true | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | After ... is ... [false] | false | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | true | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:13:95:40 | After ... is ... [true] | true | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | After ... is ... [false] | false | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | true | +| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | After ... is ... [true] | true | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | After ... is ... [false] | false | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | true | +| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | After ... is ... [true] | true | +| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | After ... == ... [false] | false | +| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | After ... == ... [true] | true | +| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | After ... > ... [true] | true | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | After ... != ... [true] | true | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:24:32:24:55 | After ... && ... [true] | true | +| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | After ... != ... [false] | false | +| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | After ... != ... [true] | true | +| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | After ... > ... [false] | false | +| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | After ... > ... [true] | true | +| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | After ... == ... [false] | false | +| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | After ... == ... [true] | true | +| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | After ... == ... [false] | false | +| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | After ... == ... [true] | true | +| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | false | +| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | true | +| Switch.cs:125:42:125:46 | false | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | false | +| Switch.cs:125:42:125:46 | false | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | true | +| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | After access to parameter b [false] | false | +| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | After access to parameter b [true] | true | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | false | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | true | +| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | true | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | false | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | true | +| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | After ... > ... [false] | false | +| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | After ... > ... [true] | true | +| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | After ... > ... [false] | false | +| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | After ... > ... [true] | true | +| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | After ... < ... [false] | false | +| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | After ... < ... [true] | true | +| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | false | +| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | true | +| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | After ... == ... [false] | false | +| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | After ... == ... [true] | true | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | false | +| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | After ... == ... [false] | false | +| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | After ... == ... [true] | true | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | false | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:26:17:26:40 | After ... && ... [true] | true | +| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | After ... == ... [false] | false | +| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | After ... == ... [true] | true | +| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | After ... == ... [false] | false | +| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | After ... == ... [true] | true | +| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | After ... == ... [false] | false | +| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | After ... == ... [true] | true | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:63:21:63:34 | After !... [true] | true | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:63:21:63:34 | After !... [false] | false | +| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | After ... == ... [false] | false | +| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | After ... == ... [true] | true | +| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | After ... > ... [false] | false | +| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | After ... > ... [true] | true | +| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | After ... != ... [false] | false | +| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | After ... != ... [true] | true | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | false | +| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | After ... > ... [false] | false | +| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | After ... > ... [true] | true | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | false | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:86:13:86:37 | After ... && ... [true] | true | +| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | After call to method Equals [false] | false | +| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | After call to method Equals [true] | true | +| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | After ... != ... [false] | false | +| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | After ... != ... [true] | true | +| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | After ... != ... [false] | false | +| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | After ... != ... [true] | true | +| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | After ... != ... [false] | false | +| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | After ... != ... [true] | true | +| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | After ... != ... [false] | false | +| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | After ... != ... [true] | true | +| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | After true [true] | true | +| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | After ... == ... [false] | false | +| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | After ... == ... [true] | true | +| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | false | +| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | true | +| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | After ... > ... [false] | false | +| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | After ... > ... [true] | true | +| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | After ... > ... [false] | false | +| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | After ... > ... [true] | true | +| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | false | +| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | true | +| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | false | +| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | true | +| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | After ... == ... [false] | false | +| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | After ... == ... [true] | true | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | true | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | true | +| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | After ... == ... [false] | false | +| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | After ... == ... [true] | true | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:13:187:28 | After ... \|\| ... [false] | false | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | true | +| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | After ... == ... [false] | false | +| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | After ... == ... [true] | true | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | false | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:13:187:50 | After ... \|\| ... [false] | false | +| cflow.cs:187:34:187:49 | After ... && ... [true] | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | true | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | After ... == ... [false] | false | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | After ... == ... [true] | true | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | false | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:187:34:187:49 | After ... && ... [true] | true | +| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | After ... > ... [false] | false | +| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | After ... > ... [true] | true | +| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | After ... == ... [false] | false | +| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | After ... == ... [true] | true | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | cflow.cs:197:13:197:47 | After !... [true] | true | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | cflow.cs:197:13:197:47 | After !... [false] | false | +| cflow.cs:197:35:197:39 | After false [false] | cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | false | +| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | After false [false] | false | +| cflow.cs:197:43:197:46 | After true [true] | cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | true | +| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | After true [true] | true | +| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | After ... == ... [false] | false | +| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | After ... == ... [true] | true | +| cflow.cs:200:13:200:32 | After !... [true] | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | true | +| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | After ... == ... [false] | false | +| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | After ... == ... [true] | true | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:200:13:200:32 | After !... [true] | true | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:13:200:32 | After !... [false] | false | +| cflow.cs:200:37:200:62 | After !... [false] | cflow.cs:200:13:200:62 | After ... \|\| ... [false] | false | +| cflow.cs:200:37:200:62 | After !... [true] | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | true | +| cflow.cs:200:38:200:62 | After !... [false] | cflow.cs:200:37:200:62 | After !... [true] | true | +| cflow.cs:200:38:200:62 | After !... [true] | cflow.cs:200:37:200:62 | After !... [false] | false | +| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | After ... == ... [false] | false | +| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | After ... == ... [true] | true | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:200:40:200:61 | After ... && ... [false] | false | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:38:200:62 | After !... [true] | true | +| cflow.cs:200:40:200:61 | After ... && ... [true] | cflow.cs:200:38:200:62 | After !... [false] | false | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:40:200:61 | After ... && ... [false] | false | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:200:40:200:61 | After ... && ... [true] | true | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | After access to local variable b [false] | false | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | After access to local variable b [true] | true | +| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | After ... > ... [false] | false | +| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | After ... > ... [true] | true | +| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | After ... < ... [false] | false | +| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | After ... < ... [true] | true | +| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | After ... < ... [false] | false | +| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | After ... < ... [true] | true | +| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | After ... > ... [false] | false | +| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | After ... > ... [true] | true | +| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | After ... < ... [false] | false | +| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | After ... < ... [true] | true | +| cflow.cs:242:17:242:36 | After !... [false] | cflow.cs:242:16:242:36 | After !... [true] | true | +| cflow.cs:242:17:242:36 | After !... [true] | cflow.cs:242:16:242:36 | After !... [false] | false | +| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | After ... == ... [false] | false | +| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | After ... == ... [true] | true | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:242:17:242:36 | After !... [true] | true | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:242:17:242:36 | After !... [false] | false | +| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | After ... > ... [false] | false | +| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | After ... > ... [true] | true | +| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | After ... < ... [false] | false | +| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | After ... < ... [true] | true | +| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | After ... > ... [false] | false | +| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | After ... > ... [true] | true | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:300:44:300:51 | After !... [true] | true | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:300:44:300:51 | After !... [false] | false | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Condition.ql b/csharp/ql/test/library-tests/controlflow/graph/Condition.ql index 61c80181924..616c4d1b95f 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Condition.ql +++ b/csharp/ql/test/library-tests/controlflow/graph/Condition.ql @@ -1,18 +1,14 @@ import csharp import ControlFlow -query predicate conditionBlock( - BasicBlocks::ConditionBlock cb, BasicBlock controlled, boolean testIsTrue -) { +query predicate conditionBlock(BasicBlock cb, BasicBlock controlled, boolean testIsTrue) { cb.edgeDominates(controlled, any(ConditionalSuccessor s | testIsTrue = s.getValue())) } -ControlFlow::Node successor(ControlFlow::Node node, boolean kind) { - kind = true and result = node.getATrueSuccessor() - or - kind = false and result = node.getAFalseSuccessor() +ControlFlowNode successor(ControlFlowNode node, boolean kind) { + result = node.getASuccessor(any(BooleanSuccessor s | s.getValue() = kind)) } -query predicate conditionFlow(ControlFlow::Node node, ControlFlow::Node successor, boolean kind) { +query predicate conditionFlow(ControlFlowNode node, ControlFlowNode successor, boolean kind) { successor = successor(node, kind) } diff --git a/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected b/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected index 072d874d8d4..127e4b61b63 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected @@ -1,15206 +1,23060 @@ dominance -| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | {...} | -| AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | call to constructor Object | -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | this access | -| AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | AccessorCalls.cs:1:7:1:19 | exit AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | After call to constructor Object | AccessorCalls.cs:1:7:1:19 | {...} | +| AccessorCalls.cs:1:7:1:19 | After call to method | AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | +| AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | AccessorCalls.cs:1:7:1:19 | call to constructor Object | +| AccessorCalls.cs:1:7:1:19 | Before call to method | AccessorCalls.cs:1:7:1:19 | this access | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | Before call to method | +| AccessorCalls.cs:1:7:1:19 | Normal Exit | AccessorCalls.cs:1:7:1:19 | Exit | +| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | After call to constructor Object | +| AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | After call to method | | AccessorCalls.cs:1:7:1:19 | this access | AccessorCalls.cs:1:7:1:19 | call to method | -| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:30:5:30 | access to parameter i | -| AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | AccessorCalls.cs:5:23:5:25 | exit get_Item | -| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:37:5:39 | {...} | -| AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | AccessorCalls.cs:5:33:5:35 | exit set_Item | -| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:36:7:38 | {...} | -| AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | AccessorCalls.cs:7:32:7:34 | exit add_Event | -| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:47:7:49 | {...} | -| AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | AccessorCalls.cs:7:40:7:45 | exit remove_Event | -| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:11:5:17:5 | {...} | -| AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:10:10:10:11 | exit M1 | +| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | Normal Exit | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:30:5:30 | access to parameter i | +| AccessorCalls.cs:5:23:5:25 | Normal Exit | AccessorCalls.cs:5:23:5:25 | Exit | +| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | Normal Exit | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:37:5:39 | {...} | +| AccessorCalls.cs:5:33:5:35 | Normal Exit | AccessorCalls.cs:5:33:5:35 | Exit | +| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | Normal Exit | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:36:7:38 | {...} | +| AccessorCalls.cs:7:32:7:34 | Normal Exit | AccessorCalls.cs:7:32:7:34 | Exit | +| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | Normal Exit | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:47:7:49 | {...} | +| AccessorCalls.cs:7:40:7:45 | Normal Exit | AccessorCalls.cs:7:40:7:45 | Exit | +| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | Normal Exit | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:11:5:17:5 | {...} | +| AccessorCalls.cs:10:10:10:11 | Normal Exit | AccessorCalls.cs:10:10:10:11 | Exit | +| AccessorCalls.cs:11:5:17:5 | After {...} | AccessorCalls.cs:10:10:10:11 | Normal Exit | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:12:9:12:32 | ...; | -| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:22:12:25 | this access | -| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | -| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:13:9:13:30 | ...; | -| AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:12 | this access | +| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:9:12:18 | access to field Field | +| AccessorCalls.cs:12:9:12:18 | After access to field Field | AccessorCalls.cs:12:22:12:31 | Before access to field Field | +| AccessorCalls.cs:12:9:12:18 | Before access to field Field | AccessorCalls.cs:12:9:12:12 | this access | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:18 | After access to field Field | +| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:9:12:31 | After ... = ... | +| AccessorCalls.cs:12:9:12:31 | After ... = ... | AccessorCalls.cs:12:9:12:32 | After ...; | +| AccessorCalls.cs:12:9:12:31 | Before ... = ... | AccessorCalls.cs:12:9:12:18 | Before access to field Field | +| AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:31 | Before ... = ... | +| AccessorCalls.cs:12:9:12:32 | After ...; | AccessorCalls.cs:13:9:13:30 | ...; | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:31 | access to field Field | -| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:18 | access to field Field | -| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:21:13:24 | this access | -| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | -| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:14:9:14:26 | ...; | -| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:13:9:13:12 | this access | +| AccessorCalls.cs:12:22:12:31 | After access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | +| AccessorCalls.cs:12:22:12:31 | Before access to field Field | AccessorCalls.cs:12:22:12:25 | this access | +| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:22:12:31 | After access to field Field | +| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:9:13:17 | access to property Prop | +| AccessorCalls.cs:13:9:13:17 | After access to property Prop | AccessorCalls.cs:13:21:13:29 | Before access to property Prop | +| AccessorCalls.cs:13:9:13:17 | Before access to property Prop | AccessorCalls.cs:13:9:13:12 | this access | +| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:17 | After access to property Prop | +| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:13:9:13:29 | After ... = ... | +| AccessorCalls.cs:13:9:13:29 | After ... = ... | AccessorCalls.cs:13:9:13:30 | After ...; | +| AccessorCalls.cs:13:9:13:29 | Before ... = ... | AccessorCalls.cs:13:9:13:17 | Before access to property Prop | +| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:13:9:13:29 | Before ... = ... | +| AccessorCalls.cs:13:9:13:30 | After ...; | AccessorCalls.cs:14:9:14:26 | ...; | | AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:13:21:13:29 | access to property Prop | -| AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:9:13:17 | access to property Prop | +| AccessorCalls.cs:13:21:13:29 | After access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | +| AccessorCalls.cs:13:21:13:29 | Before access to property Prop | AccessorCalls.cs:13:21:13:24 | this access | +| AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:21:13:29 | After access to property Prop | | AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:14:14:14:14 | 0 | -| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:9:14:25 | ... = ... | -| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:15:9:15:24 | ...; | -| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:14:9:14:12 | this access | -| AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:19:14:22 | this access | +| AccessorCalls.cs:14:9:14:15 | After access to indexer | AccessorCalls.cs:14:19:14:25 | Before access to indexer | +| AccessorCalls.cs:14:9:14:15 | Before access to indexer | AccessorCalls.cs:14:9:14:12 | this access | +| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:9:14:15 | After access to indexer | +| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:14:9:14:25 | After ... = ... | +| AccessorCalls.cs:14:9:14:25 | After ... = ... | AccessorCalls.cs:14:9:14:26 | After ...; | +| AccessorCalls.cs:14:9:14:25 | Before ... = ... | AccessorCalls.cs:14:9:14:15 | Before access to indexer | +| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:14:9:14:25 | Before ... = ... | +| AccessorCalls.cs:14:9:14:26 | After ...; | AccessorCalls.cs:15:9:15:24 | ...; | +| AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:9:14:15 | access to indexer | | AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:14:24:14:24 | 1 | -| AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:9:14:15 | access to indexer | +| AccessorCalls.cs:14:19:14:25 | After access to indexer | AccessorCalls.cs:14:9:14:25 | ... = ... | +| AccessorCalls.cs:14:19:14:25 | Before access to indexer | AccessorCalls.cs:14:19:14:22 | this access | +| AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:19:14:25 | After access to indexer | | AccessorCalls.cs:14:24:14:24 | 1 | AccessorCalls.cs:14:19:14:25 | access to indexer | -| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:23:15:23 | access to parameter e | -| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:23 | ... += ... | -| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:16:9:16:24 | ...; | -| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:15:9:15:12 | this access | -| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:18 | access to event Event | -| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:23:16:23 | access to parameter e | -| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:23 | ... -= ... | -| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | -| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:16:9:16:12 | this access | -| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:18 | access to event Event | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:20:5:26:5 | {...} | -| AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | AccessorCalls.cs:19:10:19:11 | exit M2 | +| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:9:15:18 | access to event Event | +| AccessorCalls.cs:15:9:15:18 | After access to event Event | AccessorCalls.cs:15:23:15:23 | access to parameter e | +| AccessorCalls.cs:15:9:15:18 | Before access to event Event | AccessorCalls.cs:15:9:15:12 | this access | +| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:18 | After access to event Event | +| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:15:9:15:23 | After ... += ... | +| AccessorCalls.cs:15:9:15:23 | After ... += ... | AccessorCalls.cs:15:9:15:24 | After ...; | +| AccessorCalls.cs:15:9:15:23 | Before ... += ... | AccessorCalls.cs:15:9:15:18 | Before access to event Event | +| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:15:9:15:23 | Before ... += ... | +| AccessorCalls.cs:15:9:15:24 | After ...; | AccessorCalls.cs:16:9:16:24 | ...; | +| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:23 | ... += ... | +| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:9:16:18 | access to event Event | +| AccessorCalls.cs:16:9:16:18 | After access to event Event | AccessorCalls.cs:16:23:16:23 | access to parameter e | +| AccessorCalls.cs:16:9:16:18 | Before access to event Event | AccessorCalls.cs:16:9:16:12 | this access | +| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:18 | After access to event Event | +| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:16:9:16:23 | After ... -= ... | +| AccessorCalls.cs:16:9:16:23 | After ... -= ... | AccessorCalls.cs:16:9:16:24 | After ...; | +| AccessorCalls.cs:16:9:16:23 | Before ... -= ... | AccessorCalls.cs:16:9:16:18 | Before access to event Event | +| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:16:9:16:23 | Before ... -= ... | +| AccessorCalls.cs:16:9:16:24 | After ...; | AccessorCalls.cs:11:5:17:5 | After {...} | +| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:23 | ... -= ... | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:20:5:26:5 | {...} | +| AccessorCalls.cs:19:10:19:11 | Normal Exit | AccessorCalls.cs:19:10:19:11 | Exit | +| AccessorCalls.cs:20:5:26:5 | After {...} | AccessorCalls.cs:19:10:19:11 | Normal Exit | | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:21:9:21:36 | ...; | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | -| AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | -| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | -| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:22:9:22:34 | ...; | -| AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:12 | this access | +| AccessorCalls.cs:21:9:21:14 | After access to field x | AccessorCalls.cs:21:9:21:20 | access to field Field | +| AccessorCalls.cs:21:9:21:14 | Before access to field x | AccessorCalls.cs:21:9:21:12 | this access | +| AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:9:21:14 | After access to field x | +| AccessorCalls.cs:21:9:21:20 | After access to field Field | AccessorCalls.cs:21:24:21:35 | Before access to field Field | +| AccessorCalls.cs:21:9:21:20 | Before access to field Field | AccessorCalls.cs:21:9:21:14 | Before access to field x | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:20 | After access to field Field | +| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:9:21:35 | After ... = ... | +| AccessorCalls.cs:21:9:21:35 | After ... = ... | AccessorCalls.cs:21:9:21:36 | After ...; | +| AccessorCalls.cs:21:9:21:35 | Before ... = ... | AccessorCalls.cs:21:9:21:20 | Before access to field Field | +| AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:35 | Before ... = ... | +| AccessorCalls.cs:21:9:21:36 | After ...; | AccessorCalls.cs:22:9:22:34 | ...; | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:29 | access to field x | -| AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | -| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:20 | access to field Field | +| AccessorCalls.cs:21:24:21:29 | After access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | +| AccessorCalls.cs:21:24:21:29 | Before access to field x | AccessorCalls.cs:21:24:21:27 | this access | +| AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:29 | After access to field x | +| AccessorCalls.cs:21:24:21:35 | After access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | +| AccessorCalls.cs:21:24:21:35 | Before access to field Field | AccessorCalls.cs:21:24:21:29 | Before access to field x | +| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:24:21:35 | After access to field Field | | AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:14 | access to field x | -| AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:23:22:26 | this access | -| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | -| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:23:9:23:30 | ...; | -| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:22:9:22:12 | this access | +| AccessorCalls.cs:22:9:22:14 | After access to field x | AccessorCalls.cs:22:9:22:19 | access to property Prop | +| AccessorCalls.cs:22:9:22:14 | Before access to field x | AccessorCalls.cs:22:9:22:12 | this access | +| AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:9:22:14 | After access to field x | +| AccessorCalls.cs:22:9:22:19 | After access to property Prop | AccessorCalls.cs:22:23:22:33 | Before access to property Prop | +| AccessorCalls.cs:22:9:22:19 | Before access to property Prop | AccessorCalls.cs:22:9:22:14 | Before access to field x | +| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:19 | After access to property Prop | +| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:22:9:22:33 | After ... = ... | +| AccessorCalls.cs:22:9:22:33 | After ... = ... | AccessorCalls.cs:22:9:22:34 | After ...; | +| AccessorCalls.cs:22:9:22:33 | Before ... = ... | AccessorCalls.cs:22:9:22:19 | Before access to property Prop | +| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:22:9:22:33 | Before ... = ... | +| AccessorCalls.cs:22:9:22:34 | After ...; | AccessorCalls.cs:23:9:23:30 | ...; | | AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:22:23:22:28 | access to field x | -| AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:33 | access to property Prop | -| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:9:22:19 | access to property Prop | +| AccessorCalls.cs:22:23:22:28 | After access to field x | AccessorCalls.cs:22:23:22:33 | access to property Prop | +| AccessorCalls.cs:22:23:22:28 | Before access to field x | AccessorCalls.cs:22:23:22:26 | this access | +| AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:28 | After access to field x | +| AccessorCalls.cs:22:23:22:33 | After access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | +| AccessorCalls.cs:22:23:22:33 | Before access to property Prop | AccessorCalls.cs:22:23:22:28 | Before access to field x | +| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:23:22:33 | After access to property Prop | | AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:23:9:23:14 | access to field x | -| AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:16:23:16 | 0 | -| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:9:23:29 | ... = ... | -| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:24:9:24:26 | ...; | -| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:23:9:23:12 | this access | -| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:21:23:24 | this access | +| AccessorCalls.cs:23:9:23:14 | After access to field x | AccessorCalls.cs:23:16:23:16 | 0 | +| AccessorCalls.cs:23:9:23:14 | Before access to field x | AccessorCalls.cs:23:9:23:12 | this access | +| AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:9:23:14 | After access to field x | +| AccessorCalls.cs:23:9:23:17 | After access to indexer | AccessorCalls.cs:23:21:23:29 | Before access to indexer | +| AccessorCalls.cs:23:9:23:17 | Before access to indexer | AccessorCalls.cs:23:9:23:14 | Before access to field x | +| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:9:23:17 | After access to indexer | +| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:23:9:23:29 | After ... = ... | +| AccessorCalls.cs:23:9:23:29 | After ... = ... | AccessorCalls.cs:23:9:23:30 | After ...; | +| AccessorCalls.cs:23:9:23:29 | Before ... = ... | AccessorCalls.cs:23:9:23:17 | Before access to indexer | +| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:23:9:23:29 | Before ... = ... | +| AccessorCalls.cs:23:9:23:30 | After ...; | AccessorCalls.cs:24:9:24:26 | ...; | +| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:9:23:17 | access to indexer | | AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:23:21:23:26 | access to field x | -| AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:28:23:28 | 1 | -| AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:9:23:17 | access to indexer | +| AccessorCalls.cs:23:21:23:26 | After access to field x | AccessorCalls.cs:23:28:23:28 | 1 | +| AccessorCalls.cs:23:21:23:26 | Before access to field x | AccessorCalls.cs:23:21:23:24 | this access | +| AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:21:23:26 | After access to field x | +| AccessorCalls.cs:23:21:23:29 | After access to indexer | AccessorCalls.cs:23:9:23:29 | ... = ... | +| AccessorCalls.cs:23:21:23:29 | Before access to indexer | AccessorCalls.cs:23:21:23:26 | Before access to field x | +| AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:21:23:29 | After access to indexer | | AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:23:21:23:29 | access to indexer | | AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:24:9:24:14 | access to field x | -| AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:25:24:25 | access to parameter e | -| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:25 | ... += ... | -| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:25:9:25:26 | ...; | -| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:24:9:24:12 | this access | -| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:20 | access to event Event | +| AccessorCalls.cs:24:9:24:14 | After access to field x | AccessorCalls.cs:24:9:24:20 | access to event Event | +| AccessorCalls.cs:24:9:24:14 | Before access to field x | AccessorCalls.cs:24:9:24:12 | this access | +| AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:9:24:14 | After access to field x | +| AccessorCalls.cs:24:9:24:20 | After access to event Event | AccessorCalls.cs:24:25:24:25 | access to parameter e | +| AccessorCalls.cs:24:9:24:20 | Before access to event Event | AccessorCalls.cs:24:9:24:14 | Before access to field x | +| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:20 | After access to event Event | +| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:24:9:24:25 | After ... += ... | +| AccessorCalls.cs:24:9:24:25 | After ... += ... | AccessorCalls.cs:24:9:24:26 | After ...; | +| AccessorCalls.cs:24:9:24:25 | Before ... += ... | AccessorCalls.cs:24:9:24:20 | Before access to event Event | +| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:24:9:24:25 | Before ... += ... | +| AccessorCalls.cs:24:9:24:26 | After ...; | AccessorCalls.cs:25:9:25:26 | ...; | +| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:25 | ... += ... | | AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:25:9:25:14 | access to field x | -| AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:25:25:25 | access to parameter e | -| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:25 | ... -= ... | -| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | -| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:25:9:25:12 | this access | -| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:20 | access to event Event | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:29:5:33:5 | {...} | -| AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | AccessorCalls.cs:28:10:28:11 | exit M3 | +| AccessorCalls.cs:25:9:25:14 | After access to field x | AccessorCalls.cs:25:9:25:20 | access to event Event | +| AccessorCalls.cs:25:9:25:14 | Before access to field x | AccessorCalls.cs:25:9:25:12 | this access | +| AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:9:25:14 | After access to field x | +| AccessorCalls.cs:25:9:25:20 | After access to event Event | AccessorCalls.cs:25:25:25:25 | access to parameter e | +| AccessorCalls.cs:25:9:25:20 | Before access to event Event | AccessorCalls.cs:25:9:25:14 | Before access to field x | +| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:20 | After access to event Event | +| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:25:9:25:25 | After ... -= ... | +| AccessorCalls.cs:25:9:25:25 | After ... -= ... | AccessorCalls.cs:25:9:25:26 | After ...; | +| AccessorCalls.cs:25:9:25:25 | Before ... -= ... | AccessorCalls.cs:25:9:25:20 | Before access to event Event | +| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:25:9:25:25 | Before ... -= ... | +| AccessorCalls.cs:25:9:25:26 | After ...; | AccessorCalls.cs:20:5:26:5 | After {...} | +| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:25 | ... -= ... | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:29:5:33:5 | {...} | +| AccessorCalls.cs:28:10:28:11 | Normal Exit | AccessorCalls.cs:28:10:28:11 | Exit | +| AccessorCalls.cs:29:5:33:5 | After {...} | AccessorCalls.cs:28:10:28:11 | Normal Exit | | AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:30:9:30:21 | ...; | | AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:30:9:30:18 | access to field Field | -| AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:20 | ...++ | -| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:31:9:31:20 | ...; | -| AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:30:9:30:12 | this access | +| AccessorCalls.cs:30:9:30:18 | After access to field Field | AccessorCalls.cs:30:9:30:20 | ...++ | +| AccessorCalls.cs:30:9:30:18 | Before access to field Field | AccessorCalls.cs:30:9:30:12 | this access | +| AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:18 | After access to field Field | +| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:30:9:30:20 | After ...++ | +| AccessorCalls.cs:30:9:30:20 | After ...++ | AccessorCalls.cs:30:9:30:21 | After ...; | +| AccessorCalls.cs:30:9:30:20 | Before ...++ | AccessorCalls.cs:30:9:30:18 | Before access to field Field | +| AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:30:9:30:20 | Before ...++ | +| AccessorCalls.cs:30:9:30:21 | After ...; | AccessorCalls.cs:31:9:31:20 | ...; | | AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:31:9:31:17 | access to property Prop | -| AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:19 | ...++ | -| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:32:9:32:18 | ...; | -| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:31:9:31:12 | this access | +| AccessorCalls.cs:31:9:31:17 | After access to property Prop | AccessorCalls.cs:31:9:31:19 | ...++ | +| AccessorCalls.cs:31:9:31:17 | Before access to property Prop | AccessorCalls.cs:31:9:31:12 | this access | +| AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:17 | After access to property Prop | +| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:31:9:31:19 | After ...++ | +| AccessorCalls.cs:31:9:31:19 | After ...++ | AccessorCalls.cs:31:9:31:20 | After ...; | +| AccessorCalls.cs:31:9:31:19 | Before ...++ | AccessorCalls.cs:31:9:31:17 | Before access to property Prop | +| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:31:9:31:19 | Before ...++ | +| AccessorCalls.cs:31:9:31:20 | After ...; | AccessorCalls.cs:32:9:32:18 | ...; | | AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:32:14:32:14 | 0 | -| AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:9:32:17 | ...++ | -| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | -| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:32:9:32:12 | this access | +| AccessorCalls.cs:32:9:32:15 | After access to indexer | AccessorCalls.cs:32:9:32:17 | ...++ | +| AccessorCalls.cs:32:9:32:15 | Before access to indexer | AccessorCalls.cs:32:9:32:12 | this access | +| AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:9:32:15 | After access to indexer | +| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:32:9:32:17 | After ...++ | +| AccessorCalls.cs:32:9:32:17 | After ...++ | AccessorCalls.cs:32:9:32:18 | After ...; | +| AccessorCalls.cs:32:9:32:17 | Before ...++ | AccessorCalls.cs:32:9:32:15 | Before access to indexer | +| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:32:9:32:17 | Before ...++ | +| AccessorCalls.cs:32:9:32:18 | After ...; | AccessorCalls.cs:29:5:33:5 | After {...} | | AccessorCalls.cs:32:14:32:14 | 0 | AccessorCalls.cs:32:9:32:15 | access to indexer | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:36:5:40:5 | {...} | -| AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | AccessorCalls.cs:35:10:35:11 | exit M4 | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:36:5:40:5 | {...} | +| AccessorCalls.cs:35:10:35:11 | Normal Exit | AccessorCalls.cs:35:10:35:11 | Exit | +| AccessorCalls.cs:36:5:40:5 | After {...} | AccessorCalls.cs:35:10:35:11 | Normal Exit | | AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:37:9:37:23 | ...; | | AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:37:9:37:14 | access to field x | -| AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:20 | access to field Field | -| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:22 | ...++ | -| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:38:9:38:22 | ...; | -| AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:37:9:37:12 | this access | +| AccessorCalls.cs:37:9:37:14 | After access to field x | AccessorCalls.cs:37:9:37:20 | access to field Field | +| AccessorCalls.cs:37:9:37:14 | Before access to field x | AccessorCalls.cs:37:9:37:12 | this access | +| AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:14 | After access to field x | +| AccessorCalls.cs:37:9:37:20 | After access to field Field | AccessorCalls.cs:37:9:37:22 | ...++ | +| AccessorCalls.cs:37:9:37:20 | Before access to field Field | AccessorCalls.cs:37:9:37:14 | Before access to field x | +| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:20 | After access to field Field | +| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:37:9:37:22 | After ...++ | +| AccessorCalls.cs:37:9:37:22 | After ...++ | AccessorCalls.cs:37:9:37:23 | After ...; | +| AccessorCalls.cs:37:9:37:22 | Before ...++ | AccessorCalls.cs:37:9:37:20 | Before access to field Field | +| AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:37:9:37:22 | Before ...++ | +| AccessorCalls.cs:37:9:37:23 | After ...; | AccessorCalls.cs:38:9:38:22 | ...; | | AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:38:9:38:14 | access to field x | -| AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:19 | access to property Prop | -| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:21 | ...++ | -| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:39:9:39:20 | ...; | -| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:38:9:38:12 | this access | +| AccessorCalls.cs:38:9:38:14 | After access to field x | AccessorCalls.cs:38:9:38:19 | access to property Prop | +| AccessorCalls.cs:38:9:38:14 | Before access to field x | AccessorCalls.cs:38:9:38:12 | this access | +| AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:14 | After access to field x | +| AccessorCalls.cs:38:9:38:19 | After access to property Prop | AccessorCalls.cs:38:9:38:21 | ...++ | +| AccessorCalls.cs:38:9:38:19 | Before access to property Prop | AccessorCalls.cs:38:9:38:14 | Before access to field x | +| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:19 | After access to property Prop | +| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:38:9:38:21 | After ...++ | +| AccessorCalls.cs:38:9:38:21 | After ...++ | AccessorCalls.cs:38:9:38:22 | After ...; | +| AccessorCalls.cs:38:9:38:21 | Before ...++ | AccessorCalls.cs:38:9:38:19 | Before access to property Prop | +| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:38:9:38:21 | Before ...++ | +| AccessorCalls.cs:38:9:38:22 | After ...; | AccessorCalls.cs:39:9:39:20 | ...; | | AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:39:9:39:14 | access to field x | -| AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:16:39:16 | 0 | -| AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:9:39:19 | ...++ | -| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | -| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:39:9:39:12 | this access | +| AccessorCalls.cs:39:9:39:14 | After access to field x | AccessorCalls.cs:39:16:39:16 | 0 | +| AccessorCalls.cs:39:9:39:14 | Before access to field x | AccessorCalls.cs:39:9:39:12 | this access | +| AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:9:39:14 | After access to field x | +| AccessorCalls.cs:39:9:39:17 | After access to indexer | AccessorCalls.cs:39:9:39:19 | ...++ | +| AccessorCalls.cs:39:9:39:17 | Before access to indexer | AccessorCalls.cs:39:9:39:14 | Before access to field x | +| AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:9:39:17 | After access to indexer | +| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:39:9:39:19 | After ...++ | +| AccessorCalls.cs:39:9:39:19 | After ...++ | AccessorCalls.cs:39:9:39:20 | After ...; | +| AccessorCalls.cs:39:9:39:19 | Before ...++ | AccessorCalls.cs:39:9:39:17 | Before access to indexer | +| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:39:9:39:19 | Before ...++ | +| AccessorCalls.cs:39:9:39:20 | After ...; | AccessorCalls.cs:36:5:40:5 | After {...} | | AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:39:9:39:17 | access to indexer | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:43:5:47:5 | {...} | -| AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | AccessorCalls.cs:42:10:42:11 | exit M5 | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:43:5:47:5 | {...} | +| AccessorCalls.cs:42:10:42:11 | Normal Exit | AccessorCalls.cs:42:10:42:11 | Exit | +| AccessorCalls.cs:43:5:47:5 | After {...} | AccessorCalls.cs:42:10:42:11 | Normal Exit | | AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:44:9:44:33 | ...; | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | -| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | -| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:45:9:45:31 | ...; | -| AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:12 | this access | +| AccessorCalls.cs:44:9:44:18 | After access to field Field | AccessorCalls.cs:44:23:44:32 | Before access to field Field | +| AccessorCalls.cs:44:9:44:18 | Before access to field Field | AccessorCalls.cs:44:9:44:12 | this access | +| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:18 | After access to field Field | +| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:44:9:44:32 | After ... += ... | +| AccessorCalls.cs:44:9:44:32 | After ... += ... | AccessorCalls.cs:44:9:44:33 | After ...; | +| AccessorCalls.cs:44:9:44:32 | Before ... += ... | AccessorCalls.cs:44:9:44:18 | Before access to field Field | +| AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:32 | Before ... += ... | +| AccessorCalls.cs:44:9:44:33 | After ...; | AccessorCalls.cs:45:9:45:31 | ...; | | AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:32 | access to field Field | -| AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:9:44:32 | ... += ... | +| AccessorCalls.cs:44:23:44:32 | After access to field Field | AccessorCalls.cs:44:9:44:32 | ... += ... | +| AccessorCalls.cs:44:23:44:32 | Before access to field Field | AccessorCalls.cs:44:23:44:26 | this access | +| AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:23:44:32 | After access to field Field | | AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:17 | access to property Prop | -| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:22:45:25 | this access | -| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:46:9:46:27 | ...; | -| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:45:9:45:12 | this access | +| AccessorCalls.cs:45:9:45:17 | After access to property Prop | AccessorCalls.cs:45:22:45:30 | Before access to property Prop | +| AccessorCalls.cs:45:9:45:17 | Before access to property Prop | AccessorCalls.cs:45:9:45:12 | this access | +| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:9:45:17 | After access to property Prop | +| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:45:9:45:30 | After ... += ... | +| AccessorCalls.cs:45:9:45:30 | After ... += ... | AccessorCalls.cs:45:9:45:31 | After ...; | +| AccessorCalls.cs:45:9:45:30 | Before ... += ... | AccessorCalls.cs:45:9:45:17 | Before access to property Prop | +| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:45:9:45:30 | Before ... += ... | +| AccessorCalls.cs:45:9:45:31 | After ...; | AccessorCalls.cs:46:9:46:27 | ...; | | AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:45:22:45:30 | access to property Prop | -| AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:9:45:30 | ... += ... | +| AccessorCalls.cs:45:22:45:30 | After access to property Prop | AccessorCalls.cs:45:9:45:30 | ... += ... | +| AccessorCalls.cs:45:22:45:30 | Before access to property Prop | AccessorCalls.cs:45:22:45:25 | this access | +| AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:22:45:30 | After access to property Prop | | AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:14:46:14 | 0 | -| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:20:46:23 | this access | -| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | -| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:46:9:46:12 | this access | +| AccessorCalls.cs:46:9:46:15 | After access to indexer | AccessorCalls.cs:46:20:46:26 | Before access to indexer | +| AccessorCalls.cs:46:9:46:15 | Before access to indexer | AccessorCalls.cs:46:9:46:12 | this access | +| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:9:46:15 | After access to indexer | +| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:46:9:46:26 | After ... += ... | +| AccessorCalls.cs:46:9:46:26 | After ... += ... | AccessorCalls.cs:46:9:46:27 | After ...; | +| AccessorCalls.cs:46:9:46:26 | Before ... += ... | AccessorCalls.cs:46:9:46:15 | Before access to indexer | +| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:46:9:46:26 | Before ... += ... | +| AccessorCalls.cs:46:9:46:27 | After ...; | AccessorCalls.cs:43:5:47:5 | After {...} | | AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:46:9:46:15 | access to indexer | | AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:46:25:46:25 | 0 | -| AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:9:46:26 | ... += ... | +| AccessorCalls.cs:46:20:46:26 | After access to indexer | AccessorCalls.cs:46:9:46:26 | ... += ... | +| AccessorCalls.cs:46:20:46:26 | Before access to indexer | AccessorCalls.cs:46:20:46:23 | this access | +| AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:20:46:26 | After access to indexer | | AccessorCalls.cs:46:25:46:25 | 0 | AccessorCalls.cs:46:20:46:26 | access to indexer | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:50:5:54:5 | {...} | -| AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | AccessorCalls.cs:49:10:49:11 | exit M6 | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:50:5:54:5 | {...} | +| AccessorCalls.cs:49:10:49:11 | Normal Exit | AccessorCalls.cs:49:10:49:11 | Exit | +| AccessorCalls.cs:50:5:54:5 | After {...} | AccessorCalls.cs:49:10:49:11 | Normal Exit | | AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:51:9:51:37 | ...; | | AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | access to field x | -| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | -| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:25:51:28 | this access | -| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:52:9:52:35 | ...; | -| AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:12 | this access | +| AccessorCalls.cs:51:9:51:14 | After access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | +| AccessorCalls.cs:51:9:51:14 | Before access to field x | AccessorCalls.cs:51:9:51:12 | this access | +| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:14 | After access to field x | +| AccessorCalls.cs:51:9:51:20 | After access to field Field | AccessorCalls.cs:51:25:51:36 | Before access to field Field | +| AccessorCalls.cs:51:9:51:20 | Before access to field Field | AccessorCalls.cs:51:9:51:14 | Before access to field x | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:20 | After access to field Field | +| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:51:9:51:36 | After ... += ... | +| AccessorCalls.cs:51:9:51:36 | After ... += ... | AccessorCalls.cs:51:9:51:37 | After ...; | +| AccessorCalls.cs:51:9:51:36 | Before ... += ... | AccessorCalls.cs:51:9:51:20 | Before access to field Field | +| AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:36 | Before ... += ... | +| AccessorCalls.cs:51:9:51:37 | After ...; | AccessorCalls.cs:52:9:52:35 | ...; | | AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:30 | access to field x | -| AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:36 | access to field Field | -| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:9:51:36 | ... += ... | +| AccessorCalls.cs:51:25:51:30 | After access to field x | AccessorCalls.cs:51:25:51:36 | access to field Field | +| AccessorCalls.cs:51:25:51:30 | Before access to field x | AccessorCalls.cs:51:25:51:28 | this access | +| AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:30 | After access to field x | +| AccessorCalls.cs:51:25:51:36 | After access to field Field | AccessorCalls.cs:51:9:51:36 | ... += ... | +| AccessorCalls.cs:51:25:51:36 | Before access to field Field | AccessorCalls.cs:51:25:51:30 | Before access to field x | +| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:25:51:36 | After access to field Field | | AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:14 | access to field x | -| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:19 | access to property Prop | -| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:24:52:27 | this access | -| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:53:9:53:31 | ...; | -| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:52:9:52:12 | this access | +| AccessorCalls.cs:52:9:52:14 | After access to field x | AccessorCalls.cs:52:9:52:19 | access to property Prop | +| AccessorCalls.cs:52:9:52:14 | Before access to field x | AccessorCalls.cs:52:9:52:12 | this access | +| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:14 | After access to field x | +| AccessorCalls.cs:52:9:52:19 | After access to property Prop | AccessorCalls.cs:52:24:52:34 | Before access to property Prop | +| AccessorCalls.cs:52:9:52:19 | Before access to property Prop | AccessorCalls.cs:52:9:52:14 | Before access to field x | +| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:9:52:19 | After access to property Prop | +| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:52:9:52:34 | After ... += ... | +| AccessorCalls.cs:52:9:52:34 | After ... += ... | AccessorCalls.cs:52:9:52:35 | After ...; | +| AccessorCalls.cs:52:9:52:34 | Before ... += ... | AccessorCalls.cs:52:9:52:19 | Before access to property Prop | +| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:52:9:52:34 | Before ... += ... | +| AccessorCalls.cs:52:9:52:35 | After ...; | AccessorCalls.cs:53:9:53:31 | ...; | | AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:52:24:52:29 | access to field x | -| AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:34 | access to property Prop | -| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:9:52:34 | ... += ... | +| AccessorCalls.cs:52:24:52:29 | After access to field x | AccessorCalls.cs:52:24:52:34 | access to property Prop | +| AccessorCalls.cs:52:24:52:29 | Before access to field x | AccessorCalls.cs:52:24:52:27 | this access | +| AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:29 | After access to field x | +| AccessorCalls.cs:52:24:52:34 | After access to property Prop | AccessorCalls.cs:52:9:52:34 | ... += ... | +| AccessorCalls.cs:52:24:52:34 | Before access to property Prop | AccessorCalls.cs:52:24:52:29 | Before access to field x | +| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:24:52:34 | After access to property Prop | | AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:14 | access to field x | -| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:16:53:16 | 0 | -| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:22:53:25 | this access | -| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | -| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:53:9:53:12 | this access | +| AccessorCalls.cs:53:9:53:14 | After access to field x | AccessorCalls.cs:53:16:53:16 | 0 | +| AccessorCalls.cs:53:9:53:14 | Before access to field x | AccessorCalls.cs:53:9:53:12 | this access | +| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:9:53:14 | After access to field x | +| AccessorCalls.cs:53:9:53:17 | After access to indexer | AccessorCalls.cs:53:22:53:30 | Before access to indexer | +| AccessorCalls.cs:53:9:53:17 | Before access to indexer | AccessorCalls.cs:53:9:53:14 | Before access to field x | +| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:9:53:17 | After access to indexer | +| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:53:9:53:30 | After ... += ... | +| AccessorCalls.cs:53:9:53:30 | After ... += ... | AccessorCalls.cs:53:9:53:31 | After ...; | +| AccessorCalls.cs:53:9:53:30 | Before ... += ... | AccessorCalls.cs:53:9:53:17 | Before access to indexer | +| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:53:9:53:30 | Before ... += ... | +| AccessorCalls.cs:53:9:53:31 | After ...; | AccessorCalls.cs:50:5:54:5 | After {...} | | AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:9:53:17 | access to indexer | | AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:53:22:53:27 | access to field x | -| AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:29:53:29 | 0 | -| AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:9:53:30 | ... += ... | +| AccessorCalls.cs:53:22:53:27 | After access to field x | AccessorCalls.cs:53:29:53:29 | 0 | +| AccessorCalls.cs:53:22:53:27 | Before access to field x | AccessorCalls.cs:53:22:53:25 | this access | +| AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:22:53:27 | After access to field x | +| AccessorCalls.cs:53:22:53:30 | After access to indexer | AccessorCalls.cs:53:9:53:30 | ... += ... | +| AccessorCalls.cs:53:22:53:30 | Before access to indexer | AccessorCalls.cs:53:22:53:27 | Before access to field x | +| AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:22:53:30 | After access to indexer | | AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:53:22:53:30 | access to indexer | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:57:5:59:5 | {...} | -| AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | AccessorCalls.cs:56:10:56:11 | exit M7 | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:57:5:59:5 | {...} | +| AccessorCalls.cs:56:10:56:11 | Normal Exit | AccessorCalls.cs:56:10:56:11 | Exit | +| AccessorCalls.cs:57:5:59:5 | After {...} | AccessorCalls.cs:56:10:56:11 | Normal Exit | | AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:58:9:58:86 | ...; | -| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:50:58:53 | this access | -| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | -| AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:10:58:13 | this access | -| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:22:58:25 | this access | -| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:22:58:30 | access to property Prop | -| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:37:58:40 | this access | -| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:37:58:43 | access to indexer | -| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | +| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:9:58:45 | After (..., ...) | +| AccessorCalls.cs:58:9:58:45 | After (..., ...) | AccessorCalls.cs:58:49:58:85 | Before (..., ...) | +| AccessorCalls.cs:58:9:58:45 | Before (..., ...) | AccessorCalls.cs:58:10:58:19 | Before access to field Field | +| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:58:9:58:85 | After ... = ... | +| AccessorCalls.cs:58:9:58:85 | After ... = ... | AccessorCalls.cs:58:9:58:86 | After ...; | +| AccessorCalls.cs:58:9:58:85 | Before ... = ... | AccessorCalls.cs:58:9:58:45 | Before (..., ...) | +| AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:9:58:85 | Before ... = ... | +| AccessorCalls.cs:58:9:58:86 | After ...; | AccessorCalls.cs:57:5:59:5 | After {...} | +| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:10:58:19 | access to field Field | +| AccessorCalls.cs:58:10:58:19 | After access to field Field | AccessorCalls.cs:58:22:58:30 | Before access to property Prop | +| AccessorCalls.cs:58:10:58:19 | Before access to field Field | AccessorCalls.cs:58:10:58:13 | this access | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:10:58:19 | After access to field Field | +| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:22:58:30 | access to property Prop | +| AccessorCalls.cs:58:22:58:30 | After access to property Prop | AccessorCalls.cs:58:33:58:44 | Before (..., ...) | +| AccessorCalls.cs:58:22:58:30 | Before access to property Prop | AccessorCalls.cs:58:22:58:25 | this access | +| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:22:58:30 | After access to property Prop | +| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:33:58:44 | After (..., ...) | +| AccessorCalls.cs:58:33:58:44 | After (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | +| AccessorCalls.cs:58:33:58:44 | Before (..., ...) | AccessorCalls.cs:58:34:58:34 | access to parameter i | +| AccessorCalls.cs:58:34:58:34 | access to parameter i | AccessorCalls.cs:58:37:58:43 | Before access to indexer | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:42:58:42 | 0 | -| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:9:58:85 | ... = ... | -| AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:33:58:44 | (..., ...) | -| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:10:58:19 | access to field Field | +| AccessorCalls.cs:58:37:58:43 | After access to indexer | AccessorCalls.cs:58:33:58:44 | (..., ...) | +| AccessorCalls.cs:58:37:58:43 | Before access to indexer | AccessorCalls.cs:58:37:58:40 | this access | +| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:37:58:43 | After access to indexer | +| AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:37:58:43 | access to indexer | +| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:49:58:85 | After (..., ...) | +| AccessorCalls.cs:58:49:58:85 | After (..., ...) | AccessorCalls.cs:58:9:58:85 | ... = ... | +| AccessorCalls.cs:58:49:58:85 | Before (..., ...) | AccessorCalls.cs:58:50:58:59 | Before access to field Field | | AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:59 | access to field Field | -| AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:62:58:65 | this access | +| AccessorCalls.cs:58:50:58:59 | After access to field Field | AccessorCalls.cs:58:62:58:70 | Before access to property Prop | +| AccessorCalls.cs:58:50:58:59 | Before access to field Field | AccessorCalls.cs:58:50:58:53 | this access | +| AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:50:58:59 | After access to field Field | | AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:70 | access to property Prop | -| AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:74:58:74 | 0 | -| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | -| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:77:58:80 | this access | +| AccessorCalls.cs:58:62:58:70 | After access to property Prop | AccessorCalls.cs:58:73:58:84 | Before (..., ...) | +| AccessorCalls.cs:58:62:58:70 | Before access to property Prop | AccessorCalls.cs:58:62:58:65 | this access | +| AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:62:58:70 | After access to property Prop | +| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:73:58:84 | After (..., ...) | +| AccessorCalls.cs:58:73:58:84 | After (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | +| AccessorCalls.cs:58:73:58:84 | Before (..., ...) | AccessorCalls.cs:58:74:58:74 | 0 | +| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:77:58:83 | Before access to indexer | | AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:58:82:58:82 | 1 | -| AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:73:58:84 | (..., ...) | +| AccessorCalls.cs:58:77:58:83 | After access to indexer | AccessorCalls.cs:58:73:58:84 | (..., ...) | +| AccessorCalls.cs:58:77:58:83 | Before access to indexer | AccessorCalls.cs:58:77:58:80 | this access | +| AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:77:58:83 | After access to indexer | | AccessorCalls.cs:58:82:58:82 | 1 | AccessorCalls.cs:58:77:58:83 | access to indexer | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:62:5:64:5 | {...} | -| AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | AccessorCalls.cs:61:10:61:11 | exit M8 | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:62:5:64:5 | {...} | +| AccessorCalls.cs:61:10:61:11 | Normal Exit | AccessorCalls.cs:61:10:61:11 | Exit | +| AccessorCalls.cs:62:5:64:5 | After {...} | AccessorCalls.cs:61:10:61:11 | Normal Exit | | AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:63:9:63:98 | ...; | -| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:56:63:59 | this access | -| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | -| AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:10:63:13 | this access | +| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:9:63:51 | After (..., ...) | +| AccessorCalls.cs:63:9:63:51 | After (..., ...) | AccessorCalls.cs:63:55:63:97 | Before (..., ...) | +| AccessorCalls.cs:63:9:63:51 | Before (..., ...) | AccessorCalls.cs:63:10:63:21 | Before access to field Field | +| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:63:9:63:97 | After ... = ... | +| AccessorCalls.cs:63:9:63:97 | After ... = ... | AccessorCalls.cs:63:9:63:98 | After ...; | +| AccessorCalls.cs:63:9:63:97 | Before ... = ... | AccessorCalls.cs:63:9:63:51 | Before (..., ...) | +| AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:9:63:97 | Before ... = ... | +| AccessorCalls.cs:63:9:63:98 | After ...; | AccessorCalls.cs:62:5:64:5 | After {...} | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | -| AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | -| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:24:63:34 | access to property Prop | +| AccessorCalls.cs:63:10:63:15 | After access to field x | AccessorCalls.cs:63:10:63:21 | access to field Field | +| AccessorCalls.cs:63:10:63:15 | Before access to field x | AccessorCalls.cs:63:10:63:13 | this access | +| AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:10:63:15 | After access to field x | +| AccessorCalls.cs:63:10:63:21 | After access to field Field | AccessorCalls.cs:63:24:63:34 | Before access to property Prop | +| AccessorCalls.cs:63:10:63:21 | Before access to field Field | AccessorCalls.cs:63:10:63:15 | Before access to field x | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:10:63:21 | After access to field Field | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | -| AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | -| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:41:63:49 | access to indexer | -| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | +| AccessorCalls.cs:63:24:63:29 | After access to field x | AccessorCalls.cs:63:24:63:34 | access to property Prop | +| AccessorCalls.cs:63:24:63:29 | Before access to field x | AccessorCalls.cs:63:24:63:27 | this access | +| AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:24:63:29 | After access to field x | +| AccessorCalls.cs:63:24:63:34 | After access to property Prop | AccessorCalls.cs:63:37:63:50 | Before (..., ...) | +| AccessorCalls.cs:63:24:63:34 | Before access to property Prop | AccessorCalls.cs:63:24:63:29 | Before access to field x | +| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:24:63:34 | After access to property Prop | +| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:37:63:50 | After (..., ...) | +| AccessorCalls.cs:63:37:63:50 | After (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | +| AccessorCalls.cs:63:37:63:50 | Before (..., ...) | AccessorCalls.cs:63:38:63:38 | access to parameter i | +| AccessorCalls.cs:63:38:63:38 | access to parameter i | AccessorCalls.cs:63:41:63:49 | Before access to indexer | | AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:41:63:46 | access to field x | -| AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:48:63:48 | 0 | -| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:9:63:97 | ... = ... | -| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:37:63:50 | (..., ...) | -| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:10:63:21 | access to field Field | +| AccessorCalls.cs:63:41:63:46 | After access to field x | AccessorCalls.cs:63:48:63:48 | 0 | +| AccessorCalls.cs:63:41:63:46 | Before access to field x | AccessorCalls.cs:63:41:63:44 | this access | +| AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:41:63:46 | After access to field x | +| AccessorCalls.cs:63:41:63:49 | After access to indexer | AccessorCalls.cs:63:37:63:50 | (..., ...) | +| AccessorCalls.cs:63:41:63:49 | Before access to indexer | AccessorCalls.cs:63:41:63:46 | Before access to field x | +| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:41:63:49 | After access to indexer | +| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:41:63:49 | access to indexer | +| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:55:63:97 | After (..., ...) | +| AccessorCalls.cs:63:55:63:97 | After (..., ...) | AccessorCalls.cs:63:9:63:97 | ... = ... | +| AccessorCalls.cs:63:55:63:97 | Before (..., ...) | AccessorCalls.cs:63:56:63:67 | Before access to field Field | | AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:61 | access to field x | -| AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | -| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:70:63:73 | this access | +| AccessorCalls.cs:63:56:63:61 | After access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | +| AccessorCalls.cs:63:56:63:61 | Before access to field x | AccessorCalls.cs:63:56:63:59 | this access | +| AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:61 | After access to field x | +| AccessorCalls.cs:63:56:63:67 | After access to field Field | AccessorCalls.cs:63:70:63:80 | Before access to property Prop | +| AccessorCalls.cs:63:56:63:67 | Before access to field Field | AccessorCalls.cs:63:56:63:61 | Before access to field x | +| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:56:63:67 | After access to field Field | | AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:63:70:63:75 | access to field x | -| AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:80 | access to property Prop | -| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:84:63:84 | 0 | -| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | -| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:87:63:90 | this access | +| AccessorCalls.cs:63:70:63:75 | After access to field x | AccessorCalls.cs:63:70:63:80 | access to property Prop | +| AccessorCalls.cs:63:70:63:75 | Before access to field x | AccessorCalls.cs:63:70:63:73 | this access | +| AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:75 | After access to field x | +| AccessorCalls.cs:63:70:63:80 | After access to property Prop | AccessorCalls.cs:63:83:63:96 | Before (..., ...) | +| AccessorCalls.cs:63:70:63:80 | Before access to property Prop | AccessorCalls.cs:63:70:63:75 | Before access to field x | +| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:70:63:80 | After access to property Prop | +| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:83:63:96 | After (..., ...) | +| AccessorCalls.cs:63:83:63:96 | After (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | +| AccessorCalls.cs:63:83:63:96 | Before (..., ...) | AccessorCalls.cs:63:84:63:84 | 0 | +| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:87:63:95 | Before access to indexer | | AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:63:87:63:92 | access to field x | -| AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:94:63:94 | 1 | -| AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:83:63:96 | (..., ...) | +| AccessorCalls.cs:63:87:63:92 | After access to field x | AccessorCalls.cs:63:94:63:94 | 1 | +| AccessorCalls.cs:63:87:63:92 | Before access to field x | AccessorCalls.cs:63:87:63:90 | this access | +| AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:87:63:92 | After access to field x | +| AccessorCalls.cs:63:87:63:95 | After access to indexer | AccessorCalls.cs:63:83:63:96 | (..., ...) | +| AccessorCalls.cs:63:87:63:95 | Before access to indexer | AccessorCalls.cs:63:87:63:92 | Before access to field x | +| AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:87:63:95 | After access to indexer | | AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:87:63:95 | access to indexer | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:67:5:74:5 | {...} | -| AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | AccessorCalls.cs:66:10:66:11 | exit M9 | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:67:5:74:5 | {...} | +| AccessorCalls.cs:66:10:66:11 | Normal Exit | AccessorCalls.cs:66:10:66:11 | Exit | +| AccessorCalls.cs:67:5:74:5 | After {...} | AccessorCalls.cs:66:10:66:11 | Normal Exit | | AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:68:9:68:22 | ... ...; | -| AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:21:68:21 | access to parameter o | -| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:69:9:69:36 | ...; | +| AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | +| AccessorCalls.cs:68:9:68:22 | After ... ...; | AccessorCalls.cs:69:9:69:36 | ...; | +| AccessorCalls.cs:68:17:68:17 | access to local variable d | AccessorCalls.cs:68:21:68:21 | access to parameter o | +| AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | AccessorCalls.cs:68:9:68:22 | After ... ...; | +| AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | AccessorCalls.cs:68:17:68:17 | access to local variable d | +| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | | AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | -| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:24:69:24 | access to local variable d | -| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:35 | ... = ... | -| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:70:9:70:22 | ...; | -| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:69:9:69:9 | access to local variable d | +| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | +| AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:9 | access to local variable d | +| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | +| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:69:9:69:35 | After ... = ... | +| AccessorCalls.cs:69:9:69:35 | After ... = ... | AccessorCalls.cs:69:9:69:36 | After ...; | +| AccessorCalls.cs:69:9:69:35 | Before ... = ... | AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | +| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:69:9:69:35 | Before ... = ... | +| AccessorCalls.cs:69:9:69:36 | After ...; | AccessorCalls.cs:70:9:70:22 | ...; | | AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | -| AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | AccessorCalls.cs:69:9:69:35 | ... = ... | +| AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:24 | access to local variable d | +| AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | | AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | -| AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | -| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:71:9:71:26 | ...; | -| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:70:9:70:9 | access to local variable d | +| AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | +| AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:9 | access to local variable d | +| AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | +| AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | AccessorCalls.cs:70:9:70:22 | After ...; | +| AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | +| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | +| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | +| AccessorCalls.cs:70:9:70:22 | After ...; | AccessorCalls.cs:71:9:71:26 | ...; | | AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | -| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:25:71:25 | access to parameter e | -| AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:72:9:72:21 | ...; | -| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:71:9:71:9 | access to local variable d | +| AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | AccessorCalls.cs:71:25:71:25 | access to parameter e | +| AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:9 | access to local variable d | +| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | +| AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:71:9:71:25 | After ... += ... | +| AccessorCalls.cs:71:9:71:25 | After ... += ... | AccessorCalls.cs:71:9:71:26 | After ...; | +| AccessorCalls.cs:71:9:71:25 | Before ... += ... | AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | +| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:71:9:71:25 | Before ... += ... | +| AccessorCalls.cs:71:9:71:26 | After ...; | AccessorCalls.cs:72:9:72:21 | ...; | | AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:71:9:71:25 | ... += ... | | AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:11:72:11 | 0 | -| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:17:72:17 | access to local variable d | -| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:73:9:73:84 | ...; | -| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:72:9:72:9 | access to local variable d | +| AccessorCalls.cs:72:9:72:12 | After dynamic access to element | AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | +| AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | AccessorCalls.cs:72:9:72:9 | access to local variable d | +| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:9:72:12 | After dynamic access to element | +| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:72:9:72:20 | After ... += ... | +| AccessorCalls.cs:72:9:72:20 | After ... += ... | AccessorCalls.cs:72:9:72:21 | After ...; | +| AccessorCalls.cs:72:9:72:20 | Before ... += ... | AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | +| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:72:9:72:20 | Before ... += ... | +| AccessorCalls.cs:72:9:72:21 | After ...; | AccessorCalls.cs:73:9:73:84 | ...; | | AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:72:9:72:12 | dynamic access to element | | AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:72:19:72:19 | 1 | -| AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:9:72:20 | ... += ... | +| AccessorCalls.cs:72:17:72:20 | After dynamic access to element | AccessorCalls.cs:72:9:72:20 | ... += ... | +| AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | AccessorCalls.cs:72:17:72:17 | access to local variable d | +| AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:17:72:20 | After dynamic access to element | | AccessorCalls.cs:72:19:72:19 | 1 | AccessorCalls.cs:72:17:72:20 | dynamic access to element | -| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:49:73:49 | access to local variable d | -| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | -| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:73:10:73:10 | access to local variable d | -| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:24:73:27 | this access | -| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:24:73:32 | access to property Prop | -| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:39:73:39 | access to local variable d | -| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:39:73:42 | dynamic access to element | -| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | +| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:9:73:44 | After (..., ...) | +| AccessorCalls.cs:73:9:73:44 | After (..., ...) | AccessorCalls.cs:73:48:73:83 | Before (..., ...) | +| AccessorCalls.cs:73:9:73:44 | Before (..., ...) | AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:73:9:73:83 | After ... = ... | +| AccessorCalls.cs:73:9:73:83 | After ... = ... | AccessorCalls.cs:73:9:73:84 | After ...; | +| AccessorCalls.cs:73:9:73:83 | Before ... = ... | AccessorCalls.cs:73:9:73:44 | Before (..., ...) | +| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:73:9:73:83 | Before ... = ... | +| AccessorCalls.cs:73:9:73:84 | After ...; | AccessorCalls.cs:67:5:74:5 | After {...} | +| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:73:24:73:32 | Before access to property Prop | +| AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:10 | access to local variable d | +| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:24:73:32 | access to property Prop | +| AccessorCalls.cs:73:24:73:32 | After access to property Prop | AccessorCalls.cs:73:35:73:43 | Before (..., ...) | +| AccessorCalls.cs:73:24:73:32 | Before access to property Prop | AccessorCalls.cs:73:24:73:27 | this access | +| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:24:73:32 | After access to property Prop | +| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:35:73:43 | After (..., ...) | +| AccessorCalls.cs:73:35:73:43 | After (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | +| AccessorCalls.cs:73:35:73:43 | Before (..., ...) | AccessorCalls.cs:73:36:73:36 | access to parameter i | +| AccessorCalls.cs:73:36:73:36 | access to parameter i | AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | | AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:41:73:41 | 0 | -| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:9:73:83 | ... = ... | -| AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:35:73:43 | (..., ...) | -| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:39:73:42 | After dynamic access to element | AccessorCalls.cs:73:35:73:43 | (..., ...) | +| AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | AccessorCalls.cs:73:39:73:39 | access to local variable d | +| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:39:73:42 | After dynamic access to element | +| AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:39:73:42 | dynamic access to element | +| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:48:73:83 | After (..., ...) | +| AccessorCalls.cs:73:48:73:83 | After (..., ...) | AccessorCalls.cs:73:9:73:83 | ... = ... | +| AccessorCalls.cs:73:48:73:83 | Before (..., ...) | AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | | AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | -| AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:63:73:66 | this access | +| AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:73:63:73:71 | Before access to property Prop | +| AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:49 | access to local variable d | +| AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | | AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:73:63:73:71 | access to property Prop | -| AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:75:73:75 | 0 | -| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | -| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:78:73:78 | access to local variable d | +| AccessorCalls.cs:73:63:73:71 | After access to property Prop | AccessorCalls.cs:73:74:73:82 | Before (..., ...) | +| AccessorCalls.cs:73:63:73:71 | Before access to property Prop | AccessorCalls.cs:73:63:73:66 | this access | +| AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:63:73:71 | After access to property Prop | +| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:74:73:82 | After (..., ...) | +| AccessorCalls.cs:73:74:73:82 | After (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | +| AccessorCalls.cs:73:74:73:82 | Before (..., ...) | AccessorCalls.cs:73:75:73:75 | 0 | +| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | | AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:73:80:73:80 | 1 | -| AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:74:73:82 | (..., ...) | +| AccessorCalls.cs:73:78:73:81 | After dynamic access to element | AccessorCalls.cs:73:74:73:82 | (..., ...) | +| AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | AccessorCalls.cs:73:78:73:78 | access to local variable d | +| AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:78:73:81 | After dynamic access to element | | AccessorCalls.cs:73:80:73:80 | 1 | AccessorCalls.cs:73:78:73:81 | dynamic access to element | -| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | {...} | -| ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | call to constructor Object | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | this access | -| ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | After call to constructor Object | ArrayCreation.cs:1:7:1:19 | {...} | +| ArrayCreation.cs:1:7:1:19 | After call to method | ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | +| ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | ArrayCreation.cs:1:7:1:19 | call to constructor Object | +| ArrayCreation.cs:1:7:1:19 | Before call to method | ArrayCreation.cs:1:7:1:19 | this access | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | Before call to method | +| ArrayCreation.cs:1:7:1:19 | Normal Exit | ArrayCreation.cs:1:7:1:19 | Exit | +| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | After call to constructor Object | +| ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | After call to method | | ArrayCreation.cs:1:7:1:19 | this access | ArrayCreation.cs:1:7:1:19 | call to method | -| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:27:3:27 | 0 | -| ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | ArrayCreation.cs:3:11:3:12 | exit M1 | -| ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | +| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | Normal Exit | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | +| ArrayCreation.cs:3:11:3:12 | Normal Exit | ArrayCreation.cs:3:11:3:12 | Exit | +| ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | Normal Exit | +| ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | ArrayCreation.cs:3:27:3:27 | 0 | +| ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | | ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:28:5:28 | 0 | -| ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | ArrayCreation.cs:5:12:5:13 | exit M2 | -| ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | +| ArrayCreation.cs:5:12:5:13 | Normal Exit | ArrayCreation.cs:5:12:5:13 | Exit | +| ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | Normal Exit | +| ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | ArrayCreation.cs:5:28:5:28 | 0 | +| ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | | ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:31:5:31 | 1 | | ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:19:7:36 | 2 | -| ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | ArrayCreation.cs:7:11:7:12 | exit M3 | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | +| ArrayCreation.cs:7:11:7:12 | Normal Exit | ArrayCreation.cs:7:11:7:12 | Exit | | ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | -| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:31:7:31 | 0 | -| ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | +| ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | ArrayCreation.cs:7:11:7:12 | Normal Exit | +| ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | +| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | +| ArrayCreation.cs:7:29:7:36 | After { ..., ... } | ArrayCreation.cs:7:19:7:36 | 2 | +| ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | ArrayCreation.cs:7:31:7:31 | 0 | +| ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:29:7:36 | After { ..., ... } | | ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:34:7:34 | 1 | | ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:29:7:36 | { ..., ... } | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:20:9:52 | 2 | -| ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | ArrayCreation.cs:9:12:9:13 | exit M4 | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | +| ArrayCreation.cs:9:12:9:13 | Normal Exit | ArrayCreation.cs:9:12:9:13 | Exit | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | -| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:35:9:35 | 0 | -| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | -| ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:45:9:45 | 2 | +| ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | ArrayCreation.cs:9:12:9:13 | Normal Exit | +| ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | +| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | +| ArrayCreation.cs:9:31:9:52 | After { ..., ... } | ArrayCreation.cs:9:20:9:52 | 2 | +| ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | +| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:31:9:52 | After { ..., ... } | +| ArrayCreation.cs:9:33:9:40 | After { ..., ... } | ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | +| ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | ArrayCreation.cs:9:35:9:35 | 0 | +| ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:33:9:40 | After { ..., ... } | | ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:38:9:38 | 1 | | ArrayCreation.cs:9:38:9:38 | 1 | ArrayCreation.cs:9:33:9:40 | { ..., ... } | -| ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | +| ArrayCreation.cs:9:43:9:50 | After { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | +| ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | ArrayCreation.cs:9:45:9:45 | 2 | +| ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:43:9:50 | After { ..., ... } | | ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:48:9:48 | 3 | | ArrayCreation.cs:9:48:9:48 | 3 | ArrayCreation.cs:9:43:9:50 | { ..., ... } | -| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | {...} | -| Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | call to constructor Object | -| Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | this access | -| Assert.cs:5:7:5:17 | exit AssertTests (normal) | Assert.cs:5:7:5:17 | exit AssertTests | +| Assert.cs:5:7:5:17 | After call to constructor Object | Assert.cs:5:7:5:17 | {...} | +| Assert.cs:5:7:5:17 | After call to method | Assert.cs:5:7:5:17 | Before call to constructor Object | +| Assert.cs:5:7:5:17 | Before call to constructor Object | Assert.cs:5:7:5:17 | call to constructor Object | +| Assert.cs:5:7:5:17 | Before call to method | Assert.cs:5:7:5:17 | this access | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | Before call to method | +| Assert.cs:5:7:5:17 | Normal Exit | Assert.cs:5:7:5:17 | Exit | +| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | After call to constructor Object | +| Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | After call to method | | Assert.cs:5:7:5:17 | this access | Assert.cs:5:7:5:17 | call to method | -| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | exit AssertTests (normal) | -| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:8:5:12:5 | {...} | +| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | Normal Exit | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:8:5:12:5 | {...} | +| Assert.cs:8:5:12:5 | After {...} | Assert.cs:7:10:7:11 | Normal Exit | | Assert.cs:8:5:12:5 | {...} | Assert.cs:9:9:9:33 | ... ...; | -| Assert.cs:9:9:9:33 | ... ...; | Assert.cs:9:20:9:20 | access to parameter b | -| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:10:9:10:32 | ...; | -| 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 | 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:9:9:9:33 | ... ...; | Assert.cs:9:16:9:32 | Before String s = ... | +| Assert.cs:9:9:9:33 | After ... ...; | Assert.cs:10:9:10:32 | ...; | +| Assert.cs:9:16:9:16 | access to local variable s | Assert.cs:9:20:9:32 | ... ? ... : ... | +| Assert.cs:9:16:9:32 | After String s = ... | Assert.cs:9:9:9:33 | After ... ...; | +| Assert.cs:9:16:9:32 | Before String s = ... | Assert.cs:9:16:9:16 | access to local variable s | +| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:16:9:32 | After String s = ... | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:9:31:9:32 | "" | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:9:24:9:27 | null | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20:9:20 | access to parameter b | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:16:9:32 | String s = ... | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:10:9:10:32 | After ...; | +| Assert.cs:10:9:10:31 | Before call to method Assert | Assert.cs:10:22:10:30 | Before ... != ... | +| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:7:10:7:11 | Exceptional Exit | +| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:9:10:31 | After call to method Assert | +| Assert.cs:10:9:10:32 | ...; | Assert.cs:10:9:10:31 | Before call to method Assert | +| Assert.cs:10:9:10:32 | After ...; | Assert.cs:11:9:11:36 | ...; | | 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 | call to method Assert | +| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:30 | After ... != ... | +| Assert.cs:10:22:10:30 | After ... != ... | Assert.cs:10:9:10:31 | call to method Assert | +| Assert.cs:10:22:10:30 | Before ... != ... | 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: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 | +| Assert.cs:11:9:11:35 | After call to method WriteLine | Assert.cs:11:9:11:36 | After ...; | +| Assert.cs:11:9:11:35 | Before call to method WriteLine | Assert.cs:11:27:11:34 | Before access to property Length | +| Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:11:9:11:35 | After call to method WriteLine | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:11:9:11:35 | Before call to method WriteLine | +| Assert.cs:11:9:11:36 | After ...; | Assert.cs:8:5:12:5 | After {...} | | Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:11:27:11:34 | access to property Length | -| Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:9:11:35 | call to method WriteLine | -| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:15:5:19:5 | {...} | +| Assert.cs:11:27:11:34 | After access to property Length | Assert.cs:11:9:11:35 | call to method WriteLine | +| Assert.cs:11:27:11:34 | Before access to property Length | Assert.cs:11:27:11:27 | access to local variable s | +| Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:27:11:34 | After access to property Length | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:15:5:19:5 | {...} | +| Assert.cs:15:5:19:5 | After {...} | Assert.cs:14:10:14:11 | Normal Exit | | Assert.cs:15:5:19:5 | {...} | Assert.cs:16:9:16:33 | ... ...; | -| Assert.cs:16:9:16:33 | ... ...; | Assert.cs:16:20:16:20 | access to parameter b | -| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:17:9:17:25 | ...; | -| 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 | 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:16:9:16:33 | ... ...; | Assert.cs:16:16:16:32 | Before String s = ... | +| Assert.cs:16:9:16:33 | After ... ...; | Assert.cs:17:9:17:25 | ...; | +| Assert.cs:16:16:16:16 | access to local variable s | Assert.cs:16:20:16:32 | ... ? ... : ... | +| Assert.cs:16:16:16:32 | After String s = ... | Assert.cs:16:9:16:33 | After ... ...; | +| Assert.cs:16:16:16:32 | Before String s = ... | Assert.cs:16:16:16:16 | access to local variable s | +| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:16:16:32 | After String s = ... | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:16:31:16:32 | "" | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:16:24:16:27 | null | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20:16:20 | access to parameter b | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:16:16:32 | String s = ... | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:17:9:17:25 | After ...; | +| Assert.cs:17:9:17:24 | Before 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:14:10:14:11 | Exceptional Exit | +| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:17:9:17:24 | After call to method IsNull | +| Assert.cs:17:9:17:25 | ...; | Assert.cs:17:9:17:24 | Before call to method IsNull | +| Assert.cs:17:9:17:25 | After ...; | Assert.cs:18:9:18:36 | ...; | | 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:9:18:35 | After call to method WriteLine | Assert.cs:18:9:18:36 | After ...; | +| Assert.cs:18:9:18:35 | Before call to method WriteLine | Assert.cs:18:27:18:34 | Before access to property Length | +| Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:18:9:18:35 | After call to method WriteLine | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:18:9:18:35 | Before call to method WriteLine | +| Assert.cs:18:9:18:36 | After ...; | Assert.cs:15:5:19:5 | After {...} | | Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:18:27:18:34 | access to property Length | -| Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:9:18:35 | call to method WriteLine | -| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:22:5:26:5 | {...} | +| Assert.cs:18:27:18:34 | After access to property Length | Assert.cs:18:9:18:35 | call to method WriteLine | +| Assert.cs:18:27:18:34 | Before access to property Length | Assert.cs:18:27:18:27 | access to local variable s | +| Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:27:18:34 | After access to property Length | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:22:5:26:5 | {...} | +| Assert.cs:22:5:26:5 | After {...} | Assert.cs:21:10:21:11 | Normal Exit | | Assert.cs:22:5:26:5 | {...} | Assert.cs:23:9:23:33 | ... ...; | -| Assert.cs:23:9:23:33 | ... ...; | Assert.cs:23:20:23:20 | access to parameter b | -| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:24:9:24:28 | ...; | -| 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 | 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:23:9:23:33 | ... ...; | Assert.cs:23:16:23:32 | Before String s = ... | +| Assert.cs:23:9:23:33 | After ... ...; | Assert.cs:24:9:24:28 | ...; | +| Assert.cs:23:16:23:16 | access to local variable s | Assert.cs:23:20:23:32 | ... ? ... : ... | +| Assert.cs:23:16:23:32 | After String s = ... | Assert.cs:23:9:23:33 | After ... ...; | +| Assert.cs:23:16:23:32 | Before String s = ... | Assert.cs:23:16:23:16 | access to local variable s | +| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:16:23:32 | After String s = ... | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:23:31:23:32 | "" | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:23:24:23:27 | null | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20:23:20 | access to parameter b | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:16:23:32 | String s = ... | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:24:9:24:28 | After ...; | +| Assert.cs:24:9:24:27 | Before 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:21:10:21:11 | Exceptional Exit | +| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:24:9:24:27 | After call to method IsNotNull | +| Assert.cs:24:9:24:28 | ...; | Assert.cs:24:9:24:27 | Before call to method IsNotNull | +| Assert.cs:24:9:24:28 | After ...; | Assert.cs:25:9:25:36 | ...; | | 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:9:25:35 | After call to method WriteLine | Assert.cs:25:9:25:36 | After ...; | +| Assert.cs:25:9:25:35 | Before call to method WriteLine | Assert.cs:25:27:25:34 | Before access to property Length | +| Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:25:9:25:35 | After call to method WriteLine | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:25:9:25:35 | Before call to method WriteLine | +| Assert.cs:25:9:25:36 | After ...; | Assert.cs:22:5:26:5 | After {...} | | Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:25:27:25:34 | access to property Length | -| Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:9:25:35 | call to method WriteLine | -| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:29:5:33:5 | {...} | +| Assert.cs:25:27:25:34 | After access to property Length | Assert.cs:25:9:25:35 | call to method WriteLine | +| Assert.cs:25:27:25:34 | Before access to property Length | Assert.cs:25:27:25:27 | access to local variable s | +| Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:27:25:34 | After access to property Length | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:29:5:33:5 | {...} | +| Assert.cs:29:5:33:5 | After {...} | Assert.cs:28:10:28:11 | Normal Exit | | Assert.cs:29:5:33:5 | {...} | Assert.cs:30:9:30:33 | ... ...; | -| Assert.cs:30:9:30:33 | ... ...; | Assert.cs:30:20:30:20 | access to parameter b | -| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:31:9:31:33 | ...; | -| 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 | 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:30:9:30:33 | ... ...; | Assert.cs:30:16:30:32 | Before String s = ... | +| Assert.cs:30:9:30:33 | After ... ...; | Assert.cs:31:9:31:33 | ...; | +| Assert.cs:30:16:30:16 | access to local variable s | Assert.cs:30:20:30:32 | ... ? ... : ... | +| Assert.cs:30:16:30:32 | After String s = ... | Assert.cs:30:9:30:33 | After ... ...; | +| Assert.cs:30:16:30:32 | Before String s = ... | Assert.cs:30:16:30:16 | access to local variable s | +| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:16:30:32 | After String s = ... | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:30:31:30:32 | "" | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:30:24:30:27 | null | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20:30:20 | access to parameter b | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:16:30:32 | String s = ... | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:31:9:31:33 | After ...; | +| Assert.cs:31:9:31:32 | Before call to method IsTrue | Assert.cs:31:23:31:31 | Before ... == ... | +| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:28:10:28:11 | Exceptional Exit | +| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:9:31:32 | After call to method IsTrue | +| Assert.cs:31:9:31:33 | ...; | Assert.cs:31:9:31:32 | Before call to method IsTrue | +| Assert.cs:31:9:31:33 | After ...; | Assert.cs:32:9:32:36 | ...; | | 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 | call to method IsTrue | +| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:31 | After ... == ... | +| Assert.cs:31:23:31:31 | After ... == ... | Assert.cs:31:9:31:32 | call to method IsTrue | +| Assert.cs:31:23:31:31 | Before ... == ... | 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: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 | +| Assert.cs:32:9:32:35 | After call to method WriteLine | Assert.cs:32:9:32:36 | After ...; | +| Assert.cs:32:9:32:35 | Before call to method WriteLine | Assert.cs:32:27:32:34 | Before access to property Length | +| Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:32:9:32:35 | After call to method WriteLine | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:32:9:32:35 | Before call to method WriteLine | +| Assert.cs:32:9:32:36 | After ...; | Assert.cs:29:5:33:5 | After {...} | | Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:32:27:32:34 | access to property Length | -| Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:9:32:35 | call to method WriteLine | -| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:36:5:40:5 | {...} | +| Assert.cs:32:27:32:34 | After access to property Length | Assert.cs:32:9:32:35 | call to method WriteLine | +| Assert.cs:32:27:32:34 | Before access to property Length | Assert.cs:32:27:32:27 | access to local variable s | +| Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:27:32:34 | After access to property Length | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:36:5:40:5 | {...} | +| Assert.cs:36:5:40:5 | After {...} | Assert.cs:35:10:35:11 | Normal Exit | | Assert.cs:36:5:40:5 | {...} | Assert.cs:37:9:37:33 | ... ...; | -| Assert.cs:37:9:37:33 | ... ...; | Assert.cs:37:20:37:20 | access to parameter b | -| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:38:9:38:33 | ...; | -| 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 | 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:37:9:37:33 | ... ...; | Assert.cs:37:16:37:32 | Before String s = ... | +| Assert.cs:37:9:37:33 | After ... ...; | Assert.cs:38:9:38:33 | ...; | +| Assert.cs:37:16:37:16 | access to local variable s | Assert.cs:37:20:37:32 | ... ? ... : ... | +| Assert.cs:37:16:37:32 | After String s = ... | Assert.cs:37:9:37:33 | After ... ...; | +| Assert.cs:37:16:37:32 | Before String s = ... | Assert.cs:37:16:37:16 | access to local variable s | +| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:16:37:32 | After String s = ... | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:37:31:37:32 | "" | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:37:24:37:27 | null | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20:37:20 | access to parameter b | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:16:37:32 | String s = ... | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:38:9:38:33 | After ...; | +| Assert.cs:38:9:38:32 | Before call to method IsTrue | Assert.cs:38:23:38:31 | Before ... != ... | +| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:35:10:35:11 | Exceptional Exit | +| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:9:38:32 | After call to method IsTrue | +| Assert.cs:38:9:38:33 | ...; | Assert.cs:38:9:38:32 | Before call to method IsTrue | +| Assert.cs:38:9:38:33 | After ...; | Assert.cs:39:9:39:36 | ...; | | 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 | call to method IsTrue | +| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:31 | After ... != ... | +| Assert.cs:38:23:38:31 | After ... != ... | Assert.cs:38:9:38:32 | call to method IsTrue | +| Assert.cs:38:23:38:31 | Before ... != ... | 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: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 | +| Assert.cs:39:9:39:35 | After call to method WriteLine | Assert.cs:39:9:39:36 | After ...; | +| Assert.cs:39:9:39:35 | Before call to method WriteLine | Assert.cs:39:27:39:34 | Before access to property Length | +| Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:39:9:39:35 | After call to method WriteLine | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:39:9:39:35 | Before call to method WriteLine | +| Assert.cs:39:9:39:36 | After ...; | Assert.cs:36:5:40:5 | After {...} | | Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:39:27:39:34 | access to property Length | -| Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:9:39:35 | call to method WriteLine | -| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:43:5:47:5 | {...} | +| Assert.cs:39:27:39:34 | After access to property Length | Assert.cs:39:9:39:35 | call to method WriteLine | +| Assert.cs:39:27:39:34 | Before access to property Length | Assert.cs:39:27:39:27 | access to local variable s | +| Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:27:39:34 | After access to property Length | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:43:5:47:5 | {...} | +| Assert.cs:43:5:47:5 | After {...} | Assert.cs:42:10:42:11 | Normal Exit | | Assert.cs:43:5:47:5 | {...} | Assert.cs:44:9:44:33 | ... ...; | -| Assert.cs:44:9:44:33 | ... ...; | Assert.cs:44:20:44:20 | access to parameter b | -| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:45:9:45:34 | ...; | -| 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 | 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:44:9:44:33 | ... ...; | Assert.cs:44:16:44:32 | Before String s = ... | +| Assert.cs:44:9:44:33 | After ... ...; | Assert.cs:45:9:45:34 | ...; | +| Assert.cs:44:16:44:16 | access to local variable s | Assert.cs:44:20:44:32 | ... ? ... : ... | +| Assert.cs:44:16:44:32 | After String s = ... | Assert.cs:44:9:44:33 | After ... ...; | +| Assert.cs:44:16:44:32 | Before String s = ... | Assert.cs:44:16:44:16 | access to local variable s | +| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:16:44:32 | After String s = ... | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:44:31:44:32 | "" | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:44:24:44:27 | null | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20:44:20 | access to parameter b | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:16:44:32 | String s = ... | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:45:9:45:34 | After ...; | +| Assert.cs:45:9:45:33 | Before call to method IsFalse | Assert.cs:45:24:45:32 | Before ... != ... | +| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:42:10:42:11 | Exceptional Exit | +| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:9:45:33 | After call to method IsFalse | +| Assert.cs:45:9:45:34 | ...; | Assert.cs:45:9:45:33 | Before call to method IsFalse | +| Assert.cs:45:9:45:34 | After ...; | Assert.cs:46:9:46:36 | ...; | | 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 | call to method IsFalse | +| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:32 | After ... != ... | +| Assert.cs:45:24:45:32 | After ... != ... | Assert.cs:45:9:45:33 | call to method IsFalse | +| Assert.cs:45:24:45:32 | Before ... != ... | 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: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 | +| Assert.cs:46:9:46:35 | After call to method WriteLine | Assert.cs:46:9:46:36 | After ...; | +| Assert.cs:46:9:46:35 | Before call to method WriteLine | Assert.cs:46:27:46:34 | Before access to property Length | +| Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:46:9:46:35 | After call to method WriteLine | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:46:9:46:35 | Before call to method WriteLine | +| Assert.cs:46:9:46:36 | After ...; | Assert.cs:43:5:47:5 | After {...} | | Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:46:27:46:34 | access to property Length | -| Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:9:46:35 | call to method WriteLine | -| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:50:5:54:5 | {...} | +| Assert.cs:46:27:46:34 | After access to property Length | Assert.cs:46:9:46:35 | call to method WriteLine | +| Assert.cs:46:27:46:34 | Before access to property Length | Assert.cs:46:27:46:27 | access to local variable s | +| Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:27:46:34 | After access to property Length | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:50:5:54:5 | {...} | +| Assert.cs:50:5:54:5 | After {...} | Assert.cs:49:10:49:11 | Normal Exit | | Assert.cs:50:5:54:5 | {...} | Assert.cs:51:9:51:33 | ... ...; | -| Assert.cs:51:9:51:33 | ... ...; | Assert.cs:51:20:51:20 | access to parameter b | -| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:52:9:52:34 | ...; | -| 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 | 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:51:9:51:33 | ... ...; | Assert.cs:51:16:51:32 | Before String s = ... | +| Assert.cs:51:9:51:33 | After ... ...; | Assert.cs:52:9:52:34 | ...; | +| Assert.cs:51:16:51:16 | access to local variable s | Assert.cs:51:20:51:32 | ... ? ... : ... | +| Assert.cs:51:16:51:32 | After String s = ... | Assert.cs:51:9:51:33 | After ... ...; | +| Assert.cs:51:16:51:32 | Before String s = ... | Assert.cs:51:16:51:16 | access to local variable s | +| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:16:51:32 | After String s = ... | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:51:31:51:32 | "" | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:51:24:51:27 | null | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20:51:20 | access to parameter b | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:16:51:32 | String s = ... | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:52:9:52:34 | After ...; | +| Assert.cs:52:9:52:33 | Before call to method IsFalse | Assert.cs:52:24:52:32 | Before ... == ... | +| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:49:10:49:11 | Exceptional Exit | +| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:9:52:33 | After call to method IsFalse | +| Assert.cs:52:9:52:34 | ...; | Assert.cs:52:9:52:33 | Before call to method IsFalse | +| Assert.cs:52:9:52:34 | After ...; | Assert.cs:53:9:53:36 | ...; | | 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 | call to method IsFalse | +| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:32 | After ... == ... | +| Assert.cs:52:24:52:32 | After ... == ... | Assert.cs:52:9:52:33 | call to method IsFalse | +| Assert.cs:52:24:52:32 | Before ... == ... | 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: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 | +| Assert.cs:53:9:53:35 | After call to method WriteLine | Assert.cs:53:9:53:36 | After ...; | +| Assert.cs:53:9:53:35 | Before call to method WriteLine | Assert.cs:53:27:53:34 | Before access to property Length | +| Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:53:9:53:35 | After call to method WriteLine | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:53:9:53:35 | Before call to method WriteLine | +| Assert.cs:53:9:53:36 | After ...; | Assert.cs:50:5:54:5 | After {...} | | Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:53:27:53:34 | access to property Length | -| Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:9:53:35 | call to method WriteLine | -| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:57:5:61:5 | {...} | +| Assert.cs:53:27:53:34 | After access to property Length | Assert.cs:53:9:53:35 | call to method WriteLine | +| Assert.cs:53:27:53:34 | Before access to property Length | Assert.cs:53:27:53:27 | access to local variable s | +| Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:27:53:34 | After access to property Length | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:57:5:61:5 | {...} | +| Assert.cs:57:5:61:5 | After {...} | Assert.cs:56:10:56:11 | Normal Exit | | Assert.cs:57:5:61:5 | {...} | Assert.cs:58:9:58:33 | ... ...; | -| Assert.cs:58:9:58:33 | ... ...; | Assert.cs:58:20:58:20 | access to parameter b | -| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:59:9:59:38 | ...; | -| 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 | 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:58:9:58:33 | ... ...; | Assert.cs:58:16:58:32 | Before String s = ... | +| Assert.cs:58:9:58:33 | After ... ...; | Assert.cs:59:9:59:38 | ...; | +| Assert.cs:58:16:58:16 | access to local variable s | Assert.cs:58:20:58:32 | ... ? ... : ... | +| Assert.cs:58:16:58:32 | After String s = ... | Assert.cs:58:9:58:33 | After ... ...; | +| Assert.cs:58:16:58:32 | Before String s = ... | Assert.cs:58:16:58:16 | access to local variable s | +| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:16:58:32 | After String s = ... | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:58:31:58:32 | "" | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:58:24:58:27 | null | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:16:58:32 | String s = ... | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:9:59:38 | After ...; | +| Assert.cs:59:9:59:37 | Before call to method IsTrue | Assert.cs:59:23:59:36 | ... && ... | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:56:10:56:11 | Exceptional Exit | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:59:9:59:38 | ...; | Assert.cs:59:9:59:37 | Before call to method IsTrue | +| Assert.cs:59:9:59:38 | After ...; | Assert.cs:60:9:60:36 | ...; | | 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 | ... && ... | -| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:36:59:36 | access to parameter b | -| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:9:59:37 | call to method IsTrue | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:59:36:59:36 | access to parameter b | +| Assert.cs:59:23:59:31 | Before ... != ... | Assert.cs:59:23:59:23 | access to local variable s | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:31 | Before ... != ... | +| Assert.cs:59:23:59:36 | After ... && ... | 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: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:9:60:35 | After call to method WriteLine | Assert.cs:60:9:60:36 | After ...; | +| Assert.cs:60:9:60:35 | Before call to method WriteLine | Assert.cs:60:27:60:34 | Before access to property Length | +| Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:60:9:60:35 | After call to method WriteLine | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:60:9:60:35 | Before call to method WriteLine | +| Assert.cs:60:9:60:36 | After ...; | Assert.cs:57:5:61:5 | After {...} | | Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:60:27:60:34 | access to property Length | -| Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:9:60:35 | call to method WriteLine | -| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:64:5:68:5 | {...} | +| Assert.cs:60:27:60:34 | After access to property Length | Assert.cs:60:9:60:35 | call to method WriteLine | +| Assert.cs:60:27:60:34 | Before access to property Length | Assert.cs:60:27:60:27 | access to local variable s | +| Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:27:60:34 | After access to property Length | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:64:5:68:5 | {...} | +| Assert.cs:64:5:68:5 | After {...} | Assert.cs:63:10:63:11 | Normal Exit | | Assert.cs:64:5:68:5 | {...} | Assert.cs:65:9:65:33 | ... ...; | -| Assert.cs:65:9:65:33 | ... ...; | Assert.cs:65:20:65:20 | access to parameter b | -| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:66:9:66:39 | ...; | -| 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 | 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:65:9:65:33 | ... ...; | Assert.cs:65:16:65:32 | Before String s = ... | +| Assert.cs:65:9:65:33 | After ... ...; | Assert.cs:66:9:66:39 | ...; | +| Assert.cs:65:16:65:16 | access to local variable s | Assert.cs:65:20:65:32 | ... ? ... : ... | +| Assert.cs:65:16:65:32 | After String s = ... | Assert.cs:65:9:65:33 | After ... ...; | +| Assert.cs:65:16:65:32 | Before String s = ... | Assert.cs:65:16:65:16 | access to local variable s | +| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:16:65:32 | After String s = ... | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:65:31:65:32 | "" | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:65:24:65:27 | null | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:16:65:32 | String s = ... | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:9:66:39 | After ...; | +| Assert.cs:66:9:66:38 | Before call to method IsFalse | Assert.cs:66:24:66:37 | ... \|\| ... | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:63:10:63:11 | Exceptional Exit | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:66:9:66:39 | ...; | Assert.cs:66:9:66:38 | Before call to method IsFalse | +| Assert.cs:66:9:66:39 | After ...; | Assert.cs:67:9:67:36 | ...; | | 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 | ... \|\| ... | -| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:37:66:37 | access to parameter b | -| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:9:66:38 | call to method IsFalse | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:66:24:66:32 | After ... == ... [false] | Assert.cs:66:37:66:37 | access to parameter b | +| Assert.cs:66:24:66:32 | Before ... == ... | Assert.cs:66:24:66:24 | access to local variable s | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:32 | Before ... == ... | +| Assert.cs:66:24:66:37 | After ... \|\| ... | 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: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:9:67:35 | After call to method WriteLine | Assert.cs:67:9:67:36 | After ...; | +| Assert.cs:67:9:67:35 | Before call to method WriteLine | Assert.cs:67:27:67:34 | Before access to property Length | +| Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:67:9:67:35 | After call to method WriteLine | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:67:9:67:35 | Before call to method WriteLine | +| Assert.cs:67:9:67:36 | After ...; | Assert.cs:64:5:68:5 | After {...} | | Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:67:27:67:34 | access to property Length | -| Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:9:67:35 | call to method WriteLine | -| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:71:5:75:5 | {...} | +| Assert.cs:67:27:67:34 | After access to property Length | Assert.cs:67:9:67:35 | call to method WriteLine | +| Assert.cs:67:27:67:34 | Before access to property Length | Assert.cs:67:27:67:27 | access to local variable s | +| Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:27:67:34 | After access to property Length | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:71:5:75:5 | {...} | +| Assert.cs:71:5:75:5 | After {...} | Assert.cs:70:10:70:12 | Normal Exit | | Assert.cs:71:5:75:5 | {...} | Assert.cs:72:9:72:33 | ... ...; | -| Assert.cs:72:9:72:33 | ... ...; | Assert.cs:72:20:72:20 | access to parameter b | -| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:73:9:73:38 | ...; | -| 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 | 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:72:9:72:33 | ... ...; | Assert.cs:72:16:72:32 | Before String s = ... | +| Assert.cs:72:9:72:33 | After ... ...; | Assert.cs:73:9:73:38 | ...; | +| Assert.cs:72:16:72:16 | access to local variable s | Assert.cs:72:20:72:32 | ... ? ... : ... | +| Assert.cs:72:16:72:32 | After String s = ... | Assert.cs:72:9:72:33 | After ... ...; | +| Assert.cs:72:16:72:32 | Before String s = ... | Assert.cs:72:16:72:16 | access to local variable s | +| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:16:72:32 | After String s = ... | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:72:31:72:32 | "" | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:72:24:72:27 | null | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:20 | access to parameter b | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:16:72:32 | String s = ... | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:9:73:38 | After ...; | +| Assert.cs:73:9:73:37 | Before call to method IsTrue | Assert.cs:73:23:73:36 | ... && ... | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:70:10:70:12 | Exceptional Exit | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:73:9:73:38 | ...; | Assert.cs:73:9:73:37 | Before call to method IsTrue | +| Assert.cs:73:9:73:38 | After ...; | Assert.cs:74:9:74:36 | ...; | | 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 | ... && ... | -| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:36:73:36 | access to parameter b | -| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:9:73:37 | call to method IsTrue | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:73:36:73:36 | access to parameter b | +| Assert.cs:73:23:73:31 | Before ... == ... | Assert.cs:73:23:73:23 | access to local variable s | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:31 | Before ... == ... | +| Assert.cs:73:23:73:36 | After ... && ... | 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: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:9:74:35 | After call to method WriteLine | Assert.cs:74:9:74:36 | After ...; | +| Assert.cs:74:9:74:35 | Before call to method WriteLine | Assert.cs:74:27:74:34 | Before access to property Length | +| Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:74:9:74:35 | After call to method WriteLine | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:74:9:74:35 | Before call to method WriteLine | +| Assert.cs:74:9:74:36 | After ...; | Assert.cs:71:5:75:5 | After {...} | | Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:74:27:74:34 | access to property Length | -| Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:9:74:35 | call to method WriteLine | -| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:78:5:82:5 | {...} | +| Assert.cs:74:27:74:34 | After access to property Length | Assert.cs:74:9:74:35 | call to method WriteLine | +| Assert.cs:74:27:74:34 | Before access to property Length | Assert.cs:74:27:74:27 | access to local variable s | +| Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:27:74:34 | After access to property Length | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:78:5:82:5 | {...} | +| Assert.cs:78:5:82:5 | After {...} | Assert.cs:77:10:77:12 | Normal Exit | | Assert.cs:78:5:82:5 | {...} | Assert.cs:79:9:79:33 | ... ...; | -| Assert.cs:79:9:79:33 | ... ...; | Assert.cs:79:20:79:20 | access to parameter b | -| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:80:9:80:39 | ...; | -| 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 | 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:79:9:79:33 | ... ...; | Assert.cs:79:16:79:32 | Before String s = ... | +| Assert.cs:79:9:79:33 | After ... ...; | Assert.cs:80:9:80:39 | ...; | +| Assert.cs:79:16:79:16 | access to local variable s | Assert.cs:79:20:79:32 | ... ? ... : ... | +| Assert.cs:79:16:79:32 | After String s = ... | Assert.cs:79:9:79:33 | After ... ...; | +| Assert.cs:79:16:79:32 | Before String s = ... | Assert.cs:79:16:79:16 | access to local variable s | +| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:16:79:32 | After String s = ... | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:79:31:79:32 | "" | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:79:24:79:27 | null | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:20 | access to parameter b | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:16:79:32 | String s = ... | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:9:80:39 | After ...; | +| Assert.cs:80:9:80:38 | Before call to method IsFalse | Assert.cs:80:24:80:37 | ... \|\| ... | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:77:10:77:12 | Exceptional Exit | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:80:9:80:39 | ...; | Assert.cs:80:9:80:38 | Before call to method IsFalse | +| Assert.cs:80:9:80:39 | After ...; | Assert.cs:81:9:81:36 | ...; | | 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 | ... \|\| ... | -| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:37:80:37 | access to parameter b | -| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:9:80:38 | call to method IsFalse | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:80:24:80:32 | After ... != ... [false] | Assert.cs:80:37:80:37 | access to parameter b | +| Assert.cs:80:24:80:32 | Before ... != ... | Assert.cs:80:24:80:24 | access to local variable s | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:32 | Before ... != ... | +| Assert.cs:80:24:80:37 | After ... \|\| ... | 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: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:9:81:35 | After call to method WriteLine | Assert.cs:81:9:81:36 | After ...; | +| Assert.cs:81:9:81:35 | Before call to method WriteLine | Assert.cs:81:27:81:34 | Before access to property Length | +| Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:81:9:81:35 | After call to method WriteLine | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:81:9:81:35 | Before call to method WriteLine | +| Assert.cs:81:9:81:36 | After ...; | Assert.cs:78:5:82:5 | After {...} | | Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:81:27:81:34 | access to property Length | -| Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:9:81:35 | call to method WriteLine | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:85:5:129:5 | {...} | +| Assert.cs:81:27:81:34 | After access to property Length | Assert.cs:81:9:81:35 | call to method WriteLine | +| Assert.cs:81:27:81:34 | Before access to property Length | Assert.cs:81:27:81:27 | access to local variable s | +| Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:27:81:34 | After access to property Length | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:85:5:129:5 | {...} | +| Assert.cs:85:5:129:5 | After {...} | Assert.cs:84:10:84:12 | Normal Exit | | Assert.cs:85:5:129:5 | {...} | Assert.cs:86:9:86:33 | ... ...; | -| Assert.cs:86:9:86:33 | ... ...; | Assert.cs:86:20:86:20 | access to parameter b | -| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:87:9:87:32 | ...; | -| 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 | 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:86:9:86:33 | ... ...; | Assert.cs:86:16:86:32 | Before String s = ... | +| Assert.cs:86:9:86:33 | After ... ...; | Assert.cs:87:9:87:32 | ...; | +| Assert.cs:86:16:86:16 | access to local variable s | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:86:16:86:32 | After String s = ... | Assert.cs:86:9:86:33 | After ... ...; | +| Assert.cs:86:16:86:32 | Before String s = ... | Assert.cs:86:16:86:16 | access to local variable s | +| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:16:86:32 | After String s = ... | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:86:31:86:32 | "" | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:86:24:86:27 | null | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20:86:20 | access to parameter b | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:16:86:32 | String s = ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:87:9:87:32 | After ...; | +| Assert.cs:87:9:87:31 | Before call to method Assert | Assert.cs:87:22:87:30 | Before ... != ... | +| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:84:10:84:12 | Exceptional Exit | +| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:87:9:87:32 | ...; | Assert.cs:87:9:87:31 | Before call to method Assert | +| Assert.cs:87:9:87:32 | After ...; | Assert.cs:88:9:88:36 | ...; | | 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 | call to method Assert | +| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:22:87:30 | After ... != ... | +| Assert.cs:87:22:87:30 | After ... != ... | Assert.cs:87:9:87:31 | call to method Assert | +| Assert.cs:87:22:87:30 | Before ... != ... | 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: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 | +| Assert.cs:88:9:88:35 | After call to method WriteLine | Assert.cs:88:9:88:36 | After ...; | +| Assert.cs:88:9:88:35 | Before call to method WriteLine | Assert.cs:88:27:88:34 | Before access to property Length | +| Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:88:9:88:35 | After call to method WriteLine | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:88:9:88:35 | Before call to method WriteLine | +| Assert.cs:88:9:88:36 | After ...; | Assert.cs:90:9:90:26 | ...; | | Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:88:27:88:34 | access to property Length | -| Assert.cs:88:27:88:34 | access to property Length | Assert.cs:88:9:88:35 | call to method WriteLine | -| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:91:9:91:25 | ...; | -| Assert.cs:90:9:90:26 | ...; | Assert.cs:90:13:90:13 | access to parameter b | -| 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 | 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:88:27:88:34 | After access to property Length | Assert.cs:88:9:88:35 | call to method WriteLine | +| Assert.cs:88:27:88:34 | Before access to property Length | Assert.cs:88:27:88:27 | access to local variable s | +| Assert.cs:88:27:88:34 | access to property Length | Assert.cs:88:27:88:34 | After access to property Length | +| Assert.cs:90:9:90:9 | access to local variable s | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:90:9:90:25 | After ... = ... | +| Assert.cs:90:9:90:25 | After ... = ... | Assert.cs:90:9:90:26 | After ...; | +| Assert.cs:90:9:90:25 | Before ... = ... | Assert.cs:90:9:90:9 | access to local variable s | +| Assert.cs:90:9:90:26 | ...; | Assert.cs:90:9:90:25 | Before ... = ... | +| Assert.cs:90:9:90:26 | After ...; | Assert.cs:91:9:91:25 | ...; | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:90:24:90:25 | "" | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:90:17:90:20 | null | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13:90:13 | access to parameter b | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:9:90:25 | ... = ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:91:9:91:25 | After ...; | +| Assert.cs:91:9:91:24 | Before 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:9:91:24 | After call to method IsNull | +| Assert.cs:91:9:91:25 | ...; | Assert.cs:91:9:91:24 | Before call to method IsNull | +| Assert.cs:91:9:91:25 | After ...; | Assert.cs:92:9:92:36 | ...; | | 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:9:92:35 | After call to method WriteLine | Assert.cs:92:9:92:36 | After ...; | +| Assert.cs:92:9:92:35 | Before call to method WriteLine | Assert.cs:92:27:92:34 | Before access to property Length | +| Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:92:9:92:35 | After call to method WriteLine | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:92:9:92:35 | Before call to method WriteLine | +| Assert.cs:92:9:92:36 | After ...; | Assert.cs:94:9:94:26 | ...; | | Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:92:27:92:34 | access to property Length | -| Assert.cs:92:27:92:34 | access to property Length | Assert.cs:92:9:92:35 | call to method WriteLine | -| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:95:9:95:28 | ...; | -| Assert.cs:94:9:94:26 | ...; | Assert.cs:94:13:94:13 | access to parameter b | -| 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 | 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:92:27:92:34 | After access to property Length | Assert.cs:92:9:92:35 | call to method WriteLine | +| Assert.cs:92:27:92:34 | Before access to property Length | Assert.cs:92:27:92:27 | access to local variable s | +| Assert.cs:92:27:92:34 | access to property Length | Assert.cs:92:27:92:34 | After access to property Length | +| Assert.cs:94:9:94:9 | access to local variable s | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:9:94:25 | After ... = ... | +| Assert.cs:94:9:94:25 | After ... = ... | Assert.cs:94:9:94:26 | After ...; | +| Assert.cs:94:9:94:25 | Before ... = ... | Assert.cs:94:9:94:9 | access to local variable s | +| Assert.cs:94:9:94:26 | ...; | Assert.cs:94:9:94:25 | Before ... = ... | +| Assert.cs:94:9:94:26 | After ...; | Assert.cs:95:9:95:28 | ...; | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:94:24:94:25 | "" | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:94:17:94:20 | null | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13:94:13 | access to parameter b | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:9:94:25 | ... = ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:95:9:95:28 | After ...; | +| Assert.cs:95:9:95:27 | Before 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:9:95:27 | After call to method IsNotNull | +| Assert.cs:95:9:95:28 | ...; | Assert.cs:95:9:95:27 | Before call to method IsNotNull | +| Assert.cs:95:9:95:28 | After ...; | Assert.cs:96:9:96:36 | ...; | | 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:9:96:35 | After call to method WriteLine | Assert.cs:96:9:96:36 | After ...; | +| Assert.cs:96:9:96:35 | Before call to method WriteLine | Assert.cs:96:27:96:34 | Before access to property Length | +| Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:96:9:96:35 | After call to method WriteLine | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:96:9:96:35 | Before call to method WriteLine | +| Assert.cs:96:9:96:36 | After ...; | Assert.cs:98:9:98:26 | ...; | | Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:96:27:96:34 | access to property Length | -| Assert.cs:96:27:96:34 | access to property Length | Assert.cs:96:9:96:35 | call to method WriteLine | -| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:99:9:99:33 | ...; | -| Assert.cs:98:9:98:26 | ...; | Assert.cs:98:13:98:13 | access to parameter b | -| 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 | 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:96:27:96:34 | After access to property Length | Assert.cs:96:9:96:35 | call to method WriteLine | +| Assert.cs:96:27:96:34 | Before access to property Length | Assert.cs:96:27:96:27 | access to local variable s | +| Assert.cs:96:27:96:34 | access to property Length | Assert.cs:96:27:96:34 | After access to property Length | +| Assert.cs:98:9:98:9 | access to local variable s | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:9:98:25 | After ... = ... | +| Assert.cs:98:9:98:25 | After ... = ... | Assert.cs:98:9:98:26 | After ...; | +| Assert.cs:98:9:98:25 | Before ... = ... | Assert.cs:98:9:98:9 | access to local variable s | +| Assert.cs:98:9:98:26 | ...; | Assert.cs:98:9:98:25 | Before ... = ... | +| Assert.cs:98:9:98:26 | After ...; | Assert.cs:99:9:99:33 | ...; | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:98:24:98:25 | "" | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:98:17:98:20 | null | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13:98:13 | access to parameter b | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:9:98:25 | ... = ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:99:9:99:33 | After ...; | +| Assert.cs:99:9:99:32 | Before call to method IsTrue | Assert.cs:99:23:99:31 | Before ... == ... | +| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:99:9:99:33 | ...; | Assert.cs:99:9:99:32 | Before call to method IsTrue | +| Assert.cs:99:9:99:33 | After ...; | Assert.cs:100:9:100:36 | ...; | | 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 | call to method IsTrue | +| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:23:99:31 | After ... == ... | +| Assert.cs:99:23:99:31 | After ... == ... | Assert.cs:99:9:99:32 | call to method IsTrue | +| Assert.cs:99:23:99:31 | Before ... == ... | 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: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 | +| Assert.cs:100:9:100:35 | After call to method WriteLine | Assert.cs:100:9:100:36 | After ...; | +| Assert.cs:100:9:100:35 | Before call to method WriteLine | Assert.cs:100:27:100:34 | Before access to property Length | +| Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:100:9:100:35 | After call to method WriteLine | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:100:9:100:35 | Before call to method WriteLine | +| Assert.cs:100:9:100:36 | After ...; | Assert.cs:102:9:102:26 | ...; | | Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:100:27:100:34 | access to property Length | -| Assert.cs:100:27:100:34 | access to property Length | Assert.cs:100:9:100:35 | call to method WriteLine | -| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:103:9:103:33 | ...; | -| Assert.cs:102:9:102:26 | ...; | Assert.cs:102:13:102:13 | access to parameter b | -| 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 | 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:100:27:100:34 | After access to property Length | Assert.cs:100:9:100:35 | call to method WriteLine | +| Assert.cs:100:27:100:34 | Before access to property Length | Assert.cs:100:27:100:27 | access to local variable s | +| Assert.cs:100:27:100:34 | access to property Length | Assert.cs:100:27:100:34 | After access to property Length | +| Assert.cs:102:9:102:9 | access to local variable s | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:102:9:102:25 | After ... = ... | +| Assert.cs:102:9:102:25 | After ... = ... | Assert.cs:102:9:102:26 | After ...; | +| Assert.cs:102:9:102:25 | Before ... = ... | Assert.cs:102:9:102:9 | access to local variable s | +| Assert.cs:102:9:102:26 | ...; | Assert.cs:102:9:102:25 | Before ... = ... | +| Assert.cs:102:9:102:26 | After ...; | Assert.cs:103:9:103:33 | ...; | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:102:24:102:25 | "" | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:102:17:102:20 | null | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13:102:13 | access to parameter b | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:9:102:25 | ... = ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:103:9:103:33 | After ...; | +| Assert.cs:103:9:103:32 | Before call to method IsTrue | Assert.cs:103:23:103:31 | Before ... != ... | +| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:103:9:103:33 | ...; | Assert.cs:103:9:103:32 | Before call to method IsTrue | +| Assert.cs:103:9:103:33 | After ...; | Assert.cs:104:9:104:36 | ...; | | 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 | call to method IsTrue | +| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:23:103:31 | After ... != ... | +| Assert.cs:103:23:103:31 | After ... != ... | Assert.cs:103:9:103:32 | call to method IsTrue | +| Assert.cs:103:23:103:31 | Before ... != ... | 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: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 | +| Assert.cs:104:9:104:35 | After call to method WriteLine | Assert.cs:104:9:104:36 | After ...; | +| Assert.cs:104:9:104:35 | Before call to method WriteLine | Assert.cs:104:27:104:34 | Before access to property Length | +| Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:104:9:104:35 | After call to method WriteLine | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:104:9:104:35 | Before call to method WriteLine | +| Assert.cs:104:9:104:36 | After ...; | Assert.cs:106:9:106:26 | ...; | | Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:104:27:104:34 | access to property Length | -| Assert.cs:104:27:104:34 | access to property Length | Assert.cs:104:9:104:35 | call to method WriteLine | -| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:107:9:107:34 | ...; | -| Assert.cs:106:9:106:26 | ...; | Assert.cs:106:13:106:13 | access to parameter b | -| 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 | 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:104:27:104:34 | After access to property Length | Assert.cs:104:9:104:35 | call to method WriteLine | +| Assert.cs:104:27:104:34 | Before access to property Length | Assert.cs:104:27:104:27 | access to local variable s | +| Assert.cs:104:27:104:34 | access to property Length | Assert.cs:104:27:104:34 | After access to property Length | +| Assert.cs:106:9:106:9 | access to local variable s | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:106:9:106:25 | After ... = ... | +| Assert.cs:106:9:106:25 | After ... = ... | Assert.cs:106:9:106:26 | After ...; | +| Assert.cs:106:9:106:25 | Before ... = ... | Assert.cs:106:9:106:9 | access to local variable s | +| Assert.cs:106:9:106:26 | ...; | Assert.cs:106:9:106:25 | Before ... = ... | +| Assert.cs:106:9:106:26 | After ...; | Assert.cs:107:9:107:34 | ...; | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:106:24:106:25 | "" | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:106:17:106:20 | null | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13:106:13 | access to parameter b | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:9:106:25 | ... = ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:107:9:107:34 | After ...; | +| Assert.cs:107:9:107:33 | Before call to method IsFalse | Assert.cs:107:24:107:32 | Before ... != ... | +| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:107:9:107:34 | ...; | Assert.cs:107:9:107:33 | Before call to method IsFalse | +| Assert.cs:107:9:107:34 | After ...; | Assert.cs:108:9:108:36 | ...; | | 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 | call to method IsFalse | +| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:24:107:32 | After ... != ... | +| Assert.cs:107:24:107:32 | After ... != ... | Assert.cs:107:9:107:33 | call to method IsFalse | +| Assert.cs:107:24:107:32 | Before ... != ... | 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: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 | +| Assert.cs:108:9:108:35 | After call to method WriteLine | Assert.cs:108:9:108:36 | After ...; | +| Assert.cs:108:9:108:35 | Before call to method WriteLine | Assert.cs:108:27:108:34 | Before access to property Length | +| Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:108:9:108:35 | After call to method WriteLine | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:108:9:108:35 | Before call to method WriteLine | +| Assert.cs:108:9:108:36 | After ...; | Assert.cs:110:9:110:26 | ...; | | Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:108:27:108:34 | access to property Length | -| Assert.cs:108:27:108:34 | access to property Length | Assert.cs:108:9:108:35 | call to method WriteLine | -| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:111:9:111:34 | ...; | -| Assert.cs:110:9:110:26 | ...; | Assert.cs:110:13:110:13 | access to parameter b | -| 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 | 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:108:27:108:34 | After access to property Length | Assert.cs:108:9:108:35 | call to method WriteLine | +| Assert.cs:108:27:108:34 | Before access to property Length | Assert.cs:108:27:108:27 | access to local variable s | +| Assert.cs:108:27:108:34 | access to property Length | Assert.cs:108:27:108:34 | After access to property Length | +| Assert.cs:110:9:110:9 | access to local variable s | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:110:9:110:25 | After ... = ... | +| Assert.cs:110:9:110:25 | After ... = ... | Assert.cs:110:9:110:26 | After ...; | +| Assert.cs:110:9:110:25 | Before ... = ... | Assert.cs:110:9:110:9 | access to local variable s | +| Assert.cs:110:9:110:26 | ...; | Assert.cs:110:9:110:25 | Before ... = ... | +| Assert.cs:110:9:110:26 | After ...; | Assert.cs:111:9:111:34 | ...; | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:110:24:110:25 | "" | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:110:17:110:20 | null | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13:110:13 | access to parameter b | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:9:110:25 | ... = ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:111:9:111:34 | After ...; | +| Assert.cs:111:9:111:33 | Before call to method IsFalse | Assert.cs:111:24:111:32 | Before ... == ... | +| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:111:9:111:34 | ...; | Assert.cs:111:9:111:33 | Before call to method IsFalse | +| Assert.cs:111:9:111:34 | After ...; | Assert.cs:112:9:112:36 | ...; | | 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 | call to method IsFalse | +| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:24:111:32 | After ... == ... | +| Assert.cs:111:24:111:32 | After ... == ... | Assert.cs:111:9:111:33 | call to method IsFalse | +| Assert.cs:111:24:111:32 | Before ... == ... | 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: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 | +| Assert.cs:112:9:112:35 | After call to method WriteLine | Assert.cs:112:9:112:36 | After ...; | +| Assert.cs:112:9:112:35 | Before call to method WriteLine | Assert.cs:112:27:112:34 | Before access to property Length | +| Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:112:9:112:35 | After call to method WriteLine | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:112:9:112:35 | Before call to method WriteLine | +| Assert.cs:112:9:112:36 | After ...; | Assert.cs:114:9:114:26 | ...; | | Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:112:27:112:34 | access to property Length | -| Assert.cs:112:27:112:34 | access to property Length | Assert.cs:112:9:112:35 | call to method WriteLine | -| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:115:9:115:38 | ...; | -| Assert.cs:114:9:114:26 | ...; | Assert.cs:114:13:114:13 | access to parameter b | -| 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 | 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:112:27:112:34 | After access to property Length | Assert.cs:112:9:112:35 | call to method WriteLine | +| Assert.cs:112:27:112:34 | Before access to property Length | Assert.cs:112:27:112:27 | access to local variable s | +| Assert.cs:112:27:112:34 | access to property Length | Assert.cs:112:27:112:34 | After access to property Length | +| Assert.cs:114:9:114:9 | access to local variable s | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:114:9:114:25 | After ... = ... | +| Assert.cs:114:9:114:25 | After ... = ... | Assert.cs:114:9:114:26 | After ...; | +| Assert.cs:114:9:114:25 | Before ... = ... | Assert.cs:114:9:114:9 | access to local variable s | +| Assert.cs:114:9:114:26 | ...; | Assert.cs:114:9:114:25 | Before ... = ... | +| Assert.cs:114:9:114:26 | After ...; | Assert.cs:115:9:115:38 | ...; | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:114:24:114:25 | "" | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:114:17:114:20 | null | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13:114:13 | access to parameter b | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:9:114:25 | ... = ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:9:115:38 | After ...; | +| Assert.cs:115:9:115:37 | Before call to method IsTrue | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:115:9:115:38 | ...; | Assert.cs:115:9:115:37 | Before call to method IsTrue | +| Assert.cs:115:9:115:38 | After ...; | Assert.cs:116:9:116:36 | ...; | | 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 | ... && ... | -| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:36:115:36 | access to parameter b | -| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:9:115:37 | call to method IsTrue | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:115:36:115:36 | access to parameter b | +| Assert.cs:115:23:115:31 | Before ... != ... | Assert.cs:115:23:115:23 | access to local variable s | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:31 | Before ... != ... | +| Assert.cs:115:23:115:36 | After ... && ... | 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: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:9:116:35 | After call to method WriteLine | Assert.cs:116:9:116:36 | After ...; | +| Assert.cs:116:9:116:35 | Before call to method WriteLine | Assert.cs:116:27:116:34 | Before access to property Length | +| Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:116:9:116:35 | After call to method WriteLine | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:116:9:116:35 | Before call to method WriteLine | +| Assert.cs:116:9:116:36 | After ...; | Assert.cs:118:9:118:26 | ...; | | Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:116:27:116:34 | access to property Length | -| Assert.cs:116:27:116:34 | access to property Length | Assert.cs:116:9:116:35 | call to method WriteLine | -| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:119:9:119:40 | ...; | -| Assert.cs:118:9:118:26 | ...; | Assert.cs:118:13:118:13 | access to parameter b | -| 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 | 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:116:27:116:34 | After access to property Length | Assert.cs:116:9:116:35 | call to method WriteLine | +| Assert.cs:116:27:116:34 | Before access to property Length | Assert.cs:116:27:116:27 | access to local variable s | +| Assert.cs:116:27:116:34 | access to property Length | Assert.cs:116:27:116:34 | After access to property Length | +| Assert.cs:118:9:118:9 | access to local variable s | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:9:118:25 | After ... = ... | +| Assert.cs:118:9:118:25 | After ... = ... | Assert.cs:118:9:118:26 | After ...; | +| Assert.cs:118:9:118:25 | Before ... = ... | Assert.cs:118:9:118:9 | access to local variable s | +| Assert.cs:118:9:118:26 | ...; | Assert.cs:118:9:118:25 | Before ... = ... | +| Assert.cs:118:9:118:26 | After ...; | Assert.cs:119:9:119:40 | ...; | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:118:24:118:25 | "" | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:118:17:118:20 | null | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13:118:13 | access to parameter b | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:9:118:25 | ... = ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:9:119:40 | After ...; | +| Assert.cs:119:9:119:39 | Before call to method IsFalse | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:119:9:119:40 | ...; | Assert.cs:119:9:119:39 | Before call to method IsFalse | +| Assert.cs:119:9:119:40 | After ...; | Assert.cs:120:9:120:36 | ...; | | 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 | ... \|\| ... | -| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:38:119:38 | access to parameter b | -| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:9:119:39 | call to method IsFalse | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:119:24:119:32 | After ... == ... [false] | Assert.cs:119:37:119:38 | !... | +| Assert.cs:119:24:119:32 | Before ... == ... | Assert.cs:119:24:119:24 | access to local variable s | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:32 | Before ... == ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | 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: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:119:37: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:37:119:38 | After !... | +| Assert.cs:120:9:120:35 | After call to method WriteLine | Assert.cs:120:9:120:36 | After ...; | +| Assert.cs:120:9:120:35 | Before call to method WriteLine | Assert.cs:120:27:120:34 | Before access to property Length | +| Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:120:9:120:35 | After call to method WriteLine | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:120:9:120:35 | Before call to method WriteLine | +| Assert.cs:120:9:120:36 | After ...; | Assert.cs:122:9:122:26 | ...; | | Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:120:27:120:34 | access to property Length | -| Assert.cs:120:27:120:34 | access to property Length | Assert.cs:120:9:120:35 | call to method WriteLine | -| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:123:9:123:38 | ...; | -| Assert.cs:122:9:122:26 | ...; | Assert.cs:122:13:122:13 | access to parameter b | -| 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 | 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:120:27:120:34 | After access to property Length | Assert.cs:120:9:120:35 | call to method WriteLine | +| Assert.cs:120:27:120:34 | Before access to property Length | Assert.cs:120:27:120:27 | access to local variable s | +| Assert.cs:120:27:120:34 | access to property Length | Assert.cs:120:27:120:34 | After access to property Length | +| Assert.cs:122:9:122:9 | access to local variable s | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:9:122:25 | After ... = ... | +| Assert.cs:122:9:122:25 | After ... = ... | Assert.cs:122:9:122:26 | After ...; | +| Assert.cs:122:9:122:25 | Before ... = ... | Assert.cs:122:9:122:9 | access to local variable s | +| Assert.cs:122:9:122:26 | ...; | Assert.cs:122:9:122:25 | Before ... = ... | +| Assert.cs:122:9:122:26 | After ...; | Assert.cs:123:9:123:38 | ...; | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:122:24:122:25 | "" | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:122:17:122:20 | null | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13:122:13 | access to parameter b | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:9:122:25 | ... = ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:9:123:38 | After ...; | +| Assert.cs:123:9:123:37 | Before call to method IsTrue | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:123:9:123:38 | ...; | Assert.cs:123:9:123:37 | Before call to method IsTrue | +| Assert.cs:123:9:123:38 | After ...; | Assert.cs:124:9:124:36 | ...; | | 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 | ... && ... | -| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:36:123:36 | access to parameter b | -| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:9:123:37 | call to method IsTrue | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:123:36:123:36 | access to parameter b | +| Assert.cs:123:23:123:31 | Before ... == ... | Assert.cs:123:23:123:23 | access to local variable s | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:31 | Before ... == ... | +| Assert.cs:123:23:123:36 | After ... && ... | 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: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:9:124:35 | After call to method WriteLine | Assert.cs:124:9:124:36 | After ...; | +| Assert.cs:124:9:124:35 | Before call to method WriteLine | Assert.cs:124:27:124:34 | Before access to property Length | +| Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:124:9:124:35 | After call to method WriteLine | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:124:9:124:35 | Before call to method WriteLine | +| Assert.cs:124:9:124:36 | After ...; | Assert.cs:126:9:126:26 | ...; | | Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:124:27:124:34 | access to property Length | -| Assert.cs:124:27:124:34 | access to property Length | Assert.cs:124:9:124:35 | call to method WriteLine | -| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:127:9:127:40 | ...; | -| Assert.cs:126:9:126:26 | ...; | Assert.cs:126:13:126:13 | access to parameter b | -| 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 | 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:124:27:124:34 | After access to property Length | Assert.cs:124:9:124:35 | call to method WriteLine | +| Assert.cs:124:27:124:34 | Before access to property Length | Assert.cs:124:27:124:27 | access to local variable s | +| Assert.cs:124:27:124:34 | access to property Length | Assert.cs:124:27:124:34 | After access to property Length | +| Assert.cs:126:9:126:9 | access to local variable s | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:9:126:25 | After ... = ... | +| Assert.cs:126:9:126:25 | After ... = ... | Assert.cs:126:9:126:26 | After ...; | +| Assert.cs:126:9:126:25 | Before ... = ... | Assert.cs:126:9:126:9 | access to local variable s | +| Assert.cs:126:9:126:26 | ...; | Assert.cs:126:9:126:25 | Before ... = ... | +| Assert.cs:126:9:126:26 | After ...; | Assert.cs:127:9:127:40 | ...; | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:126:24:126:25 | "" | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:126:17:126:20 | null | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13:126:13 | access to parameter b | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:9:126:25 | ... = ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:9:127:40 | After ...; | +| Assert.cs:127:9:127:39 | Before call to method IsFalse | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:127:9:127:40 | ...; | Assert.cs:127:9:127:39 | Before call to method IsFalse | +| Assert.cs:127:9:127:40 | After ...; | Assert.cs:128:9:128:36 | ...; | | 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 | ... \|\| ... | -| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:38:127:38 | access to parameter b | -| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:9:127:39 | call to method IsFalse | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:127:24:127:32 | After ... != ... [false] | Assert.cs:127:37:127:38 | !... | +| Assert.cs:127:24:127:32 | Before ... != ... | Assert.cs:127:24:127:24 | access to local variable s | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:32 | Before ... != ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | 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: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:127:37: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:37:127:38 | After !... | +| Assert.cs:128:9:128:35 | After call to method WriteLine | Assert.cs:128:9:128:36 | After ...; | +| Assert.cs:128:9:128:35 | Before call to method WriteLine | Assert.cs:128:27:128:34 | Before access to property Length | +| Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:128:9:128:35 | After call to method WriteLine | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:128:9:128:35 | Before call to method WriteLine | +| Assert.cs:128:9:128:36 | After ...; | Assert.cs:85:5:129:5 | After {...} | | Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:128:27:128:34 | access to property Length | -| Assert.cs:128:27:128:34 | access to property Length | Assert.cs:128:9:128:35 | call to method WriteLine | -| Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:135:5:136:5 | {...} | -| Assert.cs:131:18:131:32 | exit AssertTrueFalse (normal) | Assert.cs:131:18:131:32 | exit AssertTrueFalse | -| 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:128:27:128:34 | After access to property Length | Assert.cs:128:9:128:35 | call to method WriteLine | +| Assert.cs:128:27:128:34 | Before access to property Length | Assert.cs:128:27:128:27 | access to local variable s | +| Assert.cs:128:27:128:34 | access to property Length | Assert.cs:128:27:128:34 | After access to property Length | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:135:5:136:5 | {...} | +| Assert.cs:131:18:131:32 | Normal Exit | Assert.cs:131:18:131:32 | Exit | +| Assert.cs:135:5:136:5 | {...} | Assert.cs:131:18:131:32 | Normal Exit | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:139:5:142:5 | {...} | | Assert.cs:139:5:142:5 | {...} | Assert.cs:140:9:140:36 | ...; | -| 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 | After call to method AssertTrueFalse | Assert.cs:140:9:140:36 | After ...; | +| Assert.cs:140:9:140:35 | Before call to method AssertTrueFalse | Assert.cs:140:9:140:35 | this access | +| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:138:10:138:12 | Exceptional Exit | +| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | | 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:9:140:36 | ...; | Assert.cs:140:9:140:35 | Before call to method AssertTrueFalse | +| Assert.cs:140:9:140:36 | After ...; | Assert.cs:141:9:141:15 | Before return ...; | | 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) | -| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | {...} | -| Assignments.cs:1:7:1:17 | call to method | Assignments.cs:1:7:1:17 | call to constructor Object | -| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | this access | -| Assignments.cs:1:7:1:17 | exit Assignments (normal) | Assignments.cs:1:7:1:17 | exit Assignments | +| Assert.cs:141:9:141:15 | Before return ...; | Assert.cs:141:9:141:15 | return ...; | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | Normal Exit | +| Assignments.cs:1:7:1:17 | After call to constructor Object | Assignments.cs:1:7:1:17 | {...} | +| Assignments.cs:1:7:1:17 | After call to method | Assignments.cs:1:7:1:17 | Before call to constructor Object | +| Assignments.cs:1:7:1:17 | Before call to constructor Object | Assignments.cs:1:7:1:17 | call to constructor Object | +| Assignments.cs:1:7:1:17 | Before call to method | Assignments.cs:1:7:1:17 | this access | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Before call to method | +| Assignments.cs:1:7:1:17 | Normal Exit | Assignments.cs:1:7:1:17 | Exit | +| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | After call to constructor Object | +| Assignments.cs:1:7:1:17 | call to method | Assignments.cs:1:7:1:17 | After call to method | | Assignments.cs:1:7:1:17 | this access | Assignments.cs:1:7:1:17 | call to method | -| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | exit Assignments (normal) | -| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:4:5:15:5 | {...} | -| Assignments.cs:3:10:3:10 | exit M (normal) | Assignments.cs:3:10:3:10 | exit M | +| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | Normal Exit | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:4:5:15:5 | {...} | +| Assignments.cs:3:10:3:10 | Normal Exit | Assignments.cs:3:10:3:10 | Exit | +| Assignments.cs:4:5:15:5 | After {...} | Assignments.cs:3:10:3:10 | Normal Exit | | Assignments.cs:4:5:15:5 | {...} | Assignments.cs:5:9:5:18 | ... ...; | -| Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:17:5:17 | 0 | -| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:6:9:6:15 | ...; | +| Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:13:5:17 | Before Int32 x = ... | +| Assignments.cs:5:9:5:18 | After ... ...; | Assignments.cs:6:9:6:15 | ...; | +| Assignments.cs:5:13:5:13 | access to local variable x | Assignments.cs:5:17:5:17 | 0 | +| Assignments.cs:5:13:5:17 | After Int32 x = ... | Assignments.cs:5:9:5:18 | After ... ...; | +| Assignments.cs:5:13:5:17 | Before Int32 x = ... | Assignments.cs:5:13:5:13 | access to local variable x | +| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:5:13:5:17 | After Int32 x = ... | | Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:13:5:17 | Int32 x = ... | | Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:14:6:14 | 1 | -| Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:8:9:8:22 | ... ...; | -| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:9 | access to local variable x | +| Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:6:9:6:14 | After ... += ... | +| Assignments.cs:6:9:6:14 | After ... += ... | Assignments.cs:6:9:6:15 | After ...; | +| Assignments.cs:6:9:6:14 | Before ... += ... | Assignments.cs:6:9:6:9 | access to local variable x | +| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:14 | Before ... += ... | +| Assignments.cs:6:9:6:15 | After ...; | Assignments.cs:8:9:8:22 | ... ...; | | Assignments.cs:6:14:6:14 | 1 | Assignments.cs:6:9:6:14 | ... += ... | -| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:21:8:21 | 0 | -| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:9:9:9:15 | ...; | +| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:17:8:21 | Before dynamic d = ... | +| Assignments.cs:8:9:8:22 | After ... ...; | Assignments.cs:9:9:9:15 | ...; | +| Assignments.cs:8:17:8:17 | access to local variable d | Assignments.cs:8:21:8:21 | Before (...) ... | +| Assignments.cs:8:17:8:21 | After dynamic d = ... | Assignments.cs:8:9:8:22 | After ... ...; | +| Assignments.cs:8:17:8:21 | Before dynamic d = ... | Assignments.cs:8:17:8:17 | access to local variable d | +| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:17:8:21 | After dynamic d = ... | | Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:21:8:21 | (...) ... | -| Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:17:8:21 | dynamic d = ... | +| Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:21:8:21 | After (...) ... | +| Assignments.cs:8:21:8:21 | After (...) ... | Assignments.cs:8:17:8:21 | dynamic d = ... | +| Assignments.cs:8:21:8:21 | Before (...) ... | Assignments.cs:8:21:8:21 | 0 | | Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:14:9:14 | 2 | -| Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:11:9:11:34 | ... ...; | -| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:9 | access to local variable d | +| Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:9:9:9:14 | After ... -= ... | +| Assignments.cs:9:9:9:14 | After ... -= ... | Assignments.cs:9:9:9:15 | After ...; | +| Assignments.cs:9:9:9:14 | Before ... -= ... | Assignments.cs:9:9:9:9 | access to local variable d | +| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:14 | Before ... -= ... | +| Assignments.cs:9:9:9:15 | After ...; | Assignments.cs:11:9:11:34 | ... ...; | | Assignments.cs:9:14:9:14 | 2 | Assignments.cs:9:9:9:14 | ... -= ... | -| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:17:11:33 | object creation of type Assignments | -| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:12:9:12:18 | ...; | -| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:13:11:33 | Assignments a = ... | +| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:13:11:33 | Before Assignments a = ... | +| Assignments.cs:11:9:11:34 | After ... ...; | Assignments.cs:12:9:12:18 | ...; | +| Assignments.cs:11:13:11:13 | access to local variable a | Assignments.cs:11:17:11:33 | Before object creation of type Assignments | +| Assignments.cs:11:13:11:33 | After Assignments a = ... | Assignments.cs:11:9:11:34 | After ... ...; | +| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:13:11:33 | After Assignments a = ... | +| Assignments.cs:11:13:11:33 | Before Assignments a = ... | Assignments.cs:11:13:11:13 | access to local variable a | +| Assignments.cs:11:17:11:33 | After object creation of type Assignments | Assignments.cs:11:13:11:33 | Assignments a = ... | +| Assignments.cs:11:17:11:33 | Before object creation of type Assignments | Assignments.cs:11:17:11:33 | object creation of type Assignments | +| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:17:11:33 | After object creation of type Assignments | | Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:14:12:17 | this access | -| Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:14:9:14:36 | ...; | -| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:12:9:12:9 | access to local variable a | +| Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:12:9:12:17 | After ... += ... | +| Assignments.cs:12:9:12:17 | After ... += ... | Assignments.cs:12:9:12:18 | After ...; | +| Assignments.cs:12:9:12:17 | Before ... += ... | Assignments.cs:12:9:12:9 | access to local variable a | +| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:12:9:12:17 | Before ... += ... | +| Assignments.cs:12:9:12:18 | After ...; | Assignments.cs:14:9:14:36 | ...; | | Assignments.cs:12:14:12:17 | this access | Assignments.cs:12:9:12:17 | ... += ... | -| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:35 | ... += ... | -| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:18:14:35 | (...) => ... | -| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:3:10:3:10 | exit M (normal) | -| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:14:9:14:13 | this access | -| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:13 | access to event Event | -| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:33:14:35 | {...} | -| Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | Assignments.cs:14:18:14:35 | exit (...) => ... | -| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:18:5:20:5 | {...} | -| Assignments.cs:17:40:17:40 | exit + (normal) | Assignments.cs:17:40:17:40 | exit + | -| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:16:19:16 | access to parameter x | -| Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | exit + (normal) | +| Assignments.cs:14:9:14:13 | After access to event Event | Assignments.cs:14:18:14:35 | (...) => ... | +| Assignments.cs:14:9:14:13 | Before access to event Event | Assignments.cs:14:9:14:13 | this access | +| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:13 | After access to event Event | +| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:9:14:13 | access to event Event | +| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:14:9:14:35 | After ... += ... | +| Assignments.cs:14:9:14:35 | After ... += ... | Assignments.cs:14:9:14:36 | After ...; | +| Assignments.cs:14:9:14:35 | Before ... += ... | Assignments.cs:14:9:14:13 | Before access to event Event | +| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:14:9:14:35 | Before ... += ... | +| Assignments.cs:14:9:14:36 | After ...; | Assignments.cs:4:5:15:5 | After {...} | +| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:35 | ... += ... | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:33:14:35 | {...} | +| Assignments.cs:14:18:14:35 | Normal Exit | Assignments.cs:14:18:14:35 | Exit | +| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | Normal Exit | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:18:5:20:5 | {...} | +| Assignments.cs:17:40:17:40 | Normal Exit | Assignments.cs:17:40:17:40 | Exit | +| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:9:19:17 | Before return ...; | +| Assignments.cs:19:9:19:17 | Before return ...; | Assignments.cs:19:16:19:16 | access to parameter x | +| Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | Normal Exit | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:9:19:17 | return ...; | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:28:5:30:5 | {...} | -| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:27:10:27:23 | exit SetParamSingle | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:28:5:30:5 | {...} | +| Assignments.cs:27:10:27:23 | Normal Exit | Assignments.cs:27:10:27:23 | Exit | +| Assignments.cs:28:5:30:5 | After {...} | Assignments.cs:27:10:27:23 | Normal Exit | | Assignments.cs:28:5:30:5 | {...} | Assignments.cs:29:9:29:15 | ...; | -| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | -| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:9:29:9 | access to parameter x | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:9:29:14 | After ... = ... | +| Assignments.cs:29:9:29:14 | After ... = ... | Assignments.cs:29:9:29:15 | After ...; | +| Assignments.cs:29:9:29:14 | Before ... = ... | Assignments.cs:29:9:29:9 | access to parameter x | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:9:29:14 | Before ... = ... | +| Assignments.cs:29:9:29:15 | After ...; | Assignments.cs:28:5:30:5 | After {...} | | Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:14 | ... = ... | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:33:5:36:5 | {...} | -| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:32:10:32:22 | exit SetParamMulti | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:33:5:36:5 | {...} | +| Assignments.cs:32:10:32:22 | Normal Exit | Assignments.cs:32:10:32:22 | Exit | +| Assignments.cs:33:5:36:5 | After {...} | Assignments.cs:32:10:32:22 | Normal Exit | | Assignments.cs:33:5:36:5 | {...} | Assignments.cs:34:9:34:15 | ...; | -| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:35:9:35:20 | ...; | -| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:9:34:9 | access to parameter x | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:9:34:14 | After ... = ... | +| Assignments.cs:34:9:34:14 | After ... = ... | Assignments.cs:34:9:34:15 | After ...; | +| Assignments.cs:34:9:34:14 | Before ... = ... | Assignments.cs:34:9:34:9 | access to parameter x | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:9:34:14 | Before ... = ... | +| Assignments.cs:34:9:34:15 | After ...; | Assignments.cs:35:9:35:20 | ...; | | Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:14 | ... = ... | -| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | -| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:35:9:35:9 | access to parameter y | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:9:35:19 | After ... = ... | +| Assignments.cs:35:9:35:19 | After ... = ... | Assignments.cs:35:9:35:20 | After ...; | +| Assignments.cs:35:9:35:19 | Before ... = ... | Assignments.cs:35:9:35:9 | access to parameter y | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:9:35:19 | Before ... = ... | +| Assignments.cs:35:9:35:20 | After ...; | Assignments.cs:33:5:36:5 | After {...} | | Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:19 | ... = ... | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:39:5:45:5 | {...} | -| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:38:10:38:11 | exit M2 | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:39:5:45:5 | {...} | +| Assignments.cs:38:10:38:11 | Normal Exit | Assignments.cs:38:10:38:11 | Exit | +| Assignments.cs:39:5:45:5 | After {...} | Assignments.cs:38:10:38:11 | Normal Exit | | Assignments.cs:39:5:45:5 | {...} | Assignments.cs:40:9:40:15 | ... ...; | | Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | -| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:41:9:41:31 | ...; | -| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:42:9:42:37 | ...; | -| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | call to method SetParamSingle | -| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | this access | -| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:43:9:43:56 | ...; | -| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:28:42:35 | this access | -| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | this access | -| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:9:42:36 | call to method SetParamSingle | +| Assignments.cs:40:9:40:15 | After ... ...; | Assignments.cs:41:9:41:31 | ...; | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:9:40:15 | After ... ...; | +| Assignments.cs:41:9:41:30 | After call to method SetParamSingle | Assignments.cs:41:9:41:31 | After ...; | +| Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | Assignments.cs:41:9:41:30 | this access | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | After call to method SetParamSingle | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:28:41:29 | access to local variable x1 | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | +| Assignments.cs:41:9:41:31 | After ...; | Assignments.cs:42:9:42:37 | ...; | +| Assignments.cs:41:28:41:29 | access to local variable x1 | Assignments.cs:41:9:41:30 | call to method SetParamSingle | +| Assignments.cs:42:9:42:36 | After call to method SetParamSingle | Assignments.cs:42:9:42:37 | After ...; | +| Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | Assignments.cs:42:9:42:36 | this access | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:9:42:36 | After call to method SetParamSingle | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:28:42:35 | Before access to field IntField | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | +| Assignments.cs:42:9:42:37 | After ...; | Assignments.cs:43:9:43:56 | ...; | +| Assignments.cs:42:28:42:35 | After access to field IntField | Assignments.cs:42:9:42:36 | call to method SetParamSingle | +| Assignments.cs:42:28:42:35 | Before access to field IntField | Assignments.cs:42:28:42:35 | this access | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | After access to field IntField | | Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | access to field IntField | -| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:44:9:44:59 | ...; | -| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:34:43:37 | null | -| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | this access | -| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:44:43:54 | this access | -| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:9:43:55 | call to method SetParamMulti | +| Assignments.cs:43:9:43:55 | After call to method SetParamMulti | Assignments.cs:43:9:43:56 | After ...; | +| Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:9:43:55 | After call to method SetParamMulti | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:31:43:31 | Int32 y | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | +| Assignments.cs:43:9:43:56 | After ...; | Assignments.cs:44:9:44:59 | ...; | +| Assignments.cs:43:31:43:31 | Int32 y | Assignments.cs:43:34:43:37 | null | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:44:43:54 | Before access to field StringField | +| Assignments.cs:43:44:43:54 | After access to field StringField | Assignments.cs:43:9:43:55 | call to method SetParamMulti | +| Assignments.cs:43:44:43:54 | Before access to field StringField | Assignments.cs:43:44:43:54 | this access | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | After access to field StringField | | Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | access to field StringField | -| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | exit M2 (normal) | -| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:27:44:34 | this access | -| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | this access | -| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:37:44:40 | null | +| Assignments.cs:44:9:44:58 | After call to method SetParamMulti | Assignments.cs:44:9:44:59 | After ...; | +| Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | Assignments.cs:44:9:44:58 | this access | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:9:44:58 | After call to method SetParamMulti | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:27:44:34 | Before access to field IntField | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | +| Assignments.cs:44:9:44:59 | After ...; | Assignments.cs:39:5:45:5 | After {...} | +| Assignments.cs:44:27:44:34 | After access to field IntField | Assignments.cs:44:37:44:40 | null | +| Assignments.cs:44:27:44:34 | Before access to field IntField | Assignments.cs:44:27:44:34 | this access | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | After access to field IntField | | Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | access to field IntField | -| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:47:44:57 | this access | -| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:9:44:58 | call to method SetParamMulti | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:47:44:57 | Before access to field StringField | +| Assignments.cs:44:47:44:57 | After access to field StringField | Assignments.cs:44:9:44:58 | call to method SetParamMulti | +| Assignments.cs:44:47:44:57 | Before access to field StringField | Assignments.cs:44:47:44:57 | this access | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | After access to field StringField | | Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | access to field StringField | -| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | {...} | -| BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | call to constructor Object | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | this access | -| BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | BreakInTry.cs:1:7:1:16 | exit BreakInTry | +| BreakInTry.cs:1:7:1:16 | After call to constructor Object | BreakInTry.cs:1:7:1:16 | {...} | +| BreakInTry.cs:1:7:1:16 | After call to method | BreakInTry.cs:1:7:1:16 | Before call to constructor Object | +| BreakInTry.cs:1:7:1:16 | Before call to constructor Object | BreakInTry.cs:1:7:1:16 | call to constructor Object | +| BreakInTry.cs:1:7:1:16 | Before call to method | BreakInTry.cs:1:7:1:16 | this access | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | Before call to method | +| BreakInTry.cs:1:7:1:16 | Normal Exit | BreakInTry.cs:1:7:1:16 | Exit | +| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | After call to constructor Object | +| BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | After call to method | | BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | call to method | -| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:4:5:18:5 | {...} | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | exit M1 | +| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | Normal Exit | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:4:5:18:5 | {...} | +| BreakInTry.cs:3:10:3:11 | Normal Exit | BreakInTry.cs:3:10:3:11 | Exit | +| BreakInTry.cs:4:5:18:5 | After {...} | BreakInTry.cs:3:10:3:11 | Normal Exit | | BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:5:9:17:9 | try {...} ... | +| BreakInTry.cs:5:9:17:9 | After try {...} ... | BreakInTry.cs:4:5:18:5 | After {...} | | BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:6:9:12:9 | {...} | -| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:7:33:7:36 | access to parameter args | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:14:9:17:9 | {...} | +| BreakInTry.cs:6:9:12:9 | After {...} | BreakInTry.cs:14:9:17:9 | {...} | +| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:6:9:12:9 | After {...} | +| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | access to parameter args | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:8:13:11:13 | {...} | -| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:7:26:7:28 | String arg | +| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:8:13:11:13 | After {...} | BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | | BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:9:17:10:26 | if (...) ... | -| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:9:21:9:23 | access to local variable arg | +| BreakInTry.cs:9:17:10:26 | After if (...) ... | BreakInTry.cs:8:13:11:13 | After {...} | +| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:9:21:9:31 | Before ... == ... | | BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:9:28:9:31 | null | -| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:10:21:10:26 | break; | +| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:9:17:10:26 | After if (...) ... | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:10:21:10:26 | Before break; | +| BreakInTry.cs:9:21:9:31 | Before ... == ... | BreakInTry.cs:9:21:9:23 | access to local variable arg | | BreakInTry.cs:9:28:9:31 | null | BreakInTry.cs:9:21:9:31 | ... == ... | +| BreakInTry.cs:10:21:10:26 | Before break; | BreakInTry.cs:10:21:10:26 | break; | +| BreakInTry.cs:14:9:17:9 | After {...} | BreakInTry.cs:5:9:17:9 | After try {...} ... | | BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:15:13:16:17 | if (...) ... | -| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:15:17:15:20 | access to parameter args | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:14:9:17:9 | After {...} | +| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:15:17:15:28 | Before ... == ... | | BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:15:25:15:28 | null | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:16:17:16:17 | ; | +| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:16:17:16:17 | ; | +| BreakInTry.cs:15:17:15:28 | Before ... == ... | BreakInTry.cs:15:17:15:20 | access to parameter args | | BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:15:17:15:28 | ... == ... | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:21:5:36:5 | {...} | -| BreakInTry.cs:20:10:20:11 | exit M2 (normal) | BreakInTry.cs:20:10:20:11 | exit M2 | -| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:22:29:22:32 | access to parameter args | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:35:7:35:7 | ; | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:21:5:36:5 | {...} | +| BreakInTry.cs:20:10:20:11 | Normal Exit | BreakInTry.cs:20:10:20:11 | Exit | +| BreakInTry.cs:21:5:36:5 | After {...} | BreakInTry.cs:20:10:20:11 | Normal Exit | +| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:35:7:35:7 | ; | +| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | access to parameter args | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:23:9:34:9 | {...} | -| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:22:22:22:24 | String arg | +| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | +| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:23:9:34:9 | After {...} | BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | | BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:24:13:33:13 | try {...} ... | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:23:9:34:9 | After {...} | | BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:25:13:28:13 | {...} | | BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:26:17:27:26 | if (...) ... | -| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:26:21:26:23 | access to local variable arg | +| BreakInTry.cs:26:17:27:26 | After if (...) ... | BreakInTry.cs:25:13:28:13 | After {...} | +| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:26:21:26:31 | Before ... == ... | | BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:26:28:26:31 | null | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:27:21:27:26 | break; | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:30:13:33:13 | {...} | +| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:26:17:27:26 | After if (...) ... | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:27:21:27:26 | Before break; | +| BreakInTry.cs:26:21:26:31 | Before ... == ... | BreakInTry.cs:26:21:26:23 | access to local variable arg | | BreakInTry.cs:26:28:26:31 | null | BreakInTry.cs:26:21:26:31 | ... == ... | +| BreakInTry.cs:27:21:27:26 | Before break; | BreakInTry.cs:27:21:27:26 | break; | +| BreakInTry.cs:30:13:33:13 | After {...} | BreakInTry.cs:24:13:33:13 | After try {...} ... | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:17:32:21 | if (...) ... | -| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:31:21:31:24 | access to parameter args | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:30:13:33:13 | After {...} | +| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:31:21:31:32 | Before ... == ... | | BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:31:29:31:32 | null | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:32:21:32:21 | ; | +| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:32:21:32:21 | ; | +| BreakInTry.cs:31:21:31:32 | Before ... == ... | BreakInTry.cs:31:21:31:24 | access to parameter args | | BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:31:21:31:32 | ... == ... | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | exit M2 (normal) | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:39:5:54:5 | {...} | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | exit M3 | +| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:21:5:36:5 | After {...} | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:39:5:54:5 | {...} | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | Exit | | BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:40:9:52:9 | try {...} ... | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:53:7:53:7 | ; | | BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:41:9:44:9 | {...} | | BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:42:13:43:23 | if (...) ... | -| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:20 | access to parameter args | +| BreakInTry.cs:42:13:43:23 | After if (...) ... | BreakInTry.cs:41:9:44:9 | After {...} | +| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:28 | Before ... == ... | | BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:42:25:42:28 | null | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:46:9:52:9 | {...} | +| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:42:13:43:23 | After if (...) ... | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:43:17:43:23 | Before return ...; | +| BreakInTry.cs:42:17:42:28 | Before ... == ... | BreakInTry.cs:42:17:42:20 | access to parameter args | | BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:42:17:42:28 | ... == ... | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | access to parameter args | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:53:7:53:7 | ; | +| BreakInTry.cs:43:17:43:23 | Before return ...; | BreakInTry.cs:43:17:43:23 | return ...; | +| BreakInTry.cs:46:9:52:9 | After {...} | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:46:9:52:9 | After {...} | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:46:9:52:9 | After {...} | +| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | access to parameter args | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:48:13:51:13 | {...} | -| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:47:26:47:28 | String arg | +| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:48:13:51:13 | After {...} | BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | | BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:49:17:50:26 | if (...) ... | -| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:49:21:49:23 | access to local variable arg | +| BreakInTry.cs:49:17:50:26 | After if (...) ... | BreakInTry.cs:48:13:51:13 | After {...} | +| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:49:21:49:31 | Before ... == ... | | BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:49:28:49:31 | null | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:50:21:50:26 | break; | +| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:49:17:50:26 | After if (...) ... | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:50:21:50:26 | Before break; | +| BreakInTry.cs:49:21:49:31 | Before ... == ... | BreakInTry.cs:49:21:49:23 | access to local variable arg | | BreakInTry.cs:49:28:49:31 | null | BreakInTry.cs:49:21:49:31 | ... == ... | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:57:5:71:5 | {...} | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | exit M4 | +| BreakInTry.cs:50:21:50:26 | Before break; | BreakInTry.cs:50:21:50:26 | break; | +| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:39:5:54:5 | After {...} | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:57:5:71:5 | {...} | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | Exit | | BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:58:9:70:9 | try {...} ... | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:57:5:71:5 | After {...} | | BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:59:9:62:9 | {...} | | BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:60:13:61:23 | if (...) ... | -| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:20 | access to parameter args | +| BreakInTry.cs:60:13:61:23 | After if (...) ... | BreakInTry.cs:59:9:62:9 | After {...} | +| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:28 | Before ... == ... | | BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:60:25:60:28 | null | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:64:9:70:9 | {...} | +| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:60:13:61:23 | After if (...) ... | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:61:17:61:23 | Before return ...; | +| BreakInTry.cs:60:17:60:28 | Before ... == ... | BreakInTry.cs:60:17:60:20 | access to parameter args | | BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:60:17:60:28 | ... == ... | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | access to parameter args | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:61:17:61:23 | Before return ...; | BreakInTry.cs:61:17:61:23 | return ...; | +| BreakInTry.cs:64:9:70:9 | After {...} | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:64:9:70:9 | After {...} | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:64:9:70:9 | After {...} | +| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | access to parameter args | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:66:13:69:13 | {...} | -| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:66:13:69:13 | After {...} | BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | | BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:67:17:68:26 | if (...) ... | -| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:67:21:67:23 | access to local variable arg | +| BreakInTry.cs:67:17:68:26 | After if (...) ... | BreakInTry.cs:66:13:69:13 | After {...} | +| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:67:21:67:31 | Before ... == ... | | BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:67:28:67:31 | null | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:68:21:68:26 | break; | +| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:67:17:68:26 | After if (...) ... | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:68:21:68:26 | Before break; | +| BreakInTry.cs:67:21:67:31 | Before ... == ... | BreakInTry.cs:67:21:67:23 | access to local variable arg | | BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:67:21:67:31 | ... == ... | -| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | {...} | -| CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | this access | -| CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators | +| BreakInTry.cs:68:21:68:26 | Before break; | BreakInTry.cs:68:21:68:26 | break; | +| CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | {...} | +| CompileTimeOperators.cs:3:7:3:26 | After call to method | CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | +| CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | +| CompileTimeOperators.cs:3:7:3:26 | Before call to method | CompileTimeOperators.cs:3:7:3:26 | this access | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | Before call to method | +| CompileTimeOperators.cs:3:7:3:26 | Normal Exit | CompileTimeOperators.cs:3:7:3:26 | Exit | +| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | +| CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | After call to method | | CompileTimeOperators.cs:3:7:3:26 | this access | CompileTimeOperators.cs:3:7:3:26 | call to method | -| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:6:5:8:5 | {...} | -| CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | CompileTimeOperators.cs:5:9:5:15 | exit Default | -| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:7:16:7:27 | default(...) | -| CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | +| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | Normal Exit | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:6:5:8:5 | {...} | +| CompileTimeOperators.cs:5:9:5:15 | Normal Exit | CompileTimeOperators.cs:5:9:5:15 | Exit | +| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:7:9:7:28 | Before return ...; | +| CompileTimeOperators.cs:7:9:7:28 | Before return ...; | CompileTimeOperators.cs:7:16:7:27 | default(...) | +| CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:5:9:5:15 | Normal Exit | | CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:7:9:7:28 | return ...; | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:11:5:13:5 | {...} | -| CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | -| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | -| CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:11:5:13:5 | {...} | +| CompileTimeOperators.cs:10:9:10:14 | Normal Exit | CompileTimeOperators.cs:10:9:10:14 | Exit | +| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:12:9:12:27 | Before return ...; | +| CompileTimeOperators.cs:12:9:12:27 | Before return ...; | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | +| CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:10:9:10:14 | Normal Exit | | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:12:9:12:27 | return ...; | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:16:5:18:5 | {...} | -| CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | CompileTimeOperators.cs:15:10:15:15 | exit Typeof | -| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | -| CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:16:5:18:5 | {...} | +| CompileTimeOperators.cs:15:10:15:15 | Normal Exit | CompileTimeOperators.cs:15:10:15:15 | Exit | +| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:17:9:17:27 | Before return ...; | +| CompileTimeOperators.cs:17:9:17:27 | Before return ...; | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | +| CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:15:10:15:15 | Normal Exit | | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:17:9:17:27 | return ...; | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:21:5:23:5 | {...} | -| CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | CompileTimeOperators.cs:20:12:20:17 | exit Nameof | -| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | -| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:21:5:23:5 | {...} | +| CompileTimeOperators.cs:20:12:20:17 | Normal Exit | CompileTimeOperators.cs:20:12:20:17 | Exit | +| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:22:9:22:25 | Before return ...; | +| CompileTimeOperators.cs:22:9:22:25 | Before return ...; | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | +| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:20:12:20:17 | Normal Exit | | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:9:22:25 | return ...; | -| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | {...} | -| CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | this access | -| CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | {...} | +| CompileTimeOperators.cs:26:7:26:22 | After call to method | CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | +| CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | +| CompileTimeOperators.cs:26:7:26:22 | Before call to method | CompileTimeOperators.cs:26:7:26:22 | this access | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | Before call to method | +| CompileTimeOperators.cs:26:7:26:22 | Normal Exit | CompileTimeOperators.cs:26:7:26:22 | Exit | +| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | +| CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | After call to method | | CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | call to method | -| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:29:5:41:5 | {...} | +| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | Normal Exit | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:29:5:41:5 | {...} | +| CompileTimeOperators.cs:29:5:41:5 | After {...} | CompileTimeOperators.cs:28:10:28:10 | Normal Exit | | CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:39:9:39:34 | ...; | | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:31:9:34:9 | {...} | -| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | goto ...; | +| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | +| CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | CompileTimeOperators.cs:32:13:32:21 | goto ...; | | CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:36:9:38:9 | {...} | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:40:9:40:11 | End: | | CompileTimeOperators.cs:36:9:38:9 | {...} | CompileTimeOperators.cs:37:13:37:41 | ...; | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:39:9:39:34 | ...; | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:40:9:40:11 | End: | -| CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:37:31:37:39 | "Finally" | +| CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | CompileTimeOperators.cs:37:13:37:41 | After ...; | +| CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | CompileTimeOperators.cs:37:31:37:39 | "Finally" | +| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | +| CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | +| CompileTimeOperators.cs:37:13:37:41 | After ...; | CompileTimeOperators.cs:36:9:38:9 | After {...} | | CompileTimeOperators.cs:37:31:37:39 | "Finally" | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:27:39:32 | "Dead" | +| CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | CompileTimeOperators.cs:39:9:39:34 | After ...; | +| CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | CompileTimeOperators.cs:39:27:39:32 | "Dead" | +| CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | +| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | | CompileTimeOperators.cs:39:27:39:32 | "Dead" | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | | CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:40:14:40:38 | ...; | -| CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | exit M (normal) | -| CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:32:40:36 | "End" | +| CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | CompileTimeOperators.cs:40:14:40:38 | After ...; | +| CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | CompileTimeOperators.cs:40:32:40:36 | "End" | +| CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | +| CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | +| CompileTimeOperators.cs:40:14:40:38 | After ...; | CompileTimeOperators.cs:29:5:41:5 | After {...} | | CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | -| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | {...} | -| ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | this access | -| ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | ConditionalAccess.cs:1:7:1:23 | {...} | +| ConditionalAccess.cs:1:7:1:23 | After call to method | ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | +| ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | +| ConditionalAccess.cs:1:7:1:23 | Before call to method | ConditionalAccess.cs:1:7:1:23 | this access | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | Before call to method | +| ConditionalAccess.cs:1:7:1:23 | Normal Exit | ConditionalAccess.cs:1:7:1:23 | Exit | +| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | +| ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | After call to method | | ConditionalAccess.cs:1:7:1:23 | this access | ConditionalAccess.cs:1:7:1:23 | call to method | -| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:26 | access to parameter i | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | exit M1 | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:38 | call to method ToString | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:26:5:26 | access to parameter s | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | exit M2 | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:34 | access to property Length | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | exit M3 | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:25 | access to parameter s | -| ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | ConditionalAccess.cs:9:9:9:10 | exit M4 | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:33 | access to property Length | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:38:9:38 | 0 | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:12:5:17:5 | {...} | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | exit M5 | +| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | Normal Exit | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | +| ConditionalAccess.cs:3:12:3:13 | Normal Exit | ConditionalAccess.cs:3:12:3:13 | Exit | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:38 | call to method ToString | +| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | +| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | +| ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | ConditionalAccess.cs:3:26:3:26 | access to parameter i | +| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:12:3:13 | Normal Exit | +| ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:34 | Before access to property Length | +| ConditionalAccess.cs:5:10:5:11 | Normal Exit | ConditionalAccess.cs:5:10:5:11 | Exit | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:26:5:34 | access to property Length | +| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | +| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:10:5:11 | Normal Exit | +| ConditionalAccess.cs:5:26:5:34 | Before access to property Length | ConditionalAccess.cs:5:26:5:26 | access to parameter s | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:38:7:55 | Before access to property Length | +| ConditionalAccess.cs:7:10:7:11 | Normal Exit | ConditionalAccess.cs:7:10:7:11 | Exit | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:10:7:11 | Normal Exit | +| ConditionalAccess.cs:7:38:7:55 | Before access to property Length | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | +| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | +| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:38:7:55 | access to property Length | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | +| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | +| ConditionalAccess.cs:9:9:9:10 | Normal Exit | ConditionalAccess.cs:9:9:9:10 | Exit | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:33 | access to property Length | +| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | +| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:38:9:38 | 0 | +| ConditionalAccess.cs:9:25:9:33 | Before access to property Length | ConditionalAccess.cs:9:25:9:25 | access to parameter s | +| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:33 | Before access to property Length | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:9:9:10 | Normal Exit | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:12:5:17:5 | {...} | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | Exit | | ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:13:9:16:21 | if (...) ... | -| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:13:13:13:13 | access to parameter s | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:21 | access to property Length | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:25:13:25 | 0 | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:14:20:14:20 | 0 | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:16:20:16:20 | 1 | +| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:13:13:13:25 | Before ... > ... | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:13:13:13:21 | access to property Length | +| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:25:13:25 | Before (...) ... | +| ConditionalAccess.cs:13:13:13:21 | Before access to property Length | ConditionalAccess.cs:13:13:13:13 | access to parameter s | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:16:13:16:21 | Before return ...; | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:14:13:14:21 | Before return ...; | +| ConditionalAccess.cs:13:13:13:25 | Before ... > ... | ConditionalAccess.cs:13:13:13:21 | Before access to property Length | | ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | (...) ... | -| ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | +| ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:25:13:25 | After (...) ... | +| ConditionalAccess.cs:13:25:13:25 | After (...) ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | +| ConditionalAccess.cs:13:25:13:25 | Before (...) ... | ConditionalAccess.cs:13:25:13:25 | 0 | +| ConditionalAccess.cs:14:13:14:21 | Before return ...; | ConditionalAccess.cs:14:20:14:20 | 0 | | ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:13:14:21 | return ...; | +| ConditionalAccess.cs:16:13:16:21 | Before return ...; | ConditionalAccess.cs:16:20:16:20 | 1 | | ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:13:16:21 | return ...; | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | exit M6 | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | +| ConditionalAccess.cs:19:12:19:13 | Normal Exit | ConditionalAccess.cs:19:12:19:13 | Exit | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | +| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | Normal Exit | +| ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:22:5:26:5 | {...} | -| ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | ConditionalAccess.cs:21:10:21:11 | exit M7 | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:22:5:26:5 | {...} | +| ConditionalAccess.cs:21:10:21:11 | Normal Exit | ConditionalAccess.cs:21:10:21:11 | Exit | +| ConditionalAccess.cs:22:5:26:5 | After {...} | ConditionalAccess.cs:21:10:21:11 | Normal Exit | | ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:23:9:23:39 | ... ...; | -| ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:26:23:29 | null | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:24:9:24:38 | ... ...; | -| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | +| ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | +| ConditionalAccess.cs:23:9:23:39 | After ... ...; | ConditionalAccess.cs:24:9:24:38 | ... ...; | +| ConditionalAccess.cs:23:13:23:13 | access to local variable j | ConditionalAccess.cs:23:17:23:38 | Before access to property Length | +| ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | ConditionalAccess.cs:23:9:23:39 | After ... ...; | +| ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | ConditionalAccess.cs:23:13:23:13 | access to local variable j | +| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | +| ConditionalAccess.cs:23:17:23:38 | Before access to property Length | ConditionalAccess.cs:23:18:23:29 | Before (...) ... | +| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:23:17:23:38 | access to property Length | +| ConditionalAccess.cs:23:18:23:29 | Before (...) ... | ConditionalAccess.cs:23:26:23:29 | null | | ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:18:23:29 | (...) ... | -| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:24:24:24 | access to parameter i | -| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:25:9:25:33 | ...; | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:13:24:37 | String s = ... | -| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:17:24:37 | call to method ToString | +| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:13:24:37 | Before String s = ... | +| ConditionalAccess.cs:24:9:24:38 | After ... ...; | ConditionalAccess.cs:25:9:25:33 | ...; | +| ConditionalAccess.cs:24:13:24:13 | access to local variable s | ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | +| ConditionalAccess.cs:24:13:24:37 | After String s = ... | ConditionalAccess.cs:24:9:24:38 | After ... ...; | +| ConditionalAccess.cs:24:13:24:37 | Before String s = ... | ConditionalAccess.cs:24:13:24:13 | access to local variable s | +| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:13:24:37 | After String s = ... | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:13:24:37 | String s = ... | +| ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | ConditionalAccess.cs:24:18:24:24 | Before (...) ... | +| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:24:17:24:37 | call to method ToString | +| ConditionalAccess.cs:24:18:24:24 | Before (...) ... | ConditionalAccess.cs:24:24:24:24 | access to parameter i | | ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:18:24:24 | (...) ... | -| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | -| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:13:25:14 | "" | -| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:9:25:32 | ... = ... | +| ConditionalAccess.cs:25:9:25:9 | access to local variable s | ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | +| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:9:25:32 | After ... = ... | +| ConditionalAccess.cs:25:9:25:32 | After ... = ... | ConditionalAccess.cs:25:9:25:33 | After ...; | +| ConditionalAccess.cs:25:9:25:32 | Before ... = ... | ConditionalAccess.cs:25:9:25:9 | access to local variable s | +| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:9:25:32 | Before ... = ... | +| ConditionalAccess.cs:25:9:25:33 | After ...; | ConditionalAccess.cs:22:5:26:5 | After {...} | +| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:25:31:25:31 | access to local variable s | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:9:25:32 | ... = ... | +| ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:14 | "" | | ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:32:30:32 | 0 | -| ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | ConditionalAccess.cs:30:10:30:12 | exit Out | -| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:28:30:32 | Before ... = ... | +| ConditionalAccess.cs:30:10:30:12 | Normal Exit | ConditionalAccess.cs:30:10:30:12 | Exit | +| ConditionalAccess.cs:30:28:30:28 | access to parameter i | ConditionalAccess.cs:30:32:30:32 | 0 | +| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:28:30:32 | After ... = ... | +| ConditionalAccess.cs:30:28:30:32 | After ... = ... | ConditionalAccess.cs:30:10:30:12 | Normal Exit | +| ConditionalAccess.cs:30:28:30:32 | Before ... = ... | ConditionalAccess.cs:30:28:30:28 | access to parameter i | | ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:28:30:32 | ... = ... | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:33:5:36:5 | {...} | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:33:5:36:5 | {...} | +| ConditionalAccess.cs:32:10:32:11 | Normal Exit | ConditionalAccess.cs:32:10:32:11 | Exit | +| ConditionalAccess.cs:33:5:36:5 | After {...} | ConditionalAccess.cs:32:10:32:11 | Normal Exit | | ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:34:9:34:14 | ...; | -| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:35:9:35:25 | ...; | -| ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:34:13:34:13 | 0 | +| ConditionalAccess.cs:34:9:34:9 | access to parameter i | ConditionalAccess.cs:34:13:34:13 | 0 | +| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:34:9:34:13 | After ... = ... | +| ConditionalAccess.cs:34:9:34:13 | After ... = ... | ConditionalAccess.cs:34:9:34:14 | After ...; | +| ConditionalAccess.cs:34:9:34:13 | Before ... = ... | ConditionalAccess.cs:34:9:34:9 | access to parameter i | +| ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:34:9:34:13 | Before ... = ... | +| ConditionalAccess.cs:34:9:34:14 | After ...; | ConditionalAccess.cs:35:9:35:25 | ...; | | ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:34:9:34:13 | ... = ... | -| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | -| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:24 | call to method Out | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:35:23:35:23 | access to parameter i | +| ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | ConditionalAccess.cs:35:9:35:12 | this access | +| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | +| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | access to property Prop | -| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:12 | this access | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:13:42:28 | {...} | -| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:9:42:11 | exit get_Item | -| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:22:42:25 | null | -| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:25 | After ...; | +| ConditionalAccess.cs:35:9:35:24 | Before call to method Out | ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | +| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:24 | Before call to method Out | +| ConditionalAccess.cs:35:9:35:25 | After ...; | ConditionalAccess.cs:33:5:36:5 | After {...} | +| ConditionalAccess.cs:35:23:35:23 | access to parameter i | ConditionalAccess.cs:35:9:35:24 | call to method Out | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:13:42:28 | {...} | +| ConditionalAccess.cs:42:9:42:11 | Normal Exit | ConditionalAccess.cs:42:9:42:11 | Exit | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:15:42:26 | Before return ...; | +| ConditionalAccess.cs:42:15:42:26 | Before return ...; | ConditionalAccess.cs:42:22:42:25 | null | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | Normal Exit | | ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:15:42:26 | return ...; | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:13:43:15 | {...} | -| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:9:43:11 | exit set_Item | -| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:47:5:55:5 | {...} | -| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:13:43:15 | {...} | +| ConditionalAccess.cs:43:9:43:11 | Normal Exit | ConditionalAccess.cs:43:9:43:11 | Exit | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | Normal Exit | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:47:5:55:5 | {...} | +| ConditionalAccess.cs:46:10:46:11 | Normal Exit | ConditionalAccess.cs:46:10:46:11 | Exit | +| ConditionalAccess.cs:47:5:55:5 | After {...} | ConditionalAccess.cs:46:10:46:11 | Normal Exit | | ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:48:9:48:26 | ...; | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:12:48:25 | ... = ... | -| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:9:48:20 | access to field IntField | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:12:49:32 | ... = ... | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:12:50:23 | ... = ... | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:18:50:23 | "Set0" | -| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:9:50:14 | access to indexer | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:18:51:31 | ... = ... | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:9:51:26 | access to field IntField | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:18:52:38 | ... = ... | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | -| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:48:9:48:20 | access to field IntField | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:9:48:20 | After access to field IntField | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:20 | After access to field IntField | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:12:48:25 | Before ... = ... | +| ConditionalAccess.cs:48:9:48:26 | After ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:9:48:26 | After ...; | +| ConditionalAccess.cs:48:12:48:25 | Before ... = ... | ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:12:48:25 | ... = ... | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:12:49:32 | Before ... = ... | +| ConditionalAccess.cs:49:9:49:33 | After ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:9:49:33 | After ...; | +| ConditionalAccess.cs:49:12:49:32 | Before ... = ... | ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:12:49:32 | ... = ... | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:9:50:14 | After access to indexer | ConditionalAccess.cs:50:18:50:23 | "Set0" | +| ConditionalAccess.cs:50:9:50:14 | Before access to indexer | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:9:50:14 | After access to indexer | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:12:50:23 | Before ... = ... | +| ConditionalAccess.cs:50:9:50:24 | After ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:9:50:24 | After ...; | +| ConditionalAccess.cs:50:12:50:23 | Before ... = ... | ConditionalAccess.cs:50:9:50:14 | Before access to indexer | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:9:50:14 | access to indexer | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:12:50:23 | ... = ... | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:51:9:51:26 | access to field IntField | +| ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:9:51:26 | After access to field IntField | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:26 | After access to field IntField | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:18:51:31 | Before ... = ... | +| ConditionalAccess.cs:51:9:51:32 | After ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:32 | After ...; | +| ConditionalAccess.cs:51:18:51:31 | Before ... = ... | ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:18:51:31 | ... = ... | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | +| ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:18:52:38 | Before ... = ... | +| ConditionalAccess.cs:52:9:52:39 | After ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:39 | After ...; | +| ConditionalAccess.cs:52:18:52:38 | Before ... = ... | ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:18:52:38 | ... = ... | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:9:53:20 | After access to field IntField | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | After access to field IntField | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | +| ConditionalAccess.cs:53:9:53:26 | After ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:9:53:26 | After ...; | +| ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | | ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:12:53:25 | ... -= ... | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | -| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:12:54:29 | Before ... += ... | +| ConditionalAccess.cs:54:9:54:30 | After ...; | ConditionalAccess.cs:47:5:55:5 | After {...} | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:9:54:30 | After ...; | +| ConditionalAccess.cs:54:12:54:29 | Before ... += ... | ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | | ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:12:54:29 | ... += ... | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | -| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:70:60:83 | Before ... + ... | +| ConditionalAccess.cs:60:26:60:38 | Normal Exit | ConditionalAccess.cs:60:26:60:38 | Exit | | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:75:60:78 | ", " | -| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | -| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:70:60:78 | After ... + ... | +| ConditionalAccess.cs:60:70:60:78 | After ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | +| ConditionalAccess.cs:60:70:60:78 | Before ... + ... | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:70:60:83 | After ... + ... | +| ConditionalAccess.cs:60:70:60:83 | After ... + ... | ConditionalAccess.cs:60:26:60:38 | Normal Exit | +| ConditionalAccess.cs:60:70:60:83 | Before ... + ... | ConditionalAccess.cs:60:70:60:78 | Before ... + ... | | ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:70:60:78 | ... + ... | | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:83 | ... + ... | -| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | {...} | -| Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | call to constructor Object | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | this access | -| Conditions.cs:1:7:1:16 | exit Conditions (normal) | Conditions.cs:1:7:1:16 | exit Conditions | +| Conditions.cs:1:7:1:16 | After call to constructor Object | Conditions.cs:1:7:1:16 | {...} | +| Conditions.cs:1:7:1:16 | After call to method | Conditions.cs:1:7:1:16 | Before call to constructor Object | +| Conditions.cs:1:7:1:16 | Before call to constructor Object | Conditions.cs:1:7:1:16 | call to constructor Object | +| Conditions.cs:1:7:1:16 | Before call to method | Conditions.cs:1:7:1:16 | this access | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Before call to method | +| Conditions.cs:1:7:1:16 | Normal Exit | Conditions.cs:1:7:1:16 | Exit | +| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | After call to constructor Object | +| Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | After call to method | | Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | call to method | -| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | exit Conditions (normal) | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:4:5:9:5 | {...} | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | exit IncrOrDecr | +| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | Normal Exit | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:4:5:9:5 | {...} | +| Conditions.cs:3:10:3:19 | Normal Exit | Conditions.cs:3:10:3:19 | Exit | +| Conditions.cs:4:5:9:5 | After {...} | Conditions.cs:3:10:3:19 | Normal Exit | | Conditions.cs:4:5:9:5 | {...} | Conditions.cs:5:9:6:16 | if (...) ... | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:9:8:16 | if (...) ... | | Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:5:13:5:15 | access to parameter inc | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:6:13:6:16 | ...; | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:7:9:8:16 | if (...) ... | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:6:13:6:16 | ...; | +| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | | Conditions.cs:6:13:6:13 | access to parameter x | Conditions.cs:6:13:6:15 | ...++ | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:13 | access to parameter x | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:14:7:16 | access to parameter inc | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | [true] !... | +| Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:6:13:6:15 | After ...++ | +| Conditions.cs:6:13:6:15 | After ...++ | Conditions.cs:6:13:6:16 | After ...; | +| Conditions.cs:6:13:6:15 | Before ...++ | Conditions.cs:6:13:6:13 | access to parameter x | +| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:15 | Before ...++ | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:4:5:9:5 | After {...} | +| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | !... | +| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:14:7:16 | access to parameter inc | +| Conditions.cs:7:13:7:16 | After !... [true] | Conditions.cs:8:13:8:16 | ...; | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:7:13:7:16 | After !... [true] | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:7:13:7:16 | After !... [false] | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | | Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:15 | ...-- | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:13 | access to parameter x | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:12:5:20:5 | {...} | -| Conditions.cs:11:9:11:10 | exit M1 (normal) | Conditions.cs:11:9:11:10 | exit M1 | +| Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:8:13:8:15 | After ...-- | +| Conditions.cs:8:13:8:15 | After ...-- | Conditions.cs:8:13:8:16 | After ...; | +| Conditions.cs:8:13:8:15 | Before ...-- | Conditions.cs:8:13:8:13 | access to parameter x | +| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:15 | Before ...-- | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:12:5:20:5 | {...} | +| Conditions.cs:11:9:11:10 | Normal Exit | Conditions.cs:11:9:11:10 | Exit | | Conditions.cs:12:5:20:5 | {...} | Conditions.cs:13:9:13:18 | ... ...; | -| Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:17:13:17 | 0 | -| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:14:9:15:16 | if (...) ... | +| Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:13:13:17 | Before Int32 x = ... | +| Conditions.cs:13:9:13:18 | After ... ...; | Conditions.cs:14:9:15:16 | if (...) ... | +| Conditions.cs:13:13:13:13 | access to local variable x | Conditions.cs:13:17:13:17 | 0 | +| Conditions.cs:13:13:13:17 | After Int32 x = ... | Conditions.cs:13:9:13:18 | After ... ...; | +| Conditions.cs:13:13:13:17 | Before Int32 x = ... | Conditions.cs:13:13:13:13 | access to local variable x | +| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:13:13:13:17 | After Int32 x = ... | | Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:13:13:17 | Int32 x = ... | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:9:18:20 | if (...) ... | | Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:14:13:14:13 | access to parameter b | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:15:13:15:16 | ...; | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:16:9:18:20 | if (...) ... | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:15:13:15:16 | ...; | +| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | After access to parameter b [true] | | Conditions.cs:15:13:15:13 | access to local variable x | Conditions.cs:15:13:15:15 | ...++ | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:13 | access to local variable x | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:13:16:13 | access to local variable x | +| Conditions.cs:15:13:15:15 | ...++ | Conditions.cs:15:13:15:15 | After ...++ | +| Conditions.cs:15:13:15:15 | After ...++ | Conditions.cs:15:13:15:16 | After ...; | +| Conditions.cs:15:13:15:15 | Before ...++ | Conditions.cs:15:13:15:13 | access to local variable x | +| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:15 | Before ...++ | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:19:9:19:17 | Before return ...; | +| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:13:16:17 | Before ... > ... | | Conditions.cs:16:13:16:13 | access to local variable x | Conditions.cs:16:17:16:17 | 0 | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:19:16:19:16 | access to local variable x | +| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:13:18:20 | if (...) ... | +| Conditions.cs:16:13:16:17 | Before ... > ... | Conditions.cs:16:13:16:13 | access to local variable x | | Conditions.cs:16:17:16:17 | 0 | Conditions.cs:16:13:16:17 | ... > ... | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:18:17:18 | access to parameter b | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | [true] !... | +| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | !... | +| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:18:17:18 | access to parameter b | +| Conditions.cs:17:17:17:18 | After !... [true] | Conditions.cs:18:17:18:20 | ...; | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:17:17:17:18 | After !... [true] | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:17:17:17:18 | After !... [false] | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | After access to parameter b [true] | | Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:19 | ...-- | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:17 | access to local variable x | -| Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:11:9:11:10 | exit M1 (normal) | +| Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:18:17:18:19 | After ...-- | +| Conditions.cs:18:17:18:19 | After ...-- | Conditions.cs:18:17:18:20 | After ...; | +| Conditions.cs:18:17:18:19 | Before ...-- | Conditions.cs:18:17:18:17 | access to local variable x | +| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:19 | Before ...-- | +| Conditions.cs:19:9:19:17 | Before return ...; | Conditions.cs:19:16:19:16 | access to local variable x | +| Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:11:9:11:10 | Normal Exit | | Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:9:19:17 | return ...; | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:23:5:31:5 | {...} | -| Conditions.cs:22:9:22:10 | exit M2 (normal) | Conditions.cs:22:9:22:10 | exit M2 | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:23:5:31:5 | {...} | +| Conditions.cs:22:9:22:10 | Normal Exit | Conditions.cs:22:9:22:10 | Exit | | Conditions.cs:23:5:31:5 | {...} | Conditions.cs:24:9:24:18 | ... ...; | -| Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:17:24:17 | 0 | -| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:25:9:27:20 | if (...) ... | +| Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:13:24:17 | Before Int32 x = ... | +| Conditions.cs:24:9:24:18 | After ... ...; | Conditions.cs:25:9:27:20 | if (...) ... | +| Conditions.cs:24:13:24:13 | access to local variable x | Conditions.cs:24:17:24:17 | 0 | +| Conditions.cs:24:13:24:17 | After Int32 x = ... | Conditions.cs:24:9:24:18 | After ... ...; | +| Conditions.cs:24:13:24:17 | Before Int32 x = ... | Conditions.cs:24:13:24:13 | access to local variable x | +| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:24:13:24:17 | After Int32 x = ... | | Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:13:24:17 | Int32 x = ... | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:9:29:16 | if (...) ... | | Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:25:13:25:14 | access to parameter b1 | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:28:9:29:16 | if (...) ... | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:13:27:20 | if (...) ... | +| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | | Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:27:17:27:20 | ...; | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:27:17:27:20 | ...; | +| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | | Conditions.cs:27:17:27:17 | access to local variable x | Conditions.cs:27:17:27:19 | ...++ | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:17 | access to local variable x | +| Conditions.cs:27:17:27:19 | ...++ | Conditions.cs:27:17:27:19 | After ...++ | +| Conditions.cs:27:17:27:19 | After ...++ | Conditions.cs:27:17:27:20 | After ...; | +| Conditions.cs:27:17:27:19 | Before ...++ | Conditions.cs:27:17:27:17 | access to local variable x | +| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:19 | Before ...++ | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:30:9:30:17 | Before return ...; | | Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:13:28:14 | access to parameter b2 | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:29:13:29:16 | ...; | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:30:16:30:16 | access to local variable x | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:29:13:29:16 | ...; | +| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | | Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:29:13:29:15 | ...++ | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:13 | access to local variable x | -| Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:22:9:22:10 | exit M2 (normal) | +| Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:29:13:29:15 | After ...++ | +| Conditions.cs:29:13:29:15 | After ...++ | Conditions.cs:29:13:29:16 | After ...; | +| Conditions.cs:29:13:29:15 | Before ...++ | Conditions.cs:29:13:29:13 | access to local variable x | +| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:15 | Before ...++ | +| Conditions.cs:30:9:30:17 | Before return ...; | Conditions.cs:30:16:30:16 | access to local variable x | +| Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:22:9:22:10 | Normal Exit | | Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:9:30:17 | return ...; | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:34:5:44:5 | {...} | -| Conditions.cs:33:9:33:10 | exit M3 (normal) | Conditions.cs:33:9:33:10 | exit M3 | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:34:5:44:5 | {...} | +| Conditions.cs:33:9:33:10 | Normal Exit | Conditions.cs:33:9:33:10 | Exit | | Conditions.cs:34:5:44:5 | {...} | Conditions.cs:35:9:35:18 | ... ...; | -| Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:17:35:17 | 0 | -| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:36:9:36:23 | ... ...; | +| Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:13:35:17 | Before Int32 x = ... | +| Conditions.cs:35:9:35:18 | After ... ...; | Conditions.cs:36:9:36:23 | ... ...; | +| Conditions.cs:35:13:35:13 | access to local variable x | Conditions.cs:35:17:35:17 | 0 | +| Conditions.cs:35:13:35:17 | After Int32 x = ... | Conditions.cs:35:9:35:18 | After ... ...; | +| Conditions.cs:35:13:35:17 | Before Int32 x = ... | Conditions.cs:35:13:35:13 | access to local variable x | +| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:35:13:35:17 | After Int32 x = ... | | Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:13:35:17 | Int32 x = ... | -| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:18:36:22 | false | -| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:37:9:38:20 | if (...) ... | +| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | +| Conditions.cs:36:9:36:23 | After ... ...; | Conditions.cs:37:9:38:20 | if (...) ... | +| Conditions.cs:36:13:36:14 | access to local variable b2 | Conditions.cs:36:18:36:22 | false | +| Conditions.cs:36:13:36:22 | After Boolean b2 = ... | Conditions.cs:36:9:36:23 | After ... ...; | +| Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | Conditions.cs:36:13:36:14 | access to local variable b2 | +| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:36:13:36:22 | After Boolean b2 = ... | | Conditions.cs:36:18:36:22 | false | Conditions.cs:36:13:36:22 | Boolean b2 = ... | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:9:40:16 | if (...) ... | | Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:37:13:37:14 | access to parameter b1 | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:18:38:19 | access to parameter b1 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:38:13:38:20 | ...; | +| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:38:13:38:14 | access to local variable b2 | Conditions.cs:38:18:38:19 | access to parameter b1 | +| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:38:13:38:19 | After ... = ... | +| Conditions.cs:38:13:38:19 | After ... = ... | Conditions.cs:38:13:38:20 | After ...; | +| Conditions.cs:38:13:38:19 | Before ... = ... | Conditions.cs:38:13:38:14 | access to local variable b2 | +| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:19 | Before ... = ... | | Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:13:38:19 | ... = ... | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:9:42:16 | if (...) ... | | Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:41:9:42:16 | if (...) ... | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:40:13:40:16 | ...; | +| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | | Conditions.cs:40:13:40:13 | access to local variable x | Conditions.cs:40:13:40:15 | ...++ | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:13 | access to local variable x | +| Conditions.cs:40:13:40:15 | ...++ | Conditions.cs:40:13:40:15 | After ...++ | +| Conditions.cs:40:13:40:15 | After ...++ | Conditions.cs:40:13:40:16 | After ...; | +| Conditions.cs:40:13:40:15 | Before ...++ | Conditions.cs:40:13:40:13 | access to local variable x | +| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:15 | Before ...++ | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:43:9:43:17 | Before return ...; | | Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:41:13:41:14 | access to local variable b2 | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:43:16:43:16 | access to local variable x | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:42:13:42:16 | ...; | +| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | | Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:42:13:42:15 | ...++ | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:13 | access to local variable x | -| Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:33:9:33:10 | exit M3 (normal) | +| Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:42:13:42:15 | After ...++ | +| Conditions.cs:42:13:42:15 | After ...++ | Conditions.cs:42:13:42:16 | After ...; | +| Conditions.cs:42:13:42:15 | Before ...++ | Conditions.cs:42:13:42:13 | access to local variable x | +| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:15 | Before ...++ | +| Conditions.cs:43:9:43:17 | Before return ...; | Conditions.cs:43:16:43:16 | access to local variable x | +| Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:33:9:33:10 | Normal Exit | | Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:9:43:17 | return ...; | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:47:5:55:5 | {...} | -| Conditions.cs:46:9:46:10 | exit M4 (normal) | Conditions.cs:46:9:46:10 | exit M4 | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:47:5:55:5 | {...} | +| Conditions.cs:46:9:46:10 | Normal Exit | Conditions.cs:46:9:46:10 | Exit | | Conditions.cs:47:5:55:5 | {...} | Conditions.cs:48:9:48:18 | ... ...; | -| Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:17:48:17 | 0 | -| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:49:9:53:9 | while (...) ... | +| Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:13:48:17 | Before Int32 y = ... | +| Conditions.cs:48:9:48:18 | After ... ...; | Conditions.cs:49:9:53:9 | while (...) ... | +| Conditions.cs:48:13:48:13 | access to local variable y | Conditions.cs:48:17:48:17 | 0 | +| Conditions.cs:48:13:48:17 | After Int32 y = ... | Conditions.cs:48:9:48:18 | After ... ...; | +| Conditions.cs:48:13:48:17 | Before Int32 y = ... | Conditions.cs:48:13:48:13 | access to local variable y | +| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:48:13:48:17 | After Int32 y = ... | | Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:13:48:17 | Int32 y = ... | -| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:16:49:16 | access to parameter x | +| Conditions.cs:49:9:53:9 | After while (...) ... | Conditions.cs:54:9:54:17 | Before return ...; | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | Before ... > ... | +| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | | Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:18 | ...-- | -| Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:22:49:22 | 0 | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:54:16:54:16 | access to local variable y | +| Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:16:49:18 | After ...-- | +| Conditions.cs:49:16:49:18 | After ...-- | Conditions.cs:49:22:49:22 | 0 | +| Conditions.cs:49:16:49:18 | Before ...-- | Conditions.cs:49:16:49:16 | access to parameter x | +| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | After ... > ... [false] | +| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:9:53:9 | After while (...) ... | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:50:9:53:9 | {...} | +| Conditions.cs:49:16:49:22 | Before ... > ... | Conditions.cs:49:16:49:18 | Before ...-- | | Conditions.cs:49:22:49:22 | 0 | Conditions.cs:49:16:49:22 | ... > ... | | Conditions.cs:50:9:53:9 | {...} | Conditions.cs:51:13:52:20 | if (...) ... | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:50:9:53:9 | After {...} | | Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:51:17:51:17 | access to parameter b | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:52:17:52:20 | ...; | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:52:17:52:20 | ...; | +| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | After access to parameter b [true] | | Conditions.cs:52:17:52:17 | access to local variable y | Conditions.cs:52:17:52:19 | ...++ | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:17 | access to local variable y | -| Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:46:9:46:10 | exit M4 (normal) | +| Conditions.cs:52:17:52:19 | ...++ | Conditions.cs:52:17:52:19 | After ...++ | +| Conditions.cs:52:17:52:19 | After ...++ | Conditions.cs:52:17:52:20 | After ...; | +| Conditions.cs:52:17:52:19 | Before ...++ | Conditions.cs:52:17:52:17 | access to local variable y | +| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:19 | Before ...++ | +| Conditions.cs:54:9:54:17 | Before return ...; | Conditions.cs:54:16:54:16 | access to local variable y | +| Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:46:9:46:10 | Normal Exit | | Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:9:54:17 | return ...; | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:58:5:68:5 | {...} | -| Conditions.cs:57:9:57:10 | exit M5 (normal) | Conditions.cs:57:9:57:10 | exit M5 | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:58:5:68:5 | {...} | +| Conditions.cs:57:9:57:10 | Normal Exit | Conditions.cs:57:9:57:10 | Exit | | Conditions.cs:58:5:68:5 | {...} | Conditions.cs:59:9:59:18 | ... ...; | -| Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:17:59:17 | 0 | -| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:60:9:64:9 | while (...) ... | +| Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:13:59:17 | Before Int32 y = ... | +| Conditions.cs:59:9:59:18 | After ... ...; | Conditions.cs:60:9:64:9 | while (...) ... | +| Conditions.cs:59:13:59:13 | access to local variable y | Conditions.cs:59:17:59:17 | 0 | +| Conditions.cs:59:13:59:17 | After Int32 y = ... | Conditions.cs:59:9:59:18 | After ... ...; | +| Conditions.cs:59:13:59:17 | Before Int32 y = ... | Conditions.cs:59:13:59:13 | access to local variable y | +| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:59:13:59:17 | After Int32 y = ... | | Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:13:59:17 | Int32 y = ... | -| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:16:60:16 | access to parameter x | +| Conditions.cs:60:9:64:9 | After while (...) ... | Conditions.cs:65:9:66:16 | if (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | Before ... > ... | +| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | | Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:18 | ...-- | -| Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:22:60:22 | 0 | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:65:9:66:16 | if (...) ... | +| Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:16:60:18 | After ...-- | +| Conditions.cs:60:16:60:18 | After ...-- | Conditions.cs:60:22:60:22 | 0 | +| Conditions.cs:60:16:60:18 | Before ...-- | Conditions.cs:60:16:60:16 | access to parameter x | +| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:9:64:9 | After while (...) ... | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:61:9:64:9 | {...} | +| Conditions.cs:60:16:60:22 | Before ... > ... | Conditions.cs:60:16:60:18 | Before ...-- | | Conditions.cs:60:22:60:22 | 0 | Conditions.cs:60:16:60:22 | ... > ... | | Conditions.cs:61:9:64:9 | {...} | Conditions.cs:62:13:63:20 | if (...) ... | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:61:9:64:9 | After {...} | | Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:62:17:62:17 | access to parameter b | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:63:17:63:20 | ...; | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:63:17:63:20 | ...; | +| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | After access to parameter b [true] | | Conditions.cs:63:17:63:17 | access to local variable y | Conditions.cs:63:17:63:19 | ...++ | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:17 | access to local variable y | +| Conditions.cs:63:17:63:19 | ...++ | Conditions.cs:63:17:63:19 | After ...++ | +| Conditions.cs:63:17:63:19 | After ...++ | Conditions.cs:63:17:63:20 | After ...; | +| Conditions.cs:63:17:63:19 | Before ...++ | Conditions.cs:63:17:63:17 | access to local variable y | +| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:19 | Before ...++ | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:67:9:67:17 | Before return ...; | | Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:13:65:13 | access to parameter b | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:67:16:67:16 | access to local variable y | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:66:13:66:16 | ...; | +| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | After access to parameter b [true] | | Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:66:13:66:15 | ...++ | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:13 | access to local variable y | -| Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:57:9:57:10 | exit M5 (normal) | +| Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:66:13:66:15 | After ...++ | +| Conditions.cs:66:13:66:15 | After ...++ | Conditions.cs:66:13:66:16 | After ...; | +| Conditions.cs:66:13:66:15 | Before ...++ | Conditions.cs:66:13:66:13 | access to local variable y | +| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:15 | Before ...++ | +| Conditions.cs:67:9:67:17 | Before return ...; | Conditions.cs:67:16:67:16 | access to local variable y | +| Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:57:9:57:10 | Normal Exit | | Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:9:67:17 | return ...; | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:71:5:84:5 | {...} | -| Conditions.cs:70:9:70:10 | exit M6 (normal) | Conditions.cs:70:9:70:10 | exit M6 | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:71:5:84:5 | {...} | +| Conditions.cs:70:9:70:10 | Normal Exit | Conditions.cs:70:9:70:10 | Exit | | Conditions.cs:71:5:84:5 | {...} | Conditions.cs:72:9:72:30 | ... ...; | -| Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:17:72:18 | access to parameter ss | -| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:73:9:73:18 | ... ...; | +| Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:13:72:29 | Before Boolean b = ... | +| Conditions.cs:72:9:72:30 | After ... ...; | Conditions.cs:73:9:73:18 | ... ...; | +| Conditions.cs:72:13:72:13 | access to local variable b | Conditions.cs:72:17:72:29 | Before ... > ... | +| Conditions.cs:72:13:72:29 | After Boolean b = ... | Conditions.cs:72:9:72:30 | After ... ...; | +| Conditions.cs:72:13:72:29 | Before Boolean b = ... | Conditions.cs:72:13:72:13 | access to local variable b | +| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:13:72:29 | After Boolean b = ... | | Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:17:72:25 | access to property Length | -| Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:29:72:29 | 0 | -| Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:13:72:29 | Boolean b = ... | +| Conditions.cs:72:17:72:25 | After access to property Length | Conditions.cs:72:29:72:29 | 0 | +| Conditions.cs:72:17:72:25 | Before access to property Length | Conditions.cs:72:17:72:18 | access to parameter ss | +| Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:17:72:25 | After access to property Length | +| Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:17:72:29 | After ... > ... | +| Conditions.cs:72:17:72:29 | After ... > ... | Conditions.cs:72:13:72:29 | Boolean b = ... | +| Conditions.cs:72:17:72:29 | Before ... > ... | Conditions.cs:72:17:72:25 | Before access to property Length | | Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:17:72:29 | ... > ... | -| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:17:73:17 | 0 | -| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:74:27:74:28 | access to parameter ss | +| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:13:73:17 | Before Int32 x = ... | +| Conditions.cs:73:9:73:18 | After ... ...; | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | +| Conditions.cs:73:13:73:13 | access to local variable x | Conditions.cs:73:17:73:17 | 0 | +| Conditions.cs:73:13:73:17 | After Int32 x = ... | Conditions.cs:73:9:73:18 | After ... ...; | +| Conditions.cs:73:13:73:17 | Before Int32 x = ... | Conditions.cs:73:13:73:13 | access to local variable x | +| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:73:13:73:17 | After Int32 x = ... | | Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:13:73:17 | Int32 x = ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | +| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | access to parameter ss | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:75:9:80:9 | {...} | -| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:75:9:80:9 | After {...} | Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | | Conditions.cs:75:9:80:9 | {...} | Conditions.cs:76:13:77:20 | if (...) ... | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:13:79:26 | if (...) ... | | Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:76:17:76:17 | access to local variable b | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:78:13:79:26 | if (...) ... | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:77:17:77:20 | ...; | +| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | After access to local variable b [true] | | Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:77:17:77:19 | ...++ | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:17 | access to local variable x | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:17 | access to local variable x | +| Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:77:17:77:19 | After ...++ | +| Conditions.cs:77:17:77:19 | After ...++ | Conditions.cs:77:17:77:20 | After ...; | +| Conditions.cs:77:17:77:19 | Before ...++ | Conditions.cs:77:17:77:17 | access to local variable x | +| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:19 | Before ...++ | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:75:9:80:9 | After {...} | +| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:21 | Before ... > ... | | Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:21:78:21 | 0 | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:79:17:79:26 | ...; | +| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:79:17:79:26 | ...; | +| Conditions.cs:78:17:78:21 | Before ... > ... | Conditions.cs:78:17:78:17 | access to local variable x | | Conditions.cs:78:21:78:21 | 0 | Conditions.cs:78:17:78:21 | ... > ... | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:21:79:25 | false | +| Conditions.cs:79:17:79:17 | access to local variable b | Conditions.cs:79:21:79:25 | false | +| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:79:17:79:25 | After ... = ... | +| Conditions.cs:79:17:79:25 | After ... = ... | Conditions.cs:79:17:79:26 | After ...; | +| Conditions.cs:79:17:79:25 | Before ... = ... | Conditions.cs:79:17:79:17 | access to local variable b | +| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:25 | Before ... = ... | | Conditions.cs:79:21:79:25 | false | Conditions.cs:79:17:79:25 | ... = ... | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:83:9:83:17 | Before return ...; | | Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:13:81:13 | access to local variable b | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:83:16:83:16 | access to local variable x | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:82:13:82:16 | ...; | +| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | After access to local variable b [true] | | Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:82:13:82:15 | ...++ | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:13 | access to local variable x | -| Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:70:9:70:10 | exit M6 (normal) | +| Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:82:13:82:15 | After ...++ | +| Conditions.cs:82:13:82:15 | After ...++ | Conditions.cs:82:13:82:16 | After ...; | +| Conditions.cs:82:13:82:15 | Before ...++ | Conditions.cs:82:13:82:13 | access to local variable x | +| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:15 | Before ...++ | +| Conditions.cs:83:9:83:17 | Before return ...; | Conditions.cs:83:16:83:16 | access to local variable x | +| Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:70:9:70:10 | Normal Exit | | Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:9:83:17 | return ...; | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:87:5:100:5 | {...} | -| Conditions.cs:86:9:86:10 | exit M7 (normal) | Conditions.cs:86:9:86:10 | exit M7 | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:87:5:100:5 | {...} | +| Conditions.cs:86:9:86:10 | Normal Exit | Conditions.cs:86:9:86:10 | Exit | | Conditions.cs:87:5:100:5 | {...} | Conditions.cs:88:9:88:30 | ... ...; | -| Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:17:88:18 | access to parameter ss | -| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:89:9:89:18 | ... ...; | +| Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:13:88:29 | Before Boolean b = ... | +| Conditions.cs:88:9:88:30 | After ... ...; | Conditions.cs:89:9:89:18 | ... ...; | +| Conditions.cs:88:13:88:13 | access to local variable b | Conditions.cs:88:17:88:29 | Before ... > ... | +| Conditions.cs:88:13:88:29 | After Boolean b = ... | Conditions.cs:88:9:88:30 | After ... ...; | +| Conditions.cs:88:13:88:29 | Before Boolean b = ... | Conditions.cs:88:13:88:13 | access to local variable b | +| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:13:88:29 | After Boolean b = ... | | Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:17:88:25 | access to property Length | -| Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:29:88:29 | 0 | -| Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:13:88:29 | Boolean b = ... | +| Conditions.cs:88:17:88:25 | After access to property Length | Conditions.cs:88:29:88:29 | 0 | +| Conditions.cs:88:17:88:25 | Before access to property Length | Conditions.cs:88:17:88:18 | access to parameter ss | +| Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:17:88:25 | After access to property Length | +| Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:17:88:29 | After ... > ... | +| Conditions.cs:88:17:88:29 | After ... > ... | Conditions.cs:88:13:88:29 | Boolean b = ... | +| Conditions.cs:88:17:88:29 | Before ... > ... | Conditions.cs:88:17:88:25 | Before access to property Length | | Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:17:88:29 | ... > ... | -| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:17:89:17 | 0 | -| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:90:27:90:28 | access to parameter ss | +| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:13:89:17 | Before Int32 x = ... | +| Conditions.cs:89:9:89:18 | After ... ...; | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | +| Conditions.cs:89:13:89:13 | access to local variable x | Conditions.cs:89:17:89:17 | 0 | +| Conditions.cs:89:13:89:17 | After Int32 x = ... | Conditions.cs:89:9:89:18 | After ... ...; | +| Conditions.cs:89:13:89:17 | Before Int32 x = ... | Conditions.cs:89:13:89:13 | access to local variable x | +| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:89:13:89:17 | After Int32 x = ... | | Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:13:89:17 | Int32 x = ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:99:16:99:16 | access to local variable x | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:99:9:99:17 | Before return ...; | +| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | access to parameter ss | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:91:9:98:9 | {...} | -| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | +| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:91:9:98:9 | After {...} | Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | | Conditions.cs:91:9:98:9 | {...} | Conditions.cs:92:13:93:20 | if (...) ... | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:13:95:26 | if (...) ... | | Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:92:17:92:17 | access to local variable b | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:94:13:95:26 | if (...) ... | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:93:17:93:20 | ...; | +| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | After access to local variable b [true] | | Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:93:17:93:19 | ...++ | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:17 | access to local variable x | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:17 | access to local variable x | +| Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:93:17:93:19 | After ...++ | +| Conditions.cs:93:17:93:19 | After ...++ | Conditions.cs:93:17:93:20 | After ...; | +| Conditions.cs:93:17:93:19 | Before ...++ | Conditions.cs:93:17:93:17 | access to local variable x | +| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:19 | Before ...++ | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:13:97:20 | if (...) ... | +| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:21 | Before ... > ... | | Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:21:94:21 | 0 | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:96:13:97:20 | if (...) ... | +| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:95:17:95:26 | ...; | +| Conditions.cs:94:17:94:21 | Before ... > ... | Conditions.cs:94:17:94:17 | access to local variable x | | Conditions.cs:94:21:94:21 | 0 | Conditions.cs:94:17:94:21 | ... > ... | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:21:95:25 | false | +| Conditions.cs:95:17:95:17 | access to local variable b | Conditions.cs:95:21:95:25 | false | +| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:95:17:95:25 | After ... = ... | +| Conditions.cs:95:17:95:25 | After ... = ... | Conditions.cs:95:17:95:26 | After ...; | +| Conditions.cs:95:17:95:25 | Before ... = ... | Conditions.cs:95:17:95:17 | access to local variable b | +| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:25 | Before ... = ... | | Conditions.cs:95:21:95:25 | false | Conditions.cs:95:17:95:25 | ... = ... | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:91:9:98:9 | After {...} | | Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:17:96:17 | access to local variable b | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:97:17:97:20 | ...; | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:97:17:97:20 | ...; | +| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | After access to local variable b [true] | | Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:97:17:97:19 | ...++ | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:17 | access to local variable x | -| Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:86:9:86:10 | exit M7 (normal) | +| Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:97:17:97:19 | After ...++ | +| Conditions.cs:97:17:97:19 | After ...++ | Conditions.cs:97:17:97:20 | After ...; | +| Conditions.cs:97:17:97:19 | Before ...++ | Conditions.cs:97:17:97:17 | access to local variable x | +| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:19 | Before ...++ | +| Conditions.cs:99:9:99:17 | Before return ...; | Conditions.cs:99:16:99:16 | access to local variable x | +| Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:86:9:86:10 | Normal Exit | | Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:9:99:17 | return ...; | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:103:5:111:5 | {...} | -| Conditions.cs:102:12:102:13 | exit M8 (normal) | Conditions.cs:102:12:102:13 | exit M8 | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:103:5:111:5 | {...} | +| Conditions.cs:102:12:102:13 | Normal Exit | Conditions.cs:102:12:102:13 | Exit | | Conditions.cs:103:5:111:5 | {...} | Conditions.cs:104:9:104:29 | ... ...; | -| Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:17:104:17 | access to parameter b | -| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:105:9:106:20 | if (...) ... | +| Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:13:104:28 | Before String x = ... | +| Conditions.cs:104:9:104:29 | After ... ...; | Conditions.cs:105:9:106:20 | if (...) ... | +| Conditions.cs:104:13:104:13 | access to local variable x | Conditions.cs:104:17:104:28 | Before call to method ToString | +| Conditions.cs:104:13:104:28 | After String x = ... | Conditions.cs:104:9:104:29 | After ... ...; | +| Conditions.cs:104:13:104:28 | Before String x = ... | Conditions.cs:104:13:104:13 | access to local variable x | +| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:13:104:28 | After String x = ... | | Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:17:104:28 | call to method ToString | -| Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:13:104:28 | String x = ... | +| Conditions.cs:104:17:104:28 | After call to method ToString | Conditions.cs:104:13:104:28 | String x = ... | +| Conditions.cs:104:17:104:28 | Before call to method ToString | Conditions.cs:104:17:104:17 | access to parameter b | +| Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:17:104:28 | After call to method ToString | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:9:109:24 | if (...) ... | | Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:105:13:105:13 | access to parameter b | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:106:13:106:20 | ...; | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:107:9:109:24 | if (...) ... | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:106:13:106:20 | ...; | +| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | After access to parameter b [true] | | Conditions.cs:106:13:106:13 | access to local variable x | Conditions.cs:106:18:106:19 | "" | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:13 | access to local variable x | +| Conditions.cs:106:13:106:19 | ... += ... | Conditions.cs:106:13:106:19 | After ... += ... | +| Conditions.cs:106:13:106:19 | After ... += ... | Conditions.cs:106:13:106:20 | After ...; | +| Conditions.cs:106:13:106:19 | Before ... += ... | Conditions.cs:106:13:106:13 | access to local variable x | +| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:19 | Before ... += ... | | Conditions.cs:106:18:106:19 | "" | Conditions.cs:106:13:106:19 | ... += ... | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:13:107:13 | access to local variable x | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:110:9:110:17 | Before return ...; | +| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:13:107:24 | Before ... > ... | | Conditions.cs:107:13:107:13 | access to local variable x | Conditions.cs:107:13:107:20 | access to property Length | -| Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:107:24:107:24 | 0 | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:110:16:110:16 | access to local variable x | +| Conditions.cs:107:13:107:20 | After access to property Length | Conditions.cs:107:24:107:24 | 0 | +| Conditions.cs:107:13:107:20 | Before access to property Length | Conditions.cs:107:13:107:13 | access to local variable x | +| Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:107:13:107:20 | After access to property Length | +| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:13:109:24 | if (...) ... | +| Conditions.cs:107:13:107:24 | Before ... > ... | Conditions.cs:107:13:107:20 | Before access to property Length | | Conditions.cs:107:24:107:24 | 0 | Conditions.cs:107:13:107:24 | ... > ... | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:18:108:18 | access to parameter b | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | [true] !... | +| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | !... | +| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:18:108:18 | access to parameter b | +| Conditions.cs:108:17:108:18 | After !... [true] | Conditions.cs:109:17:109:24 | ...; | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:108:17:108:18 | After !... [true] | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:108:17:108:18 | After !... [false] | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | After access to parameter b [true] | | Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:22:109:23 | "" | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:17 | access to local variable x | +| Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:109:17:109:23 | After ... += ... | +| Conditions.cs:109:17:109:23 | After ... += ... | Conditions.cs:109:17:109:24 | After ...; | +| Conditions.cs:109:17:109:23 | Before ... += ... | Conditions.cs:109:17:109:17 | access to local variable x | +| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:23 | Before ... += ... | | Conditions.cs:109:22:109:23 | "" | Conditions.cs:109:17:109:23 | ... += ... | -| Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:102:12:102:13 | exit M8 (normal) | +| Conditions.cs:110:9:110:17 | Before return ...; | Conditions.cs:110:16:110:16 | access to local variable x | +| Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:102:12:102:13 | Normal Exit | | Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:9:110:17 | return ...; | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:114:5:124:5 | {...} | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | exit M9 | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:114:5:124:5 | {...} | +| Conditions.cs:113:10:113:11 | Normal Exit | Conditions.cs:113:10:113:11 | Exit | +| Conditions.cs:114:5:124:5 | After {...} | Conditions.cs:113:10:113:11 | Normal Exit | | Conditions.cs:114:5:124:5 | {...} | Conditions.cs:115:9:115:24 | ... ...; | -| Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:20:115:23 | null | -| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:116:9:123:9 | for (...;...;...) ... | +| Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:16:115:23 | Before String s = ... | +| Conditions.cs:115:9:115:24 | After ... ...; | Conditions.cs:116:9:123:9 | for (...;...;...) ... | +| Conditions.cs:115:16:115:16 | access to local variable s | Conditions.cs:115:20:115:23 | null | +| Conditions.cs:115:16:115:23 | After String s = ... | Conditions.cs:115:9:115:24 | After ... ...; | +| Conditions.cs:115:16:115:23 | Before String s = ... | Conditions.cs:115:16:115:16 | access to local variable s | +| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:115:16:115:23 | After String s = ... | | Conditions.cs:115:20:115:23 | null | Conditions.cs:115:16:115:23 | String s = ... | -| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:22:116:22 | 0 | -| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:25:116:25 | access to local variable i | +| Conditions.cs:116:9:123:9 | After for (...;...;...) ... | Conditions.cs:114:5:124:5 | After {...} | +| Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | Conditions.cs:116:42:116:44 | Before ...++ | +| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:18:116:22 | Before Int32 i = ... | +| Conditions.cs:116:18:116:18 | access to local variable i | Conditions.cs:116:22:116:22 | 0 | +| Conditions.cs:116:18:116:22 | After Int32 i = ... | Conditions.cs:116:25:116:39 | Before ... < ... | +| Conditions.cs:116:18:116:22 | Before Int32 i = ... | Conditions.cs:116:18:116:18 | access to local variable i | +| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:18:116:22 | After Int32 i = ... | | Conditions.cs:116:22:116:22 | 0 | Conditions.cs:116:18:116:22 | Int32 i = ... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:29:116:32 | access to parameter args | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:113:10:113:11 | exit M9 (normal) | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:117:9:123:9 | {...} | +| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:29:116:39 | Before access to property Length | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [false] | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:9:123:9 | After for (...;...;...) ... | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:117:9:123:9 | {...} | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:25 | access to local variable i | | Conditions.cs:116:29:116:32 | access to parameter args | Conditions.cs:116:29:116:39 | access to property Length | -| Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:116:25:116:39 | ... < ... | +| Conditions.cs:116:29:116:39 | After access to property Length | Conditions.cs:116:25:116:39 | ... < ... | +| Conditions.cs:116:29:116:39 | Before access to property Length | Conditions.cs:116:29:116:32 | access to parameter args | +| Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:116:29:116:39 | After access to property Length | | Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:44 | ...++ | +| Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:116:42:116:44 | After ...++ | +| Conditions.cs:116:42:116:44 | Before ...++ | Conditions.cs:116:42:116:42 | access to local variable i | +| Conditions.cs:117:9:123:9 | After {...} | Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | | Conditions.cs:117:9:123:9 | {...} | Conditions.cs:118:13:118:44 | ... ...; | -| Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:24:118:24 | access to local variable i | -| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:119:13:120:23 | if (...) ... | -| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:29:118:32 | access to parameter args | -| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:17:118:43 | Boolean last = ... | +| Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:17:118:43 | Before Boolean last = ... | +| Conditions.cs:118:13:118:44 | After ... ...; | Conditions.cs:119:13:120:23 | if (...) ... | +| Conditions.cs:118:17:118:20 | access to local variable last | Conditions.cs:118:24:118:43 | Before ... == ... | +| Conditions.cs:118:17:118:43 | After Boolean last = ... | Conditions.cs:118:13:118:44 | After ... ...; | +| Conditions.cs:118:17:118:43 | Before Boolean last = ... | Conditions.cs:118:17:118:20 | access to local variable last | +| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:17:118:43 | After Boolean last = ... | +| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:29:118:43 | Before ... - ... | +| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:24:118:43 | After ... == ... | +| Conditions.cs:118:24:118:43 | After ... == ... | Conditions.cs:118:17:118:43 | Boolean last = ... | +| Conditions.cs:118:24:118:43 | Before ... == ... | Conditions.cs:118:24:118:24 | access to local variable i | | Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:29:118:39 | access to property Length | -| Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:43:118:43 | 1 | -| Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:24:118:43 | ... == ... | +| Conditions.cs:118:29:118:39 | After access to property Length | Conditions.cs:118:43:118:43 | 1 | +| Conditions.cs:118:29:118:39 | Before access to property Length | Conditions.cs:118:29:118:32 | access to parameter args | +| Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:29:118:39 | After access to property Length | +| Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:29:118:43 | After ... - ... | +| Conditions.cs:118:29:118:43 | After ... - ... | Conditions.cs:118:24:118:43 | ... == ... | +| Conditions.cs:118:29:118:43 | Before ... - ... | Conditions.cs:118:29:118:39 | Before access to property Length | | Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:29:118:43 | ... - ... | -| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:18:119:21 | access to local variable last | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:21:120:22 | "" | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:13:122:25 | if (...) ... | +| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:17:119:21 | !... | +| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:18:119:21 | access to local variable last | +| Conditions.cs:119:17:119:21 | After !... [true] | Conditions.cs:120:17:120:23 | ...; | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:119:17:119:21 | After !... [true] | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:119:17:119:21 | After !... [false] | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:120:17:120:17 | access to local variable s | Conditions.cs:120:21:120:22 | "" | +| Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:120:17:120:22 | After ... = ... | +| Conditions.cs:120:17:120:22 | After ... = ... | Conditions.cs:120:17:120:23 | After ...; | +| Conditions.cs:120:17:120:22 | Before ... = ... | Conditions.cs:120:17:120:17 | access to local variable s | +| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:22 | Before ... = ... | | Conditions.cs:120:21:120:22 | "" | Conditions.cs:120:17:120:22 | ... = ... | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:117:9:123:9 | After {...} | | Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:17:121:20 | access to local variable last | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:21:122:24 | null | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:122:17:122:25 | ...; | +| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:122:17:122:17 | access to local variable s | Conditions.cs:122:21:122:24 | null | +| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:122:17:122:24 | After ... = ... | +| Conditions.cs:122:17:122:24 | After ... = ... | Conditions.cs:122:17:122:25 | After ...; | +| Conditions.cs:122:17:122:24 | Before ... = ... | Conditions.cs:122:17:122:17 | access to local variable s | +| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:24 | Before ... = ... | | Conditions.cs:122:21:122:24 | null | Conditions.cs:122:17:122:24 | ... = ... | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:130:5:141:5 | {...} | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:130:5:141:5 | {...} | | Conditions.cs:130:5:141:5 | {...} | Conditions.cs:131:9:140:9 | while (...) ... | -| Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:131:16:131:19 | true | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:132:9:140:9 | {...} | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:131:16:131:19 | true | +| Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | +| Conditions.cs:131:16:131:19 | After true [true] | Conditions.cs:132:9:140:9 | {...} | +| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | After true [true] | | Conditions.cs:132:9:140:9 | {...} | Conditions.cs:133:13:139:13 | if (...) ... | -| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:133:17:133:22 | this access | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:134:13:139:13 | {...} | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:132:9:140:9 | After {...} | +| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:133:17:133:22 | Before access to field Field1 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:134:13:139:13 | {...} | +| Conditions.cs:133:17:133:22 | Before access to field Field1 | Conditions.cs:133:17:133:22 | this access | +| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | +| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | | Conditions.cs:133:17:133:22 | this access | Conditions.cs:133:17:133:22 | access to field Field1 | | Conditions.cs:134:13:139:13 | {...} | Conditions.cs:135:17:138:17 | if (...) ... | -| Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:135:21:135:26 | this access | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:136:17:138:17 | {...} | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:134:13:139:13 | After {...} | +| Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:135:21:135:26 | Before access to field Field2 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:136:17:138:17 | {...} | +| Conditions.cs:135:21:135:26 | Before access to field Field2 | Conditions.cs:135:21:135:26 | this access | +| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | +| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | | Conditions.cs:135:21:135:26 | this access | Conditions.cs:135:21:135:26 | access to field Field2 | | Conditions.cs:136:17:138:17 | {...} | Conditions.cs:137:21:137:38 | ...; | -| Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:137:21:137:37 | call to method ToString | +| Conditions.cs:137:21:137:26 | After access to field Field1 | Conditions.cs:137:21:137:37 | call to method ToString | +| Conditions.cs:137:21:137:26 | Before access to field Field1 | Conditions.cs:137:21:137:26 | this access | +| Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:137:21:137:26 | After access to field Field1 | | Conditions.cs:137:21:137:26 | this access | Conditions.cs:137:21:137:26 | access to field Field1 | -| Conditions.cs:137:21:137:38 | ...; | Conditions.cs:137:21:137:26 | this access | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:144:5:150:5 | {...} | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | exit M11 | +| Conditions.cs:137:21:137:37 | After call to method ToString | Conditions.cs:137:21:137:38 | After ...; | +| Conditions.cs:137:21:137:37 | Before call to method ToString | Conditions.cs:137:21:137:26 | Before access to field Field1 | +| Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:137:21:137:37 | After call to method ToString | +| Conditions.cs:137:21:137:38 | ...; | Conditions.cs:137:21:137:37 | Before call to method ToString | +| Conditions.cs:137:21:137:38 | After ...; | Conditions.cs:136:17:138:17 | After {...} | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:144:5:150:5 | {...} | +| Conditions.cs:143:10:143:12 | Normal Exit | Conditions.cs:143:10:143:12 | Exit | +| Conditions.cs:144:5:150:5 | After {...} | Conditions.cs:143:10:143:12 | Normal Exit | | Conditions.cs:144:5:150:5 | {...} | Conditions.cs:145:9:145:30 | ... ...; | -| Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:145:17:145:17 | access to parameter b | -| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:146:9:149:49 | if (...) ... | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:13:145:29 | String s = ... | +| Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:145:13:145:29 | Before String s = ... | +| Conditions.cs:145:9:145:30 | After ... ...; | Conditions.cs:146:9:149:49 | if (...) ... | +| Conditions.cs:145:13:145:13 | access to local variable s | Conditions.cs:145:17:145:29 | ... ? ... : ... | +| Conditions.cs:145:13:145:29 | After String s = ... | Conditions.cs:145:9:145:30 | After ... ...; | +| Conditions.cs:145:13:145:29 | Before String s = ... | Conditions.cs:145:13:145:13 | access to local variable s | +| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:13:145:29 | After String s = ... | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:145:27:145:29 | "b" | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:145:21:145:23 | "a" | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:17 | access to parameter b | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:13:145:29 | String s = ... | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:144:5:150:5 | After {...} | | Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:146:13:146:13 | access to parameter b | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:147:13:147:49 | ...; | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:149:13:149:49 | ...; | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:40:147:43 | "a = " | -| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:13:147:48 | call to method WriteLine | -| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:45:147:45 | access to local variable s | -| Conditions.cs:147:44:147:46 | {...} | Conditions.cs:147:38:147:47 | $"..." | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:149:13:149:49 | ...; | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:147:13:147:49 | ...; | +| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| Conditions.cs:147:13:147:48 | After call to method WriteLine | Conditions.cs:147:13:147:49 | After ...; | +| Conditions.cs:147:13:147:48 | Before call to method WriteLine | Conditions.cs:147:38:147:47 | Before $"..." | +| Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:147:13:147:48 | After call to method WriteLine | +| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:13:147:48 | Before call to method WriteLine | +| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:38:147:47 | After $"..." | +| Conditions.cs:147:38:147:47 | After $"..." | Conditions.cs:147:13:147:48 | call to method WriteLine | +| Conditions.cs:147:38:147:47 | Before $"..." | Conditions.cs:147:40:147:43 | "a = " | +| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:44:147:46 | Before {...} | +| Conditions.cs:147:44:147:46 | After {...} | Conditions.cs:147:38:147:47 | $"..." | +| Conditions.cs:147:44:147:46 | Before {...} | Conditions.cs:147:45:147:45 | access to local variable s | +| Conditions.cs:147:44:147:46 | {...} | Conditions.cs:147:44:147:46 | After {...} | | Conditions.cs:147:45:147:45 | access to local variable s | Conditions.cs:147:44:147:46 | {...} | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:40:149:43 | "b = " | -| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:13:149:48 | call to method WriteLine | -| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:45:149:45 | access to local variable s | -| Conditions.cs:149:44:149:46 | {...} | Conditions.cs:149:38:149:47 | $"..." | +| Conditions.cs:149:13:149:48 | After call to method WriteLine | Conditions.cs:149:13:149:49 | After ...; | +| Conditions.cs:149:13:149:48 | Before call to method WriteLine | Conditions.cs:149:38:149:47 | Before $"..." | +| Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:149:13:149:48 | After call to method WriteLine | +| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:13:149:48 | Before call to method WriteLine | +| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:38:149:47 | After $"..." | +| Conditions.cs:149:38:149:47 | After $"..." | Conditions.cs:149:13:149:48 | call to method WriteLine | +| Conditions.cs:149:38:149:47 | Before $"..." | Conditions.cs:149:40:149:43 | "b = " | +| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:44:149:46 | Before {...} | +| Conditions.cs:149:44:149:46 | After {...} | Conditions.cs:149:38:149:47 | $"..." | +| Conditions.cs:149:44:149:46 | Before {...} | Conditions.cs:149:45:149:45 | access to local variable s | +| Conditions.cs:149:44:149:46 | {...} | Conditions.cs:149:44:149:46 | After {...} | | Conditions.cs:149:45:149:45 | access to local variable s | Conditions.cs:149:44:149:46 | {...} | -| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | {...} | -| ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | call to constructor Object | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | this access | -| ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | ExitMethods.cs:6:7:6:17 | exit ExitMethods | +| ExitMethods.cs:6:7:6:17 | After call to constructor Object | ExitMethods.cs:6:7:6:17 | {...} | +| ExitMethods.cs:6:7:6:17 | After call to method | ExitMethods.cs:6:7:6:17 | Before call to constructor Object | +| ExitMethods.cs:6:7:6:17 | Before call to constructor Object | ExitMethods.cs:6:7:6:17 | call to constructor Object | +| ExitMethods.cs:6:7:6:17 | Before call to method | ExitMethods.cs:6:7:6:17 | this access | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | Before call to method | +| ExitMethods.cs:6:7:6:17 | Normal Exit | ExitMethods.cs:6:7:6:17 | Exit | +| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | After call to constructor Object | +| ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | After call to method | | ExitMethods.cs:6:7:6:17 | this access | ExitMethods.cs:6:7:6:17 | call to method | -| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:9:5:12:5 | {...} | -| ExitMethods.cs:8:10:8:11 | exit M1 (normal) | ExitMethods.cs:8:10:8:11 | exit M1 | +| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | Normal Exit | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:9:5:12:5 | {...} | +| ExitMethods.cs:8:10:8:11 | Normal Exit | ExitMethods.cs:8:10:8:11 | Exit | | ExitMethods.cs:9:5:12:5 | {...} | ExitMethods.cs:10:9:10:25 | ...; | -| ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:11:9:11:15 | return ...; | -| ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:10:20:10:23 | true | +| ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | ExitMethods.cs:10:9:10:25 | After ...; | +| ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | ExitMethods.cs:10:20:10:23 | true | +| ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | +| ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | +| ExitMethods.cs:10:9:10:25 | After ...; | ExitMethods.cs:11:9:11:15 | Before return ...; | | ExitMethods.cs:10:20:10:23 | true | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | -| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:8:10:8:11 | exit M1 (normal) | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:15:5:18:5 | {...} | -| ExitMethods.cs:14:10:14:11 | exit M2 (normal) | ExitMethods.cs:14:10:14:11 | exit M2 | +| ExitMethods.cs:11:9:11:15 | Before return ...; | ExitMethods.cs:11:9:11:15 | return ...; | +| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:8:10:8:11 | Normal Exit | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:15:5:18:5 | {...} | +| ExitMethods.cs:14:10:14:11 | Normal Exit | ExitMethods.cs:14:10:14:11 | Exit | | ExitMethods.cs:15:5:18:5 | {...} | ExitMethods.cs:16:9:16:26 | ...; | -| ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:17:9:17:15 | return ...; | -| ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:16:20:16:24 | false | +| ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | ExitMethods.cs:16:9:16:26 | After ...; | +| ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | ExitMethods.cs:16:20:16:24 | false | +| ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | +| ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | +| ExitMethods.cs:16:9:16:26 | After ...; | ExitMethods.cs:17:9:17:15 | Before return ...; | | ExitMethods.cs:16:20:16:24 | false | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | -| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:14:10:14:11 | exit M2 (normal) | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:21:5:24:5 | {...} | -| ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | ExitMethods.cs:20:10:20:11 | exit M3 | +| ExitMethods.cs:17:9:17:15 | Before return ...; | ExitMethods.cs:17:9:17:15 | return ...; | +| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:14:10:14:11 | Normal Exit | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:21:5:24:5 | {...} | +| ExitMethods.cs:20:10:20:11 | Exceptional Exit | ExitMethods.cs:20:10:20:11 | Exit | | ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:22:9:22:26 | ...; | -| ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | -| ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:21:22:24 | true | +| ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | ExitMethods.cs:22:21:22:24 | true | +| ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:20:10:20:11 | Exceptional Exit | +| ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | | ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:27:5:30:5 | {...} | -| ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | ExitMethods.cs:26:10:26:11 | exit M4 | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:27:5:30:5 | {...} | +| ExitMethods.cs:26:10:26:11 | Exceptional Exit | ExitMethods.cs:26:10:26:11 | Exit | | ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:28:9:28:15 | ...; | -| ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | +| ExitMethods.cs:28:9:28:14 | Before call to method Exit | ExitMethods.cs:28:9:28:14 | this access | +| ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:26:10:26:11 | Exceptional Exit | | ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:28:9:28:14 | call to method Exit | -| ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:28:9:28:14 | this access | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:33:5:36:5 | {...} | -| ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | ExitMethods.cs:32:10:32:11 | exit M5 | +| ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:28:9:28:14 | Before call to method Exit | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:33:5:36:5 | {...} | +| ExitMethods.cs:32:10:32:11 | Exceptional Exit | ExitMethods.cs:32:10:32:11 | Exit | | ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:34:9:34:26 | ...; | -| ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | +| ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | ExitMethods.cs:34:9:34:25 | this access | +| ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:32:10:32:11 | Exceptional Exit | | ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | -| ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:34:9:34:25 | this access | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:39:5:52:5 | {...} | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | exit M6 | +| ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:39:5:52:5 | {...} | | ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:40:9:51:9 | try {...} ... | | ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:41:9:43:9 | {...} | | ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:42:13:42:31 | ...; | +| ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | ExitMethods.cs:42:25:42:29 | false | | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | ExitMethods.cs:44:9:47:9 | catch (...) {...} | -| ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:42:25:42:29 | false | +| ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | | ExitMethods.cs:42:25:42:29 | false | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | -| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:45:9:47:9 | {...} | -| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:46:13:46:19 | return ...; | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:50:13:50:19 | return ...; | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:55:5:58:5 | {...} | -| ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | ExitMethods.cs:54:10:54:11 | exit M7 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:45:9:47:9 | {...} | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | catch (...) {...} | +| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | +| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:46:13:46:19 | Before return ...; | +| ExitMethods.cs:46:13:46:19 | Before return ...; | ExitMethods.cs:46:13:46:19 | return ...; | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:49:9:51:9 | {...} | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | Exceptional Exit | +| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:50:13:50:19 | Before return ...; | +| ExitMethods.cs:50:13:50:19 | Before return ...; | ExitMethods.cs:50:13:50:19 | return ...; | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:55:5:58:5 | {...} | +| ExitMethods.cs:54:10:54:11 | Exceptional Exit | ExitMethods.cs:54:10:54:11 | Exit | | ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:56:9:56:23 | ...; | -| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | -| ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:61:5:64:5 | {...} | -| ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | ExitMethods.cs:60:10:60:11 | exit M8 | +| ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | +| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:54:10:54:11 | Exceptional Exit | +| ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:61:5:64:5 | {...} | +| ExitMethods.cs:60:10:60:11 | Exceptional Exit | ExitMethods.cs:60:10:60:11 | Exit | | ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:62:9:62:23 | ...; | -| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | -| ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:67:5:70:5 | {...} | +| ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | +| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:60:10:60:11 | Exceptional Exit | +| ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:67:5:70:5 | {...} | +| ExitMethods.cs:67:5:70:5 | After {...} | ExitMethods.cs:66:17:66:26 | Normal Exit | | ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:68:9:69:34 | if (...) ... | +| ExitMethods.cs:68:9:69:34 | After if (...) ... | ExitMethods.cs:67:5:70:5 | After {...} | | ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:68:13:68:13 | access to parameter b | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:69:19:69:33 | object creation of type Exception | -| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (abnormal) | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:13:69:34 | throw ...; | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:73:5:78:5 | {...} | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | exit ErrorAlways | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:68:9:69:34 | After if (...) ... | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:69:13:69:34 | Before throw ...; | +| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | +| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | +| ExitMethods.cs:69:13:69:34 | Before throw ...; | ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | +| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:66:17:66:26 | Exceptional Exit | +| ExitMethods.cs:69:19:69:33 | After object creation of type Exception | ExitMethods.cs:69:13:69:34 | throw ...; | +| ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | ExitMethods.cs:69:19:69:33 | object creation of type Exception | +| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:19:69:33 | After object creation of type Exception | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:73:5:78:5 | {...} | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | Exit | | ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:74:9:77:45 | if (...) ... | | ExitMethods.cs:74:9:77:45 | if (...) ... | ExitMethods.cs:74:13:74:13 | access to parameter b | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:75:19:75:33 | object creation of type Exception | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:77:41:77:43 | "b" | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:13:75:34 | throw ...; | -| ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:77:13:77:45 | throw ...; | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:77:13:77:45 | Before throw ...; | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:75:13:75:34 | Before throw ...; | +| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | +| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | +| ExitMethods.cs:75:13:75:34 | Before throw ...; | ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | +| ExitMethods.cs:75:19:75:33 | After object creation of type Exception | ExitMethods.cs:75:13:75:34 | throw ...; | +| ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | ExitMethods.cs:75:19:75:33 | object creation of type Exception | +| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:19:75:33 | After object creation of type Exception | +| ExitMethods.cs:77:13:77:45 | Before throw ...; | ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | +| ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | ExitMethods.cs:77:13:77:45 | throw ...; | +| ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | ExitMethods.cs:77:41:77:43 | "b" | +| ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | | ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:81:5:83:5 | {...} | -| ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 | -| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:82:15:82:29 | object creation of type Exception | -| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | -| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:82:9:82:30 | throw ...; | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:41:85:55 | object creation of type Exception | -| ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 | -| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | -| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:35:85:55 | throw ... | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:88:5:90:5 | {...} | -| ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | ExitMethods.cs:87:10:87:13 | exit Exit | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:81:5:83:5 | {...} | +| ExitMethods.cs:80:17:80:28 | Exceptional Exit | ExitMethods.cs:80:17:80:28 | Exit | +| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:82:9:82:30 | Before throw ...; | +| ExitMethods.cs:82:9:82:30 | Before throw ...; | ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | +| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:80:17:80:28 | Exceptional Exit | +| ExitMethods.cs:82:15:82:29 | After object creation of type Exception | ExitMethods.cs:82:9:82:30 | throw ...; | +| ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | ExitMethods.cs:82:15:82:29 | object creation of type Exception | +| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:82:15:82:29 | After object creation of type Exception | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:35:85:55 | Before throw ... | +| ExitMethods.cs:85:17:85:28 | Exceptional Exit | ExitMethods.cs:85:17:85:28 | Exit | +| ExitMethods.cs:85:35:85:55 | Before throw ... | ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | +| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:17:85:28 | Exceptional Exit | +| ExitMethods.cs:85:41:85:55 | After object creation of type Exception | ExitMethods.cs:85:35:85:55 | throw ... | +| ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | ExitMethods.cs:85:41:85:55 | object creation of type Exception | +| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:41:85:55 | After object creation of type Exception | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:88:5:90:5 | {...} | +| ExitMethods.cs:87:10:87:13 | Exceptional Exit | ExitMethods.cs:87:10:87:13 | Exit | | ExitMethods.cs:88:5:90:5 | {...} | ExitMethods.cs:89:9:89:28 | ...; | -| ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | -| ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:89:26:89:26 | 0 | +| ExitMethods.cs:89:9:89:27 | Before call to method Exit | ExitMethods.cs:89:26:89:26 | 0 | +| ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:87:10:87:13 | Exceptional Exit | +| ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:89:9:89:27 | Before call to method Exit | | ExitMethods.cs:89:26:89:26 | 0 | ExitMethods.cs:89:9:89:27 | call to method Exit | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:93:5:103:5 | {...} | -| ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | ExitMethods.cs:92:10:92:18 | exit ExitInTry | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:93:5:103:5 | {...} | +| ExitMethods.cs:93:5:103:5 | After {...} | ExitMethods.cs:92:10:92:18 | Normal Exit | | ExitMethods.cs:93:5:103:5 | {...} | ExitMethods.cs:94:9:102:9 | try {...} ... | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:93:5:103:5 | After {...} | | ExitMethods.cs:94:9:102:9 | try {...} ... | ExitMethods.cs:95:9:97:9 | {...} | | ExitMethods.cs:95:9:97:9 | {...} | ExitMethods.cs:96:13:96:19 | ...; | -| ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | +| ExitMethods.cs:96:13:96:18 | Before call to method Exit | ExitMethods.cs:96:13:96:18 | this access | +| ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:99:9:102:9 | {...} | | ExitMethods.cs:96:13:96:18 | this access | ExitMethods.cs:96:13:96:18 | call to method Exit | -| ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:96:13:96:18 | this access | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:106:5:108:5 | {...} | -| ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | ExitMethods.cs:105:10:105:24 | exit ApplicationExit | +| ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:96:13:96:18 | Before call to method Exit | +| ExitMethods.cs:99:9:102:9 | After {...} | ExitMethods.cs:92:10:92:18 | Exceptional Exit | +| ExitMethods.cs:99:9:102:9 | After {...} | ExitMethods.cs:94:9:102:9 | After try {...} ... | +| ExitMethods.cs:99:9:102:9 | {...} | ExitMethods.cs:101:13:101:41 | ...; | +| ExitMethods.cs:101:13:101:40 | After call to method WriteLine | ExitMethods.cs:101:13:101:41 | After ...; | +| ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | ExitMethods.cs:101:38:101:39 | "" | +| ExitMethods.cs:101:13:101:40 | call to method WriteLine | ExitMethods.cs:101:13:101:40 | After call to method WriteLine | +| ExitMethods.cs:101:13:101:41 | ...; | ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | +| ExitMethods.cs:101:13:101:41 | After ...; | ExitMethods.cs:99:9:102:9 | After {...} | +| ExitMethods.cs:101:38:101:39 | "" | ExitMethods.cs:101:13:101:40 | call to method WriteLine | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:106:5:108:5 | {...} | +| ExitMethods.cs:105:10:105:24 | Exceptional Exit | ExitMethods.cs:105:10:105:24 | Exit | | ExitMethods.cs:106:5:108:5 | {...} | ExitMethods.cs:107:9:107:48 | ...; | -| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | -| ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:107:9:107:47 | call to method Exit | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:111:5:113:5 | {...} | -| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:112:16:112:20 | access to parameter input | -| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:110:13:110:21 | exit ThrowExpr (normal) | -| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:25:112:25 | 0 | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:29:112:29 | 1 | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:69:112:75 | "input" | -| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:9:112:77 | return ...; | +| ExitMethods.cs:107:9:107:47 | Before call to method Exit | ExitMethods.cs:107:9:107:47 | call to method Exit | +| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:105:10:105:24 | Exceptional Exit | +| ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:107:9:107:47 | Before call to method Exit | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:111:5:113:5 | {...} | +| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:112:9:112:77 | Before return ...; | +| ExitMethods.cs:112:9:112:77 | Before return ...; | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | +| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:110:13:110:21 | Normal Exit | +| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:25:112:25 | Before (...) ... | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:112:41:112:76 | Before throw ... | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:112:29:112:37 | Before ... / ... | +| ExitMethods.cs:112:16:112:25 | Before ... != ... | ExitMethods.cs:112:16:112:20 | access to parameter input | +| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:16:112:25 | Before ... != ... | +| ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | ExitMethods.cs:112:9:112:77 | return ...; | | ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:112:25:112:25 | (...) ... | -| ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:16:112:25 | ... != ... | +| ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:25:112:25 | After (...) ... | +| ExitMethods.cs:112:25:112:25 | After (...) ... | ExitMethods.cs:112:16:112:25 | ... != ... | +| ExitMethods.cs:112:25:112:25 | Before (...) ... | ExitMethods.cs:112:25:112:25 | 0 | | ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | (...) ... | -| ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:112:33:112:37 | access to parameter input | -| ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | +| ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:112:29:112:29 | After (...) ... | +| ExitMethods.cs:112:29:112:29 | After (...) ... | ExitMethods.cs:112:33:112:37 | access to parameter input | +| ExitMethods.cs:112:29:112:29 | Before (...) ... | ExitMethods.cs:112:29:112:29 | 1 | +| ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:112:29:112:37 | After ... / ... | +| ExitMethods.cs:112:29:112:37 | After ... / ... | ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | +| ExitMethods.cs:112:29:112:37 | Before ... / ... | ExitMethods.cs:112:29:112:29 | Before (...) ... | | ExitMethods.cs:112:33:112:37 | access to parameter input | ExitMethods.cs:112:29:112:37 | ... / ... | -| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:110:13:110:21 | exit ThrowExpr (abnormal) | -| ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:41:112:76 | throw ... | +| ExitMethods.cs:112:41:112:76 | Before throw ... | ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | +| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:110:13:110:21 | Exceptional Exit | +| ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | ExitMethods.cs:112:41:112:76 | throw ... | +| ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | ExitMethods.cs:112:69:112:75 | "input" | +| ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | | ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:116:5:118:5 | {...} | -| ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall | -| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:117:16:117:16 | access to parameter s | -| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:116:5:118:5 | {...} | +| ExitMethods.cs:115:16:115:34 | Normal Exit | ExitMethods.cs:115:16:115:34 | Exit | +| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:117:9:117:39 | Before return ...; | +| ExitMethods.cs:117:9:117:39 | Before return ...; | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | +| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:115:16:115:34 | Normal Exit | | ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:117:27:117:29 | - | -| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:34:117:34 | 0 | -| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:38:117:38 | 1 | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:9:117:39 | return ...; | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:117:38:117:38 | 1 | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:117:34:117:34 | 0 | +| ExitMethods.cs:117:16:117:30 | Before call to method Contains | ExitMethods.cs:117:16:117:16 | access to parameter s | +| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | +| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | +| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:30 | Before call to method Contains | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:9:117:39 | return ...; | | ExitMethods.cs:117:27:117:29 | - | ExitMethods.cs:117:16:117:30 | call to method Contains | -| 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:120:17:120:32 | Entry | ExitMethods.cs:121:5:124:5 | {...} | +| ExitMethods.cs:120:17:120:32 | Exceptional Exit | ExitMethods.cs:120:17:120:32 | Exit | | ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:122:9:122:29 | ...; | -| 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:9:122:28 | Before call to method IsTrue | ExitMethods.cs:122:23:122:27 | false | +| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:120:17:120:32 | Exceptional Exit | +| ExitMethods.cs:122:9:122:29 | ...; | ExitMethods.cs:122:9:122:28 | Before 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:126:17:126:33 | Entry | ExitMethods.cs:127:5:130:5 | {...} | +| ExitMethods.cs:126:17:126:33 | Exceptional Exit | ExitMethods.cs:126:17:126:33 | Exit | | ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:128:9:128:27 | ...; | -| ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 (abnormal) | +| ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | ExitMethods.cs:128:9:128:26 | this access | +| ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:126:17:126:33 | Exceptional Exit | | 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 | 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:128:9:128:27 | ...; | ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:33:132:49 | Before call to method IsFalse | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:10:132:20 | Normal Exit | +| ExitMethods.cs:132:33:132:49 | Before call to method IsFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | +| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:10:132:20 | Exceptional Exit | +| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:33:132:49 | After call to method IsFalse | | 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:134:17:134:33 | Entry | ExitMethods.cs:135:5:138:5 | {...} | +| ExitMethods.cs:134:17:134:33 | Exceptional Exit | ExitMethods.cs:134:17:134:33 | Exit | | ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:136:9:136:26 | ...; | -| 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 | Before call to method AssertFalse | ExitMethods.cs:136:9:136:25 | this access | +| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:134:17:134:33 | Exceptional Exit | | 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:9:136:26 | ...; | ExitMethods.cs:136:9:136:25 | Before 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:140:17:140:42 | Entry | ExitMethods.cs:141:5:147:5 | {...} | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | Exit | | ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:142:9:145:53 | if (...) ... | | ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:142:13:142:13 | access to parameter b | -| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:143:13:143:43 | ...; | -| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:145:13:145:53 | ...; | -| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:41:143:41 | access to parameter e | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:145:13:145:53 | ...; | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:143:13:143:43 | ...; | +| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | +| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | +| ExitMethods.cs:143:13:143:42 | Before call to method Throw | ExitMethods.cs:143:41:143:41 | access to parameter e | +| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:13:143:42 | Before call to method Throw | | ExitMethods.cs:143:41:143:41 | access to parameter e | ExitMethods.cs:143:13:143:42 | call to method Throw | -| ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:145:13:145:52 | call to method Throw | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:43:145:43 | access to parameter e | +| ExitMethods.cs:145:13:145:44 | After call to method Capture | ExitMethods.cs:145:13:145:52 | call to method Throw | +| ExitMethods.cs:145:13:145:44 | Before call to method Capture | ExitMethods.cs:145:43:145:43 | access to parameter e | +| ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:145:13:145:44 | After call to method Capture | +| ExitMethods.cs:145:13:145:52 | Before call to method Throw | ExitMethods.cs:145:13:145:44 | Before call to method Capture | +| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:52 | Before call to method Throw | | ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:145:13:145:44 | call to method Capture | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:6:5:8:5 | {...} | -| Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | Extensions.cs:5:23:5:29 | exit ToInt32 | -| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:7:28:7:28 | access to parameter s | -| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | -| Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:9:7:30 | return ...; | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:6:5:8:5 | {...} | +| Extensions.cs:5:23:5:29 | Normal Exit | Extensions.cs:5:23:5:29 | Exit | +| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:7:9:7:30 | Before return ...; | +| Extensions.cs:7:9:7:30 | Before return ...; | Extensions.cs:7:16:7:29 | Before call to method Parse | +| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:5:23:5:29 | Normal Exit | +| Extensions.cs:7:16:7:29 | After call to method Parse | Extensions.cs:7:9:7:30 | return ...; | +| Extensions.cs:7:16:7:29 | Before call to method Parse | Extensions.cs:7:28:7:28 | access to parameter s | +| Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:16:7:29 | After call to method Parse | | Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:7:16:7:29 | call to method Parse | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:11:5:13:5 | {...} | -| Extensions.cs:10:24:10:29 | exit ToBool (normal) | Extensions.cs:10:24:10:29 | exit ToBool | -| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:12:16:12:16 | access to parameter f | -| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:10:24:10:29 | exit ToBool (normal) | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:11:5:13:5 | {...} | +| Extensions.cs:10:24:10:29 | Normal Exit | Extensions.cs:10:24:10:29 | Exit | +| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:12:9:12:20 | Before return ...; | +| Extensions.cs:12:9:12:20 | Before return ...; | Extensions.cs:12:16:12:19 | Before delegate call | +| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:10:24:10:29 | Normal Exit | | Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:12:18:12:18 | access to parameter s | -| Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:9:12:20 | return ...; | +| Extensions.cs:12:16:12:19 | After delegate call | Extensions.cs:12:9:12:20 | return ...; | +| Extensions.cs:12:16:12:19 | Before delegate call | Extensions.cs:12:16:12:16 | access to parameter f | +| Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:16:12:19 | After delegate call | | Extensions.cs:12:18:12:18 | access to parameter s | Extensions.cs:12:16:12:19 | delegate call | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:48:15:50 | "0" | -| Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | Extensions.cs:15:23:15:33 | exit CallToInt32 | -| Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:40:15:51 | Before call to method ToInt32 | +| Extensions.cs:15:23:15:33 | Normal Exit | Extensions.cs:15:23:15:33 | Exit | +| Extensions.cs:15:40:15:51 | After call to method ToInt32 | Extensions.cs:15:23:15:33 | Normal Exit | +| Extensions.cs:15:40:15:51 | Before call to method ToInt32 | Extensions.cs:15:48:15:50 | "0" | +| Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:40:15:51 | After call to method ToInt32 | | Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:40:15:51 | call to method ToInt32 | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:21:5:26:5 | {...} | -| Extensions.cs:20:17:20:20 | exit Main (normal) | Extensions.cs:20:17:20:20 | exit Main | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:21:5:26:5 | {...} | +| Extensions.cs:20:17:20:20 | Normal Exit | Extensions.cs:20:17:20:20 | Exit | +| Extensions.cs:21:5:26:5 | After {...} | Extensions.cs:20:17:20:20 | Normal Exit | | Extensions.cs:21:5:26:5 | {...} | Extensions.cs:22:9:22:20 | ...; | | Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:22:9:22:19 | call to method ToInt32 | -| Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:23:9:23:31 | ...; | -| Extensions.cs:22:9:22:20 | ...; | Extensions.cs:22:9:22:9 | access to parameter s | -| Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:24:9:24:46 | ...; | -| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:23:28:23:29 | "" | +| Extensions.cs:22:9:22:19 | After call to method ToInt32 | Extensions.cs:22:9:22:20 | After ...; | +| Extensions.cs:22:9:22:19 | Before call to method ToInt32 | Extensions.cs:22:9:22:9 | access to parameter s | +| Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:22:9:22:19 | After call to method ToInt32 | +| Extensions.cs:22:9:22:20 | ...; | Extensions.cs:22:9:22:19 | Before call to method ToInt32 | +| Extensions.cs:22:9:22:20 | After ...; | Extensions.cs:23:9:23:31 | ...; | +| Extensions.cs:23:9:23:30 | After call to method ToInt32 | Extensions.cs:23:9:23:31 | After ...; | +| Extensions.cs:23:9:23:30 | Before call to method ToInt32 | Extensions.cs:23:28:23:29 | "" | +| Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:23:9:23:30 | After call to method ToInt32 | +| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:23:9:23:30 | Before call to method ToInt32 | +| Extensions.cs:23:9:23:31 | After ...; | Extensions.cs:24:9:24:46 | ...; | | Extensions.cs:23:28:23:29 | "" | Extensions.cs:23:9:23:30 | call to method ToInt32 | -| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:25:9:25:34 | ...; | -| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:24:27:24:32 | "true" | -| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:35:24:44 | access to method Parse | +| Extensions.cs:24:9:24:45 | After call to method ToBool | Extensions.cs:24:9:24:46 | After ...; | +| Extensions.cs:24:9:24:45 | Before call to method ToBool | Extensions.cs:24:27:24:32 | "true" | +| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:24:9:24:45 | After call to method ToBool | +| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:24:9:24:45 | Before call to method ToBool | +| Extensions.cs:24:9:24:46 | After ...; | Extensions.cs:25:9:25:34 | ...; | +| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:35:24:44 | Before delegate creation of type Func | +| Extensions.cs:24:35:24:44 | After delegate creation of type Func | Extensions.cs:24:9:24:45 | call to method ToBool | +| Extensions.cs:24:35:24:44 | Before delegate creation of type Func | Extensions.cs:24:35:24:44 | access to method Parse | | Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:24:35:24:44 | delegate creation of type Func | -| Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:24:9:24:45 | call to method ToBool | -| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:23:25:32 | access to method Parse | -| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:20:17:20:20 | exit Main (normal) | -| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:25:9:25:14 | "true" | +| Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:24:35:24:44 | After delegate creation of type Func | +| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:23:25:32 | Before delegate creation of type Func | +| Extensions.cs:25:9:25:33 | After call to method ToBool | Extensions.cs:25:9:25:34 | After ...; | +| Extensions.cs:25:9:25:33 | Before call to method ToBool | Extensions.cs:25:9:25:14 | "true" | +| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:25:9:25:33 | After call to method ToBool | +| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:25:9:25:33 | Before call to method ToBool | +| Extensions.cs:25:9:25:34 | After ...; | Extensions.cs:21:5:26:5 | After {...} | +| Extensions.cs:25:23:25:32 | After delegate creation of type Func | Extensions.cs:25:9:25:33 | call to method ToBool | +| Extensions.cs:25:23:25:32 | Before delegate creation of type Func | Extensions.cs:25:23:25:32 | access to method Parse | | Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:25:23:25:32 | delegate creation of type Func | -| Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:25:9:25:33 | call to method ToBool | -| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | {...} | -| Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | call to constructor Object | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | this access | -| Finally.cs:3:14:3:20 | exit Finally (normal) | Finally.cs:3:14:3:20 | exit Finally | +| Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:25:23:25:32 | After delegate creation of type Func | +| Finally.cs:3:14:3:20 | After call to constructor Object | Finally.cs:3:14:3:20 | {...} | +| Finally.cs:3:14:3:20 | After call to method | Finally.cs:3:14:3:20 | Before call to constructor Object | +| Finally.cs:3:14:3:20 | Before call to constructor Object | Finally.cs:3:14:3:20 | call to constructor Object | +| Finally.cs:3:14:3:20 | Before call to method | Finally.cs:3:14:3:20 | this access | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Before call to method | +| Finally.cs:3:14:3:20 | Normal Exit | Finally.cs:3:14:3:20 | Exit | +| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | After call to constructor Object | +| Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | After call to method | | Finally.cs:3:14:3:20 | this access | Finally.cs:3:14:3:20 | call to method | -| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | exit Finally (normal) | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:8:5:17:5 | {...} | +| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | Normal Exit | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:8:5:17:5 | {...} | +| Finally.cs:8:5:17:5 | After {...} | Finally.cs:7:10:7:11 | Normal Exit | | Finally.cs:8:5:17:5 | {...} | Finally.cs:9:9:16:9 | try {...} ... | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:8:5:17:5 | After {...} | | Finally.cs:9:9:16:9 | try {...} ... | Finally.cs:10:9:12:9 | {...} | | Finally.cs:10:9:12:9 | {...} | Finally.cs:11:13:11:38 | ...; | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:11:13:11:38 | After ...; | +| Finally.cs:11:13:11:37 | Before call to method WriteLine | Finally.cs:11:31:11:36 | "Try1" | +| Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:11:13:11:37 | After call to method WriteLine | | Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:14:9:16:9 | {...} | -| Finally.cs:11:13:11:38 | ...; | Finally.cs:11:31:11:36 | "Try1" | +| Finally.cs:11:13:11:38 | ...; | Finally.cs:11:13:11:37 | Before call to method WriteLine | +| Finally.cs:11:13:11:38 | After ...; | Finally.cs:10:9:12:9 | After {...} | | Finally.cs:11:31:11:36 | "Try1" | Finally.cs:11:13:11:37 | call to method WriteLine | +| Finally.cs:14:9:16:9 | After {...} | Finally.cs:7:10:7:11 | Exceptional Exit | +| Finally.cs:14:9:16:9 | After {...} | Finally.cs:9:9:16:9 | After try {...} ... | | Finally.cs:14:9:16:9 | {...} | Finally.cs:15:13:15:41 | ...; | -| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:7:10:7:11 | exit M1 (abnormal) | -| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:7:10:7:11 | exit M1 (normal) | -| Finally.cs:15:13:15:41 | ...; | Finally.cs:15:31:15:39 | "Finally" | +| Finally.cs:15:13:15:40 | After call to method WriteLine | Finally.cs:15:13:15:41 | After ...; | +| Finally.cs:15:13:15:40 | Before call to method WriteLine | Finally.cs:15:31:15:39 | "Finally" | +| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:15:13:15:40 | After call to method WriteLine | +| Finally.cs:15:13:15:41 | ...; | Finally.cs:15:13:15:40 | Before call to method WriteLine | +| Finally.cs:15:13:15:41 | After ...; | Finally.cs:14:9:16:9 | After {...} | | Finally.cs:15:31:15:39 | "Finally" | Finally.cs:15:13:15:40 | call to method WriteLine | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:20:5:52:5 | {...} | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:20:5:52:5 | {...} | | Finally.cs:20:5:52:5 | {...} | Finally.cs:21:9:51:9 | try {...} ... | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:20:5:52:5 | After {...} | | Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:22:9:25:9 | {...} | | Finally.cs:22:9:25:9 | {...} | Finally.cs:23:13:23:38 | ...; | -| Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:24:13:24:19 | return ...; | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:23:13:23:38 | After ...; | +| Finally.cs:23:13:23:37 | Before call to method WriteLine | Finally.cs:23:31:23:36 | "Try2" | +| Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:23:13:23:37 | After call to method WriteLine | | Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:26:9:29:9 | catch (...) {...} | -| Finally.cs:23:13:23:38 | ...; | Finally.cs:23:31:23:36 | "Try2" | +| Finally.cs:23:13:23:38 | ...; | Finally.cs:23:13:23:37 | Before call to method WriteLine | +| Finally.cs:23:13:23:38 | After ...; | Finally.cs:24:13:24:19 | Before return ...; | | Finally.cs:23:31:23:36 | "Try2" | Finally.cs:23:13:23:37 | call to method WriteLine | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | +| Finally.cs:24:13:24:19 | Before return ...; | Finally.cs:24:13:24:19 | return ...; | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:26:38:26:39 | IOException ex | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | catch (...) {...} | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | | Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:48:26:51 | true | -| Finally.cs:26:48:26:51 | true | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:28:13:28:18 | throw ...; | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | +| Finally.cs:26:48:26:51 | After true [true] | Finally.cs:27:9:29:9 | {...} | +| Finally.cs:26:48:26:51 | true | Finally.cs:26:48:26:51 | After true [true] | +| Finally.cs:27:9:29:9 | {...} | Finally.cs:28:13:28:18 | Before throw ...; | +| Finally.cs:28:13:28:18 | Before throw ...; | Finally.cs:28:13:28:18 | throw ...; | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:30:41:30:42 | ArgumentException ex | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | catch (...) {...} | +| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | | Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:31:9:40:9 | {...} | | Finally.cs:31:9:40:9 | {...} | Finally.cs:32:13:39:13 | try {...} ... | | Finally.cs:32:13:39:13 | try {...} ... | Finally.cs:33:13:35:13 | {...} | | Finally.cs:33:13:35:13 | {...} | Finally.cs:34:17:34:32 | if (...) ... | | Finally.cs:34:17:34:32 | if (...) ... | Finally.cs:34:21:34:24 | true | -| Finally.cs:34:21:34:24 | true | Finally.cs:34:27:34:32 | throw ...; | +| Finally.cs:34:21:34:24 | After true [true] | Finally.cs:34:27:34:32 | Before throw ...; | +| Finally.cs:34:21:34:24 | true | Finally.cs:34:21:34:24 | After true [true] | +| Finally.cs:34:27:34:32 | Before throw ...; | Finally.cs:34:27:34:32 | throw ...; | | Finally.cs:34:27:34:32 | throw ...; | Finally.cs:37:13:39:13 | {...} | -| Finally.cs:37:13:39:13 | {...} | Finally.cs:38:37:38:42 | "Boo!" | -| Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:38:17:38:44 | throw ...; | +| Finally.cs:37:13:39:13 | {...} | Finally.cs:38:17:38:44 | Before throw ...; | +| Finally.cs:38:17:38:44 | Before throw ...; | Finally.cs:38:23:38:43 | Before object creation of type Exception | +| Finally.cs:38:23:38:43 | After object creation of type Exception | Finally.cs:38:17:38:44 | throw ...; | +| Finally.cs:38:23:38:43 | Before object creation of type Exception | Finally.cs:38:37:38:42 | "Boo!" | +| Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:38:23:38:43 | After object creation of type Exception | | Finally.cs:38:37:38:42 | "Boo!" | Finally.cs:38:23:38:43 | object creation of type Exception | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:45:9:47:9 | {...} | -| Finally.cs:45:9:47:9 | {...} | Finally.cs:46:13:46:19 | return ...; | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:42:9:43:9 | {...} | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:44:9:47:9 | catch {...} | +| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:44:9:47:9 | After catch {...} [match] | Finally.cs:45:9:47:9 | {...} | +| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:44:9:47:9 | After catch {...} [match] | +| Finally.cs:45:9:47:9 | {...} | Finally.cs:46:13:46:19 | Before return ...; | +| Finally.cs:46:13:46:19 | Before return ...; | Finally.cs:46:13:46:19 | return ...; | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:19:10:19:11 | Exceptional Exit | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:19:10:19:11 | Normal Exit | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:21:9:51:9 | After try {...} ... | | Finally.cs:49:9:51:9 | {...} | Finally.cs:50:13:50:41 | ...; | -| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:19:10:19:11 | exit M2 (abnormal) | -| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:19:10:19:11 | exit M2 (normal) | -| Finally.cs:50:13:50:41 | ...; | Finally.cs:50:31:50:39 | "Finally" | +| Finally.cs:50:13:50:40 | After call to method WriteLine | Finally.cs:50:13:50:41 | After ...; | +| Finally.cs:50:13:50:40 | Before call to method WriteLine | Finally.cs:50:31:50:39 | "Finally" | +| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:50:13:50:40 | After call to method WriteLine | +| Finally.cs:50:13:50:41 | ...; | Finally.cs:50:13:50:40 | Before call to method WriteLine | +| Finally.cs:50:13:50:41 | After ...; | Finally.cs:49:9:51:9 | After {...} | | Finally.cs:50:31:50:39 | "Finally" | Finally.cs:50:13:50:40 | call to method WriteLine | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:55:5:72:5 | {...} | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:55:5:72:5 | {...} | | Finally.cs:55:5:72:5 | {...} | Finally.cs:56:9:71:9 | try {...} ... | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:55:5:72:5 | After {...} | | Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:57:9:60:9 | {...} | | Finally.cs:57:9:60:9 | {...} | Finally.cs:58:13:58:38 | ...; | -| Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:59:13:59:19 | return ...; | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:58:13:58:38 | After ...; | +| Finally.cs:58:13:58:37 | Before call to method WriteLine | Finally.cs:58:31:58:36 | "Try3" | +| Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:58:13:58:37 | After call to method WriteLine | | Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:61:9:64:9 | catch (...) {...} | -| Finally.cs:58:13:58:38 | ...; | Finally.cs:58:31:58:36 | "Try3" | +| Finally.cs:58:13:58:38 | ...; | Finally.cs:58:13:58:37 | Before call to method WriteLine | +| Finally.cs:58:13:58:38 | After ...; | Finally.cs:59:13:59:19 | Before return ...; | | Finally.cs:58:31:58:36 | "Try3" | Finally.cs:58:13:58:37 | call to method WriteLine | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | +| Finally.cs:59:13:59:19 | Before return ...; | Finally.cs:59:13:59:19 | return ...; | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:61:38:61:39 | IOException ex | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | catch (...) {...} | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | | Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:48:61:51 | true | -| Finally.cs:61:48:61:51 | true | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:63:13:63:18 | throw ...; | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:35:65:35 | access to local variable e | +| Finally.cs:61:48:61:51 | After true [true] | Finally.cs:62:9:64:9 | {...} | +| Finally.cs:61:48:61:51 | true | Finally.cs:61:48:61:51 | After true [true] | +| Finally.cs:62:9:64:9 | {...} | Finally.cs:63:13:63:18 | Before throw ...; | +| Finally.cs:63:13:63:18 | Before throw ...; | Finally.cs:63:13:63:18 | throw ...; | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:26:65:26 | Exception e | +| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:35:65:51 | Before ... != ... | | Finally.cs:65:35:65:35 | access to local variable e | Finally.cs:65:35:65:43 | access to property Message | -| Finally.cs:65:35:65:43 | access to property Message | Finally.cs:65:48:65:51 | null | -| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:66:9:67:9 | {...} | +| Finally.cs:65:35:65:43 | After access to property Message | Finally.cs:65:48:65:51 | null | +| Finally.cs:65:35:65:43 | Before access to property Message | Finally.cs:65:35:65:35 | access to local variable e | +| Finally.cs:65:35:65:43 | access to property Message | Finally.cs:65:35:65:43 | After access to property Message | +| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:66:9:67:9 | {...} | +| Finally.cs:65:35:65:51 | Before ... != ... | Finally.cs:65:35:65:43 | Before access to property Message | | Finally.cs:65:48:65:51 | null | Finally.cs:65:35:65:51 | ... != ... | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:54:10:54:11 | Exceptional Exit | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:54:10:54:11 | Normal Exit | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:56:9:71:9 | After try {...} ... | | Finally.cs:69:9:71:9 | {...} | Finally.cs:70:13:70:41 | ...; | -| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:54:10:54:11 | exit M3 (abnormal) | -| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:54:10:54:11 | exit M3 (normal) | -| Finally.cs:70:13:70:41 | ...; | Finally.cs:70:31:70:39 | "Finally" | +| Finally.cs:70:13:70:40 | After call to method WriteLine | Finally.cs:70:13:70:41 | After ...; | +| Finally.cs:70:13:70:40 | Before call to method WriteLine | Finally.cs:70:31:70:39 | "Finally" | +| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:70:13:70:40 | After call to method WriteLine | +| Finally.cs:70:13:70:41 | ...; | Finally.cs:70:13:70:40 | Before call to method WriteLine | +| Finally.cs:70:13:70:41 | After ...; | Finally.cs:69:9:71:9 | After {...} | | Finally.cs:70:31:70:39 | "Finally" | Finally.cs:70:13:70:40 | call to method WriteLine | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:75:5:101:5 | {...} | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:75:5:101:5 | {...} | | Finally.cs:75:5:101:5 | {...} | Finally.cs:76:9:76:19 | ... ...; | -| Finally.cs:76:9:76:19 | ... ...; | Finally.cs:76:17:76:18 | 10 | -| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:77:9:100:9 | while (...) ... | +| Finally.cs:76:9:76:19 | ... ...; | Finally.cs:76:13:76:18 | Before Int32 i = ... | +| Finally.cs:76:9:76:19 | After ... ...; | Finally.cs:77:9:100:9 | while (...) ... | +| Finally.cs:76:13:76:13 | access to local variable i | Finally.cs:76:17:76:18 | 10 | +| Finally.cs:76:13:76:18 | After Int32 i = ... | Finally.cs:76:9:76:19 | After ... ...; | +| Finally.cs:76:13:76:18 | Before Int32 i = ... | Finally.cs:76:13:76:13 | access to local variable i | +| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:76:13:76:18 | After Int32 i = ... | | Finally.cs:76:17:76:18 | 10 | Finally.cs:76:13:76:18 | Int32 i = ... | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:77:16:77:16 | access to local variable i | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:75:5:101:5 | After {...} | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | Before ... > ... | +| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | | Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:20:77:20 | 0 | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:74:10:74:11 | exit M4 (normal) | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:78:9:100:9 | {...} | +| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:78:9:100:9 | {...} | +| Finally.cs:77:16:77:20 | Before ... > ... | Finally.cs:77:16:77:16 | access to local variable i | | Finally.cs:77:20:77:20 | 0 | Finally.cs:77:16:77:20 | ... > ... | | Finally.cs:78:9:100:9 | {...} | Finally.cs:79:13:99:13 | try {...} ... | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:78:9:100:9 | After {...} | | Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:80:13:87:13 | {...} | | Finally.cs:80:13:87:13 | {...} | Finally.cs:81:17:82:27 | if (...) ... | -| Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:81:21:81:21 | access to local variable i | +| Finally.cs:81:17:82:27 | After if (...) ... | Finally.cs:83:17:84:29 | if (...) ... | +| Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:81:21:81:26 | Before ... == ... | | Finally.cs:81:21:81:21 | access to local variable i | Finally.cs:81:26:81:26 | 0 | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:83:17:84:29 | if (...) ... | +| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:81:17:82:27 | After if (...) ... | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:82:21:82:27 | Before return ...; | +| Finally.cs:81:21:81:26 | Before ... == ... | Finally.cs:81:21:81:21 | access to local variable i | | Finally.cs:81:26:81:26 | 0 | Finally.cs:81:21:81:26 | ... == ... | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:21:83:21 | access to local variable i | +| Finally.cs:82:21:82:27 | Before return ...; | Finally.cs:82:21:82:27 | return ...; | +| Finally.cs:83:17:84:29 | After if (...) ... | Finally.cs:85:17:86:26 | if (...) ... | +| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:21:83:26 | Before ... == ... | | Finally.cs:83:21:83:21 | access to local variable i | Finally.cs:83:26:83:26 | 1 | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:85:17:86:26 | if (...) ... | +| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:83:17:84:29 | After if (...) ... | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:84:21:84:29 | Before continue; | +| Finally.cs:83:21:83:26 | Before ... == ... | Finally.cs:83:21:83:21 | access to local variable i | | Finally.cs:83:26:83:26 | 1 | Finally.cs:83:21:83:26 | ... == ... | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:21:85:21 | access to local variable i | +| Finally.cs:84:21:84:29 | Before continue; | Finally.cs:84:21:84:29 | continue; | +| Finally.cs:85:17:86:26 | After if (...) ... | Finally.cs:80:13:87:13 | After {...} | +| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:21:85:26 | Before ... == ... | | Finally.cs:85:21:85:21 | access to local variable i | Finally.cs:85:26:85:26 | 2 | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:86:21:86:26 | break; | +| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:85:17:86:26 | After if (...) ... | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:86:21:86:26 | Before break; | +| Finally.cs:85:21:85:26 | Before ... == ... | Finally.cs:85:21:85:21 | access to local variable i | | Finally.cs:85:26:85:26 | 2 | Finally.cs:85:21:85:26 | ... == ... | +| Finally.cs:86:21:86:26 | Before break; | Finally.cs:86:21:86:26 | break; | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:79:13:99:13 | After try {...} ... | | Finally.cs:89:13:99:13 | {...} | Finally.cs:90:17:98:17 | try {...} ... | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:89:13:99:13 | After {...} | | Finally.cs:90:17:98:17 | try {...} ... | Finally.cs:91:17:94:17 | {...} | | Finally.cs:91:17:94:17 | {...} | Finally.cs:92:21:93:46 | if (...) ... | -| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:92:25:92:25 | access to local variable i | +| Finally.cs:92:21:93:46 | After if (...) ... | Finally.cs:91:17:94:17 | After {...} | +| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:92:25:92:30 | Before ... == ... | | Finally.cs:92:25:92:25 | access to local variable i | Finally.cs:92:30:92:30 | 3 | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:96:17:98:17 | {...} | +| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:92:21:93:46 | After if (...) ... | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:93:25:93:46 | Before throw ...; | +| Finally.cs:92:25:92:30 | Before ... == ... | Finally.cs:92:25:92:25 | access to local variable i | | Finally.cs:92:30:92:30 | 3 | Finally.cs:92:25:92:30 | ... == ... | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:25:93:46 | throw ...; | +| Finally.cs:93:25:93:46 | Before throw ...; | Finally.cs:93:31:93:45 | Before object creation of type Exception | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:93:25:93:46 | throw ...; | +| Finally.cs:93:31:93:45 | Before object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | +| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:96:17:98:17 | After {...} | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:96:17:98:17 | After {...} | Finally.cs:90:17:98:17 | After try {...} ... | | Finally.cs:96:17:98:17 | {...} | Finally.cs:97:21:97:24 | ...; | | Finally.cs:97:21:97:21 | access to local variable i | Finally.cs:97:21:97:23 | ...-- | -| Finally.cs:97:21:97:23 | ...-- | Finally.cs:74:10:74:11 | exit M4 (abnormal) | -| Finally.cs:97:21:97:24 | ...; | Finally.cs:97:21:97:21 | access to local variable i | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:104:5:119:5 | {...} | +| Finally.cs:97:21:97:23 | ...-- | Finally.cs:97:21:97:23 | After ...-- | +| Finally.cs:97:21:97:23 | After ...-- | Finally.cs:97:21:97:24 | After ...; | +| Finally.cs:97:21:97:23 | Before ...-- | Finally.cs:97:21:97:21 | access to local variable i | +| Finally.cs:97:21:97:24 | ...; | Finally.cs:97:21:97:23 | Before ...-- | +| Finally.cs:97:21:97:24 | After ...; | Finally.cs:96:17:98:17 | After {...} | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:104:5:119:5 | {...} | | Finally.cs:104:5:119:5 | {...} | Finally.cs:105:9:118:9 | try {...} ... | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:104:5:119:5 | After {...} | | Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:106:9:111:9 | {...} | | Finally.cs:106:9:111:9 | {...} | Finally.cs:107:13:108:23 | if (...) ... | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:21 | this access | -| Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:28 | access to property Length | +| Finally.cs:107:13:108:23 | After if (...) ... | Finally.cs:109:13:110:49 | if (...) ... | +| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:33 | Before ... == ... | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:28 | access to property Length | +| Finally.cs:107:17:107:21 | Before access to field Field | Finally.cs:107:17:107:21 | this access | +| Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:21 | After access to field Field | | Finally.cs:107:17:107:21 | access to field Field | Finally.cs:113:9:118:9 | {...} | | Finally.cs:107:17:107:21 | this access | Finally.cs:107:17:107:21 | access to field Field | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:109:13:110:49 | if (...) ... | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:33:107:33 | 0 | +| Finally.cs:107:17:107:28 | Before access to property Length | Finally.cs:107:17:107:21 | Before access to field Field | +| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:107:13:108:23 | After if (...) ... | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:108:17:108:23 | Before return ...; | +| Finally.cs:107:17:107:33 | Before ... == ... | Finally.cs:107:17:107:28 | Before access to property Length | | Finally.cs:107:33:107:33 | 0 | Finally.cs:107:17:107:33 | ... == ... | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:21 | this access | -| Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:28 | access to property Length | +| Finally.cs:108:17:108:23 | Before return ...; | Finally.cs:108:17:108:23 | return ...; | +| Finally.cs:109:13:110:49 | After if (...) ... | Finally.cs:106:9:111:9 | After {...} | +| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:33 | Before ... == ... | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:28 | access to property Length | +| Finally.cs:109:17:109:21 | Before access to field Field | Finally.cs:109:17:109:21 | this access | +| Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:21 | After access to field Field | | Finally.cs:109:17:109:21 | this access | Finally.cs:109:17:109:21 | access to field Field | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:33:109:33 | 1 | +| Finally.cs:109:17:109:28 | Before access to property Length | Finally.cs:109:17:109:21 | Before access to field Field | +| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:109:13:110:49 | After if (...) ... | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:110:17:110:49 | Before throw ...; | +| Finally.cs:109:17:109:33 | Before ... == ... | Finally.cs:109:17:109:28 | Before access to property Length | | Finally.cs:109:33:109:33 | 1 | Finally.cs:109:17:109:33 | ... == ... | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | throw ...; | +| Finally.cs:110:17:110:49 | Before throw ...; | Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | throw ...; | +| Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | +| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:105:9:118:9 | After try {...} ... | | Finally.cs:113:9:118:9 | {...} | Finally.cs:114:13:115:41 | if (...) ... | -| Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:114:19:114:23 | this access | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:30 | access to property Length | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:13:117:37 | if (...) ... | +| Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:114:17:114:36 | !... | +| Finally.cs:114:17:114:36 | !... | Finally.cs:114:19:114:35 | Before ... == ... | +| Finally.cs:114:17:114:36 | After !... [true] | Finally.cs:115:17:115:41 | ...; | +| Finally.cs:114:19:114:23 | After access to field Field | Finally.cs:114:19:114:30 | access to property Length | +| Finally.cs:114:19:114:23 | Before access to field Field | Finally.cs:114:19:114:23 | this access | +| Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:23 | After access to field Field | | Finally.cs:114:19:114:23 | this access | Finally.cs:114:19:114:23 | access to field Field | -| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:35:114:35 | 0 | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:17:114:36 | [true] !... | +| Finally.cs:114:19:114:30 | After access to property Length | Finally.cs:114:35:114:35 | 0 | +| Finally.cs:114:19:114:30 | Before access to property Length | Finally.cs:114:19:114:23 | Before access to field Field | +| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:19:114:30 | After access to property Length | +| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:114:17:114:36 | After !... [true] | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:114:17:114:36 | After !... [false] | +| Finally.cs:114:19:114:35 | Before ... == ... | Finally.cs:114:19:114:30 | Before access to property Length | | Finally.cs:114:35:114:35 | 0 | Finally.cs:114:19:114:35 | ... == ... | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:35:115:39 | this access | -| Finally.cs:115:35:115:39 | access to field Field | Finally.cs:115:17:115:40 | call to method WriteLine | +| Finally.cs:115:17:115:40 | After call to method WriteLine | Finally.cs:115:17:115:41 | After ...; | +| Finally.cs:115:17:115:40 | Before call to method WriteLine | Finally.cs:115:35:115:39 | Before access to field Field | +| Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:115:17:115:40 | After call to method WriteLine | +| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:17:115:40 | Before call to method WriteLine | +| Finally.cs:115:35:115:39 | After access to field Field | Finally.cs:115:17:115:40 | call to method WriteLine | +| Finally.cs:115:35:115:39 | Before access to field Field | Finally.cs:115:35:115:39 | this access | +| Finally.cs:115:35:115:39 | access to field Field | Finally.cs:115:35:115:39 | After access to field Field | | Finally.cs:115:35:115:39 | this access | Finally.cs:115:35:115:39 | access to field Field | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:17:116:21 | this access | -| Finally.cs:116:17:116:21 | access to field Field | Finally.cs:116:17:116:28 | access to property Length | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:113:9:118:9 | After {...} | +| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:17:116:32 | Before ... > ... | +| Finally.cs:116:17:116:21 | After access to field Field | Finally.cs:116:17:116:28 | access to property Length | +| Finally.cs:116:17:116:21 | Before access to field Field | Finally.cs:116:17:116:21 | this access | +| Finally.cs:116:17:116:21 | access to field Field | Finally.cs:116:17:116:21 | After access to field Field | | Finally.cs:116:17:116:21 | this access | Finally.cs:116:17:116:21 | access to field Field | -| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:32:116:32 | 0 | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:103:10:103:11 | exit M5 (abnormal) | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:103:10:103:11 | exit M5 (normal) | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:117:17:117:37 | ...; | +| Finally.cs:116:17:116:28 | After access to property Length | Finally.cs:116:32:116:32 | 0 | +| Finally.cs:116:17:116:28 | Before access to property Length | Finally.cs:116:17:116:21 | Before access to field Field | +| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:17:116:28 | After access to property Length | +| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:117:17:117:37 | ...; | +| Finally.cs:116:17:116:32 | Before ... > ... | Finally.cs:116:17:116:28 | Before access to property Length | | Finally.cs:116:32:116:32 | 0 | Finally.cs:116:17:116:32 | ... > ... | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:35:117:35 | 1 | +| Finally.cs:117:17:117:36 | After call to method WriteLine | Finally.cs:117:17:117:37 | After ...; | +| Finally.cs:117:17:117:36 | Before call to method WriteLine | Finally.cs:117:35:117:35 | 1 | +| Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:117:17:117:36 | After call to method WriteLine | +| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:17:117:36 | Before call to method WriteLine | | Finally.cs:117:35:117:35 | 1 | Finally.cs:117:17:117:36 | call to method WriteLine | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:122:5:131:5 | {...} | -| Finally.cs:121:10:121:11 | exit M6 (normal) | Finally.cs:121:10:121:11 | exit M6 | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:122:5:131:5 | {...} | +| Finally.cs:121:10:121:11 | Normal Exit | Finally.cs:121:10:121:11 | Exit | +| Finally.cs:122:5:131:5 | After {...} | Finally.cs:121:10:121:11 | Normal Exit | | Finally.cs:122:5:131:5 | {...} | Finally.cs:123:9:130:9 | try {...} ... | +| Finally.cs:123:9:130:9 | After try {...} ... | Finally.cs:122:5:131:5 | After {...} | | Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:124:9:126:9 | {...} | +| Finally.cs:124:9:126:9 | After {...} | Finally.cs:123:9:130:9 | After try {...} ... | | Finally.cs:124:9:126:9 | {...} | Finally.cs:125:13:125:41 | ... ...; | -| Finally.cs:125:13:125:41 | ... ...; | Finally.cs:125:24:125:24 | 0 | -| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:121:10:121:11 | exit M6 (normal) | +| Finally.cs:125:13:125:41 | ... ...; | Finally.cs:125:17:125:40 | Before Double temp = ... | +| Finally.cs:125:13:125:41 | After ... ...; | Finally.cs:124:9:126:9 | After {...} | +| Finally.cs:125:17:125:20 | access to local variable temp | Finally.cs:125:24:125:40 | Before ... / ... | +| Finally.cs:125:17:125:40 | After Double temp = ... | Finally.cs:125:13:125:41 | After ... ...; | +| Finally.cs:125:17:125:40 | Before Double temp = ... | Finally.cs:125:17:125:20 | access to local variable temp | +| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:17:125:40 | After Double temp = ... | | Finally.cs:125:24:125:24 | 0 | Finally.cs:125:24:125:24 | (...) ... | -| Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:28:125:40 | access to constant E | -| Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:17:125:40 | Double temp = ... | +| Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:24:125:24 | After (...) ... | +| Finally.cs:125:24:125:24 | After (...) ... | Finally.cs:125:28:125:40 | access to constant E | +| Finally.cs:125:24:125:24 | Before (...) ... | Finally.cs:125:24:125:24 | 0 | +| Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:24:125:40 | After ... / ... | +| Finally.cs:125:24:125:40 | After ... / ... | Finally.cs:125:17:125:40 | Double temp = ... | +| Finally.cs:125:24:125:40 | Before ... / ... | Finally.cs:125:24:125:24 | Before (...) ... | | Finally.cs:125:28:125:40 | access to constant E | Finally.cs:125:24:125:40 | ... / ... | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:134:5:145:5 | {...} | -| Finally.cs:133:10:133:11 | exit M7 (abnormal) | Finally.cs:133:10:133:11 | exit M7 | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:134:5:145:5 | {...} | +| Finally.cs:133:10:133:11 | Exceptional Exit | Finally.cs:133:10:133:11 | Exit | | Finally.cs:134:5:145:5 | {...} | Finally.cs:135:9:143:9 | try {...} ... | | Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:136:9:138:9 | {...} | | Finally.cs:136:9:138:9 | {...} | Finally.cs:137:13:137:37 | ...; | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:137:13:137:37 | After ...; | +| Finally.cs:137:13:137:36 | Before call to method WriteLine | Finally.cs:137:31:137:35 | "Try" | +| Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:137:13:137:36 | After call to method WriteLine | | Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:140:9:143:9 | {...} | -| Finally.cs:137:13:137:37 | ...; | Finally.cs:137:31:137:35 | "Try" | +| Finally.cs:137:13:137:37 | ...; | Finally.cs:137:13:137:36 | Before call to method WriteLine | +| Finally.cs:137:13:137:37 | After ...; | Finally.cs:136:9:138:9 | After {...} | | Finally.cs:137:31:137:35 | "Try" | Finally.cs:137:13:137:36 | call to method WriteLine | -| Finally.cs:140:9:143:9 | {...} | Finally.cs:141:41:141:42 | "" | -| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:133:10:133:11 | exit M7 (abnormal) | -| Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:13:141:44 | throw ...; | +| Finally.cs:140:9:143:9 | {...} | Finally.cs:141:13:141:44 | Before throw ...; | +| Finally.cs:141:13:141:44 | Before throw ...; | Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | +| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:133:10:133:11 | Exceptional Exit | +| Finally.cs:141:19:141:43 | After object creation of type ArgumentException | Finally.cs:141:13:141:44 | throw ...; | +| Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | Finally.cs:141:41:141:42 | "" | +| Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:19:141:43 | After object creation of type ArgumentException | | Finally.cs:141:41:141:42 | "" | Finally.cs:141:19:141:43 | object creation of type ArgumentException | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:148:5:170:5 | {...} | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:148:5:170:5 | {...} | +| Finally.cs:148:5:170:5 | After {...} | Finally.cs:147:10:147:11 | Normal Exit | | Finally.cs:148:5:170:5 | {...} | Finally.cs:149:9:169:9 | try {...} ... | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:148:5:170:5 | After {...} | | Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:150:9:153:9 | {...} | | Finally.cs:150:9:153:9 | {...} | Finally.cs:151:13:152:50 | if (...) ... | -| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:151:17:151:20 | access to parameter args | +| Finally.cs:151:13:152:50 | After if (...) ... | Finally.cs:150:9:153:9 | After {...} | +| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:151:17:151:28 | Before ... == ... | | Finally.cs:151:17:151:20 | access to parameter args | Finally.cs:151:25:151:28 | null | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:155:9:169:9 | {...} | +| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:151:13:152:50 | After if (...) ... | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:152:17:152:50 | Before throw ...; | +| Finally.cs:151:17:151:28 | Before ... == ... | Finally.cs:151:17:151:20 | access to parameter args | | Finally.cs:151:25:151:28 | null | Finally.cs:151:17:151:28 | ... == ... | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | throw ...; | +| Finally.cs:152:17:152:50 | Before throw ...; | Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | throw ...; | +| Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | +| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:155:9:169:9 | After {...} | Finally.cs:147:10:147:11 | Exceptional Exit | +| Finally.cs:155:9:169:9 | After {...} | Finally.cs:149:9:169:9 | After try {...} ... | | Finally.cs:155:9:169:9 | {...} | Finally.cs:156:13:168:13 | try {...} ... | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:155:9:169:9 | After {...} | | Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:157:13:160:13 | {...} | | Finally.cs:157:13:160:13 | {...} | Finally.cs:158:17:159:45 | if (...) ... | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:24 | access to parameter args | +| Finally.cs:158:17:159:45 | After if (...) ... | Finally.cs:157:13:160:13 | After {...} | +| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:36 | Before ... == ... | | Finally.cs:158:21:158:24 | access to parameter args | Finally.cs:158:21:158:31 | access to property Length | -| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:36:158:36 | 1 | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:36:158:36 | 1 | +| Finally.cs:158:21:158:31 | Before access to property Length | Finally.cs:158:21:158:24 | access to parameter args | +| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:21:158:31 | After access to property Length | | Finally.cs:158:21:158:31 | access to property Length | Finally.cs:161:13:164:13 | catch (...) {...} | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:159:41:159:43 | "1" | +| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:158:17:159:45 | After if (...) ... | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:159:21:159:45 | Before throw ...; | +| Finally.cs:158:21:158:36 | Before ... == ... | Finally.cs:158:21:158:31 | Before access to property Length | | Finally.cs:158:36:158:36 | 1 | Finally.cs:158:21:158:36 | ... == ... | -| Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:21:159:45 | throw ...; | +| Finally.cs:159:21:159:45 | Before throw ...; | Finally.cs:159:27:159:44 | Before object creation of type Exception | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:159:21:159:45 | throw ...; | +| Finally.cs:159:27:159:44 | Before object creation of type Exception | Finally.cs:159:41:159:43 | "1" | +| Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:27:159:44 | After object creation of type Exception | | Finally.cs:159:41:159:43 | "1" | Finally.cs:159:27:159:44 | object creation of type Exception | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:39:161:39 | access to local variable e | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:30:161:30 | Exception e | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:165:13:168:13 | catch {...} | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:39:161:54 | Before ... == ... | | Finally.cs:161:39:161:39 | access to local variable e | Finally.cs:161:39:161:47 | access to property Message | -| Finally.cs:161:39:161:47 | access to property Message | Finally.cs:161:52:161:54 | "1" | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:162:13:164:13 | {...} | +| Finally.cs:161:39:161:47 | After access to property Message | Finally.cs:161:52:161:54 | "1" | +| Finally.cs:161:39:161:47 | Before access to property Message | Finally.cs:161:39:161:39 | access to local variable e | +| Finally.cs:161:39:161:47 | access to property Message | Finally.cs:161:39:161:47 | After access to property Message | +| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:162:13:164:13 | {...} | +| Finally.cs:161:39:161:54 | Before ... == ... | Finally.cs:161:39:161:47 | Before access to property Message | | Finally.cs:161:52:161:54 | "1" | Finally.cs:161:39:161:54 | ... == ... | | Finally.cs:162:13:164:13 | {...} | Finally.cs:163:17:163:43 | ...; | -| Finally.cs:163:17:163:43 | ...; | Finally.cs:163:35:163:38 | access to parameter args | +| Finally.cs:163:17:163:42 | After call to method WriteLine | Finally.cs:163:17:163:43 | After ...; | +| Finally.cs:163:17:163:42 | Before call to method WriteLine | Finally.cs:163:35:163:41 | Before access to array element | +| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:163:17:163:42 | After call to method WriteLine | +| Finally.cs:163:17:163:43 | ...; | Finally.cs:163:17:163:42 | Before call to method WriteLine | +| Finally.cs:163:17:163:43 | After ...; | Finally.cs:162:13:164:13 | After {...} | | Finally.cs:163:35:163:38 | access to parameter args | Finally.cs:163:40:163:40 | 0 | -| Finally.cs:163:35:163:41 | access to array element | Finally.cs:163:17:163:42 | call to method WriteLine | +| Finally.cs:163:35:163:41 | After access to array element | Finally.cs:163:17:163:42 | call to method WriteLine | +| Finally.cs:163:35:163:41 | Before access to array element | Finally.cs:163:35:163:38 | access to parameter args | +| Finally.cs:163:35:163:41 | access to array element | Finally.cs:163:35:163:41 | After access to array element | | Finally.cs:163:40:163:40 | 0 | Finally.cs:163:35:163:41 | access to array element | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:166:13:168:13 | {...} | +| Finally.cs:165:13:168:13 | After catch {...} [match] | Finally.cs:166:13:168:13 | {...} | +| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:165:13:168:13 | After catch {...} [match] | | Finally.cs:166:13:168:13 | {...} | Finally.cs:167:17:167:38 | ...; | -| Finally.cs:167:17:167:38 | ...; | Finally.cs:167:35:167:36 | "" | +| Finally.cs:167:17:167:37 | After call to method WriteLine | Finally.cs:167:17:167:38 | After ...; | +| Finally.cs:167:17:167:37 | Before call to method WriteLine | Finally.cs:167:35:167:36 | "" | +| Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:167:17:167:37 | After call to method WriteLine | +| Finally.cs:167:17:167:38 | ...; | Finally.cs:167:17:167:37 | Before call to method WriteLine | +| Finally.cs:167:17:167:38 | After ...; | Finally.cs:166:13:168:13 | After {...} | | Finally.cs:167:35:167:36 | "" | Finally.cs:167:17:167:37 | call to method WriteLine | -| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | {...} | -| Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | call to constructor Exception | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | this access | -| Finally.cs:172:11:172:20 | exit ExceptionA (normal) | Finally.cs:172:11:172:20 | exit ExceptionA | +| Finally.cs:172:11:172:20 | After call to constructor Exception | Finally.cs:172:11:172:20 | {...} | +| Finally.cs:172:11:172:20 | After call to method | Finally.cs:172:11:172:20 | Before call to constructor Exception | +| Finally.cs:172:11:172:20 | Before call to constructor Exception | Finally.cs:172:11:172:20 | call to constructor Exception | +| Finally.cs:172:11:172:20 | Before call to method | Finally.cs:172:11:172:20 | this access | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | Before call to method | +| Finally.cs:172:11:172:20 | Normal Exit | Finally.cs:172:11:172:20 | Exit | +| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | After call to constructor Exception | +| Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | After call to method | | Finally.cs:172:11:172:20 | this access | Finally.cs:172:11:172:20 | call to method | -| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | exit ExceptionA (normal) | -| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | {...} | -| Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | call to constructor Exception | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | this access | -| Finally.cs:173:11:173:20 | exit ExceptionB (normal) | Finally.cs:173:11:173:20 | exit ExceptionB | +| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | Normal Exit | +| Finally.cs:173:11:173:20 | After call to constructor Exception | Finally.cs:173:11:173:20 | {...} | +| Finally.cs:173:11:173:20 | After call to method | Finally.cs:173:11:173:20 | Before call to constructor Exception | +| Finally.cs:173:11:173:20 | Before call to constructor Exception | Finally.cs:173:11:173:20 | call to constructor Exception | +| Finally.cs:173:11:173:20 | Before call to method | Finally.cs:173:11:173:20 | this access | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | Before call to method | +| Finally.cs:173:11:173:20 | Normal Exit | Finally.cs:173:11:173:20 | Exit | +| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | After call to constructor Exception | +| Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | After call to method | | Finally.cs:173:11:173:20 | this access | Finally.cs:173:11:173:20 | call to method | -| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | exit ExceptionB (normal) | -| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | {...} | -| Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | call to constructor Exception | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | this access | -| Finally.cs:174:11:174:20 | exit ExceptionC (normal) | Finally.cs:174:11:174:20 | exit ExceptionC | +| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | Normal Exit | +| Finally.cs:174:11:174:20 | After call to constructor Exception | Finally.cs:174:11:174:20 | {...} | +| Finally.cs:174:11:174:20 | After call to method | Finally.cs:174:11:174:20 | Before call to constructor Exception | +| Finally.cs:174:11:174:20 | Before call to constructor Exception | Finally.cs:174:11:174:20 | call to constructor Exception | +| Finally.cs:174:11:174:20 | Before call to method | Finally.cs:174:11:174:20 | this access | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | Before call to method | +| Finally.cs:174:11:174:20 | Normal Exit | Finally.cs:174:11:174:20 | Exit | +| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | After call to constructor Exception | +| Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | After call to method | | Finally.cs:174:11:174:20 | this access | Finally.cs:174:11:174:20 | call to method | -| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | exit ExceptionC (normal) | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:177:5:193:5 | {...} | +| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | Normal Exit | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:177:5:193:5 | {...} | +| Finally.cs:177:5:193:5 | After {...} | Finally.cs:176:10:176:11 | Normal Exit | | Finally.cs:177:5:193:5 | {...} | Finally.cs:178:9:192:9 | try {...} ... | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:177:5:193:5 | After {...} | | Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:179:9:181:9 | {...} | | Finally.cs:179:9:181:9 | {...} | Finally.cs:180:13:180:43 | if (...) ... | +| Finally.cs:180:13:180:43 | After if (...) ... | Finally.cs:179:9:181:9 | After {...} | | Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:180:17:180:18 | access to parameter b1 | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:27:180:42 | object creation of type ExceptionA | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:183:9:192:9 | {...} | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:21:180:43 | throw ...; | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:180:13:180:43 | After if (...) ... | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:180:21:180:43 | Before throw ...; | +| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:180:21:180:43 | Before throw ...; | Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:180:21:180:43 | throw ...; | +| Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | +| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:183:9:192:9 | After {...} | Finally.cs:178:9:192:9 | After try {...} ... | | Finally.cs:183:9:192:9 | {...} | Finally.cs:184:13:191:13 | try {...} ... | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:183:9:192:9 | After {...} | | Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:185:13:187:13 | {...} | | Finally.cs:185:13:187:13 | {...} | Finally.cs:186:17:186:47 | if (...) ... | +| Finally.cs:186:17:186:47 | After if (...) ... | Finally.cs:185:13:187:13 | After {...} | | Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:186:21:186:22 | access to parameter b2 | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:176:10:176:11 | exit M9 (abnormal) | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:176:10:176:11 | exit M9 (normal) | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:25:186:47 | throw ...; | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:186:17:186:47 | After if (...) ... | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:186:25:186:47 | Before throw ...; | +| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:186:25:186:47 | Before throw ...; | Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:186:25:186:47 | throw ...; | +| Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | +| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | | Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:189:13:191:13 | {...} | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | access to parameter b2 | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:189:13:191:13 | {...} | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | | Finally.cs:189:13:191:13 | {...} | Finally.cs:190:17:190:47 | if (...) ... | +| Finally.cs:190:17:190:47 | After if (...) ... | Finally.cs:189:13:191:13 | After {...} | | Finally.cs:190:17:190:47 | if (...) ... | Finally.cs:190:21:190:22 | access to parameter b1 | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:25:190:47 | throw ...; | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:196:5:214:5 | {...} | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:190:17:190:47 | After if (...) ... | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:190:25:190:47 | Before throw ...; | +| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:190:25:190:47 | Before throw ...; | Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | +| Finally.cs:190:31:190:46 | After object creation of type ExceptionC | Finally.cs:190:25:190:47 | throw ...; | +| Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | +| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | After object creation of type ExceptionC | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:196:5:214:5 | {...} | +| Finally.cs:196:5:214:5 | After {...} | Finally.cs:195:10:195:12 | Normal Exit | | Finally.cs:196:5:214:5 | {...} | Finally.cs:197:9:212:9 | try {...} ... | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:213:9:213:25 | ...; | | Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:198:9:200:9 | {...} | | Finally.cs:198:9:200:9 | {...} | Finally.cs:199:13:199:43 | if (...) ... | +| Finally.cs:199:13:199:43 | After if (...) ... | Finally.cs:198:9:200:9 | After {...} | | Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:17:199:18 | access to parameter b1 | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:199:13:199:43 | After if (...) ... | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:199:21:199:43 | Before throw ...; | +| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:199:21:199:43 | Before throw ...; | Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | +| Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | +| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:202:9:212:9 | After {...} | Finally.cs:197:9:212:9 | After try {...} ... | | Finally.cs:202:9:212:9 | {...} | Finally.cs:203:13:210:13 | try {...} ... | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:211:13:211:29 | ...; | | Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:204:13:206:13 | {...} | | Finally.cs:204:13:206:13 | {...} | Finally.cs:205:17:205:47 | if (...) ... | +| Finally.cs:205:17:205:47 | After if (...) ... | Finally.cs:204:13:206:13 | After {...} | | Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:21:205:22 | access to parameter b2 | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:205:17:205:47 | After if (...) ... | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:205:25:205:47 | Before throw ...; | +| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:205:25:205:47 | Before throw ...; | Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | +| Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | +| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:208:13:210:13 | After {...} | Finally.cs:203:13:210:13 | After try {...} ... | | Finally.cs:208:13:210:13 | {...} | Finally.cs:209:17:209:47 | if (...) ... | +| Finally.cs:209:17:209:47 | After if (...) ... | Finally.cs:208:13:210:13 | After {...} | | Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:21:209:22 | access to parameter b3 | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:195:10:195:12 | exit M10 (abnormal) | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | -| Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" | -| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:28 | ... = ... | -| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access | -| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:22 | access to field Field | -| Finally.cs:213:9:213:12 | this access | Finally.cs:213:22:213:24 | "1" | -| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:24 | ... = ... | -| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | exit M10 (normal) | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:12 | this access | -| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:18 | access to field Field | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:217:5:231:5 | {...} | -| Finally.cs:216:10:216:12 | exit M11 (normal) | Finally.cs:216:10:216:12 | exit M11 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:209:17:209:47 | After if (...) ... | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:209:25:209:47 | Before throw ...; | +| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:209:25:209:47 | Before throw ...; | Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | +| Finally.cs:209:31:209:46 | After object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | +| Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | +| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | After object creation of type ExceptionC | +| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:22 | access to field Field | +| Finally.cs:211:13:211:22 | After access to field Field | Finally.cs:211:26:211:28 | "0" | +| Finally.cs:211:13:211:22 | Before access to field Field | Finally.cs:211:13:211:16 | this access | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:22 | After access to field Field | +| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:28 | After ... = ... | +| Finally.cs:211:13:211:28 | After ... = ... | Finally.cs:211:13:211:29 | After ...; | +| Finally.cs:211:13:211:28 | Before ... = ... | Finally.cs:211:13:211:22 | Before access to field Field | +| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | Before ... = ... | +| Finally.cs:211:13:211:29 | After ...; | Finally.cs:202:9:212:9 | After {...} | +| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... | +| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:18 | access to field Field | +| Finally.cs:213:9:213:18 | After access to field Field | Finally.cs:213:22:213:24 | "1" | +| Finally.cs:213:9:213:18 | Before access to field Field | Finally.cs:213:9:213:12 | this access | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:18 | After access to field Field | +| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:24 | After ... = ... | +| Finally.cs:213:9:213:24 | After ... = ... | Finally.cs:213:9:213:25 | After ...; | +| Finally.cs:213:9:213:24 | Before ... = ... | Finally.cs:213:9:213:18 | Before access to field Field | +| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:24 | Before ... = ... | +| Finally.cs:213:9:213:25 | After ...; | Finally.cs:196:5:214:5 | After {...} | +| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:24 | ... = ... | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:217:5:231:5 | {...} | +| Finally.cs:216:10:216:12 | Normal Exit | Finally.cs:216:10:216:12 | Exit | +| Finally.cs:217:5:231:5 | After {...} | Finally.cs:216:10:216:12 | Normal Exit | | Finally.cs:217:5:231:5 | {...} | Finally.cs:218:9:229:9 | try {...} ... | +| Finally.cs:218:9:229:9 | After try {...} ... | Finally.cs:230:9:230:34 | ...; | | Finally.cs:218:9:229:9 | try {...} ... | Finally.cs:219:9:221:9 | {...} | | Finally.cs:219:9:221:9 | {...} | Finally.cs:220:13:220:37 | ...; | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:220:13:220:37 | After ...; | +| Finally.cs:220:13:220:36 | Before call to method WriteLine | Finally.cs:220:31:220:35 | "Try" | +| Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:220:13:220:36 | After call to method WriteLine | | Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:222:9:225:9 | catch {...} | -| Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:227:9:229:9 | {...} | -| Finally.cs:220:13:220:37 | ...; | Finally.cs:220:31:220:35 | "Try" | +| Finally.cs:220:13:220:37 | ...; | Finally.cs:220:13:220:36 | Before call to method WriteLine | +| Finally.cs:220:13:220:37 | After ...; | Finally.cs:219:9:221:9 | After {...} | | Finally.cs:220:31:220:35 | "Try" | Finally.cs:220:13:220:36 | call to method WriteLine | -| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:223:9:225:9 | {...} | +| Finally.cs:222:9:225:9 | After catch {...} [match] | Finally.cs:223:9:225:9 | {...} | +| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:222:9:225:9 | After catch {...} [match] | | Finally.cs:223:9:225:9 | {...} | Finally.cs:224:13:224:39 | ...; | -| Finally.cs:224:13:224:39 | ...; | Finally.cs:224:31:224:37 | "Catch" | +| Finally.cs:224:13:224:38 | After call to method WriteLine | Finally.cs:224:13:224:39 | After ...; | +| Finally.cs:224:13:224:38 | Before call to method WriteLine | Finally.cs:224:31:224:37 | "Catch" | +| Finally.cs:224:13:224:38 | call to method WriteLine | Finally.cs:224:13:224:38 | After call to method WriteLine | +| Finally.cs:224:13:224:39 | ...; | Finally.cs:224:13:224:38 | Before call to method WriteLine | +| Finally.cs:224:13:224:39 | After ...; | Finally.cs:223:9:225:9 | After {...} | | Finally.cs:224:31:224:37 | "Catch" | Finally.cs:224:13:224:38 | call to method WriteLine | +| Finally.cs:227:9:229:9 | After {...} | Finally.cs:218:9:229:9 | After try {...} ... | | Finally.cs:227:9:229:9 | {...} | Finally.cs:228:13:228:41 | ...; | -| Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:230:9:230:34 | ...; | -| Finally.cs:228:13:228:41 | ...; | Finally.cs:228:31:228:39 | "Finally" | +| Finally.cs:228:13:228:40 | After call to method WriteLine | Finally.cs:228:13:228:41 | After ...; | +| Finally.cs:228:13:228:40 | Before call to method WriteLine | Finally.cs:228:31:228:39 | "Finally" | +| Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:228:13:228:40 | After call to method WriteLine | +| Finally.cs:228:13:228:41 | ...; | Finally.cs:228:13:228:40 | Before call to method WriteLine | +| Finally.cs:228:13:228:41 | After ...; | Finally.cs:227:9:229:9 | After {...} | | Finally.cs:228:31:228:39 | "Finally" | Finally.cs:228:13:228:40 | call to method WriteLine | -| Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:216:10:216:12 | exit M11 (normal) | -| Finally.cs:230:9:230:34 | ...; | Finally.cs:230:27:230:32 | "Done" | +| Finally.cs:230:9:230:33 | After call to method WriteLine | Finally.cs:230:9:230:34 | After ...; | +| Finally.cs:230:9:230:33 | Before call to method WriteLine | Finally.cs:230:27:230:32 | "Done" | +| Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:230:9:230:33 | After call to method WriteLine | +| Finally.cs:230:9:230:34 | ...; | Finally.cs:230:9:230:33 | Before call to method WriteLine | +| Finally.cs:230:9:230:34 | After ...; | Finally.cs:217:5:231:5 | After {...} | | Finally.cs:230:27:230:32 | "Done" | Finally.cs:230:9:230:33 | call to method WriteLine | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:234:5:261:5 | {...} | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:234:5:261:5 | {...} | +| Finally.cs:234:5:261:5 | After {...} | Finally.cs:233:10:233:12 | Normal Exit | | Finally.cs:234:5:261:5 | {...} | Finally.cs:235:9:259:9 | try {...} ... | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:260:9:260:34 | ...; | | Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:236:9:255:9 | {...} | | Finally.cs:236:9:255:9 | {...} | Finally.cs:237:13:253:13 | try {...} ... | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:254:13:254:45 | ...; | | Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:238:13:241:13 | {...} | | Finally.cs:238:13:241:13 | {...} | Finally.cs:239:17:240:43 | if (...) ... | +| Finally.cs:239:17:240:43 | After if (...) ... | Finally.cs:238:13:241:13 | After {...} | | Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:239:21:239:22 | access to parameter b1 | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:240:27:240:42 | object creation of type ExceptionA | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:21:240:43 | throw ...; | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:239:17:240:43 | After if (...) ... | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:240:21:240:43 | Before throw ...; | +| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:240:21:240:43 | Before throw ...; | Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:240:21:240:43 | throw ...; | +| Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | +| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:243:13:253:13 | After {...} | Finally.cs:237:13:253:13 | After try {...} ... | | Finally.cs:243:13:253:13 | {...} | Finally.cs:244:17:252:17 | try {...} ... | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:243:13:253:13 | After {...} | | Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:245:17:248:17 | {...} | | Finally.cs:245:17:248:17 | {...} | Finally.cs:246:21:247:47 | if (...) ... | +| Finally.cs:246:21:247:47 | After if (...) ... | Finally.cs:245:17:248:17 | After {...} | | Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:246:25:246:26 | access to parameter b2 | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:247:31:247:46 | object creation of type ExceptionA | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:25:247:47 | throw ...; | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:246:21:247:47 | After if (...) ... | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:247:25:247:47 | Before throw ...; | +| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:247:25:247:47 | Before throw ...; | Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:247:25:247:47 | throw ...; | +| Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | +| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:250:17:252:17 | After {...} | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:250:17:252:17 | After {...} | Finally.cs:257:9:259:9 | {...} | | Finally.cs:250:17:252:17 | {...} | Finally.cs:251:21:251:55 | ...; | -| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:254:13:254:45 | ...; | -| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:251:21:251:55 | ...; | Finally.cs:251:39:251:53 | "Inner finally" | +| Finally.cs:251:21:251:54 | After call to method WriteLine | Finally.cs:251:21:251:55 | After ...; | +| Finally.cs:251:21:251:54 | Before call to method WriteLine | Finally.cs:251:39:251:53 | "Inner finally" | +| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:251:21:251:54 | After call to method WriteLine | +| Finally.cs:251:21:251:55 | ...; | Finally.cs:251:21:251:54 | Before call to method WriteLine | +| Finally.cs:251:21:251:55 | After ...; | Finally.cs:250:17:252:17 | After {...} | | Finally.cs:251:39:251:53 | "Inner finally" | Finally.cs:251:21:251:54 | call to method WriteLine | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:31:254:43 | "Mid finally" | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:254:13:254:45 | After ...; | +| Finally.cs:254:13:254:44 | Before call to method WriteLine | Finally.cs:254:31:254:43 | "Mid finally" | +| Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:44 | Before call to method WriteLine | +| Finally.cs:254:13:254:45 | After ...; | Finally.cs:236:9:255:9 | After {...} | | Finally.cs:254:31:254:43 | "Mid finally" | Finally.cs:254:13:254:44 | call to method WriteLine | +| Finally.cs:257:9:259:9 | After {...} | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:257:9:259:9 | After {...} | Finally.cs:235:9:259:9 | After try {...} ... | | Finally.cs:257:9:259:9 | {...} | Finally.cs:258:13:258:47 | ...; | -| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:233:10:233:12 | exit M12 (abnormal) | -| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:258:13:258:47 | ...; | Finally.cs:258:31:258:45 | "Outer finally" | +| Finally.cs:258:13:258:46 | After call to method WriteLine | Finally.cs:258:13:258:47 | After ...; | +| Finally.cs:258:13:258:46 | Before call to method WriteLine | Finally.cs:258:31:258:45 | "Outer finally" | +| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:258:13:258:46 | After call to method WriteLine | +| Finally.cs:258:13:258:47 | ...; | Finally.cs:258:13:258:46 | Before call to method WriteLine | +| Finally.cs:258:13:258:47 | After ...; | Finally.cs:257:9:259:9 | After {...} | | Finally.cs:258:31:258:45 | "Outer finally" | Finally.cs:258:13:258:46 | call to method WriteLine | -| Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:233:10:233:12 | exit M12 (normal) | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:27:260:32 | "Done" | +| Finally.cs:260:9:260:33 | After call to method WriteLine | Finally.cs:260:9:260:34 | After ...; | +| Finally.cs:260:9:260:33 | Before call to method WriteLine | Finally.cs:260:27:260:32 | "Done" | +| Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:260:9:260:33 | After call to method WriteLine | +| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:9:260:33 | Before call to method WriteLine | +| Finally.cs:260:9:260:34 | After ...; | Finally.cs:234:5:261:5 | After {...} | | Finally.cs:260:27:260:32 | "Done" | Finally.cs:260:9:260:33 | call to method WriteLine | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:264:5:274:5 | {...} | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:264:5:274:5 | {...} | +| Finally.cs:264:5:274:5 | After {...} | Finally.cs:263:10:263:12 | Normal Exit | | Finally.cs:264:5:274:5 | {...} | Finally.cs:265:9:273:9 | try {...} ... | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:264:5:274:5 | After {...} | | Finally.cs:265:9:273:9 | try {...} ... | Finally.cs:266:9:268:9 | {...} | | Finally.cs:266:9:268:9 | {...} | Finally.cs:267:13:267:35 | ...; | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:267:13:267:35 | After ...; | +| Finally.cs:267:13:267:34 | Before call to method WriteLine | Finally.cs:267:31:267:33 | "1" | +| Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:267:13:267:34 | After call to method WriteLine | | Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:270:9:273:9 | {...} | -| Finally.cs:267:13:267:35 | ...; | Finally.cs:267:31:267:33 | "1" | +| Finally.cs:267:13:267:35 | ...; | Finally.cs:267:13:267:34 | Before call to method WriteLine | +| Finally.cs:267:13:267:35 | After ...; | Finally.cs:266:9:268:9 | After {...} | | Finally.cs:267:31:267:33 | "1" | Finally.cs:267:13:267:34 | call to method WriteLine | +| Finally.cs:270:9:273:9 | After {...} | Finally.cs:263:10:263:12 | Exceptional Exit | +| Finally.cs:270:9:273:9 | After {...} | Finally.cs:265:9:273:9 | After try {...} ... | | Finally.cs:270:9:273:9 | {...} | Finally.cs:271:13:271:35 | ...; | -| Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:272:13:272:19 | ...; | -| Finally.cs:271:13:271:35 | ...; | Finally.cs:271:31:271:33 | "3" | +| Finally.cs:271:13:271:34 | After call to method WriteLine | Finally.cs:271:13:271:35 | After ...; | +| Finally.cs:271:13:271:34 | Before call to method WriteLine | Finally.cs:271:31:271:33 | "3" | +| Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:271:13:271:34 | After call to method WriteLine | +| Finally.cs:271:13:271:35 | ...; | Finally.cs:271:13:271:34 | Before call to method WriteLine | +| Finally.cs:271:13:271:35 | After ...; | Finally.cs:272:13:272:19 | ...; | | Finally.cs:271:31:271:33 | "3" | Finally.cs:271:13:271:34 | call to method WriteLine | | Finally.cs:272:13:272:13 | access to parameter i | Finally.cs:272:18:272:18 | 3 | -| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:263:10:263:12 | exit M13 (abnormal) | -| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:263:10:263:12 | exit M13 (normal) | -| Finally.cs:272:13:272:19 | ...; | Finally.cs:272:13:272:13 | access to parameter i | +| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:272:13:272:18 | After ... += ... | +| Finally.cs:272:13:272:18 | After ... += ... | Finally.cs:272:13:272:19 | After ...; | +| Finally.cs:272:13:272:18 | Before ... += ... | Finally.cs:272:13:272:13 | access to parameter i | +| Finally.cs:272:13:272:19 | ...; | Finally.cs:272:13:272:18 | Before ... += ... | +| Finally.cs:272:13:272:19 | After ...; | Finally.cs:270:9:273:9 | After {...} | | Finally.cs:272:18:272:18 | 3 | Finally.cs:272:13:272:18 | ... += ... | -| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | {...} | -| Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | call to constructor Object | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | this access | -| Foreach.cs:4:7:4:13 | exit Foreach (normal) | Foreach.cs:4:7:4:13 | exit Foreach | +| Foreach.cs:4:7:4:13 | After call to constructor Object | Foreach.cs:4:7:4:13 | {...} | +| Foreach.cs:4:7:4:13 | After call to method | Foreach.cs:4:7:4:13 | Before call to constructor Object | +| Foreach.cs:4:7:4:13 | Before call to constructor Object | Foreach.cs:4:7:4:13 | call to constructor Object | +| Foreach.cs:4:7:4:13 | Before call to method | Foreach.cs:4:7:4:13 | this access | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Before call to method | +| Foreach.cs:4:7:4:13 | Normal Exit | Foreach.cs:4:7:4:13 | Exit | +| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | After call to constructor Object | +| Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | After call to method | | Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | call to method | -| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | exit Foreach (normal) | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:7:5:10:5 | {...} | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | exit M1 | -| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:29:8:32 | access to parameter args | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 (normal) | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | +| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | Normal Exit | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:7:5:10:5 | {...} | +| Foreach.cs:6:10:6:11 | Normal Exit | Foreach.cs:6:10:6:11 | Exit | +| Foreach.cs:7:5:10:5 | After {...} | Foreach.cs:6:10:6:11 | Normal Exit | +| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:7:5:10:5 | After {...} | +| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | access to parameter args | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:9:13:9:13 | ; | -| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:13:5:16:5 | {...} | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | exit M2 | -| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:14:27:14:30 | access to parameter args | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | exit M2 (normal) | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:8:22:8:24 | String arg | +| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | +| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | +| Foreach.cs:9:13:9:13 | ; | Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:13:5:16:5 | {...} | +| Foreach.cs:12:10:12:11 | Normal Exit | Foreach.cs:12:10:12:11 | Exit | +| Foreach.cs:13:5:16:5 | After {...} | Foreach.cs:12:10:12:11 | Normal Exit | +| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:13:5:16:5 | After {...} | +| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | access to parameter args | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:15:13:15:13 | ; | -| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:19:5:22:5 | {...} | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | exit M3 | -| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:20:27:20:27 | access to parameter e | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | +| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | +| Foreach.cs:15:13:15:13 | ; | Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:19:5:22:5 | {...} | +| Foreach.cs:18:10:18:11 | Normal Exit | Foreach.cs:18:10:18:11 | Exit | +| Foreach.cs:19:5:22:5 | After {...} | Foreach.cs:18:10:18:11 | Normal Exit | +| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:19:5:22:5 | After {...} | +| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | ... ?? ... | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:21:11:21:11 | ; | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:43:20:68 | call to method Empty | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:25:5:28:5 | {...} | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | exit M4 | -| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:26:36:26:39 | access to parameter args | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | exit M4 (normal) | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:27:11:27:11 | ; | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:38 | call to method ToArray | +| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | +| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | Before call to method Empty | +| Foreach.cs:20:27:20:38 | Before call to method ToArray | Foreach.cs:20:27:20:27 | access to parameter e | +| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | +| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:38 | Before call to method ToArray | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:22:20:22 | String x | +| Foreach.cs:20:43:20:68 | Before call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | +| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:21:11:21:11 | ; | Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:25:5:28:5 | {...} | +| Foreach.cs:24:10:24:11 | Normal Exit | Foreach.cs:24:10:24:11 | Exit | +| Foreach.cs:25:5:28:5 | After {...} | Foreach.cs:24:10:24:11 | Normal Exit | +| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:25:5:28:5 | After {...} | +| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | access to parameter args | +| Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:26:18:26:31 | After (..., ...) | +| Foreach.cs:26:18:26:31 | After (..., ...) | Foreach.cs:27:11:27:11 | ; | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:23:26:23 | String x | | Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:30:26:30 | Int32 y | | Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:26:18:26:31 | (..., ...) | -| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:31:5:34:5 | {...} | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | exit M5 | -| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:32:32:32:35 | access to parameter args | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | exit M5 (normal) | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:33:11:33:11 | ; | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:26:18:26:31 | Before (..., ...) | +| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | +| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:27:11:27:11 | ; | Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:31:5:34:5 | {...} | +| Foreach.cs:30:10:30:11 | Normal Exit | Foreach.cs:30:10:30:11 | Exit | +| Foreach.cs:31:5:34:5 | After {...} | Foreach.cs:30:10:30:11 | Normal Exit | +| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:31:5:34:5 | After {...} | +| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | access to parameter args | +| Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:32:18:32:27 | After (..., ...) | +| Foreach.cs:32:18:32:27 | After (..., ...) | Foreach.cs:33:11:33:11 | ; | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:23:32:23 | String x | | Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:26:32:26 | Int32 y | | Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:32:18:32:27 | (..., ...) | -| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:37:5:40:5 | {...} | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | exit M6 | -| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:38:39:38:42 | access to parameter args | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | exit M6 (normal) | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:26:38:26 | String x | -| Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:39:11:39:11 | ; | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:32:18:32:27 | Before (..., ...) | +| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | +| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:33:11:33:11 | ; | Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:37:5:40:5 | {...} | +| Foreach.cs:36:10:36:11 | Normal Exit | Foreach.cs:36:10:36:11 | Exit | +| Foreach.cs:37:5:40:5 | After {...} | Foreach.cs:36:10:36:11 | Normal Exit | +| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:37:5:40:5 | After {...} | +| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | access to parameter args | +| Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:38:18:38:34 | After (..., ...) | +| Foreach.cs:38:18:38:34 | After (..., ...) | Foreach.cs:39:11:39:11 | ; | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:26:38:26 | String x | | Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:33:38:33 | Int32 y | | Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:38:18:38:34 | (..., ...) | -| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:5:9:5:9 | this access | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | {...} | -| Initializers.cs:3:7:3:18 | exit (normal) | Initializers.cs:3:7:3:18 | exit | -| Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | exit Initializers | -| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | exit Initializers (normal) | -| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:17 | ... = ... | -| Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:13:5:13 | access to field H | -| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:6:9:6:9 | this access | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:38:18:38:34 | Before (..., ...) | +| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | +| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Foreach.cs:39:11:39:11 | ; | Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:5:9:5:17 | Before ... = ... | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:18:16:18:20 | Before ... = ... | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | Exit | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | Exit | +| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | Normal Exit | +| Initializers.cs:5:9:5:9 | After access to field F | Initializers.cs:5:13:5:17 | Before ... + ... | +| Initializers.cs:5:9:5:9 | Before access to field F | Initializers.cs:5:9:5:9 | this access | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:9 | After access to field F | +| Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:9:5:9 | access to field F | +| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:9:5:17 | After ... = ... | +| Initializers.cs:5:9:5:17 | After ... = ... | Initializers.cs:6:25:6:31 | Before ... = ... | +| Initializers.cs:5:9:5:17 | Before ... = ... | Initializers.cs:5:9:5:9 | Before access to field F | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:17:5:17 | 1 | -| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:9:5:9 | access to field F | +| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:13:5:17 | After ... + ... | +| Initializers.cs:5:13:5:17 | After ... + ... | Initializers.cs:5:9:5:17 | ... = ... | +| Initializers.cs:5:13:5:17 | Before ... + ... | Initializers.cs:5:13:5:13 | access to field H | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:13:5:17 | ... + ... | -| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:25:6:31 | ... = ... | -| Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:27:6:27 | access to field H | -| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:3:7:3:18 | exit (normal) | +| Initializers.cs:6:9:6:9 | After access to property G | Initializers.cs:6:27:6:31 | Before ... + ... | +| Initializers.cs:6:9:6:9 | Before access to property G | Initializers.cs:6:9:6:9 | this access | +| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:9:6:9 | After access to property G | +| Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:9:6:9 | access to property G | +| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:6:25:6:31 | After ... = ... | +| Initializers.cs:6:25:6:31 | After ... = ... | Initializers.cs:3:7:3:18 | Normal Exit | +| Initializers.cs:6:25:6:31 | Before ... = ... | Initializers.cs:6:9:6:9 | Before access to property G | | Initializers.cs:6:27:6:27 | access to field H | Initializers.cs:6:31:6:31 | 2 | -| Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:6:9:6:9 | access to property G | +| Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:6:27:6:31 | After ... + ... | +| Initializers.cs:6:27:6:31 | After ... + ... | Initializers.cs:6:25:6:31 | ... = ... | +| Initializers.cs:6:27:6:31 | Before ... + ... | Initializers.cs:6:27:6:27 | access to field H | | Initializers.cs:6:31:6:31 | 2 | Initializers.cs:6:27:6:31 | ... + ... | -| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:20:8:22 | {...} | -| Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | call to constructor Object | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | this access | -| Initializers.cs:8:5:8:16 | exit Initializers (normal) | Initializers.cs:8:5:8:16 | exit Initializers | +| Initializers.cs:8:5:8:16 | After call to constructor Object | Initializers.cs:8:20:8:22 | {...} | +| Initializers.cs:8:5:8:16 | After call to method | Initializers.cs:8:5:8:16 | Before call to constructor Object | +| Initializers.cs:8:5:8:16 | Before call to constructor Object | Initializers.cs:8:5:8:16 | call to constructor Object | +| Initializers.cs:8:5:8:16 | Before call to method | Initializers.cs:8:5:8:16 | this access | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Before call to method | +| Initializers.cs:8:5:8:16 | Normal Exit | Initializers.cs:8:5:8:16 | Exit | +| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:5:8:16 | After call to constructor Object | +| Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | After call to method | | Initializers.cs:8:5:8:16 | this access | Initializers.cs:8:5:8:16 | call to method | -| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | exit Initializers (normal) | -| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:28:10:30 | {...} | -| Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | call to constructor Object | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | this access | -| Initializers.cs:10:5:10:16 | exit Initializers (normal) | Initializers.cs:10:5:10:16 | exit Initializers | +| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | Normal Exit | +| Initializers.cs:10:5:10:16 | After call to constructor Object | Initializers.cs:10:28:10:30 | {...} | +| Initializers.cs:10:5:10:16 | After call to method | Initializers.cs:10:5:10:16 | Before call to constructor Object | +| Initializers.cs:10:5:10:16 | Before call to constructor Object | Initializers.cs:10:5:10:16 | call to constructor Object | +| Initializers.cs:10:5:10:16 | Before call to method | Initializers.cs:10:5:10:16 | this access | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Before call to method | +| Initializers.cs:10:5:10:16 | Normal Exit | Initializers.cs:10:5:10:16 | Exit | +| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:5:10:16 | After call to constructor Object | +| Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | After call to method | | Initializers.cs:10:5:10:16 | this access | Initializers.cs:10:5:10:16 | call to method | -| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | exit Initializers (normal) | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:13:5:16:5 | {...} | -| Initializers.cs:12:10:12:10 | exit M (normal) | Initializers.cs:12:10:12:10 | exit M | +| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | Normal Exit | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:13:5:16:5 | {...} | +| Initializers.cs:12:10:12:10 | Normal Exit | Initializers.cs:12:10:12:10 | Exit | +| Initializers.cs:13:5:16:5 | After {...} | Initializers.cs:12:10:12:10 | Normal Exit | | Initializers.cs:13:5:16:5 | {...} | Initializers.cs:14:9:14:54 | ... ...; | -| Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:14:34:14:35 | "" | -| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:15:9:15:64 | ... ...; | -| Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:44:14:44 | 0 | +| Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:14:13:14:53 | Before Initializers i = ... | +| Initializers.cs:14:9:14:54 | After ... ...; | Initializers.cs:15:9:15:64 | ... ...; | +| Initializers.cs:14:13:14:13 | access to local variable i | Initializers.cs:14:17:14:53 | Before object creation of type Initializers | +| Initializers.cs:14:13:14:53 | After Initializers i = ... | Initializers.cs:14:9:14:54 | After ... ...; | +| Initializers.cs:14:13:14:53 | Before Initializers i = ... | Initializers.cs:14:13:14:13 | access to local variable i | +| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:13:14:53 | After Initializers i = ... | +| Initializers.cs:14:17:14:53 | After object creation of type Initializers | Initializers.cs:14:13:14:53 | Initializers i = ... | +| Initializers.cs:14:17:14:53 | Before object creation of type Initializers | Initializers.cs:14:34:14:35 | "" | +| Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:38:14:53 | Before { ..., ... } | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:17:14:53 | object creation of type Initializers | -| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:13:14:53 | Initializers i = ... | -| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:40:14:44 | ... = ... | -| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:51:14:51 | 1 | -| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:40 | access to field F | -| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:51 | ... = ... | -| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:38:14:53 | { ..., ... } | -| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:47 | access to property G | -| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:15:18:15:63 | 2 | -| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:12:10:12:10 | exit M (normal) | +| Initializers.cs:14:38:14:53 | After { ..., ... } | Initializers.cs:14:17:14:53 | After object creation of type Initializers | +| Initializers.cs:14:38:14:53 | Before { ..., ... } | Initializers.cs:14:40:14:44 | Before ... = ... | +| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:38:14:53 | After { ..., ... } | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:44:14:44 | 0 | +| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:40:14:44 | After ... = ... | +| Initializers.cs:14:40:14:44 | After ... = ... | Initializers.cs:14:47:14:51 | Before ... = ... | +| Initializers.cs:14:40:14:44 | Before ... = ... | Initializers.cs:14:40:14:40 | access to field F | +| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:44 | ... = ... | +| Initializers.cs:14:47:14:47 | After access to property G | Initializers.cs:14:51:14:51 | 1 | +| Initializers.cs:14:47:14:47 | Before access to property G | Initializers.cs:14:47:14:47 | access to property G | +| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:47 | After access to property G | +| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:47:14:51 | After ... = ... | +| Initializers.cs:14:47:14:51 | After ... = ... | Initializers.cs:14:38:14:53 | { ..., ... } | +| Initializers.cs:14:47:14:51 | Before ... = ... | Initializers.cs:14:47:14:47 | Before access to property G | +| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:51 | ... = ... | +| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | +| Initializers.cs:15:9:15:64 | After ... ...; | Initializers.cs:13:5:16:5 | After {...} | +| Initializers.cs:15:13:15:14 | access to local variable iz | Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | +| Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | Initializers.cs:15:9:15:64 | After ... ...; | +| Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | Initializers.cs:15:13:15:14 | access to local variable iz | +| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | | Initializers.cs:15:18:15:63 | 2 | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | -| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:39:15:39 | access to local variable i | -| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | -| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:59:15:60 | "" | -| Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:37:15:63 | { ..., ... } | +| Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | +| Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | Initializers.cs:15:37:15:63 | Before { ..., ... } | +| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | +| Initializers.cs:15:37:15:63 | After { ..., ... } | Initializers.cs:15:18:15:63 | 2 | +| Initializers.cs:15:37:15:63 | Before { ..., ... } | Initializers.cs:15:39:15:39 | access to local variable i | +| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:37:15:63 | After { ..., ... } | +| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:42:15:61 | Before object creation of type Initializers | +| Initializers.cs:15:42:15:61 | After object creation of type Initializers | Initializers.cs:15:37:15:63 | { ..., ... } | +| Initializers.cs:15:42:15:61 | Before object creation of type Initializers | Initializers.cs:15:59:15:60 | "" | +| Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:42:15:61 | After object creation of type Initializers | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:42:15:61 | object creation of type Initializers | -| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:16:18:20 | ... = ... | -| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:20:18:20 | 1 | -| Initializers.cs:18:16:18:16 | exit H (normal) | Initializers.cs:18:16:18:16 | exit H | -| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | exit H (normal) | -| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | access to field H | -| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | {...} | -| Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | call to constructor Object | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:22:23:22:23 | this access | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | this access | -| Initializers.cs:20:11:20:23 | exit (normal) | Initializers.cs:20:11:20:23 | exit | -| Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | exit NoConstructor | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:20:18:20 | 1 | +| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:20 | After ... = ... | +| Initializers.cs:18:16:18:20 | After ... = ... | Initializers.cs:3:7:3:18 | {...} | +| Initializers.cs:18:16:18:20 | Before ... = ... | Initializers.cs:18:16:18:16 | access to field H | +| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:20 | ... = ... | +| Initializers.cs:20:11:20:23 | After call to constructor Object | Initializers.cs:20:11:20:23 | {...} | +| Initializers.cs:20:11:20:23 | After call to method | Initializers.cs:20:11:20:23 | Before call to constructor Object | +| Initializers.cs:20:11:20:23 | Before call to constructor Object | Initializers.cs:20:11:20:23 | call to constructor Object | +| Initializers.cs:20:11:20:23 | Before call to method | Initializers.cs:20:11:20:23 | this access | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Before call to method | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:22:23:22:27 | Before ... = ... | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | Exit | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | Exit | +| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | After call to constructor Object | +| Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | After call to method | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | call to method | -| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | -| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:27 | ... = ... | -| Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:27:22:27 | 0 | -| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:23:23:23:23 | this access | -| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | access to field F | -| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:27 | ... = ... | -| Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:27:23:27 | 1 | -| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:20:11:20:23 | exit (normal) | -| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | access to field G | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:28:13:28:13 | this access | -| Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:26:11:26:13 | exit | -| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:17 | ... = ... | -| Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:17:28:17 | 2 | -| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:26:11:26:13 | exit (normal) | -| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | access to field H | -| Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | this access | -| Initializers.cs:31:9:31:11 | exit Sub (normal) | Initializers.cs:31:9:31:11 | exit Sub | +| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | Normal Exit | +| Initializers.cs:22:23:22:23 | After access to field F | Initializers.cs:22:27:22:27 | 0 | +| Initializers.cs:22:23:22:23 | Before access to field F | Initializers.cs:22:23:22:23 | this access | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:23 | After access to field F | +| Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:23:22:23 | access to field F | +| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:23:22:27 | After ... = ... | +| Initializers.cs:22:23:22:27 | After ... = ... | Initializers.cs:23:23:23:27 | Before ... = ... | +| Initializers.cs:22:23:22:27 | Before ... = ... | Initializers.cs:22:23:22:23 | Before access to field F | +| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:27 | ... = ... | +| Initializers.cs:23:23:23:23 | After access to field G | Initializers.cs:23:27:23:27 | 1 | +| Initializers.cs:23:23:23:23 | Before access to field G | Initializers.cs:23:23:23:23 | this access | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:23 | After access to field G | +| Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:23:23:23 | access to field G | +| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:23:23:27 | After ... = ... | +| Initializers.cs:23:23:23:27 | After ... = ... | Initializers.cs:20:11:20:23 | Normal Exit | +| Initializers.cs:23:23:23:27 | Before ... = ... | Initializers.cs:23:23:23:23 | Before access to field G | +| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:27 | ... = ... | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:28:13:28:17 | Before ... = ... | +| Initializers.cs:26:11:26:13 | Normal Exit | Initializers.cs:26:11:26:13 | Exit | +| Initializers.cs:28:13:28:13 | After access to field H | Initializers.cs:28:17:28:17 | 2 | +| Initializers.cs:28:13:28:13 | Before access to field H | Initializers.cs:28:13:28:13 | this access | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:13 | After access to field H | +| Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:13:28:13 | access to field H | +| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:13:28:17 | After ... = ... | +| Initializers.cs:28:13:28:17 | After ... = ... | Initializers.cs:26:11:26:13 | Normal Exit | +| Initializers.cs:28:13:28:17 | Before ... = ... | Initializers.cs:28:13:28:13 | Before access to field H | +| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:17 | ... = ... | +| Initializers.cs:31:9:31:11 | After call to method | Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | +| Initializers.cs:31:9:31:11 | Before call to method | Initializers.cs:31:9:31:11 | this access | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Before call to method | +| Initializers.cs:31:9:31:11 | Normal Exit | Initializers.cs:31:9:31:11 | Exit | +| Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:9:31:11 | After call to method | | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | call to method | -| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:24:31:33 | {...} | +| Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | Initializers.cs:31:24:31:33 | {...} | +| Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | +| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | +| Initializers.cs:31:24:31:33 | After {...} | Initializers.cs:31:9:31:11 | Normal Exit | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:26:31:31 | ...; | -| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:30 | ... = ... | -| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:30:31:30 | 3 | -| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:9:31:11 | exit Sub (normal) | -| Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:26 | this access | -| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | access to field I | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | -| Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:9:33:11 | exit Sub | -| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:29:33:38 | {...} | +| Initializers.cs:31:26:31:26 | After access to field I | Initializers.cs:31:30:31:30 | 3 | +| Initializers.cs:31:26:31:26 | Before access to field I | Initializers.cs:31:26:31:26 | this access | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:26 | After access to field I | +| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:26:31:26 | access to field I | +| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:26:31:30 | After ... = ... | +| Initializers.cs:31:26:31:30 | After ... = ... | Initializers.cs:31:26:31:31 | After ...; | +| Initializers.cs:31:26:31:30 | Before ... = ... | Initializers.cs:31:26:31:26 | Before access to field I | +| Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:30 | Before ... = ... | +| Initializers.cs:31:26:31:31 | After ...; | Initializers.cs:31:24:31:33 | After {...} | +| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:30 | ... = ... | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:22:33:25 | Before call to constructor Sub | +| Initializers.cs:33:9:33:11 | Normal Exit | Initializers.cs:33:9:33:11 | Exit | +| Initializers.cs:33:22:33:25 | After call to constructor Sub | Initializers.cs:33:29:33:38 | {...} | +| Initializers.cs:33:22:33:25 | Before call to constructor Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | +| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:22:33:25 | After call to constructor Sub | +| Initializers.cs:33:29:33:38 | After {...} | Initializers.cs:33:9:33:11 | Normal Exit | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:31:33:36 | ...; | -| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:35 | ... = ... | -| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:35:33:35 | access to parameter i | -| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:9:33:11 | exit Sub (normal) | -| Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:31 | this access | -| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | access to field I | -| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:27:35:40 | {...} | -| Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | this access | -| Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:9:35:11 | exit Sub | +| Initializers.cs:33:31:33:31 | After access to field I | Initializers.cs:33:35:33:35 | access to parameter i | +| Initializers.cs:33:31:33:31 | Before access to field I | Initializers.cs:33:31:33:31 | this access | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:31 | After access to field I | +| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:31:33:31 | access to field I | +| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:31:33:35 | After ... = ... | +| Initializers.cs:33:31:33:35 | After ... = ... | Initializers.cs:33:31:33:36 | After ...; | +| Initializers.cs:33:31:33:35 | Before ... = ... | Initializers.cs:33:31:33:31 | Before access to field I | +| Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:35 | Before ... = ... | +| Initializers.cs:33:31:33:36 | After ...; | Initializers.cs:33:29:33:38 | After {...} | +| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:35 | ... = ... | +| Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | Initializers.cs:35:27:35:40 | {...} | +| Initializers.cs:35:9:35:11 | After call to method | Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | +| Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | +| Initializers.cs:35:9:35:11 | Before call to method | Initializers.cs:35:9:35:11 | this access | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Before call to method | +| Initializers.cs:35:9:35:11 | Normal Exit | Initializers.cs:35:9:35:11 | Exit | +| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | +| Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | After call to method | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | call to method | +| Initializers.cs:35:27:35:40 | After {...} | Initializers.cs:35:9:35:11 | Normal Exit | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:29:35:38 | ...; | -| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:37 | ... = ... | -| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:33:35:33 | access to parameter i | -| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:9:35:11 | exit Sub (normal) | -| Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:29 | this access | +| Initializers.cs:35:29:35:29 | After access to field I | Initializers.cs:35:33:35:37 | Before ... + ... | +| Initializers.cs:35:29:35:29 | Before access to field I | Initializers.cs:35:29:35:29 | this access | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:29 | After access to field I | +| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:29:35:29 | access to field I | +| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:29:35:37 | After ... = ... | +| Initializers.cs:35:29:35:37 | After ... = ... | Initializers.cs:35:29:35:38 | After ...; | +| Initializers.cs:35:29:35:37 | Before ... = ... | Initializers.cs:35:29:35:29 | Before access to field I | +| Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:37 | Before ... = ... | +| Initializers.cs:35:29:35:38 | After ...; | Initializers.cs:35:27:35:40 | After {...} | | Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:37:35:37 | access to parameter j | -| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:29:35:29 | access to field I | +| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:33:35:37 | After ... + ... | +| Initializers.cs:35:33:35:37 | After ... + ... | Initializers.cs:35:29:35:37 | ... = ... | +| Initializers.cs:35:33:35:37 | Before ... + ... | Initializers.cs:35:33:35:33 | access to parameter i | | Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:33:35:37 | ... + ... | -| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | {...} | -| Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | call to constructor Object | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | this access | -| Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | Initializers.cs:39:7:39:23 | exit IndexInitializers | +| Initializers.cs:39:7:39:23 | After call to constructor Object | Initializers.cs:39:7:39:23 | {...} | +| Initializers.cs:39:7:39:23 | After call to method | Initializers.cs:39:7:39:23 | Before call to constructor Object | +| Initializers.cs:39:7:39:23 | Before call to constructor Object | Initializers.cs:39:7:39:23 | call to constructor Object | +| Initializers.cs:39:7:39:23 | Before call to method | Initializers.cs:39:7:39:23 | this access | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | Before call to method | +| Initializers.cs:39:7:39:23 | Normal Exit | Initializers.cs:39:7:39:23 | Exit | +| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | After call to constructor Object | +| Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | After call to method | | Initializers.cs:39:7:39:23 | this access | Initializers.cs:39:7:39:23 | call to method | -| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | -| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | {...} | -| Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | call to constructor Object | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | this access | -| Initializers.cs:41:11:41:18 | exit Compound (normal) | Initializers.cs:41:11:41:18 | exit Compound | +| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | Normal Exit | +| Initializers.cs:41:11:41:18 | After call to constructor Object | Initializers.cs:41:11:41:18 | {...} | +| Initializers.cs:41:11:41:18 | After call to method | Initializers.cs:41:11:41:18 | Before call to constructor Object | +| Initializers.cs:41:11:41:18 | Before call to constructor Object | Initializers.cs:41:11:41:18 | call to constructor Object | +| Initializers.cs:41:11:41:18 | Before call to method | Initializers.cs:41:11:41:18 | this access | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Before call to method | +| Initializers.cs:41:11:41:18 | Normal Exit | Initializers.cs:41:11:41:18 | Exit | +| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | After call to constructor Object | +| Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | After call to method | | Initializers.cs:41:11:41:18 | this access | Initializers.cs:41:11:41:18 | call to method | -| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | exit Compound (normal) | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:52:5:66:5 | {...} | -| Initializers.cs:51:10:51:13 | exit Test (normal) | Initializers.cs:51:10:51:13 | exit Test | +| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | Normal Exit | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:52:5:66:5 | {...} | +| Initializers.cs:51:10:51:13 | Normal Exit | Initializers.cs:51:10:51:13 | Exit | +| Initializers.cs:52:5:66:5 | After {...} | Initializers.cs:51:10:51:13 | Normal Exit | | Initializers.cs:52:5:66:5 | {...} | Initializers.cs:54:9:54:96 | ... ...; | -| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:20:54:95 | object creation of type Dictionary | -| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:57:9:65:10 | ... ...; | -| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:53:54:53 | 0 | -| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:13:54:95 | Dictionary dict = ... | -| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:52:54:63 | ... = ... | -| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:67:54:67 | 1 | -| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:58:54:63 | "Zero" | -| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:52:54:54 | access to indexer | -| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:66:54:76 | ... = ... | -| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:80:54:80 | access to parameter i | -| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:72:54:76 | "One" | -| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:66:54:68 | access to indexer | -| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:79:54:93 | ... = ... | -| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:50:54:95 | { ..., ... } | +| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | +| Initializers.cs:54:9:54:96 | After ... ...; | Initializers.cs:57:9:65:10 | ... ...; | +| Initializers.cs:54:13:54:16 | access to local variable dict | Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | +| Initializers.cs:54:13:54:95 | After Dictionary dict = ... | Initializers.cs:54:9:54:96 | After ... ...; | +| Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | Initializers.cs:54:13:54:16 | access to local variable dict | +| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:13:54:95 | After Dictionary dict = ... | +| Initializers.cs:54:20:54:95 | After object creation of type Dictionary | Initializers.cs:54:13:54:95 | Dictionary dict = ... | +| Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | Initializers.cs:54:20:54:95 | object creation of type Dictionary | +| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:50:54:95 | Before { ..., ... } | +| Initializers.cs:54:50:54:95 | After { ..., ... } | Initializers.cs:54:20:54:95 | After object creation of type Dictionary | +| Initializers.cs:54:50:54:95 | Before { ..., ... } | Initializers.cs:54:52:54:63 | Before ... = ... | +| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:50:54:95 | After { ..., ... } | +| Initializers.cs:54:52:54:54 | After access to indexer | Initializers.cs:54:58:54:63 | "Zero" | +| Initializers.cs:54:52:54:54 | Before access to indexer | Initializers.cs:54:53:54:53 | 0 | +| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:52:54:54 | After access to indexer | +| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:52:54:63 | After ... = ... | +| Initializers.cs:54:52:54:63 | After ... = ... | Initializers.cs:54:66:54:76 | Before ... = ... | +| Initializers.cs:54:52:54:63 | Before ... = ... | Initializers.cs:54:52:54:54 | Before access to indexer | +| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:52:54:54 | access to indexer | +| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:52:54:63 | ... = ... | +| Initializers.cs:54:66:54:68 | After access to indexer | Initializers.cs:54:72:54:76 | "One" | +| Initializers.cs:54:66:54:68 | Before access to indexer | Initializers.cs:54:67:54:67 | 1 | +| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:66:54:68 | After access to indexer | +| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:66:54:76 | After ... = ... | +| Initializers.cs:54:66:54:76 | After ... = ... | Initializers.cs:54:79:54:93 | Before ... = ... | +| Initializers.cs:54:66:54:76 | Before ... = ... | Initializers.cs:54:66:54:68 | Before access to indexer | +| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:66:54:68 | access to indexer | +| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:66:54:76 | ... = ... | +| Initializers.cs:54:79:54:85 | After access to indexer | Initializers.cs:54:89:54:93 | "Two" | +| Initializers.cs:54:79:54:85 | Before access to indexer | Initializers.cs:54:80:54:84 | Before ... + ... | +| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:79:54:85 | After access to indexer | +| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:79:54:93 | After ... = ... | +| Initializers.cs:54:79:54:93 | After ... = ... | Initializers.cs:54:50:54:95 | { ..., ... } | +| Initializers.cs:54:79:54:93 | Before ... = ... | Initializers.cs:54:79:54:85 | Before access to indexer | | Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:84:54:84 | 2 | -| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:89:54:93 | "Two" | +| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:80:54:84 | After ... + ... | +| Initializers.cs:54:80:54:84 | After ... + ... | Initializers.cs:54:79:54:85 | access to indexer | +| Initializers.cs:54:80:54:84 | Before ... + ... | Initializers.cs:54:80:54:80 | access to parameter i | | Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:80:54:84 | ... + ... | -| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:79:54:85 | access to indexer | -| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:24:65:9 | object creation of type Compound | -| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | exit Test (normal) | -| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:34:59:34 | 0 | -| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:57:13:65:9 | Compound compound = ... | -| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:13:59:76 | ... = ... | -| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:37:60:37 | 3 | -| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:27 | access to field DictionaryField | -| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:44 | ... = ... | -| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:48:59:48 | 1 | -| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:39:59:44 | "Zero" | -| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:33:59:35 | access to indexer | -| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:47:59:57 | ... = ... | -| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:61:59:61 | access to parameter i | -| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:53:59:57 | "One" | -| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:47:59:49 | access to indexer | -| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:60:59:74 | ... = ... | -| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:31:59:76 | { ..., ... } | +| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:79:54:93 | ... = ... | +| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:13:65:9 | Before Compound compound = ... | +| Initializers.cs:57:9:65:10 | After ... ...; | Initializers.cs:52:5:66:5 | After {...} | +| Initializers.cs:57:13:57:20 | access to local variable compound | Initializers.cs:57:24:65:9 | Before object creation of type Compound | +| Initializers.cs:57:13:65:9 | After Compound compound = ... | Initializers.cs:57:9:65:10 | After ... ...; | +| Initializers.cs:57:13:65:9 | Before Compound compound = ... | Initializers.cs:57:13:57:20 | access to local variable compound | +| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:57:13:65:9 | After Compound compound = ... | +| Initializers.cs:57:24:65:9 | After object creation of type Compound | Initializers.cs:57:13:65:9 | Compound compound = ... | +| Initializers.cs:57:24:65:9 | Before object creation of type Compound | Initializers.cs:57:24:65:9 | object creation of type Compound | +| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:58:9:65:9 | Before { ..., ... } | +| Initializers.cs:58:9:65:9 | After { ..., ... } | Initializers.cs:57:24:65:9 | After object creation of type Compound | +| Initializers.cs:58:9:65:9 | Before { ..., ... } | Initializers.cs:59:13:59:76 | Before ... = ... | +| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:58:9:65:9 | After { ..., ... } | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:31:59:76 | Before { ..., ... } | +| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:13:59:76 | After ... = ... | +| Initializers.cs:59:13:59:76 | After ... = ... | Initializers.cs:60:13:60:80 | Before ... = ... | +| Initializers.cs:59:13:59:76 | Before ... = ... | Initializers.cs:59:13:59:27 | access to field DictionaryField | +| Initializers.cs:59:31:59:76 | After { ..., ... } | Initializers.cs:59:13:59:76 | ... = ... | +| Initializers.cs:59:31:59:76 | Before { ..., ... } | Initializers.cs:59:33:59:44 | Before ... = ... | +| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:31:59:76 | After { ..., ... } | +| Initializers.cs:59:33:59:35 | After access to indexer | Initializers.cs:59:39:59:44 | "Zero" | +| Initializers.cs:59:33:59:35 | Before access to indexer | Initializers.cs:59:34:59:34 | 0 | +| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:35 | After access to indexer | +| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:33:59:44 | After ... = ... | +| Initializers.cs:59:33:59:44 | After ... = ... | Initializers.cs:59:47:59:57 | Before ... = ... | +| Initializers.cs:59:33:59:44 | Before ... = ... | Initializers.cs:59:33:59:35 | Before access to indexer | +| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:33:59:35 | access to indexer | +| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:33:59:44 | ... = ... | +| Initializers.cs:59:47:59:49 | After access to indexer | Initializers.cs:59:53:59:57 | "One" | +| Initializers.cs:59:47:59:49 | Before access to indexer | Initializers.cs:59:48:59:48 | 1 | +| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:47:59:49 | After access to indexer | +| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:47:59:57 | After ... = ... | +| Initializers.cs:59:47:59:57 | After ... = ... | Initializers.cs:59:60:59:74 | Before ... = ... | +| Initializers.cs:59:47:59:57 | Before ... = ... | Initializers.cs:59:47:59:49 | Before access to indexer | +| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:47:59:49 | access to indexer | +| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:47:59:57 | ... = ... | +| Initializers.cs:59:60:59:66 | After access to indexer | Initializers.cs:59:70:59:74 | "Two" | +| Initializers.cs:59:60:59:66 | Before access to indexer | Initializers.cs:59:61:59:65 | Before ... + ... | +| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:60:59:66 | After access to indexer | +| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:60:59:74 | After ... = ... | +| Initializers.cs:59:60:59:74 | After ... = ... | Initializers.cs:59:31:59:76 | { ..., ... } | +| Initializers.cs:59:60:59:74 | Before ... = ... | Initializers.cs:59:60:59:66 | Before access to indexer | | Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:65:59:65 | 2 | -| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:70:59:74 | "Two" | +| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:61:59:65 | After ... + ... | +| Initializers.cs:59:61:59:65 | After ... + ... | Initializers.cs:59:60:59:66 | access to indexer | +| Initializers.cs:59:61:59:65 | Before ... + ... | Initializers.cs:59:61:59:61 | access to parameter i | | Initializers.cs:59:65:59:65 | 2 | Initializers.cs:59:61:59:65 | ... + ... | -| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:60:59:66 | access to indexer | -| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:80 | ... = ... | -| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:61:29:61:29 | 0 | -| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | -| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:36:60:48 | ... = ... | -| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:52:60:52 | 2 | -| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:42:60:48 | "Three" | -| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:36:60:38 | access to indexer | -| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:51:60:61 | ... = ... | -| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:65:60:65 | access to parameter i | -| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:57:60:61 | "Two" | -| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:51:60:53 | access to indexer | -| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:64:60:78 | ... = ... | -| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:34:60:80 | { ..., ... } | +| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:60:59:74 | ... = ... | +| Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | Initializers.cs:60:34:60:80 | Before { ..., ... } | +| Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | +| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | +| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:13:60:80 | After ... = ... | +| Initializers.cs:60:13:60:80 | After ... = ... | Initializers.cs:61:13:61:58 | Before ... = ... | +| Initializers.cs:60:13:60:80 | Before ... = ... | Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | +| Initializers.cs:60:34:60:80 | After { ..., ... } | Initializers.cs:60:13:60:80 | ... = ... | +| Initializers.cs:60:34:60:80 | Before { ..., ... } | Initializers.cs:60:36:60:48 | Before ... = ... | +| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:34:60:80 | After { ..., ... } | +| Initializers.cs:60:36:60:38 | After access to indexer | Initializers.cs:60:42:60:48 | "Three" | +| Initializers.cs:60:36:60:38 | Before access to indexer | Initializers.cs:60:37:60:37 | 3 | +| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:36:60:38 | After access to indexer | +| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:36:60:48 | After ... = ... | +| Initializers.cs:60:36:60:48 | After ... = ... | Initializers.cs:60:51:60:61 | Before ... = ... | +| Initializers.cs:60:36:60:48 | Before ... = ... | Initializers.cs:60:36:60:38 | Before access to indexer | +| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:36:60:38 | access to indexer | +| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:36:60:48 | ... = ... | +| Initializers.cs:60:51:60:53 | After access to indexer | Initializers.cs:60:57:60:61 | "Two" | +| Initializers.cs:60:51:60:53 | Before access to indexer | Initializers.cs:60:52:60:52 | 2 | +| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:51:60:53 | After access to indexer | +| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:51:60:61 | After ... = ... | +| Initializers.cs:60:51:60:61 | After ... = ... | Initializers.cs:60:64:60:78 | Before ... = ... | +| Initializers.cs:60:51:60:61 | Before ... = ... | Initializers.cs:60:51:60:53 | Before access to indexer | +| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:51:60:53 | access to indexer | +| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:51:60:61 | ... = ... | +| Initializers.cs:60:64:60:70 | After access to indexer | Initializers.cs:60:74:60:78 | "One" | +| Initializers.cs:60:64:60:70 | Before access to indexer | Initializers.cs:60:65:60:69 | Before ... + ... | +| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:64:60:70 | After access to indexer | +| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:64:60:78 | After ... = ... | +| Initializers.cs:60:64:60:78 | After ... = ... | Initializers.cs:60:34:60:80 | { ..., ... } | +| Initializers.cs:60:64:60:78 | Before ... = ... | Initializers.cs:60:64:60:70 | Before access to indexer | | Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:69:60:69 | 1 | -| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:74:60:78 | "One" | +| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:65:60:69 | After ... + ... | +| Initializers.cs:60:65:60:69 | After ... + ... | Initializers.cs:60:64:60:70 | access to indexer | +| Initializers.cs:60:65:60:69 | Before ... + ... | Initializers.cs:60:65:60:65 | access to parameter i | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:69 | ... + ... | -| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:70 | access to indexer | -| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:13:61:58 | ... = ... | -| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:30:62:30 | 0 | -| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:22 | access to field ArrayField | -| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:28:61:39 | ... = ... | -| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:43:61:43 | access to parameter i | -| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:34:61:39 | "Zero" | -| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:30 | access to array element | -| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:42:61:56 | ... = ... | -| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | +| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:78 | ... = ... | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:26:61:58 | Before { ..., ... } | +| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:13:61:58 | After ... = ... | +| Initializers.cs:61:13:61:58 | After ... = ... | Initializers.cs:62:13:62:60 | Before ... = ... | +| Initializers.cs:61:13:61:58 | Before ... = ... | Initializers.cs:61:13:61:22 | access to field ArrayField | +| Initializers.cs:61:26:61:58 | After { ..., ... } | Initializers.cs:61:13:61:58 | ... = ... | +| Initializers.cs:61:26:61:58 | Before { ..., ... } | Initializers.cs:61:28:61:39 | Before ... = ... | +| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:26:61:58 | After { ..., ... } | +| Initializers.cs:61:28:61:30 | After access to array element | Initializers.cs:61:34:61:39 | "Zero" | +| Initializers.cs:61:28:61:30 | Before access to array element | Initializers.cs:61:29:61:29 | 0 | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:28:61:30 | After access to array element | +| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:28:61:39 | After ... = ... | +| Initializers.cs:61:28:61:39 | After ... = ... | Initializers.cs:61:42:61:56 | Before ... = ... | +| Initializers.cs:61:28:61:39 | Before ... = ... | Initializers.cs:61:28:61:30 | Before access to array element | +| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:28:61:30 | access to array element | +| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:39 | ... = ... | +| Initializers.cs:61:42:61:48 | After access to array element | Initializers.cs:61:52:61:56 | "One" | +| Initializers.cs:61:42:61:48 | Before access to array element | Initializers.cs:61:43:61:47 | Before ... + ... | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:42:61:48 | After access to array element | +| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:42:61:56 | After ... = ... | +| Initializers.cs:61:42:61:56 | After ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | +| Initializers.cs:61:42:61:56 | Before ... = ... | Initializers.cs:61:42:61:48 | Before access to array element | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:47:61:47 | 1 | -| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:52:61:56 | "One" | +| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:43:61:47 | After ... + ... | +| Initializers.cs:61:43:61:47 | After ... + ... | Initializers.cs:61:42:61:48 | access to array element | +| Initializers.cs:61:43:61:47 | Before ... + ... | Initializers.cs:61:43:61:43 | access to parameter i | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:47 | ... + ... | -| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:48 | access to array element | -| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:13:62:60 | ... = ... | -| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 | -| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:23 | access to field ArrayField2 | -| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:29:62:40 | ... = ... | -| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:44:62:44 | 1 | +| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:56 | ... = ... | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:27:62:60 | Before { ..., ... } | +| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:13:62:60 | After ... = ... | +| Initializers.cs:62:13:62:60 | After ... = ... | Initializers.cs:63:13:63:60 | Before ... = ... | +| Initializers.cs:62:13:62:60 | Before ... = ... | Initializers.cs:62:13:62:23 | access to field ArrayField2 | +| Initializers.cs:62:27:62:60 | After { ..., ... } | Initializers.cs:62:13:62:60 | ... = ... | +| Initializers.cs:62:27:62:60 | Before { ..., ... } | Initializers.cs:62:29:62:40 | Before ... = ... | +| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:27:62:60 | After { ..., ... } | +| Initializers.cs:62:29:62:34 | After access to array element | Initializers.cs:62:38:62:40 | "i" | +| Initializers.cs:62:29:62:34 | Before access to array element | Initializers.cs:62:30:62:30 | 0 | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:29:62:34 | After access to array element | +| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:29:62:40 | After ... = ... | +| Initializers.cs:62:29:62:40 | After ... = ... | Initializers.cs:62:43:62:58 | Before ... = ... | +| Initializers.cs:62:29:62:40 | Before ... = ... | Initializers.cs:62:29:62:34 | Before access to array element | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:33:62:33 | 1 | -| Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:38:62:40 | "i" | -| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:34 | access to array element | -| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:43:62:58 | ... = ... | -| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | -| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:47 | access to parameter i | +| Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:29:62:34 | access to array element | +| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:40 | ... = ... | +| Initializers.cs:62:43:62:52 | After access to array element | Initializers.cs:62:56:62:58 | "1" | +| Initializers.cs:62:43:62:52 | Before access to array element | Initializers.cs:62:44:62:44 | 1 | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:43:62:52 | After access to array element | +| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:43:62:58 | After ... = ... | +| Initializers.cs:62:43:62:58 | After ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | +| Initializers.cs:62:43:62:58 | Before ... = ... | Initializers.cs:62:43:62:52 | Before access to array element | +| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:51 | Before ... + ... | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:51:62:51 | 0 | -| Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:56:62:58 | "1" | +| Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:47:62:51 | After ... + ... | +| Initializers.cs:62:47:62:51 | After ... + ... | Initializers.cs:62:43:62:52 | access to array element | +| Initializers.cs:62:47:62:51 | Before ... + ... | Initializers.cs:62:47:62:47 | access to parameter i | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:47:62:51 | ... + ... | -| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:52 | access to array element | -| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:60 | ... = ... | -| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:64:33:64:33 | 0 | -| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:13:63:25 | access to property ArrayProperty | -| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:31:63:41 | ... = ... | -| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:45:63:45 | access to parameter i | -| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:37:63:41 | "One" | -| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:33 | access to array element | -| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:44:63:58 | ... = ... | -| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | +| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:58 | ... = ... | +| Initializers.cs:63:13:63:25 | After access to property ArrayProperty | Initializers.cs:63:29:63:60 | Before { ..., ... } | +| Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | Initializers.cs:63:13:63:25 | access to property ArrayProperty | +| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:25 | After access to property ArrayProperty | +| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:13:63:60 | After ... = ... | +| Initializers.cs:63:13:63:60 | After ... = ... | Initializers.cs:64:13:64:63 | Before ... = ... | +| Initializers.cs:63:13:63:60 | Before ... = ... | Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | +| Initializers.cs:63:29:63:60 | After { ..., ... } | Initializers.cs:63:13:63:60 | ... = ... | +| Initializers.cs:63:29:63:60 | Before { ..., ... } | Initializers.cs:63:31:63:41 | Before ... = ... | +| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:29:63:60 | After { ..., ... } | +| Initializers.cs:63:31:63:33 | After access to array element | Initializers.cs:63:37:63:41 | "One" | +| Initializers.cs:63:31:63:33 | Before access to array element | Initializers.cs:63:32:63:32 | 1 | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:31:63:33 | After access to array element | +| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:31:63:41 | After ... = ... | +| Initializers.cs:63:31:63:41 | After ... = ... | Initializers.cs:63:44:63:58 | Before ... = ... | +| Initializers.cs:63:31:63:41 | Before ... = ... | Initializers.cs:63:31:63:33 | Before access to array element | +| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:31:63:33 | access to array element | +| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:41 | ... = ... | +| Initializers.cs:63:44:63:50 | After access to array element | Initializers.cs:63:54:63:58 | "Two" | +| Initializers.cs:63:44:63:50 | Before access to array element | Initializers.cs:63:45:63:49 | Before ... + ... | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:44:63:50 | After access to array element | +| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:44:63:58 | After ... = ... | +| Initializers.cs:63:44:63:58 | After ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | +| Initializers.cs:63:44:63:58 | Before ... = ... | Initializers.cs:63:44:63:50 | Before access to array element | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:49:63:49 | 2 | -| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:54:63:58 | "Two" | +| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:45:63:49 | After ... + ... | +| Initializers.cs:63:45:63:49 | After ... + ... | Initializers.cs:63:44:63:50 | access to array element | +| Initializers.cs:63:45:63:49 | Before ... + ... | Initializers.cs:63:45:63:45 | access to parameter i | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:49 | ... + ... | -| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:50 | access to array element | -| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:63 | ... = ... | -| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | -| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | -| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:32:64:43 | ... = ... | -| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:47:64:47 | 1 | +| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:58 | ... = ... | +| Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | Initializers.cs:64:30:64:63 | Before { ..., ... } | +| Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | +| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | +| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:13:64:63 | After ... = ... | +| Initializers.cs:64:13:64:63 | After ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | +| Initializers.cs:64:13:64:63 | Before ... = ... | Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | +| Initializers.cs:64:30:64:63 | After { ..., ... } | Initializers.cs:64:13:64:63 | ... = ... | +| Initializers.cs:64:30:64:63 | Before { ..., ... } | Initializers.cs:64:32:64:43 | Before ... = ... | +| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:30:64:63 | After { ..., ... } | +| Initializers.cs:64:32:64:37 | After access to array element | Initializers.cs:64:41:64:43 | "i" | +| Initializers.cs:64:32:64:37 | Before access to array element | Initializers.cs:64:33:64:33 | 0 | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:32:64:37 | After access to array element | +| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:32:64:43 | After ... = ... | +| Initializers.cs:64:32:64:43 | After ... = ... | Initializers.cs:64:46:64:61 | Before ... = ... | +| Initializers.cs:64:32:64:43 | Before ... = ... | Initializers.cs:64:32:64:37 | Before access to array element | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:36:64:36 | 1 | -| Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:41:64:43 | "i" | -| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:37 | access to array element | -| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:46:64:61 | ... = ... | -| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | -| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:50 | access to parameter i | +| Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:32:64:37 | access to array element | +| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:43 | ... = ... | +| Initializers.cs:64:46:64:55 | After access to array element | Initializers.cs:64:59:64:61 | "1" | +| Initializers.cs:64:46:64:55 | Before access to array element | Initializers.cs:64:47:64:47 | 1 | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:46:64:55 | After access to array element | +| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:46:64:61 | After ... = ... | +| Initializers.cs:64:46:64:61 | After ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | +| Initializers.cs:64:46:64:61 | Before ... = ... | Initializers.cs:64:46:64:55 | Before access to array element | +| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:54 | Before ... + ... | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:54:64:54 | 0 | -| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:59:64:61 | "1" | +| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:50:64:54 | After ... + ... | +| Initializers.cs:64:50:64:54 | After ... + ... | Initializers.cs:64:46:64:55 | access to array element | +| Initializers.cs:64:50:64:54 | Before ... + ... | Initializers.cs:64:50:64:50 | access to parameter i | | Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:50:64:54 | ... + ... | -| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:55 | access to array element | -| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | {...} | -| LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | this access | -| LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling | +| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:61 | ... = ... | +| LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | LoopUnrolling.cs:5:7:5:19 | {...} | +| LoopUnrolling.cs:5:7:5:19 | After call to method | LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | +| LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | +| LoopUnrolling.cs:5:7:5:19 | Before call to method | LoopUnrolling.cs:5:7:5:19 | this access | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | Before call to method | +| LoopUnrolling.cs:5:7:5:19 | Normal Exit | LoopUnrolling.cs:5:7:5:19 | Exit | +| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | +| LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | After call to method | | LoopUnrolling.cs:5:7:5:19 | this access | LoopUnrolling.cs:5:7:5:19 | call to method | -| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:8:5:13:5 | {...} | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | exit M1 | +| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | Normal Exit | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:8:5:13:5 | {...} | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | Exit | | LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:9:9:10:19 | if (...) ... | -| LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:9:13:9:16 | access to parameter args | +| LoopUnrolling.cs:9:9:10:19 | After if (...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:9:13:9:28 | Before ... == ... | | LoopUnrolling.cs:9:13:9:16 | access to parameter args | LoopUnrolling.cs:9:13:9:23 | access to property Length | -| LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:9:28:9:28 | 0 | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | +| LoopUnrolling.cs:9:13:9:23 | After access to property Length | LoopUnrolling.cs:9:28:9:28 | 0 | +| LoopUnrolling.cs:9:13:9:23 | Before access to property Length | LoopUnrolling.cs:9:13:9:16 | access to parameter args | +| LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:9:13:9:23 | After access to property Length | +| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | +| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:9:9:10:19 | After if (...) ... | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:10:13:10:19 | Before return ...; | +| LoopUnrolling.cs:9:13:9:28 | Before ... == ... | LoopUnrolling.cs:9:13:9:23 | Before access to property Length | | LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:9:13:9:28 | ... == ... | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:10:13:10:19 | Before return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:8:5:13:5 | After {...} | +| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:12:13:12:35 | ...; | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | LoopUnrolling.cs:12:13:12:35 | After ...; | +| LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | +| LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | +| LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | +| LoopUnrolling.cs:12:13:12:35 | After ...; | LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:16:5:20:5 | {...} | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | exit M2 | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:16:5:20:5 | {...} | +| LoopUnrolling.cs:15:10:15:11 | Normal Exit | LoopUnrolling.cs:15:10:15:11 | Exit | +| LoopUnrolling.cs:16:5:20:5 | After {...} | LoopUnrolling.cs:15:10:15:11 | Normal Exit | | LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:17:9:17:48 | ... ...; | -| LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:17:18:17:47 | 3 | -| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | +| LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | +| LoopUnrolling.cs:17:9:17:48 | After ... ...; | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:17:13:17:14 | access to local variable xs | LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | +| LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | LoopUnrolling.cs:17:9:17:48 | After ... ...; | +| LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | LoopUnrolling.cs:17:13:17:14 | access to local variable xs | +| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | | LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | -| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:33:17:35 | "a" | -| LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | +| LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | +| LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | +| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | +| LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | LoopUnrolling.cs:17:18:17:47 | 3 | +| LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | LoopUnrolling.cs:17:33:17:35 | "a" | +| LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | | LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:17:38:17:40 | "b" | | LoopUnrolling.cs:17:38:17:40 | "b" | LoopUnrolling.cs:17:43:17:45 | "c" | | LoopUnrolling.cs:17:43:17:45 | "c" | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:16:5:20:5 | After {...} | +| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:19:13:19:33 | ...; | -| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:19:31:19:31 | access to local variable x | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | LoopUnrolling.cs:19:13:19:33 | After ...; | +| LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | LoopUnrolling.cs:19:31:19:31 | access to local variable x | +| LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | +| LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | +| LoopUnrolling.cs:19:13:19:33 | After ...; | LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:23:5:27:5 | {...} | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | exit M3 | -| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:24:29:24:32 | access to parameter args | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | access to parameter args | -| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:23:5:27:5 | {...} | +| LoopUnrolling.cs:22:10:22:11 | Normal Exit | LoopUnrolling.cs:22:10:22:11 | Exit | +| LoopUnrolling.cs:23:5:27:5 | After {...} | LoopUnrolling.cs:22:10:22:11 | Normal Exit | +| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:23:5:27:5 | After {...} | +| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | access to parameter args | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | access to parameter args | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:26:17:26:40 | ...; | -| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | LoopUnrolling.cs:26:17:26:40 | After ...; | +| LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | +| LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | +| LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | +| LoopUnrolling.cs:26:17:26:40 | After ...; | LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:30:5:34:5 | {...} | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | exit M4 | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:30:5:34:5 | {...} | +| LoopUnrolling.cs:29:10:29:11 | Normal Exit | LoopUnrolling.cs:29:10:29:11 | Exit | +| LoopUnrolling.cs:30:5:34:5 | After {...} | LoopUnrolling.cs:29:10:29:11 | Normal Exit | | LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:31:9:31:31 | ... ...; | -| LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:31:29:31:29 | 0 | -| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | -| LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | +| LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | +| LoopUnrolling.cs:31:9:31:31 | After ... ...; | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:31:13:31:14 | access to local variable xs | LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | +| LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | LoopUnrolling.cs:31:9:31:31 | After ... ...; | +| LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | LoopUnrolling.cs:31:13:31:14 | access to local variable xs | +| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | +| LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | +| LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | LoopUnrolling.cs:31:29:31:29 | 0 | +| LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | | LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:30:5:34:5 | After {...} | +| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:33:13:33:33 | ...; | -| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:33:31:33:31 | access to local variable x | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | LoopUnrolling.cs:33:13:33:33 | After ...; | +| LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | LoopUnrolling.cs:33:31:33:31 | access to local variable x | +| LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | +| LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | +| LoopUnrolling.cs:33:13:33:33 | After ...; | LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:37:5:43:5 | {...} | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | exit M5 | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:37:5:43:5 | {...} | +| LoopUnrolling.cs:36:10:36:11 | Normal Exit | LoopUnrolling.cs:36:10:36:11 | Exit | +| LoopUnrolling.cs:37:5:43:5 | After {...} | LoopUnrolling.cs:36:10:36:11 | Normal Exit | | LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:38:9:38:48 | ... ...; | -| LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:38:18:38:47 | 3 | -| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:39:9:39:48 | ... ...; | +| LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | +| LoopUnrolling.cs:38:9:38:48 | After ... ...; | LoopUnrolling.cs:39:9:39:48 | ... ...; | +| LoopUnrolling.cs:38:13:38:14 | access to local variable xs | LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | +| LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | LoopUnrolling.cs:38:9:38:48 | After ... ...; | +| LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | LoopUnrolling.cs:38:13:38:14 | access to local variable xs | +| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | | LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | -| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:33:38:35 | "a" | -| LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | +| LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | +| LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | +| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | +| LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | LoopUnrolling.cs:38:18:38:47 | 3 | +| LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | LoopUnrolling.cs:38:33:38:35 | "a" | +| LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | | LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:38:38:38:40 | "b" | | LoopUnrolling.cs:38:38:38:40 | "b" | LoopUnrolling.cs:38:43:38:45 | "c" | | LoopUnrolling.cs:38:43:38:45 | "c" | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | -| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:39:18:39:47 | 3 | -| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | +| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | +| LoopUnrolling.cs:39:9:39:48 | After ... ...; | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:39:13:39:14 | access to local variable ys | LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | +| LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | LoopUnrolling.cs:39:9:39:48 | After ... ...; | +| LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | LoopUnrolling.cs:39:13:39:14 | access to local variable ys | +| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | | LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | -| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:33:39:35 | "0" | -| LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | +| LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | +| LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | +| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | +| LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | LoopUnrolling.cs:39:18:39:47 | 3 | +| LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | LoopUnrolling.cs:39:33:39:35 | "0" | +| LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | | LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:39:38:39:40 | "1" | | LoopUnrolling.cs:39:38:39:40 | "1" | LoopUnrolling.cs:39:43:39:45 | "2" | | LoopUnrolling.cs:39:43:39:45 | "2" | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | -| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:37:5:43:5 | After {...} | +| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:40:22:40:22 | String x | +| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:42:17:42:41 | ...; | -| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:42:35:42:35 | access to local variable x | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | LoopUnrolling.cs:42:17:42:41 | After ...; | +| LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | LoopUnrolling.cs:42:35:42:39 | Before ... + ... | +| LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | +| LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | +| LoopUnrolling.cs:42:17:42:41 | After ...; | LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:42:35:42:35 | access to local variable x | LoopUnrolling.cs:42:39:42:39 | access to local variable y | -| LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | +| LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:42:35:42:39 | After ... + ... | +| LoopUnrolling.cs:42:35:42:39 | After ... + ... | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | +| LoopUnrolling.cs:42:35:42:39 | Before ... + ... | LoopUnrolling.cs:42:35:42:35 | access to local variable x | | LoopUnrolling.cs:42:39:42:39 | access to local variable y | LoopUnrolling.cs:42:35:42:39 | ... + ... | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:46:5:53:5 | {...} | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | exit M6 | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:46:5:53:5 | {...} | +| LoopUnrolling.cs:45:10:45:11 | Normal Exit | LoopUnrolling.cs:45:10:45:11 | Exit | +| LoopUnrolling.cs:46:5:53:5 | After {...} | LoopUnrolling.cs:45:10:45:11 | Normal Exit | | LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:47:9:47:48 | ... ...; | -| LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:47:18:47:47 | 3 | -| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | +| LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | +| LoopUnrolling.cs:47:9:47:48 | After ... ...; | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:47:13:47:14 | access to local variable xs | LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | +| LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | LoopUnrolling.cs:47:9:47:48 | After ... ...; | +| LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | LoopUnrolling.cs:47:13:47:14 | access to local variable xs | +| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | | LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | -| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:33:47:35 | "a" | -| LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | +| LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | +| LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | +| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | +| LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | LoopUnrolling.cs:47:18:47:47 | 3 | +| LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | LoopUnrolling.cs:47:33:47:35 | "a" | +| LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | | LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:47:38:47:40 | "b" | | LoopUnrolling.cs:47:38:47:40 | "b" | LoopUnrolling.cs:47:43:47:45 | "c" | | LoopUnrolling.cs:47:43:47:45 | "c" | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:22:48:22 | String x | +| LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:46:5:53:5 | After {...} | +| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | | LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:49:9:52:9 | {...} | -| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:48:22:48:22 | String x | +| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:49:9:52:9 | {...} | LoopUnrolling.cs:50:9:50:13 | Label: | | LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:50:16:50:36 | ...; | -| LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:51:13:51:23 | goto ...; | -| LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:50:34:50:34 | access to local variable x | +| LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | LoopUnrolling.cs:50:16:50:36 | After ...; | +| LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | LoopUnrolling.cs:50:34:50:34 | access to local variable x | +| LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | +| LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | +| LoopUnrolling.cs:50:16:50:36 | After ...; | LoopUnrolling.cs:51:13:51:23 | Before goto ...; | | LoopUnrolling.cs:50:34:50:34 | access to local variable x | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:56:5:65:5 | {...} | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | exit M7 | +| LoopUnrolling.cs:51:13:51:23 | Before goto ...; | LoopUnrolling.cs:51:13:51:23 | goto ...; | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:56:5:65:5 | {...} | +| LoopUnrolling.cs:55:10:55:11 | Normal Exit | LoopUnrolling.cs:55:10:55:11 | Exit | +| LoopUnrolling.cs:56:5:65:5 | After {...} | LoopUnrolling.cs:55:10:55:11 | Normal Exit | | LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:57:9:57:48 | ... ...; | -| LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:57:18:57:47 | 3 | -| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | +| LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | +| LoopUnrolling.cs:57:9:57:48 | After ... ...; | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:57:13:57:14 | access to local variable xs | LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | +| LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | LoopUnrolling.cs:57:9:57:48 | After ... ...; | +| LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | LoopUnrolling.cs:57:13:57:14 | access to local variable xs | +| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | | LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | -| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:33:57:35 | "a" | -| LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | +| LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | +| LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | +| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | +| LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | LoopUnrolling.cs:57:18:57:47 | 3 | +| LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | LoopUnrolling.cs:57:33:57:35 | "a" | +| LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | | LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:57:38:57:40 | "b" | | LoopUnrolling.cs:57:38:57:40 | "b" | LoopUnrolling.cs:57:43:57:45 | "c" | | LoopUnrolling.cs:57:43:57:45 | "c" | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:56:5:65:5 | After {...} | +| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:59:9:64:9 | {...} | -| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:59:9:64:9 | After {...} | LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:60:13:61:37 | if (...) ... | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | | LoopUnrolling.cs:60:13:61:37 | if (...) ... | LoopUnrolling.cs:60:17:60:17 | access to parameter b | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:35:61:35 | access to local variable x | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:61:17:61:37 | ...; | +| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | LoopUnrolling.cs:61:17:61:37 | After ...; | +| LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | LoopUnrolling.cs:61:35:61:35 | access to local variable x | +| LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | +| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | | LoopUnrolling.cs:61:35:61:35 | access to local variable x | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:59:9:64:9 | After {...} | | LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:62:17:62:17 | access to parameter b | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:35:63:35 | access to local variable x | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:63:17:63:37 | ...; | +| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | LoopUnrolling.cs:63:17:63:37 | After ...; | +| LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | LoopUnrolling.cs:63:35:63:35 | access to local variable x | +| LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | +| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | | LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:68:5:74:5 | {...} | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | exit M8 | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:68:5:74:5 | {...} | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | Exit | | LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:69:9:70:19 | if (...) ... | -| LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:69:14:69:17 | access to parameter args | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:70:13:70:19 | return ...; | +| LoopUnrolling.cs:69:9:70:19 | After if (...) ... | LoopUnrolling.cs:71:9:71:21 | ...; | +| LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:69:13:69:23 | !... | +| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:14:69:23 | Before call to method Any | +| LoopUnrolling.cs:69:13:69:23 | After !... [false] | LoopUnrolling.cs:69:9:70:19 | After if (...) ... | +| LoopUnrolling.cs:69:13:69:23 | After !... [true] | LoopUnrolling.cs:70:13:70:19 | Before return ...; | | LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:69:14:69:23 | call to method Any | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:13:69:23 | [true] !... | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:69:13:69:23 | After !... [true] | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:69:13:69:23 | After !... [false] | +| LoopUnrolling.cs:69:14:69:23 | Before call to method Any | LoopUnrolling.cs:69:14:69:17 | access to parameter args | +| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | +| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:70:13:70:19 | Before return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | | LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:71:9:71:20 | call to method Clear | -| LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:72:29:72:32 | access to parameter args | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:12 | access to parameter args | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:71:9:71:20 | After call to method Clear | LoopUnrolling.cs:71:9:71:21 | After ...; | +| LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | LoopUnrolling.cs:71:9:71:12 | access to parameter args | +| LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:71:9:71:20 | After call to method Clear | +| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | +| LoopUnrolling.cs:71:9:71:21 | After ...; | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:68:5:74:5 | After {...} | +| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | access to parameter args | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:73:13:73:35 | ...; | -| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | LoopUnrolling.cs:73:13:73:35 | After ...; | +| LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | +| LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | +| LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | +| LoopUnrolling.cs:73:13:73:35 | After ...; | LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:77:5:83:5 | {...} | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | exit M9 | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:77:5:83:5 | {...} | +| LoopUnrolling.cs:76:10:76:11 | Normal Exit | LoopUnrolling.cs:76:10:76:11 | Exit | +| LoopUnrolling.cs:77:5:83:5 | After {...} | LoopUnrolling.cs:76:10:76:11 | Normal Exit | | LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:78:9:78:34 | ... ...; | -| LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:78:29:78:29 | 2 | -| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | -| LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | +| LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | +| LoopUnrolling.cs:78:9:78:34 | After ... ...; | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:78:13:78:14 | access to local variable xs | LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | +| LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | LoopUnrolling.cs:78:9:78:34 | After ... ...; | +| LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | LoopUnrolling.cs:78:13:78:14 | access to local variable xs | +| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | +| LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | +| LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | LoopUnrolling.cs:78:29:78:29 | 2 | +| LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | | LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:78:32:78:32 | 0 | | LoopUnrolling.cs:78:32:78:32 | 0 | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:77:5:83:5 | After {...} | +| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:80:9:82:9 | {...} | -| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:80:9:82:9 | After {...} | LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:80:9:82:9 | {...} | LoopUnrolling.cs:81:13:81:33 | ...; | -| LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:81:31:81:31 | access to local variable x | +| LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | LoopUnrolling.cs:81:13:81:33 | After ...; | +| LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | LoopUnrolling.cs:81:31:81:31 | access to local variable x | +| LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | +| LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | +| LoopUnrolling.cs:81:13:81:33 | After ...; | LoopUnrolling.cs:80:9:82:9 | After {...} | | LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:86:5:92:5 | {...} | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | exit M10 | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:86:5:92:5 | {...} | +| LoopUnrolling.cs:85:10:85:12 | Normal Exit | LoopUnrolling.cs:85:10:85:12 | Exit | +| LoopUnrolling.cs:86:5:92:5 | After {...} | LoopUnrolling.cs:85:10:85:12 | Normal Exit | | LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:87:9:87:34 | ... ...; | -| LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:87:29:87:29 | 0 | -| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | -| LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | +| LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | +| LoopUnrolling.cs:87:9:87:34 | After ... ...; | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:87:13:87:14 | access to local variable xs | LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | +| LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | LoopUnrolling.cs:87:9:87:34 | After ... ...; | +| LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | LoopUnrolling.cs:87:13:87:14 | access to local variable xs | +| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | +| LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | +| LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | LoopUnrolling.cs:87:29:87:29 | 0 | +| LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | | LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:87:32:87:32 | 2 | | LoopUnrolling.cs:87:32:87:32 | 2 | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:86:5:92:5 | After {...} | +| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:89:9:91:9 | {...} | -| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:89:9:91:9 | After {...} | LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:89:9:91:9 | {...} | LoopUnrolling.cs:90:13:90:33 | ...; | -| LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:90:31:90:31 | access to local variable x | +| LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | LoopUnrolling.cs:90:13:90:33 | After ...; | +| LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | LoopUnrolling.cs:90:31:90:31 | access to local variable x | +| LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | +| LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | +| LoopUnrolling.cs:90:13:90:33 | After ...; | LoopUnrolling.cs:89:9:91:9 | After {...} | | LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:95:5:101:5 | {...} | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | exit M11 | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:95:5:101:5 | {...} | +| LoopUnrolling.cs:94:10:94:12 | Normal Exit | LoopUnrolling.cs:94:10:94:12 | Exit | +| LoopUnrolling.cs:95:5:101:5 | After {...} | LoopUnrolling.cs:94:10:94:12 | Normal Exit | | LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:96:9:96:34 | ... ...; | -| LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:96:29:96:29 | 2 | -| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | -| LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | +| LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | +| LoopUnrolling.cs:96:9:96:34 | After ... ...; | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:96:13:96:14 | access to local variable xs | LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | +| LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | LoopUnrolling.cs:96:9:96:34 | After ... ...; | +| LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | LoopUnrolling.cs:96:13:96:14 | access to local variable xs | +| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | +| LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | +| LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | LoopUnrolling.cs:96:29:96:29 | 2 | +| LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | | LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:96:32:96:32 | 2 | | LoopUnrolling.cs:96:32:96:32 | 2 | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:95:5:101:5 | After {...} | +| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:98:9:100:9 | {...} | -| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:98:9:100:9 | After {...} | LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | | LoopUnrolling.cs:98:9:100:9 | {...} | LoopUnrolling.cs:99:13:99:33 | ...; | -| LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:99:31:99:31 | access to local variable x | +| LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | LoopUnrolling.cs:99:13:99:33 | After ...; | +| LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | LoopUnrolling.cs:99:31:99:31 | access to local variable x | +| LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | +| LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | +| LoopUnrolling.cs:99:13:99:33 | After ...; | LoopUnrolling.cs:98:9:100:9 | After {...} | | LoopUnrolling.cs:99:31:99:31 | access to local variable x | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | -| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | {...} | -| MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationB.cs:1:7:1:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | exit C1 | +| MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | MultiImplementationA.cs:4:7:4:8 | {...} | +| MultiImplementationA.cs:4:7:4:8 | After call to method | MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | +| MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | this access | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationB.cs:1:7:1:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Exit | +| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | +| MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | After call to method | | MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | call to method | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:28:6:31 | null | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationB.cs:3:22:3:22 | 0 | -| MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:22:6:31 | exit get_P1 (abnormal) | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:28:6:31 | null | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Before throw ... | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationB.cs:3:22:3:22 | 0 | +| MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:22:6:31 | Exceptional Exit | | MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:22:6:31 | throw ... | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:25:7:39 | {...} | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationB.cs:4:25:4:37 | {...} | -| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:33:7:36 | null | -| MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (abnormal) | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:25:7:39 | {...} | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationB.cs:4:25:4:37 | {...} | +| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:27:7:37 | Before throw ...; | +| MultiImplementationA.cs:7:27:7:37 | Before throw ...; | MultiImplementationA.cs:7:33:7:36 | null | +| MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:21:7:23 | Exceptional Exit | | MultiImplementationA.cs:7:33:7:36 | null | MultiImplementationA.cs:7:27:7:37 | throw ...; | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:45:7:59 | {...} | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationB.cs:4:43:4:45 | {...} | -| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:53:7:56 | null | -| MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (abnormal) | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:45:7:59 | {...} | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationB.cs:4:43:4:45 | {...} | +| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:47:7:57 | Before throw ...; | +| MultiImplementationA.cs:7:47:7:57 | Before throw ...; | MultiImplementationA.cs:7:53:7:56 | null | +| MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:41:7:43 | Exceptional Exit | | MultiImplementationA.cs:7:53:7:56 | null | MultiImplementationA.cs:7:47:7:57 | throw ...; | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:29:8:32 | null | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationB.cs:5:23:5:23 | 2 | -| MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:23:8:32 | Before throw ... | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationB.cs:5:23:5:23 | 2 | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:29:8:32 | null | +| MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:16:8:16 | Exceptional Exit | | MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:23:8:32 | throw ... | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:13:16:13:16 | this access | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationB.cs:11:16:11:16 | this access | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit | -| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:20 | ... = ... | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:20:13:20 | 0 | -| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:24:16:24:16 | this access | -| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | access to field F | -| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | access to parameter i | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationB.cs:12:37:12:40 | null | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:40:15:52 | {...} | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationB.cs:13:40:13:54 | {...} | -| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:49:15:49 | access to parameter s | -| MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:36:15:38 | exit get_Item (normal) | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | Exit | +| MultiImplementationA.cs:13:16:13:16 | After access to field F | MultiImplementationA.cs:13:20:13:20 | 0 | +| MultiImplementationA.cs:13:16:13:16 | Before access to field F | MultiImplementationA.cs:13:16:13:16 | this access | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:16 | After access to field F | +| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:16:13:16 | access to field F | +| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:16:13:20 | After ... = ... | +| MultiImplementationA.cs:13:16:13:20 | After ... = ... | MultiImplementationA.cs:24:32:24:34 | Before ... = ... | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:13:16:13:16 | Before access to field F | +| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:20 | ... = ... | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | access to parameter i | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationB.cs:12:31:12:40 | Before throw ... | +| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | Normal Exit | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:40:15:52 | {...} | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationB.cs:13:40:13:54 | {...} | +| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:42:15:50 | Before return ...; | +| MultiImplementationA.cs:15:42:15:50 | Before return ...; | MultiImplementationA.cs:15:49:15:49 | access to parameter s | +| MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:36:15:38 | Normal Exit | | MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:42:15:50 | return ...; | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationB.cs:13:60:13:62 | {...} | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | exit set_Item | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:17:5:19:5 | {...} | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationB.cs:15:5:17:5 | {...} | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | exit M1 | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:58:15:60 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationB.cs:13:60:13:62 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | Exit | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:17:5:19:5 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationB.cs:15:5:17:5 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | Exit | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:18:9:18:22 | M2(...) | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:21:18:21 | 0 | -| MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | MultiImplementationA.cs:18:9:18:22 | exit M2 | -| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | -| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:22:20:31 | {...} | -| MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | this access | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationB.cs:18:12:18:13 | this access | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:21:18:21 | 0 | +| MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:17:5:19:5 | After {...} | +| MultiImplementationA.cs:18:9:18:22 | Normal Exit | MultiImplementationA.cs:18:9:18:22 | Exit | +| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | Normal Exit | +| MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | MultiImplementationA.cs:20:22:20:31 | {...} | +| MultiImplementationA.cs:20:12:20:13 | After call to method | MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | +| MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | this access | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Before call to method | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationB.cs:18:12:18:13 | Before call to method | +| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | +| MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | After call to method | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | call to method | +| MultiImplementationA.cs:20:22:20:31 | After {...} | MultiImplementationA.cs:20:12:20:13 | Normal Exit | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:24:20:29 | ...; | -| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:28 | ... = ... | -| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:28:20:28 | access to parameter i | -| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | -| MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:24 | this access | -| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | access to field F | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationB.cs:19:24:19:24 | 1 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 | -| MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:27:21:29 | {...} | +| MultiImplementationA.cs:20:24:20:24 | After access to field F | MultiImplementationA.cs:20:28:20:28 | access to parameter i | +| MultiImplementationA.cs:20:24:20:24 | Before access to field F | MultiImplementationA.cs:20:24:20:24 | this access | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:24 | After access to field F | +| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:24:20:24 | access to field F | +| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:24:20:28 | After ... = ... | +| MultiImplementationA.cs:20:24:20:28 | After ... = ... | MultiImplementationA.cs:20:24:20:29 | After ...; | +| MultiImplementationA.cs:20:24:20:28 | Before ... = ... | MultiImplementationA.cs:20:24:20:24 | Before access to field F | +| MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:28 | Before ... = ... | +| MultiImplementationA.cs:20:24:20:29 | After ...; | MultiImplementationA.cs:20:22:20:31 | After {...} | +| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:28 | ... = ... | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | Exit | +| MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | MultiImplementationA.cs:21:27:21:29 | {...} | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:24:21:24 | 0 | +| MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | | MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:11:22:13 | {...} | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationB.cs:20:11:20:25 | {...} | -| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | exit ~C2 (normal) | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:50:23:53 | null | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationB.cs:21:56:21:59 | null | -| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (normal) | -| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:32:24:34 | ... = ... | -| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:24:34:24:34 | 0 | -| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:16:24:16 | access to property P | -| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | {...} | -| MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | exit C3 | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:11:22:13 | {...} | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationB.cs:20:11:20:25 | {...} | +| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | Normal Exit | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:50:23:53 | null | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationB.cs:21:50:21:59 | Before throw ... | +| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | Normal Exit | +| MultiImplementationA.cs:24:16:24:16 | After access to property P | MultiImplementationA.cs:24:34:24:34 | 0 | +| MultiImplementationA.cs:24:16:24:16 | Before access to property P | MultiImplementationA.cs:24:16:24:16 | this access | +| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:16:24:16 | After access to property P | +| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:24:16:24:16 | access to property P | +| MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:24:32:24:34 | After ... = ... | +| MultiImplementationA.cs:24:32:24:34 | Before ... = ... | MultiImplementationA.cs:24:16:24:16 | Before access to property P | +| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:32:24:34 | ... = ... | +| MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | MultiImplementationA.cs:28:7:28:8 | {...} | +| MultiImplementationA.cs:28:7:28:8 | After call to method | MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | +| MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | this access | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationB.cs:25:7:25:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Exit | +| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | +| MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | After call to method | | MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | call to method | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:34:30:37 | null | -| MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | MultiImplementationA.cs:30:21:30:23 | exit get_P3 | -| MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:28:30:37 | Before throw ... | +| MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | MultiImplementationA.cs:30:21:30:23 | Exit | +| MultiImplementationA.cs:30:28:30:37 | Before throw ... | MultiImplementationA.cs:30:34:30:37 | null | +| MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | | MultiImplementationA.cs:30:34:30:37 | null | MultiImplementationA.cs:30:28:30:37 | throw ... | -| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | {...} | -| MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationB.cs:30:15:30:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | exit C4 | +| MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | MultiImplementationA.cs:34:15:34:16 | {...} | +| MultiImplementationA.cs:34:15:34:16 | After call to method | MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | +| MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | this access | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationB.cs:30:15:30:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Exit | +| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | +| MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | After call to method | | MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | call to method | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:14:36:28 | {...} | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationB.cs:32:17:32:17 | 0 | -| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:22:36:25 | null | -| MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:9:36:10 | exit M1 (abnormal) | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:14:36:28 | {...} | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationB.cs:32:17:32:17 | 0 | +| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:16:36:26 | Before throw ...; | +| MultiImplementationA.cs:36:16:36:26 | Before throw ...; | MultiImplementationA.cs:36:22:36:25 | null | +| MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:9:36:10 | Exceptional Exit | | MultiImplementationA.cs:36:22:36:25 | null | MultiImplementationA.cs:36:16:36:26 | throw ...; | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:14:37:28 | {...} | -| MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | MultiImplementationA.cs:37:9:37:10 | exit M2 | -| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:22:37:25 | null | -| MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:14:37:28 | {...} | +| MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | MultiImplementationA.cs:37:9:37:10 | Exit | +| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:16:37:26 | Before throw ...; | +| MultiImplementationA.cs:37:16:37:26 | Before throw ...; | MultiImplementationA.cs:37:22:37:25 | null | +| MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | | MultiImplementationA.cs:37:22:37:25 | null | MultiImplementationA.cs:37:16:37:26 | throw ...; | -| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | {...} | -| MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | +| MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | MultiImplementationB.cs:1:7:1:8 | {...} | +| MultiImplementationB.cs:1:7:1:8 | After call to method | MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | +| MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationB.cs:1:7:1:8 | this access | +| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | +| MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationB.cs:1:7:1:8 | After call to method | | MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | call to method | -| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 (normal) | -| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:34:4:34 | 1 | -| MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | +| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | Normal Exit | +| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:27:4:35 | Before return ...; | +| MultiImplementationB.cs:4:27:4:35 | Before return ...; | MultiImplementationB.cs:4:34:4:34 | 1 | +| MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationA.cs:7:21:7:23 | Normal Exit | | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:27:4:35 | return ...; | -| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | -| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | exit M (normal) | -| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:20 | ... = ... | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:20:11:20 | 1 | -| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:22:16:22:16 | this access | -| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | access to field F | -| MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | +| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | Normal Exit | +| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | Normal Exit | +| MultiImplementationB.cs:11:16:11:16 | After access to field F | MultiImplementationB.cs:11:20:11:20 | 1 | +| MultiImplementationB.cs:11:16:11:16 | Before access to field F | MultiImplementationB.cs:11:16:11:16 | this access | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:16 | After access to field F | +| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:16:11:16 | access to field F | +| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:16:11:20 | After ... = ... | +| MultiImplementationB.cs:11:16:11:20 | After ... = ... | MultiImplementationB.cs:22:32:22:34 | Before ... = ... | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationB.cs:11:16:11:16 | Before access to field F | +| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:20 | ... = ... | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationB.cs:12:37:12:40 | null | +| MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | Exceptional Exit | | MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:31:12:40 | throw ... | -| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:48:13:51 | null | -| MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | +| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:42:13:52 | Before throw ...; | +| MultiImplementationB.cs:13:42:13:52 | Before throw ...; | MultiImplementationB.cs:13:48:13:51 | null | +| MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationA.cs:15:36:15:38 | Exceptional Exit | | MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationB.cs:13:42:13:52 | throw ...; | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:16:9:16:31 | M2(...) | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:27:16:30 | null | -| MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | MultiImplementationB.cs:16:9:16:31 | exit M2 | -| MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:21:16:30 | Before throw ... | +| MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | MultiImplementationB.cs:16:9:16:31 | Exit | +| MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationB.cs:15:5:17:5 | After {...} | +| MultiImplementationB.cs:16:21:16:30 | Before throw ... | MultiImplementationB.cs:16:27:16:30 | null | +| MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | | MultiImplementationB.cs:16:27:16:30 | null | MultiImplementationB.cs:16:21:16:30 | throw ... | -| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:22:18:36 | {...} | -| MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | +| MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | MultiImplementationB.cs:18:22:18:36 | {...} | +| MultiImplementationB.cs:18:12:18:13 | After call to method | MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | +| MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationB.cs:18:12:18:13 | this access | +| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | +| MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationB.cs:18:12:18:13 | After call to method | | MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationB.cs:18:12:18:13 | call to method | -| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:30:18:33 | null | -| MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationA.cs:20:12:20:13 | exit C2 (abnormal) | +| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:24:18:34 | Before throw ...; | +| MultiImplementationB.cs:18:24:18:34 | Before throw ...; | MultiImplementationB.cs:18:30:18:33 | null | +| MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationA.cs:20:12:20:13 | Exceptional Exit | | MultiImplementationB.cs:18:30:18:33 | null | MultiImplementationB.cs:18:24:18:34 | throw ...; | -| MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationB.cs:19:27:19:29 | {...} | +| MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | MultiImplementationB.cs:19:27:19:29 | {...} | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationB.cs:19:24:19:24 | 1 | +| MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | | MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | -| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:19:20:22 | null | -| MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationA.cs:22:6:22:7 | exit ~C2 (abnormal) | +| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:13:20:23 | Before throw ...; | +| MultiImplementationB.cs:20:13:20:23 | Before throw ...; | MultiImplementationB.cs:20:19:20:22 | null | +| MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationA.cs:22:6:22:7 | Exceptional Exit | | MultiImplementationB.cs:20:19:20:22 | null | MultiImplementationB.cs:20:13:20:23 | throw ...; | -| MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (abnormal) | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationB.cs:21:56:21:59 | null | +| MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationA.cs:23:28:23:35 | Exceptional Exit | | MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationB.cs:21:50:21:59 | throw ... | -| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:32:22:34 | ... = ... | -| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:22:34:22:34 | 1 | -| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:16:22:16 | access to property P | -| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | {...} | -| MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | +| MultiImplementationB.cs:22:16:22:16 | After access to property P | MultiImplementationB.cs:22:34:22:34 | 1 | +| MultiImplementationB.cs:22:16:22:16 | Before access to property P | MultiImplementationB.cs:22:16:22:16 | this access | +| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:16:22:16 | After access to property P | +| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:22:16:22:16 | access to property P | +| MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationB.cs:22:32:22:34 | After ... = ... | +| MultiImplementationB.cs:22:32:22:34 | Before ... = ... | MultiImplementationB.cs:22:16:22:16 | Before access to property P | +| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:32:22:34 | ... = ... | +| MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | MultiImplementationB.cs:25:7:25:8 | {...} | +| MultiImplementationB.cs:25:7:25:8 | After call to method | MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | +| MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationB.cs:25:7:25:8 | this access | +| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | +| MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationB.cs:25:7:25:8 | After call to method | | MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | call to method | -| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | {...} | -| MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | +| MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | MultiImplementationB.cs:30:15:30:16 | {...} | +| MultiImplementationB.cs:30:15:30:16 | After call to method | MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | +| MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationB.cs:30:15:30:16 | this access | +| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | +| MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationB.cs:30:15:30:16 | After call to method | | MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | call to method | -| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | exit M1 (normal) | -| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | {...} | -| NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | call to constructor Object | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | this access | -| NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | NullCoalescing.cs:1:7:1:20 | exit NullCoalescing | +| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | Normal Exit | +| NullCoalescing.cs:1:7:1:20 | After call to constructor Object | NullCoalescing.cs:1:7:1:20 | {...} | +| NullCoalescing.cs:1:7:1:20 | After call to method | NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | +| NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | NullCoalescing.cs:1:7:1:20 | call to constructor Object | +| NullCoalescing.cs:1:7:1:20 | Before call to method | NullCoalescing.cs:1:7:1:20 | this access | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | Before call to method | +| NullCoalescing.cs:1:7:1:20 | Normal Exit | NullCoalescing.cs:1:7:1:20 | Exit | +| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | After call to constructor Object | +| NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | After call to method | | NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | call to method | -| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:23:3:23 | access to parameter i | -| NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | NullCoalescing.cs:3:9:3:10 | exit M1 | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:28 | ... ?? ... | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:25:5:25 | access to parameter b | -| NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | NullCoalescing.cs:5:9:5:10 | exit M2 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | -| NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | NullCoalescing.cs:7:12:7:13 | exit M3 | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:53 | ... ?? ... | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:37:9:37 | access to parameter b | -| NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | NullCoalescing.cs:9:12:9:13 | exit M4 | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:41:9:41 | access to parameter s | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:45:9:45 | access to parameter s | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | -| NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | NullCoalescing.cs:11:9:11:10 | exit M5 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:14:5:18:5 | {...} | -| NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | NullCoalescing.cs:13:10:13:11 | exit M6 | +| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | Normal Exit | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:28 | ... ?? ... | +| NullCoalescing.cs:3:9:3:10 | Normal Exit | NullCoalescing.cs:3:9:3:10 | Exit | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:28:3:28 | 0 | +| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | +| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | +| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:23 | access to parameter i | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:9:3:10 | Normal Exit | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | +| NullCoalescing.cs:5:9:5:10 | Normal Exit | NullCoalescing.cs:5:9:5:10 | Exit | +| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | ... ?? ... | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | Normal Exit | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:30:5:34 | false | +| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | +| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:25 | access to parameter b | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:43:5:43 | 1 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:39:5:39 | 0 | +| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | After false [false] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:53 | ... ?? ... | +| NullCoalescing.cs:7:12:7:13 | Normal Exit | NullCoalescing.cs:7:12:7:13 | Exit | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:53 | ... ?? ... | +| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | +| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | Normal Exit | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:52:7:53 | "" | +| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:36:9:58 | ... ?? ... | +| NullCoalescing.cs:9:12:9:13 | Normal Exit | NullCoalescing.cs:9:12:9:13 | Exit | +| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | Normal Exit | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | access to parameter s | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | access to parameter s | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | +| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:37 | access to parameter b | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:58 | ... ?? ... | +| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:57:9:58 | "" | +| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | +| NullCoalescing.cs:11:9:11:10 | Normal Exit | NullCoalescing.cs:11:9:11:10 | Exit | +| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | ... ?? ... | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | Normal Exit | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:58 | ... && ... | +| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | +| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | +| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:68:11:68 | 1 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:64:11:64 | 0 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:14:5:18:5 | {...} | +| NullCoalescing.cs:13:10:13:11 | Normal Exit | NullCoalescing.cs:13:10:13:11 | Exit | +| NullCoalescing.cs:14:5:18:5 | After {...} | NullCoalescing.cs:13:10:13:11 | Normal Exit | | NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:15:9:15:32 | ... ...; | -| NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:23:15:26 | null | -| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:16:9:16:26 | ... ...; | -| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | +| NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | +| NullCoalescing.cs:15:9:15:32 | After ... ...; | NullCoalescing.cs:16:9:16:26 | ... ...; | +| NullCoalescing.cs:15:13:15:13 | access to local variable j | NullCoalescing.cs:15:17:15:31 | ... ?? ... | +| NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | NullCoalescing.cs:15:9:15:32 | After ... ...; | +| NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | NullCoalescing.cs:15:13:15:13 | access to local variable j | +| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | +| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:15:31:15:31 | 0 | +| NullCoalescing.cs:15:17:15:26 | Before (...) ... | NullCoalescing.cs:15:23:15:26 | null | +| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:17:15:26 | Before (...) ... | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | | NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:17:15:26 | (...) ... | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:17:15:31 | ... ?? ... | -| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:17:16:18 | "" | -| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:17:9:17:25 | ...; | -| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:13:16:25 | String s = ... | -| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | -| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:19:17:19 | access to parameter i | -| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:9:17:24 | ... = ... | +| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:13:16:25 | Before String s = ... | +| NullCoalescing.cs:16:9:16:26 | After ... ...; | NullCoalescing.cs:17:9:17:25 | ...; | +| NullCoalescing.cs:16:13:16:13 | access to local variable s | NullCoalescing.cs:16:17:16:25 | ... ?? ... | +| NullCoalescing.cs:16:13:16:25 | After String s = ... | NullCoalescing.cs:16:9:16:26 | After ... ...; | +| NullCoalescing.cs:16:13:16:25 | Before String s = ... | NullCoalescing.cs:16:13:16:13 | access to local variable s | +| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:13:16:25 | After String s = ... | +| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:16:23:16:25 | "a" | +| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:18 | "" | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:13:16:25 | String s = ... | +| NullCoalescing.cs:17:9:17:9 | access to local variable j | NullCoalescing.cs:17:13:17:24 | ... ?? ... | +| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:9:17:24 | After ... = ... | +| NullCoalescing.cs:17:9:17:24 | After ... = ... | NullCoalescing.cs:17:9:17:25 | After ...; | +| NullCoalescing.cs:17:9:17:24 | Before ... = ... | NullCoalescing.cs:17:9:17:9 | access to local variable j | +| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:9:17:24 | Before ... = ... | +| NullCoalescing.cs:17:9:17:25 | After ...; | NullCoalescing.cs:14:5:18:5 | After {...} | +| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:17:24:17:24 | 1 | +| NullCoalescing.cs:17:13:17:19 | Before (...) ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | +| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:19 | Before (...) ... | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:9:17:24 | ... = ... | | NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:13:17:19 | (...) ... | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationB.cs:3:16:3:16 | this access | -| PartialImplementationA.cs:1:15:1:21 | exit (normal) | PartialImplementationA.cs:1:15:1:21 | exit | -| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:27:3:29 | {...} | -| PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | this access | -| PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:12:3:18 | exit Partial | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationB.cs:3:16:3:20 | Before ... = ... | +| PartialImplementationA.cs:1:15:1:21 | Normal Exit | PartialImplementationA.cs:1:15:1:21 | Exit | +| PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | PartialImplementationA.cs:3:27:3:29 | {...} | +| PartialImplementationA.cs:3:12:3:18 | After call to method | PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | +| PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | +| PartialImplementationA.cs:3:12:3:18 | Before call to method | PartialImplementationA.cs:3:12:3:18 | this access | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Before call to method | +| PartialImplementationA.cs:3:12:3:18 | Normal Exit | PartialImplementationA.cs:3:12:3:18 | Exit | +| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | +| PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | After call to method | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | call to method | -| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | -| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:20 | ... = ... | -| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:20:3:20 | 0 | -| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:5:16:5:16 | this access | -| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | access to field F | -| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:22:4:24 | {...} | -| PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | this access | -| PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | PartialImplementationB.cs:4:12:4:18 | exit Partial | +| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | Normal Exit | +| PartialImplementationB.cs:3:16:3:16 | After access to field F | PartialImplementationB.cs:3:20:3:20 | 0 | +| PartialImplementationB.cs:3:16:3:16 | Before access to field F | PartialImplementationB.cs:3:16:3:16 | this access | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:16 | After access to field F | +| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:16:3:16 | access to field F | +| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:16:3:20 | After ... = ... | +| PartialImplementationB.cs:3:16:3:20 | After ... = ... | PartialImplementationB.cs:5:32:5:34 | Before ... = ... | +| PartialImplementationB.cs:3:16:3:20 | Before ... = ... | PartialImplementationB.cs:3:16:3:16 | Before access to field F | +| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:20 | ... = ... | +| PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | PartialImplementationB.cs:4:22:4:24 | {...} | +| PartialImplementationB.cs:4:12:4:18 | After call to method | PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | +| PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | +| PartialImplementationB.cs:4:12:4:18 | Before call to method | PartialImplementationB.cs:4:12:4:18 | this access | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Before call to method | +| PartialImplementationB.cs:4:12:4:18 | Normal Exit | PartialImplementationB.cs:4:12:4:18 | Exit | +| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | +| PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | After call to method | | PartialImplementationB.cs:4:12:4:18 | this access | PartialImplementationB.cs:4:12:4:18 | call to method | -| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | -| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:32:5:34 | ... = ... | -| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:5:34:5:34 | 0 | -| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationA.cs:1:15:1:21 | exit (normal) | -| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:16:5:16 | access to property P | -| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | {...} | -| Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | call to constructor Object | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | this access | -| Patterns.cs:3:7:3:14 | exit Patterns (normal) | Patterns.cs:3:7:3:14 | exit Patterns | +| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | Normal Exit | +| PartialImplementationB.cs:5:16:5:16 | After access to property P | PartialImplementationB.cs:5:34:5:34 | 0 | +| PartialImplementationB.cs:5:16:5:16 | Before access to property P | PartialImplementationB.cs:5:16:5:16 | this access | +| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:16:5:16 | After access to property P | +| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:5:16:5:16 | access to property P | +| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationB.cs:5:32:5:34 | After ... = ... | +| PartialImplementationB.cs:5:32:5:34 | After ... = ... | PartialImplementationA.cs:1:15:1:21 | Normal Exit | +| PartialImplementationB.cs:5:32:5:34 | Before ... = ... | PartialImplementationB.cs:5:16:5:16 | Before access to property P | +| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:32:5:34 | ... = ... | +| Patterns.cs:3:7:3:14 | After call to constructor Object | Patterns.cs:3:7:3:14 | {...} | +| Patterns.cs:3:7:3:14 | After call to method | Patterns.cs:3:7:3:14 | Before call to constructor Object | +| Patterns.cs:3:7:3:14 | Before call to constructor Object | Patterns.cs:3:7:3:14 | call to constructor Object | +| Patterns.cs:3:7:3:14 | Before call to method | Patterns.cs:3:7:3:14 | this access | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Before call to method | +| Patterns.cs:3:7:3:14 | Normal Exit | Patterns.cs:3:7:3:14 | Exit | +| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | After call to constructor Object | +| Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | After call to method | | Patterns.cs:3:7:3:14 | this access | Patterns.cs:3:7:3:14 | call to method | -| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | exit Patterns (normal) | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:6:5:43:5 | {...} | -| Patterns.cs:5:10:5:11 | exit M1 (normal) | Patterns.cs:5:10:5:11 | exit M1 | +| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | Normal Exit | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:6:5:43:5 | {...} | +| Patterns.cs:5:10:5:11 | Normal Exit | Patterns.cs:5:10:5:11 | Exit | +| Patterns.cs:6:5:43:5 | After {...} | Patterns.cs:5:10:5:11 | Normal Exit | | Patterns.cs:6:5:43:5 | {...} | Patterns.cs:7:9:7:24 | ... ...; | -| Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:20:7:23 | null | -| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:8:9:18:9 | if (...) ... | +| Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:16:7:23 | Before Object o = ... | +| Patterns.cs:7:9:7:24 | After ... ...; | Patterns.cs:8:9:18:9 | if (...) ... | +| Patterns.cs:7:16:7:16 | access to local variable o | Patterns.cs:7:20:7:23 | null | +| Patterns.cs:7:16:7:23 | After Object o = ... | Patterns.cs:7:9:7:24 | After ... ...; | +| Patterns.cs:7:16:7:23 | Before Object o = ... | Patterns.cs:7:16:7:16 | access to local variable o | +| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:7:16:7:23 | After Object o = ... | | Patterns.cs:7:20:7:23 | null | Patterns.cs:7:16:7:23 | Object o = ... | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:8:13:8:13 | access to local variable o | -| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:18:8:23 | Int32 i1 | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | [true] ... is ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:20:9:38:9 | switch (...) {...} | +| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:8:13:8:23 | Before ... is ... | +| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:13:8:23 | ... is ... | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:14:18:9 | if (...) ... | +| Patterns.cs:8:13:8:23 | After ... is ... [true] | Patterns.cs:9:9:11:9 | {...} | +| Patterns.cs:8:13:8:23 | Before ... is ... | Patterns.cs:8:13:8:13 | access to local variable o | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:8:18:8:23 | Int32 i1 | +| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | After ... is ... [true] | | Patterns.cs:9:9:11:9 | {...} | Patterns.cs:10:13:10:43 | ...; | -| Patterns.cs:10:13:10:43 | ...; | Patterns.cs:10:33:10:36 | "int " | -| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:13:10:42 | call to method WriteLine | -| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:38:10:39 | access to local variable i1 | -| Patterns.cs:10:37:10:40 | {...} | Patterns.cs:10:31:10:41 | $"..." | +| Patterns.cs:10:13:10:42 | After call to method WriteLine | Patterns.cs:10:13:10:43 | After ...; | +| Patterns.cs:10:13:10:42 | Before call to method WriteLine | Patterns.cs:10:31:10:41 | Before $"..." | +| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:10:13:10:42 | After call to method WriteLine | +| Patterns.cs:10:13:10:43 | ...; | Patterns.cs:10:13:10:42 | Before call to method WriteLine | +| Patterns.cs:10:13:10:43 | After ...; | Patterns.cs:9:9:11:9 | After {...} | +| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:31:10:41 | After $"..." | +| Patterns.cs:10:31:10:41 | After $"..." | Patterns.cs:10:13:10:42 | call to method WriteLine | +| Patterns.cs:10:31:10:41 | Before $"..." | Patterns.cs:10:33:10:36 | "int " | +| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:37:10:40 | Before {...} | +| Patterns.cs:10:37:10:40 | After {...} | Patterns.cs:10:31:10:41 | $"..." | +| Patterns.cs:10:37:10:40 | Before {...} | Patterns.cs:10:38:10:39 | access to local variable i1 | +| Patterns.cs:10:37:10:40 | {...} | Patterns.cs:10:37:10:40 | After {...} | | Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:10:37:10:40 | {...} | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:18 | access to local variable o | -| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:23:12:31 | String s1 | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | [true] ... is ... | +| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | Before ... is ... | +| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:18:12:31 | ... is ... | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:14:18:9 | if (...) ... | +| Patterns.cs:12:18:12:31 | After ... is ... [true] | Patterns.cs:13:9:15:9 | {...} | +| Patterns.cs:12:18:12:31 | Before ... is ... | Patterns.cs:12:18:12:18 | access to local variable o | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:12:23:12:31 | String s1 | +| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | After ... is ... [true] | | Patterns.cs:13:9:15:9 | {...} | Patterns.cs:14:13:14:46 | ...; | -| Patterns.cs:14:13:14:46 | ...; | Patterns.cs:14:33:14:39 | "string " | -| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:13:14:45 | call to method WriteLine | -| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:41:14:42 | access to local variable s1 | -| Patterns.cs:14:40:14:43 | {...} | Patterns.cs:14:31:14:44 | $"..." | +| Patterns.cs:14:13:14:45 | After call to method WriteLine | Patterns.cs:14:13:14:46 | After ...; | +| Patterns.cs:14:13:14:45 | Before call to method WriteLine | Patterns.cs:14:31:14:44 | Before $"..." | +| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:14:13:14:45 | After call to method WriteLine | +| Patterns.cs:14:13:14:46 | ...; | Patterns.cs:14:13:14:45 | Before call to method WriteLine | +| Patterns.cs:14:13:14:46 | After ...; | Patterns.cs:13:9:15:9 | After {...} | +| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:31:14:44 | After $"..." | +| Patterns.cs:14:31:14:44 | After $"..." | Patterns.cs:14:13:14:45 | call to method WriteLine | +| Patterns.cs:14:31:14:44 | Before $"..." | Patterns.cs:14:33:14:39 | "string " | +| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:40:14:43 | Before {...} | +| Patterns.cs:14:40:14:43 | After {...} | Patterns.cs:14:31:14:44 | $"..." | +| Patterns.cs:14:40:14:43 | Before {...} | Patterns.cs:14:41:14:42 | access to local variable s1 | +| Patterns.cs:14:40:14:43 | {...} | Patterns.cs:14:40:14:43 | After {...} | | Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:14:40:14:43 | {...} | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:18 | access to local variable o | -| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:23:16:28 | Object v1 | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | [true] ... is ... | +| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | Before ... is ... | +| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:18:16:28 | ... is ... | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:16:18:16:28 | After ... is ... [true] | Patterns.cs:17:9:18:9 | {...} | +| Patterns.cs:16:18:16:28 | Before ... is ... | Patterns.cs:16:18:16:18 | access to local variable o | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:16:23:16:28 | Object v1 | +| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | After ... is ... [true] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:40:9:42:9 | switch (...) {...} | | Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:20:17:20:17 | access to local variable o | | Patterns.cs:20:17:20:17 | access to local variable o | Patterns.cs:22:13:22:23 | case ...: | -| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:18:22:22 | "xyz" | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:24:13:24:36 | case ...: | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:18:24:23 | Int32 i2 | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:27:13:27:24 | case ...: | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:22:18:22:22 | "xyz" | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | case ...: | +| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:23:17:23:22 | Before break; | +| Patterns.cs:23:17:23:22 | Before break; | Patterns.cs:23:17:23:22 | break; | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:18:24:23 | Int32 i2 | +| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:30:24:35 | Before ... > ... | | Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:35:24:35 | 0 | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:25:17:25:52 | ...; | +| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:25:17:25:52 | ...; | +| Patterns.cs:24:30:24:35 | Before ... > ... | Patterns.cs:24:30:24:31 | access to local variable i2 | | Patterns.cs:24:35:24:35 | 0 | Patterns.cs:24:30:24:35 | ... > ... | -| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:26:17:26:22 | break; | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:37:25:45 | "positive " | -| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:17:25:51 | call to method WriteLine | -| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:47:25:48 | access to local variable i2 | -| Patterns.cs:25:46:25:49 | {...} | Patterns.cs:25:35:25:50 | $"..." | +| Patterns.cs:25:17:25:51 | After call to method WriteLine | Patterns.cs:25:17:25:52 | After ...; | +| Patterns.cs:25:17:25:51 | Before call to method WriteLine | Patterns.cs:25:35:25:50 | Before $"..." | +| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:25:17:25:51 | After call to method WriteLine | +| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:17:25:51 | Before call to method WriteLine | +| Patterns.cs:25:17:25:52 | After ...; | Patterns.cs:26:17:26:22 | Before break; | +| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:35:25:50 | After $"..." | +| Patterns.cs:25:35:25:50 | After $"..." | Patterns.cs:25:17:25:51 | call to method WriteLine | +| Patterns.cs:25:35:25:50 | Before $"..." | Patterns.cs:25:37:25:45 | "positive " | +| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:46:25:49 | Before {...} | +| Patterns.cs:25:46:25:49 | After {...} | Patterns.cs:25:35:25:50 | $"..." | +| Patterns.cs:25:46:25:49 | Before {...} | Patterns.cs:25:47:25:48 | access to local variable i2 | +| Patterns.cs:25:46:25:49 | {...} | Patterns.cs:25:46:25:49 | After {...} | | Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:25:46:25:49 | {...} | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:18:27:23 | Int32 i3 | +| Patterns.cs:26:17:26:22 | Before break; | Patterns.cs:26:17:26:22 | break; | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:27:18:27:23 | Int32 i3 | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | case ...: | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [no-match] | | Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:29:17:29:22 | break; | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:37:28:40 | "int " | -| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:17:28:46 | call to method WriteLine | -| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:42:28:43 | access to local variable i3 | -| Patterns.cs:28:41:28:44 | {...} | Patterns.cs:28:35:28:45 | $"..." | +| Patterns.cs:28:17:28:46 | After call to method WriteLine | Patterns.cs:28:17:28:47 | After ...; | +| Patterns.cs:28:17:28:46 | Before call to method WriteLine | Patterns.cs:28:35:28:45 | Before $"..." | +| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:28:17:28:46 | After call to method WriteLine | +| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:17:28:46 | Before call to method WriteLine | +| Patterns.cs:28:17:28:47 | After ...; | Patterns.cs:29:17:29:22 | Before break; | +| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:35:28:45 | After $"..." | +| Patterns.cs:28:35:28:45 | After $"..." | Patterns.cs:28:17:28:46 | call to method WriteLine | +| Patterns.cs:28:35:28:45 | Before $"..." | Patterns.cs:28:37:28:40 | "int " | +| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:41:28:44 | Before {...} | +| Patterns.cs:28:41:28:44 | After {...} | Patterns.cs:28:35:28:45 | $"..." | +| Patterns.cs:28:41:28:44 | Before {...} | Patterns.cs:28:42:28:43 | access to local variable i3 | +| Patterns.cs:28:41:28:44 | {...} | Patterns.cs:28:41:28:44 | After {...} | | Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:28:41:28:44 | {...} | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:18:30:26 | String s2 | +| Patterns.cs:29:17:29:22 | Before break; | Patterns.cs:29:17:29:22 | break; | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:30:18:30:26 | String s2 | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | case ...: | +| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [no-match] | | Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:32:17:32:22 | break; | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:37:31:43 | "string " | -| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:17:31:49 | call to method WriteLine | -| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:45:31:46 | access to local variable s2 | -| Patterns.cs:31:44:31:47 | {...} | Patterns.cs:31:35:31:48 | $"..." | +| Patterns.cs:31:17:31:49 | After call to method WriteLine | Patterns.cs:31:17:31:50 | After ...; | +| Patterns.cs:31:17:31:49 | Before call to method WriteLine | Patterns.cs:31:35:31:48 | Before $"..." | +| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:31:17:31:49 | After call to method WriteLine | +| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:17:31:49 | Before call to method WriteLine | +| Patterns.cs:31:17:31:50 | After ...; | Patterns.cs:32:17:32:22 | Before break; | +| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:35:31:48 | After $"..." | +| Patterns.cs:31:35:31:48 | After $"..." | Patterns.cs:31:17:31:49 | call to method WriteLine | +| Patterns.cs:31:35:31:48 | Before $"..." | Patterns.cs:31:37:31:43 | "string " | +| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:44:31:47 | Before {...} | +| Patterns.cs:31:44:31:47 | After {...} | Patterns.cs:31:35:31:48 | $"..." | +| Patterns.cs:31:44:31:47 | Before {...} | Patterns.cs:31:45:31:46 | access to local variable s2 | +| Patterns.cs:31:44:31:47 | {...} | Patterns.cs:31:44:31:47 | After {...} | | Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:31:44:31:47 | {...} | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:18:33:23 | Object v2 | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:36:17:36:52 | ...; | -| Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:37:17:37:22 | break; | -| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:36:35:36:50 | "Something else" | +| Patterns.cs:32:17:32:22 | Before break; | Patterns.cs:32:17:32:22 | break; | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:33:18:33:23 | Object v2 | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:35:13:35:20 | default: | +| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:34:17:34:22 | Before break; | +| Patterns.cs:34:17:34:22 | Before break; | Patterns.cs:34:17:34:22 | break; | +| Patterns.cs:35:13:35:20 | After default: [match] | Patterns.cs:36:17:36:52 | ...; | +| Patterns.cs:35:13:35:20 | default: | Patterns.cs:35:13:35:20 | After default: [match] | +| Patterns.cs:36:17:36:51 | After call to method WriteLine | Patterns.cs:36:17:36:52 | After ...; | +| Patterns.cs:36:17:36:51 | Before call to method WriteLine | Patterns.cs:36:35:36:50 | "Something else" | +| Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:36:17:36:51 | After call to method WriteLine | +| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:36:17:36:51 | Before call to method WriteLine | +| Patterns.cs:36:17:36:52 | After ...; | Patterns.cs:37:17:37:22 | Before break; | | Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:36:17:36:51 | call to method WriteLine | +| Patterns.cs:37:17:37:22 | Before break; | Patterns.cs:37:17:37:22 | break; | +| Patterns.cs:40:9:42:9 | After switch (...) {...} | Patterns.cs:6:5:43:5 | After {...} | | Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:40:17:40:17 | access to local variable o | -| Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:5:10:5:11 | exit M1 (normal) | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:48:9:48:9 | access to parameter c | -| Patterns.cs:47:24:47:25 | exit M2 (normal) | Patterns.cs:47:24:47:25 | exit M2 | -| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:48:18:48:20 | a | -| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:47:24:47:25 | exit M2 (normal) | -| Patterns.cs:48:14:48:20 | not ... | Patterns.cs:48:9:48:20 | ... is ... | +| Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:40:9:42:9 | After switch (...) {...} | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:48:9:48:20 | Before ... is ... | +| Patterns.cs:47:24:47:25 | Normal Exit | Patterns.cs:47:24:47:25 | Exit | +| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:48:9:48:20 | ... is ... | +| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:20 | After ... is ... | +| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:47:24:47:25 | Normal Exit | +| Patterns.cs:48:9:48:20 | Before ... is ... | Patterns.cs:48:9:48:9 | access to parameter c | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:48:14:48:20 | Before not ... | +| Patterns.cs:48:14:48:20 | Before not ... | Patterns.cs:48:18:48:20 | a | +| Patterns.cs:48:14:48:20 | not ... | Patterns.cs:48:14:48:20 | After not ... | | Patterns.cs:48:18:48:20 | a | Patterns.cs:48:14:48:20 | not ... | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:9 | access to parameter c | -| Patterns.cs:50:24:50:25 | exit M3 (normal) | Patterns.cs:50:24:50:25 | exit M3 | -| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:18:51:21 | null | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | exit M3 (normal) | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:30:51:30 | 1 | -| Patterns.cs:51:30:51:30 | 1 | Patterns.cs:51:25:51:30 | ... is ... | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:39:51:39 | 2 | -| Patterns.cs:51:39:51:39 | 2 | Patterns.cs:51:34:51:39 | ... is ... | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:9:54:9 | access to parameter c | -| Patterns.cs:53:24:53:25 | exit M4 (normal) | Patterns.cs:53:24:53:25 | exit M4 | -| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:54:18:54:37 | Patterns u | -| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:53:24:53:25 | exit M4 (normal) | -| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:9:54:37 | ... is ... | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:37 | { ... } | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:33:54:33 | 1 | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:14:54:37 | not ... | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:57:5:63:5 | {...} | -| Patterns.cs:56:26:56:27 | exit M5 (normal) | Patterns.cs:56:26:56:27 | exit M5 | -| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:58:16:58:16 | access to parameter i | -| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:56:26:56:27 | exit M5 (normal) | -| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:60:17:60:17 | 1 | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:9:62:10 | return ...; | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:13:60:28 | ... => ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:39 | ... ? ... : ... | +| Patterns.cs:50:24:50:25 | Normal Exit | Patterns.cs:50:24:50:25 | Exit | +| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:9:51:21 | ... is ... | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:34:51:39 | Before ... is ... | +| Patterns.cs:51:9:51:21 | After ... is ... [true] | Patterns.cs:51:25:51:30 | Before ... is ... | +| Patterns.cs:51:9:51:21 | Before ... is ... | Patterns.cs:51:9:51:9 | access to parameter c | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:14:51:21 | Before not ... | +| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:21 | Before ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:50:24:50:25 | Normal Exit | +| Patterns.cs:51:14:51:21 | After not ... | Patterns.cs:51:9:51:21 | After ... is ... [true] | +| Patterns.cs:51:14:51:21 | Before not ... | Patterns.cs:51:18:51:21 | null | +| Patterns.cs:51:14:51:21 | not ... | Patterns.cs:51:14:51:21 | After not ... | +| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | not ... | +| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:30 | ... is ... | +| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:25:51:30 | Before ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:51:30:51:30 | 1 | +| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:39 | ... is ... | +| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:51:34:51:39 | Before ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:51:39:51:39 | 2 | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:54:9:54:37 | Before ... is ... | +| Patterns.cs:53:24:53:25 | Normal Exit | Patterns.cs:53:24:53:25 | Exit | +| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:54:9:54:37 | ... is ... | +| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:37 | After ... is ... | +| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:53:24:53:25 | Normal Exit | +| Patterns.cs:54:9:54:37 | Before ... is ... | Patterns.cs:54:9:54:9 | access to parameter c | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:54:14:54:37 | Before not ... | +| Patterns.cs:54:14:54:37 | Before not ... | Patterns.cs:54:18:54:37 | Before { ... } | +| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:14:54:37 | After not ... | +| Patterns.cs:54:18:54:25 | access to type Patterns | Patterns.cs:54:27:54:35 | Before { ... } | +| Patterns.cs:54:18:54:37 | After { ... } | Patterns.cs:54:14:54:37 | not ... | +| Patterns.cs:54:18:54:37 | Before { ... } | Patterns.cs:54:18:54:37 | Patterns u | +| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:25 | access to type Patterns | +| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:18:54:37 | After { ... } | +| Patterns.cs:54:27:54:35 | After { ... } | Patterns.cs:54:18:54:37 | { ... } | +| Patterns.cs:54:27:54:35 | Before { ... } | Patterns.cs:54:33:54:33 | 1 | +| Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:54:27:54:35 | After { ... } | +| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | { ... } | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:57:5:63:5 | {...} | +| Patterns.cs:56:26:56:27 | Normal Exit | Patterns.cs:56:26:56:27 | Exit | +| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:58:9:62:10 | Before return ...; | +| Patterns.cs:58:9:62:10 | Before return ...; | Patterns.cs:58:16:62:9 | ... switch { ... } | +| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:56:26:56:27 | Normal Exit | +| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:60:13:60:28 | ... => ... | +| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:58:16 | access to parameter i | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:58:9:62:10 | return ...; | +| Patterns.cs:60:13:60:17 | After not ... | Patterns.cs:60:22:60:28 | "not 1" | +| Patterns.cs:60:13:60:17 | Before not ... | Patterns.cs:60:17:60:17 | 1 | +| Patterns.cs:60:13:60:17 | not ... | Patterns.cs:60:13:60:17 | After not ... | +| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:13:60:28 | After ... => ... [match] | +| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:60:13:60:17 | Before not ... | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:61:13:61:24 | ... => ... | +| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | not ... | | Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:13:61:24 | ... => ... | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:66:5:72:5 | {...} | -| Patterns.cs:65:26:65:27 | exit M6 (normal) | Patterns.cs:65:26:65:27 | exit M6 | -| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:67:16:67:16 | 2 | -| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:65:26:65:27 | exit M6 (normal) | -| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:69:17:69:17 | 2 | -| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:9:71:10 | return ...; | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:13:69:17 | [no-match] not ... | +| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:61:13:61:24 | After ... => ... [match] | +| Patterns.cs:61:13:61:24 | After ... => ... [match] | Patterns.cs:61:13:61:13 | _ | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:66:5:72:5 | {...} | +| Patterns.cs:65:26:65:27 | Normal Exit | Patterns.cs:65:26:65:27 | Exit | +| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:67:9:71:10 | Before return ...; | +| Patterns.cs:67:9:71:10 | Before return ...; | Patterns.cs:67:16:71:9 | ... switch { ... } | +| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:65:26:65:27 | Normal Exit | +| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:69:13:69:33 | ... => ... | +| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:16:67:16 | 2 | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:67:9:71:10 | return ...; | +| Patterns.cs:69:13:69:17 | After not ... | Patterns.cs:69:22:69:33 | "impossible" | +| Patterns.cs:69:13:69:17 | Before not ... | Patterns.cs:69:17:69:17 | 2 | +| Patterns.cs:69:13:69:17 | not ... | Patterns.cs:69:13:69:17 | After not ... | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:13:69:33 | After ... => ... [match] | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:69:13:69:17 | Before not ... | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | ... => ... | +| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:13:69:17 | not ... | | Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:18:70:27 | "possible" | -| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:67:16:71:9 | ... switch { ... } | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:13:70:27 | ... => ... | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:75:5:83:5 | {...} | -| Patterns.cs:74:26:74:27 | exit M7 (normal) | Patterns.cs:74:26:74:27 | exit M7 | -| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:76:16:76:16 | access to parameter i | -| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:74:26:74:27 | exit M7 (normal) | -| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:78:15:78:15 | 1 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:9:82:10 | return ...; | -| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:20:78:24 | "> 1" | -| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:79:15:79:15 | 0 | +| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:70:13:70:13 | 2 | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:75:5:83:5 | {...} | +| Patterns.cs:74:26:74:27 | Normal Exit | Patterns.cs:74:26:74:27 | Exit | +| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:76:9:82:10 | Before return ...; | +| Patterns.cs:76:9:82:10 | Before return ...; | Patterns.cs:76:16:82:9 | ... switch { ... } | +| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:74:26:74:27 | Normal Exit | +| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:78:13:78:24 | ... => ... | +| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:76:16 | access to parameter i | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:76:9:82:10 | return ...; | +| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:13:78:15 | After > ... | +| Patterns.cs:78:13:78:15 | After > ... | Patterns.cs:78:20:78:24 | "> 1" | +| Patterns.cs:78:13:78:15 | Before > ... | Patterns.cs:78:15:78:15 | 1 | +| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:13:78:24 | After ... => ... [match] | +| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:78:13:78:15 | Before > ... | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | ... => ... | | Patterns.cs:78:15:78:15 | 1 | Patterns.cs:78:13:78:15 | > ... | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:13:78:24 | ... => ... | -| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:80:13:80:13 | 1 | +| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:13:79:15 | After < ... | +| Patterns.cs:79:13:79:15 | After < ... | Patterns.cs:79:20:79:24 | "< 0" | +| Patterns.cs:79:13:79:15 | Before < ... | Patterns.cs:79:15:79:15 | 0 | +| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:79:13:79:15 | Before < ... | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | ... => ... | | Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:13:79:15 | < ... | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:13:79:24 | ... => ... | | Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:13:80:20 | ... => ... | +| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:80:13:80:13 | 1 | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:81:13:81:20 | ... => ... | | Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:13:81:20 | ... => ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:39:85:39 | access to parameter i | -| Patterns.cs:85:26:85:27 | exit M8 (normal) | Patterns.cs:85:26:85:27 | exit M8 | -| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:44:85:44 | 1 | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | exit M8 (normal) | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:53:85:53 | 2 | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:39:87:39 | access to parameter i | -| Patterns.cs:87:26:87:27 | exit M9 (normal) | Patterns.cs:87:26:87:27 | exit M9 | -| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:44:87:44 | 1 | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | exit M9 (normal) | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:54:87:54 | 2 | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:94:5:99:5 | {...} | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | exit M10 | +| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:81:13:81:20 | After ... => ... [match] | +| Patterns.cs:81:13:81:20 | After ... => ... [match] | Patterns.cs:81:13:81:13 | _ | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:69 | ... ? ... : ... | +| Patterns.cs:85:26:85:27 | Normal Exit | Patterns.cs:85:26:85:27 | Exit | +| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:39:85:53 | ... is ... | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | After ... is ... [false] | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:67:85:69 | "2" | +| Patterns.cs:85:39:85:53 | After ... is ... [true] | Patterns.cs:85:57:85:63 | "not 2" | +| Patterns.cs:85:39:85:53 | Before ... is ... | Patterns.cs:85:39:85:39 | access to parameter i | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:44:85:53 | Before ... or ... | +| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:53 | Before ... is ... | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:26:85:27 | Normal Exit | +| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:49:85:53 | Before not ... | +| Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:44:85:53 | After ... or ... | +| Patterns.cs:85:44:85:53 | After ... or ... | Patterns.cs:85:39:85:53 | After ... is ... [true] | +| Patterns.cs:85:44:85:53 | Before ... or ... | Patterns.cs:85:44:85:44 | 1 | +| Patterns.cs:85:49:85:53 | After not ... | Patterns.cs:85:44:85:53 | ... or ... | +| Patterns.cs:85:49:85:53 | Before not ... | Patterns.cs:85:53:85:53 | 2 | +| Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:49:85:53 | After not ... | +| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | not ... | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:70 | ... ? ... : ... | +| Patterns.cs:87:26:87:27 | Normal Exit | Patterns.cs:87:26:87:27 | Exit | +| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:39:87:54 | ... is ... | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | After ... is ... [false] | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:64:87:70 | "not 1" | +| Patterns.cs:87:39:87:54 | After ... is ... [true] | Patterns.cs:87:58:87:60 | "1" | +| Patterns.cs:87:39:87:54 | Before ... is ... | Patterns.cs:87:39:87:39 | access to parameter i | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:44:87:54 | Before ... and ... | +| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:54 | Before ... is ... | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:26:87:27 | Normal Exit | +| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:50:87:54 | Before not ... | +| Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:44:87:54 | After ... and ... | +| Patterns.cs:87:44:87:54 | After ... and ... | Patterns.cs:87:39:87:54 | After ... is ... [true] | +| Patterns.cs:87:44:87:54 | Before ... and ... | Patterns.cs:87:44:87:44 | 1 | +| Patterns.cs:87:50:87:54 | After not ... | Patterns.cs:87:44:87:54 | ... and ... | +| Patterns.cs:87:50:87:54 | Before not ... | Patterns.cs:87:54:87:54 | 2 | +| Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:50:87:54 | After not ... | +| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | not ... | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:94:5:99:5 | {...} | +| Patterns.cs:93:17:93:19 | Normal Exit | Patterns.cs:93:17:93:19 | Exit | +| Patterns.cs:94:5:99:5 | After {...} | Patterns.cs:93:17:93:19 | Normal Exit | | Patterns.cs:94:5:99:5 | {...} | Patterns.cs:95:9:98:9 | if (...) ... | -| Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:95:13:95:16 | this access | -| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:29:95:31 | access to constant A | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:29:95:38 | [match] ... or ... | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:94:5:99:5 | After {...} | +| Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:95:13:95:40 | Before ... is ... | +| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:13:95:40 | ... is ... | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | After ... is ... [false] | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | +| Patterns.cs:95:13:95:40 | After ... is ... [true] | Patterns.cs:96:9:98:9 | {...} | +| Patterns.cs:95:13:95:40 | Before ... is ... | Patterns.cs:95:13:95:16 | this access | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:95:21:95:40 | Before { ... } | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:13:95:40 | After ... is ... [true] | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:21:95:40 | { ... } | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:95:21:95:40 | Before { ... } | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:95:29:95:38 | Before ... or ... | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | After { ... } | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | After { ... } | | Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:36:95:38 | access to constant B | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | [no-match] ... or ... | +| Patterns.cs:95:29:95:38 | ... or ... | Patterns.cs:95:29:95:38 | After ... or ... | +| Patterns.cs:95:29:95:38 | After ... or ... | Patterns.cs:95:21:95:40 | { ... } | +| Patterns.cs:95:29:95:38 | Before ... or ... | Patterns.cs:95:29:95:31 | access to constant A | +| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | ... or ... | | Patterns.cs:96:9:98:9 | {...} | Patterns.cs:97:13:97:39 | ...; | -| Patterns.cs:97:13:97:39 | ...; | Patterns.cs:97:31:97:37 | "not C" | +| Patterns.cs:97:13:97:38 | After call to method WriteLine | Patterns.cs:97:13:97:39 | After ...; | +| Patterns.cs:97:13:97:38 | Before call to method WriteLine | Patterns.cs:97:31:97:37 | "not C" | +| Patterns.cs:97:13:97:38 | call to method WriteLine | Patterns.cs:97:13:97:38 | After call to method WriteLine | +| Patterns.cs:97:13:97:39 | ...; | Patterns.cs:97:13:97:38 | Before call to method WriteLine | +| Patterns.cs:97:13:97:39 | After ...; | Patterns.cs:96:9:98:9 | After {...} | | Patterns.cs:97:31:97:37 | "not C" | Patterns.cs:97:13:97:38 | call to method WriteLine | -| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | {...} | -| PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | call to constructor Object | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | this access | -| PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | PostDominance.cs:3:7:3:19 | exit PostDominance | +| PostDominance.cs:3:7:3:19 | After call to constructor Object | PostDominance.cs:3:7:3:19 | {...} | +| PostDominance.cs:3:7:3:19 | After call to method | PostDominance.cs:3:7:3:19 | Before call to constructor Object | +| PostDominance.cs:3:7:3:19 | Before call to constructor Object | PostDominance.cs:3:7:3:19 | call to constructor Object | +| PostDominance.cs:3:7:3:19 | Before call to method | PostDominance.cs:3:7:3:19 | this access | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | Before call to method | +| PostDominance.cs:3:7:3:19 | Normal Exit | PostDominance.cs:3:7:3:19 | Exit | +| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | After call to constructor Object | +| PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | After call to method | | PostDominance.cs:3:7:3:19 | this access | PostDominance.cs:3:7:3:19 | call to method | -| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:6:5:8:5 | {...} | -| PostDominance.cs:5:10:5:11 | exit M1 (normal) | PostDominance.cs:5:10:5:11 | exit M1 | +| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | Normal Exit | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:6:5:8:5 | {...} | +| PostDominance.cs:5:10:5:11 | Normal Exit | PostDominance.cs:5:10:5:11 | Exit | +| PostDominance.cs:6:5:8:5 | After {...} | PostDominance.cs:5:10:5:11 | Normal Exit | | PostDominance.cs:6:5:8:5 | {...} | PostDominance.cs:7:9:7:29 | ...; | -| PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:5:10:5:11 | exit M1 (normal) | -| PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:7:27:7:27 | access to parameter s | +| PostDominance.cs:7:9:7:28 | After call to method WriteLine | PostDominance.cs:7:9:7:29 | After ...; | +| PostDominance.cs:7:9:7:28 | Before call to method WriteLine | PostDominance.cs:7:27:7:27 | access to parameter s | +| PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:7:9:7:28 | After call to method WriteLine | +| PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:7:9:7:28 | Before call to method WriteLine | +| PostDominance.cs:7:9:7:29 | After ...; | PostDominance.cs:6:5:8:5 | After {...} | | PostDominance.cs:7:27:7:27 | access to parameter s | PostDominance.cs:7:9:7:28 | call to method WriteLine | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:11:5:15:5 | {...} | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | exit M2 | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:11:5:15:5 | {...} | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | Exit | | PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:12:9:13:19 | if (...) ... | -| PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:12:13:12:13 | access to parameter s | -| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:18:12:21 | null | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | [true] ... is ... | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:27:14:27 | access to parameter s | +| PostDominance.cs:12:9:13:19 | After if (...) ... | PostDominance.cs:14:9:14:29 | ...; | +| PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:12:13:12:21 | Before ... is ... | +| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:13:12:21 | ... is ... | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | After ... is ... [false] | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:12:9:13:19 | After if (...) ... | +| PostDominance.cs:12:13:12:21 | After ... is ... [true] | PostDominance.cs:13:13:13:19 | Before return ...; | +| PostDominance.cs:12:13:12:21 | Before ... is ... | PostDominance.cs:12:13:12:13 | access to parameter s | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:12:18:12:21 | null | +| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | After ... is ... [true] | +| PostDominance.cs:13:13:13:19 | Before return ...; | PostDominance.cs:13:13:13:19 | return ...; | +| PostDominance.cs:14:9:14:28 | After call to method WriteLine | PostDominance.cs:14:9:14:29 | After ...; | +| PostDominance.cs:14:9:14:28 | Before call to method WriteLine | PostDominance.cs:14:27:14:27 | access to parameter s | +| PostDominance.cs:14:9:14:28 | call to method WriteLine | PostDominance.cs:14:9:14:28 | After call to method WriteLine | +| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:9:14:28 | Before call to method WriteLine | +| PostDominance.cs:14:9:14:29 | After ...; | PostDominance.cs:11:5:15:5 | After {...} | | PostDominance.cs:14:27:14:27 | access to parameter s | PostDominance.cs:14:9:14:28 | call to method WriteLine | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:18:5:22:5 | {...} | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:18:5:22:5 | {...} | +| PostDominance.cs:18:5:22:5 | After {...} | PostDominance.cs:17:10:17:11 | Normal Exit | | PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:19:9:20:55 | if (...) ... | -| PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:19:13:19:13 | access to parameter s | -| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:18:19:21 | null | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:21:9:21:29 | ...; | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:20:45:20:53 | nameof(...) | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | [false] ... is ... | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | [true] ... is ... | -| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:17:10:17:11 | exit M3 (abnormal) | -| PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:13:20:55 | throw ...; | +| PostDominance.cs:19:9:20:55 | After if (...) ... | PostDominance.cs:21:9:21:29 | ...; | +| PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:19:13:19:21 | Before ... is ... | +| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:13:19:21 | ... is ... | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | After ... is ... [false] | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:19:9:20:55 | After if (...) ... | +| PostDominance.cs:19:13:19:21 | After ... is ... [true] | PostDominance.cs:20:13:20:55 | Before throw ...; | +| PostDominance.cs:19:13:19:21 | Before ... is ... | PostDominance.cs:19:13:19:13 | access to parameter s | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:19:18:19:21 | null | +| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | After ... is ... [true] | +| PostDominance.cs:20:13:20:55 | Before throw ...; | PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | +| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:17:10:17:11 | Exceptional Exit | +| PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | PostDominance.cs:20:13:20:55 | throw ...; | +| PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | PostDominance.cs:20:45:20:53 | nameof(...) | +| PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | | PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | -| PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:17:10:17:11 | exit M3 (normal) | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:27:21:27 | access to parameter s | +| PostDominance.cs:21:9:21:28 | After call to method WriteLine | PostDominance.cs:21:9:21:29 | After ...; | +| PostDominance.cs:21:9:21:28 | Before call to method WriteLine | PostDominance.cs:21:27:21:27 | access to parameter s | +| PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:21:9:21:28 | After call to method WriteLine | +| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:9:21:28 | Before call to method WriteLine | +| PostDominance.cs:21:9:21:29 | After ...; | PostDominance.cs:18:5:22:5 | After {...} | | PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:21:9:21:28 | call to method WriteLine | -| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | {...} | -| Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | call to constructor Object | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | this access | -| Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | Qualifiers.cs:1:7:1:16 | exit Qualifiers | +| Qualifiers.cs:1:7:1:16 | After call to constructor Object | Qualifiers.cs:1:7:1:16 | {...} | +| Qualifiers.cs:1:7:1:16 | After call to method | Qualifiers.cs:1:7:1:16 | Before call to constructor Object | +| Qualifiers.cs:1:7:1:16 | Before call to constructor Object | Qualifiers.cs:1:7:1:16 | call to constructor Object | +| Qualifiers.cs:1:7:1:16 | Before call to method | Qualifiers.cs:1:7:1:16 | this access | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Before call to method | +| Qualifiers.cs:1:7:1:16 | Normal Exit | Qualifiers.cs:1:7:1:16 | Exit | +| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | After call to constructor Object | +| Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | After call to method | | Qualifiers.cs:1:7:1:16 | this access | Qualifiers.cs:1:7:1:16 | call to method | -| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:28:7:31 | null | -| Qualifiers.cs:7:16:7:21 | exit Method (normal) | Qualifiers.cs:7:16:7:21 | exit Method | -| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | exit Method (normal) | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:41:8:44 | null | -| Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | Qualifiers.cs:8:23:8:34 | exit StaticMethod | -| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:11:5:31:5 | {...} | -| Qualifiers.cs:10:10:10:10 | exit M (normal) | Qualifiers.cs:10:10:10:10 | exit M | +| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | Normal Exit | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:28:7:31 | null | +| Qualifiers.cs:7:16:7:21 | Normal Exit | Qualifiers.cs:7:16:7:21 | Exit | +| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | Normal Exit | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:41:8:44 | null | +| Qualifiers.cs:8:23:8:34 | Normal Exit | Qualifiers.cs:8:23:8:34 | Exit | +| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | Normal Exit | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:11:5:31:5 | {...} | +| Qualifiers.cs:10:10:10:10 | Normal Exit | Qualifiers.cs:10:10:10:10 | Exit | +| Qualifiers.cs:11:5:31:5 | After {...} | Qualifiers.cs:10:10:10:10 | Normal Exit | | Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:12:9:12:22 | ... ...; | -| Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:17:12:21 | this access | -| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:13:9:13:21 | ...; | -| Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | +| Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | +| Qualifiers.cs:12:9:12:22 | After ... ...; | Qualifiers.cs:13:9:13:21 | ...; | +| Qualifiers.cs:12:13:12:13 | access to local variable q | Qualifiers.cs:12:17:12:21 | Before access to field Field | +| Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | Qualifiers.cs:12:9:12:22 | After ... ...; | +| Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | Qualifiers.cs:12:13:12:13 | access to local variable q | +| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | +| Qualifiers.cs:12:17:12:21 | After access to field Field | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | +| Qualifiers.cs:12:17:12:21 | Before access to field Field | Qualifiers.cs:12:17:12:21 | this access | +| Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:17:12:21 | After access to field Field | | Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:17:12:21 | access to field Field | -| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:14:9:14:21 | ...; | -| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:13:13:20 | this access | -| Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:9:13:20 | ... = ... | +| Qualifiers.cs:13:9:13:9 | access to local variable q | Qualifiers.cs:13:13:13:20 | Before access to property Property | +| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:9:13:20 | After ... = ... | +| Qualifiers.cs:13:9:13:20 | After ... = ... | Qualifiers.cs:13:9:13:21 | After ...; | +| Qualifiers.cs:13:9:13:20 | Before ... = ... | Qualifiers.cs:13:9:13:9 | access to local variable q | +| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:9:13:20 | Before ... = ... | +| Qualifiers.cs:13:9:13:21 | After ...; | Qualifiers.cs:14:9:14:21 | ...; | +| Qualifiers.cs:13:13:13:20 | After access to property Property | Qualifiers.cs:13:9:13:20 | ... = ... | +| Qualifiers.cs:13:13:13:20 | Before access to property Property | Qualifiers.cs:13:13:13:20 | this access | +| Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:13:13:20 | After access to property Property | | Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:13:13:20 | access to property Property | -| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:16:9:16:23 | ...; | -| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:13:14:20 | this access | -| Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:9:14:20 | ... = ... | +| Qualifiers.cs:14:9:14:9 | access to local variable q | Qualifiers.cs:14:13:14:20 | Before call to method Method | +| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:9:14:20 | After ... = ... | +| Qualifiers.cs:14:9:14:20 | After ... = ... | Qualifiers.cs:14:9:14:21 | After ...; | +| Qualifiers.cs:14:9:14:20 | Before ... = ... | Qualifiers.cs:14:9:14:9 | access to local variable q | +| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:9:14:20 | Before ... = ... | +| Qualifiers.cs:14:9:14:21 | After ...; | Qualifiers.cs:16:9:16:23 | ...; | +| Qualifiers.cs:14:13:14:20 | After call to method Method | Qualifiers.cs:14:9:14:20 | ... = ... | +| Qualifiers.cs:14:13:14:20 | Before call to method Method | Qualifiers.cs:14:13:14:20 | this access | +| Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:13:14:20 | After call to method Method | | Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:13:14:20 | call to method Method | -| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:17:9:17:26 | ...; | -| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:13:16:16 | this access | +| Qualifiers.cs:16:9:16:9 | access to local variable q | Qualifiers.cs:16:13:16:22 | Before access to field Field | +| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:9:16:22 | After ... = ... | +| Qualifiers.cs:16:9:16:22 | After ... = ... | Qualifiers.cs:16:9:16:23 | After ...; | +| Qualifiers.cs:16:9:16:22 | Before ... = ... | Qualifiers.cs:16:9:16:9 | access to local variable q | +| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:9:16:22 | Before ... = ... | +| Qualifiers.cs:16:9:16:23 | After ...; | Qualifiers.cs:17:9:17:26 | ...; | | Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:13:16:22 | access to field Field | -| Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:9:16:22 | ... = ... | -| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:18:9:18:26 | ...; | -| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:13:17:16 | this access | +| Qualifiers.cs:16:13:16:22 | After access to field Field | Qualifiers.cs:16:9:16:22 | ... = ... | +| Qualifiers.cs:16:13:16:22 | Before access to field Field | Qualifiers.cs:16:13:16:16 | this access | +| Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:13:16:22 | After access to field Field | +| Qualifiers.cs:17:9:17:9 | access to local variable q | Qualifiers.cs:17:13:17:25 | Before access to property Property | +| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:9:17:25 | After ... = ... | +| Qualifiers.cs:17:9:17:25 | After ... = ... | Qualifiers.cs:17:9:17:26 | After ...; | +| Qualifiers.cs:17:9:17:25 | Before ... = ... | Qualifiers.cs:17:9:17:9 | access to local variable q | +| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:9:17:25 | Before ... = ... | +| Qualifiers.cs:17:9:17:26 | After ...; | Qualifiers.cs:18:9:18:26 | ...; | | Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:13:17:25 | access to property Property | -| Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:9:17:25 | ... = ... | -| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:20:9:20:24 | ...; | -| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:13:18:16 | this access | +| Qualifiers.cs:17:13:17:25 | After access to property Property | Qualifiers.cs:17:9:17:25 | ... = ... | +| Qualifiers.cs:17:13:17:25 | Before access to property Property | Qualifiers.cs:17:13:17:16 | this access | +| Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:13:17:25 | After access to property Property | +| Qualifiers.cs:18:9:18:9 | access to local variable q | Qualifiers.cs:18:13:18:25 | Before call to method Method | +| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:9:18:25 | After ... = ... | +| Qualifiers.cs:18:9:18:25 | After ... = ... | Qualifiers.cs:18:9:18:26 | After ...; | +| Qualifiers.cs:18:9:18:25 | Before ... = ... | Qualifiers.cs:18:9:18:9 | access to local variable q | +| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:9:18:25 | Before ... = ... | +| Qualifiers.cs:18:9:18:26 | After ...; | Qualifiers.cs:20:9:20:24 | ...; | | Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:13:18:25 | call to method Method | -| Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:9:18:25 | ... = ... | -| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:21:9:21:27 | ...; | -| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:13:20:23 | access to field StaticField | +| Qualifiers.cs:18:13:18:25 | After call to method Method | Qualifiers.cs:18:9:18:25 | ... = ... | +| Qualifiers.cs:18:13:18:25 | Before call to method Method | Qualifiers.cs:18:13:18:16 | this access | +| Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:13:18:25 | After call to method Method | +| Qualifiers.cs:20:9:20:9 | access to local variable q | Qualifiers.cs:20:13:20:23 | access to field StaticField | +| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:20:9:20:23 | After ... = ... | +| Qualifiers.cs:20:9:20:23 | After ... = ... | Qualifiers.cs:20:9:20:24 | After ...; | +| Qualifiers.cs:20:9:20:23 | Before ... = ... | Qualifiers.cs:20:9:20:9 | access to local variable q | +| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:9:20:23 | Before ... = ... | +| Qualifiers.cs:20:9:20:24 | After ...; | Qualifiers.cs:21:9:21:27 | ...; | | Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:9:20:23 | ... = ... | -| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:22:9:22:27 | ...; | -| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | -| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:9:21:26 | ... = ... | -| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:24:9:24:35 | ...; | -| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | -| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:9:22:26 | ... = ... | -| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:25:9:25:38 | ...; | -| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:13:24:34 | access to field StaticField | +| Qualifiers.cs:21:9:21:9 | access to local variable q | Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | +| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:9:21:26 | After ... = ... | +| Qualifiers.cs:21:9:21:26 | After ... = ... | Qualifiers.cs:21:9:21:27 | After ...; | +| Qualifiers.cs:21:9:21:26 | Before ... = ... | Qualifiers.cs:21:9:21:9 | access to local variable q | +| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:9:21:26 | Before ... = ... | +| Qualifiers.cs:21:9:21:27 | After ...; | Qualifiers.cs:22:9:22:27 | ...; | +| Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | Qualifiers.cs:21:9:21:26 | ... = ... | +| Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | +| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | +| Qualifiers.cs:22:9:22:9 | access to local variable q | Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | +| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:9:22:26 | After ... = ... | +| Qualifiers.cs:22:9:22:26 | After ... = ... | Qualifiers.cs:22:9:22:27 | After ...; | +| Qualifiers.cs:22:9:22:26 | Before ... = ... | Qualifiers.cs:22:9:22:9 | access to local variable q | +| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:9:22:26 | Before ... = ... | +| Qualifiers.cs:22:9:22:27 | After ...; | Qualifiers.cs:24:9:24:35 | ...; | +| Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | Qualifiers.cs:22:9:22:26 | ... = ... | +| Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | +| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | +| Qualifiers.cs:24:9:24:9 | access to local variable q | Qualifiers.cs:24:13:24:34 | access to field StaticField | +| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:24:9:24:34 | After ... = ... | +| Qualifiers.cs:24:9:24:34 | After ... = ... | Qualifiers.cs:24:9:24:35 | After ...; | +| Qualifiers.cs:24:9:24:34 | Before ... = ... | Qualifiers.cs:24:9:24:9 | access to local variable q | +| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:9:24:34 | Before ... = ... | +| Qualifiers.cs:24:9:24:35 | After ...; | Qualifiers.cs:25:9:25:38 | ...; | | Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:9:24:34 | ... = ... | -| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:26:9:26:38 | ...; | -| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | -| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:9:25:37 | ... = ... | -| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:28:9:28:41 | ...; | -| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | -| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:9:26:37 | ... = ... | -| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:29:9:29:47 | ...; | -| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:13:28:34 | access to field StaticField | +| Qualifiers.cs:25:9:25:9 | access to local variable q | Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | +| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:9:25:37 | After ... = ... | +| Qualifiers.cs:25:9:25:37 | After ... = ... | Qualifiers.cs:25:9:25:38 | After ...; | +| Qualifiers.cs:25:9:25:37 | Before ... = ... | Qualifiers.cs:25:9:25:9 | access to local variable q | +| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:9:25:37 | Before ... = ... | +| Qualifiers.cs:25:9:25:38 | After ...; | Qualifiers.cs:26:9:26:38 | ...; | +| Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | Qualifiers.cs:25:9:25:37 | ... = ... | +| Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | +| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | +| Qualifiers.cs:26:9:26:9 | access to local variable q | Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | +| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:9:26:37 | After ... = ... | +| Qualifiers.cs:26:9:26:37 | After ... = ... | Qualifiers.cs:26:9:26:38 | After ...; | +| Qualifiers.cs:26:9:26:37 | Before ... = ... | Qualifiers.cs:26:9:26:9 | access to local variable q | +| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:9:26:37 | Before ... = ... | +| Qualifiers.cs:26:9:26:38 | After ...; | Qualifiers.cs:28:9:28:41 | ...; | +| Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | Qualifiers.cs:26:9:26:37 | ... = ... | +| Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | +| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | +| Qualifiers.cs:28:9:28:9 | access to local variable q | Qualifiers.cs:28:13:28:40 | Before access to field Field | +| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:9:28:40 | After ... = ... | +| Qualifiers.cs:28:9:28:40 | After ... = ... | Qualifiers.cs:28:9:28:41 | After ...; | +| Qualifiers.cs:28:9:28:40 | Before ... = ... | Qualifiers.cs:28:9:28:9 | access to local variable q | +| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:9:28:40 | Before ... = ... | +| Qualifiers.cs:28:9:28:41 | After ...; | Qualifiers.cs:29:9:29:47 | ...; | | Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:13:28:40 | access to field Field | -| Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:9:28:40 | ... = ... | -| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:30:9:30:47 | ...; | -| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | -| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:46 | access to property Property | -| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:9:29:46 | ... = ... | -| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:10:10:10:10 | exit M (normal) | -| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | -| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:46 | call to method Method | -| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:9:30:46 | ... = ... | -| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | {...} | -| Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | call to constructor Object | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | this access | -| Switch.cs:3:7:3:12 | exit Switch (normal) | Switch.cs:3:7:3:12 | exit Switch | +| Qualifiers.cs:28:13:28:40 | After access to field Field | Qualifiers.cs:28:9:28:40 | ... = ... | +| Qualifiers.cs:28:13:28:40 | Before access to field Field | Qualifiers.cs:28:13:28:34 | access to field StaticField | +| Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:13:28:40 | After access to field Field | +| Qualifiers.cs:29:9:29:9 | access to local variable q | Qualifiers.cs:29:13:29:46 | Before access to property Property | +| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:9:29:46 | After ... = ... | +| Qualifiers.cs:29:9:29:46 | After ... = ... | Qualifiers.cs:29:9:29:47 | After ...; | +| Qualifiers.cs:29:9:29:46 | Before ... = ... | Qualifiers.cs:29:9:29:9 | access to local variable q | +| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:9:29:46 | Before ... = ... | +| Qualifiers.cs:29:9:29:47 | After ...; | Qualifiers.cs:30:9:30:47 | ...; | +| Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | Qualifiers.cs:29:13:29:46 | access to property Property | +| Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | +| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | +| Qualifiers.cs:29:13:29:46 | After access to property Property | Qualifiers.cs:29:9:29:46 | ... = ... | +| Qualifiers.cs:29:13:29:46 | Before access to property Property | Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | +| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:13:29:46 | After access to property Property | +| Qualifiers.cs:30:9:30:9 | access to local variable q | Qualifiers.cs:30:13:30:46 | Before call to method Method | +| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:9:30:46 | After ... = ... | +| Qualifiers.cs:30:9:30:46 | After ... = ... | Qualifiers.cs:30:9:30:47 | After ...; | +| Qualifiers.cs:30:9:30:46 | Before ... = ... | Qualifiers.cs:30:9:30:9 | access to local variable q | +| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:9:30:46 | Before ... = ... | +| Qualifiers.cs:30:9:30:47 | After ...; | Qualifiers.cs:11:5:31:5 | After {...} | +| Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | Qualifiers.cs:30:13:30:46 | call to method Method | +| Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | +| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | +| Qualifiers.cs:30:13:30:46 | After call to method Method | Qualifiers.cs:30:9:30:46 | ... = ... | +| Qualifiers.cs:30:13:30:46 | Before call to method Method | Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | +| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:13:30:46 | After call to method Method | +| Switch.cs:3:7:3:12 | After call to constructor Object | Switch.cs:3:7:3:12 | {...} | +| Switch.cs:3:7:3:12 | After call to method | Switch.cs:3:7:3:12 | Before call to constructor Object | +| Switch.cs:3:7:3:12 | Before call to constructor Object | Switch.cs:3:7:3:12 | call to constructor Object | +| Switch.cs:3:7:3:12 | Before call to method | Switch.cs:3:7:3:12 | this access | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Before call to method | +| Switch.cs:3:7:3:12 | Normal Exit | Switch.cs:3:7:3:12 | Exit | +| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | After call to constructor Object | +| Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | After call to method | | Switch.cs:3:7:3:12 | this access | Switch.cs:3:7:3:12 | call to method | -| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | exit Switch (normal) | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:6:5:8:5 | {...} | -| Switch.cs:5:10:5:11 | exit M1 (normal) | Switch.cs:5:10:5:11 | exit M1 | +| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | Normal Exit | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:6:5:8:5 | {...} | +| Switch.cs:5:10:5:11 | Normal Exit | Switch.cs:5:10:5:11 | Exit | +| Switch.cs:6:5:8:5 | After {...} | Switch.cs:5:10:5:11 | Normal Exit | | Switch.cs:6:5:8:5 | {...} | Switch.cs:7:9:7:22 | switch (...) {...} | +| Switch.cs:7:9:7:22 | After switch (...) {...} | Switch.cs:6:5:8:5 | After {...} | | Switch.cs:7:9:7:22 | switch (...) {...} | Switch.cs:7:17:7:17 | access to parameter o | -| Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:5:10:5:11 | exit M1 (normal) | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:11:5:33:5 | {...} | +| Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:7:9:7:22 | After switch (...) {...} | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:11:5:33:5 | {...} | | Switch.cs:11:5:33:5 | {...} | Switch.cs:12:9:32:9 | switch (...) {...} | | Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:12:17:12:17 | access to parameter o | | Switch.cs:12:17:12:17 | access to parameter o | Switch.cs:14:13:14:21 | case ...: | -| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:18:14:20 | "a" | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:15:17:15:23 | return ...; | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:18:16:18 | 0 | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:17:23:17:37 | object creation of type Exception | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:17:17:38 | throw ...; | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:18:18:21 | null | -| Switch.cs:18:18:18:21 | null | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:18:18:18:21 | null | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:18:20:22 | Int32 i | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:14:18:14:20 | "a" | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:16:13:16:19 | case ...: | +| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:13:14:21 | After case ...: [match] | +| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:14:18:14:20 | "a" | Switch.cs:15:17:15:23 | Before return ...; | +| Switch.cs:15:17:15:23 | Before return ...; | Switch.cs:15:17:15:23 | return ...; | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:16:18:16:18 | 0 | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | case ...: | +| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:13:16:19 | After case ...: [match] | +| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:16:18:16:18 | 0 | Switch.cs:17:17:17:38 | Before throw ...; | +| Switch.cs:17:17:17:38 | Before throw ...; | Switch.cs:17:23:17:37 | Before object creation of type Exception | +| Switch.cs:17:23:17:37 | After object creation of type Exception | Switch.cs:17:17:17:38 | throw ...; | +| Switch.cs:17:23:17:37 | Before object creation of type Exception | Switch.cs:17:23:17:37 | object creation of type Exception | +| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:23:17:37 | After object creation of type Exception | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:18:18:18:21 | null | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | case ...: | +| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:18:18:18:21 | null | Switch.cs:19:17:19:29 | Before goto default; | +| Switch.cs:19:17:19:29 | Before goto default; | Switch.cs:19:17:19:29 | goto default; | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:20:18:20:22 | Int32 i | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | case ...: | +| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:13:20:23 | After case ...: [no-match] | | Switch.cs:20:18:20:22 | Int32 i | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:21 | access to parameter o | +| Switch.cs:21:17:22:27 | After if (...) ... | Switch.cs:23:17:23:28 | Before goto case ...; | +| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:29 | Before ... == ... | | Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:21:26:21:29 | null | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:23:27:23:27 | 0 | +| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:21:17:22:27 | After if (...) ... | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:22:21:22:27 | Before return ...; | +| Switch.cs:21:21:21:29 | Before ... == ... | Switch.cs:21:21:21:21 | access to parameter o | | Switch.cs:21:26:21:29 | null | Switch.cs:21:21:21:29 | ... == ... | +| Switch.cs:22:21:22:27 | Before return ...; | Switch.cs:22:21:22:27 | return ...; | +| Switch.cs:23:17:23:28 | Before goto case ...; | Switch.cs:23:27:23:27 | 0 | | Switch.cs:23:27:23:27 | 0 | Switch.cs:23:17:23:28 | goto case ...; | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:18:24:25 | String s | -| Switch.cs:24:18:24:25 | String s | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:24:18:24:25 | String s | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:18:24:25 | String s | +| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:24:18:24:25 | String s | Switch.cs:24:32:24:55 | ... && ... | | Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:39 | access to property Length | -| Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:43:24:43 | 0 | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:25:17:25:37 | ...; | +| Switch.cs:24:32:24:39 | After access to property Length | Switch.cs:24:43:24:43 | 0 | +| Switch.cs:24:32:24:39 | Before access to property Length | Switch.cs:24:32:24:32 | access to local variable s | +| Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:32:24:39 | After access to property Length | +| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | Before ... != ... | +| Switch.cs:24:32:24:43 | Before ... > ... | Switch.cs:24:32:24:39 | Before access to property Length | +| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:43 | Before ... > ... | +| Switch.cs:24:32:24:55 | After ... && ... [true] | Switch.cs:25:17:25:37 | ...; | | Switch.cs:24:43:24:43 | 0 | Switch.cs:24:32:24:43 | ... > ... | | Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:53:24:55 | "a" | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:32:24:55 | [true] ... && ... | +| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:24:32:24:55 | After ... && ... [true] | +| Switch.cs:24:48:24:55 | Before ... != ... | Switch.cs:24:48:24:48 | access to local variable s | | Switch.cs:24:53:24:55 | "a" | Switch.cs:24:48:24:55 | ... != ... | -| Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:26:17:26:23 | return ...; | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:35:25:35 | access to local variable s | +| Switch.cs:25:17:25:36 | After call to method WriteLine | Switch.cs:25:17:25:37 | After ...; | +| Switch.cs:25:17:25:36 | Before call to method WriteLine | Switch.cs:25:35:25:35 | access to local variable s | +| Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:25:17:25:36 | After call to method WriteLine | +| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:17:25:36 | Before call to method WriteLine | +| Switch.cs:25:17:25:37 | After ...; | Switch.cs:26:17:26:23 | Before return ...; | | Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:25:17:25:36 | call to method WriteLine | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:18:27:25 | Double d | -| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:28:13:28:17 | Label: | Switch.cs:29:17:29:23 | return ...; | -| Switch.cs:30:13:30:20 | default: | Switch.cs:31:17:31:27 | goto ...; | +| Switch.cs:26:17:26:23 | Before return ...; | Switch.cs:26:17:26:23 | return ...; | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:27:18:27:25 | Double d | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:30:13:30:20 | default: | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:32:27:38 | Before call to method Throw | +| Switch.cs:27:32:27:38 | Before call to method Throw | Switch.cs:27:32:27:38 | call to method Throw | +| Switch.cs:28:13:28:17 | Label: | Switch.cs:29:17:29:23 | Before return ...; | +| Switch.cs:29:17:29:23 | Before return ...; | Switch.cs:29:17:29:23 | return ...; | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:31:17:31:27 | Before goto ...; | +| Switch.cs:31:17:31:27 | Before goto ...; | Switch.cs:31:17:31:27 | goto ...; | | Switch.cs:31:17:31:27 | goto ...; | Switch.cs:28:13:28:17 | Label: | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:36:5:42:5 | {...} | -| Switch.cs:35:10:35:11 | exit M3 (abnormal) | Switch.cs:35:10:35:11 | exit M3 | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:36:5:42:5 | {...} | +| Switch.cs:35:10:35:11 | Exceptional Exit | Switch.cs:35:10:35:11 | Exit | | Switch.cs:36:5:42:5 | {...} | Switch.cs:37:9:41:9 | switch (...) {...} | -| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:17:37:23 | call to method Throw | -| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:35:10:35:11 | exit M3 (abnormal) | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:45:5:53:5 | {...} | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | exit M4 | +| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:17:37:23 | Before call to method Throw | +| Switch.cs:37:17:37:23 | Before call to method Throw | Switch.cs:37:17:37:23 | call to method Throw | +| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:35:10:35:11 | Exceptional Exit | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:45:5:53:5 | {...} | +| Switch.cs:44:10:44:11 | Normal Exit | Switch.cs:44:10:44:11 | Exit | +| Switch.cs:45:5:53:5 | After {...} | Switch.cs:44:10:44:11 | Normal Exit | | Switch.cs:45:5:53:5 | {...} | Switch.cs:46:9:52:9 | switch (...) {...} | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:45:5:53:5 | After {...} | | Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:46:17:46:17 | access to parameter o | | Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:48:13:48:23 | case ...: | -| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:18:48:20 | access to type Int32 | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:49:17:49:22 | break; | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:50:13:50:39 | case ...: | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:18:50:21 | access to type Boolean | -| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:30:50:30 | access to parameter o | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:48:18:48:20 | access to type Int32 | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | case ...: | +| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:13:48:23 | After case ...: [match] | +| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:13:48:23 | After case ...: [no-match] | +| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:49:17:49:22 | Before break; | +| Switch.cs:49:17:49:22 | Before break; | Switch.cs:49:17:49:22 | break; | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:18:50:21 | access to type Boolean | +| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:30:50:38 | Before ... != ... | | Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:35:50:38 | null | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:51:17:51:22 | break; | +| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:51:17:51:22 | Before break; | +| Switch.cs:50:30:50:38 | Before ... != ... | Switch.cs:50:30:50:30 | access to parameter o | | Switch.cs:50:35:50:38 | null | Switch.cs:50:30:50:38 | ... != ... | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:56:5:64:5 | {...} | -| Switch.cs:55:10:55:11 | exit M5 (normal) | Switch.cs:55:10:55:11 | exit M5 | +| Switch.cs:51:17:51:22 | Before break; | Switch.cs:51:17:51:22 | break; | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:56:5:64:5 | {...} | +| Switch.cs:55:10:55:11 | Normal Exit | Switch.cs:55:10:55:11 | Exit | +| Switch.cs:56:5:64:5 | After {...} | Switch.cs:55:10:55:11 | Normal Exit | | Switch.cs:56:5:64:5 | {...} | Switch.cs:57:9:63:9 | switch (...) {...} | -| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:57:17:57:17 | 1 | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:56:5:64:5 | After {...} | +| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:57:17:57:21 | Before ... + ... | | Switch.cs:57:17:57:17 | 1 | Switch.cs:57:21:57:21 | 2 | -| Switch.cs:57:17:57:21 | ... + ... | Switch.cs:59:13:59:19 | case ...: | +| Switch.cs:57:17:57:21 | ... + ... | Switch.cs:57:17:57:21 | After ... + ... | +| Switch.cs:57:17:57:21 | After ... + ... | Switch.cs:59:13:59:19 | case ...: | +| Switch.cs:57:17:57:21 | Before ... + ... | Switch.cs:57:17:57:17 | 1 | | Switch.cs:57:21:57:21 | 2 | Switch.cs:57:17:57:21 | ... + ... | -| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:18:59:18 | 2 | -| Switch.cs:59:18:59:18 | 2 | Switch.cs:61:13:61:19 | case ...: | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:18:61:18 | 3 | -| Switch.cs:61:18:61:18 | 3 | Switch.cs:62:17:62:22 | break; | -| Switch.cs:62:17:62:22 | break; | Switch.cs:55:10:55:11 | exit M5 (normal) | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:67:5:75:5 | {...} | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | exit M6 | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:59:18:59:18 | 2 | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | case ...: | +| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:13:59:19 | After case ...: [match] | +| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:13:59:19 | After case ...: [no-match] | +| Switch.cs:59:18:59:18 | 2 | Switch.cs:60:17:60:22 | Before break; | +| Switch.cs:60:17:60:22 | Before break; | Switch.cs:60:17:60:22 | break; | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:61:18:61:18 | 3 | +| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:61:18:61:18 | 3 | Switch.cs:62:17:62:22 | Before break; | +| Switch.cs:62:17:62:22 | Before break; | Switch.cs:62:17:62:22 | break; | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:67:5:75:5 | {...} | +| Switch.cs:66:10:66:11 | Normal Exit | Switch.cs:66:10:66:11 | Exit | +| Switch.cs:67:5:75:5 | After {...} | Switch.cs:66:10:66:11 | Normal Exit | | Switch.cs:67:5:75:5 | {...} | Switch.cs:68:9:74:9 | switch (...) {...} | -| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:68:25:68:25 | access to parameter s | -| Switch.cs:68:17:68:25 | (...) ... | Switch.cs:70:13:70:23 | case ...: | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:67:5:75:5 | After {...} | +| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:68:17:68:25 | Before (...) ... | +| Switch.cs:68:17:68:25 | (...) ... | Switch.cs:68:17:68:25 | After (...) ... | +| Switch.cs:68:17:68:25 | After (...) ... | Switch.cs:70:13:70:23 | case ...: | +| Switch.cs:68:17:68:25 | Before (...) ... | Switch.cs:68:25:68:25 | access to parameter s | | Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:68:17:68:25 | (...) ... | -| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:18:70:20 | access to type Int32 | -| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:72:13:72:20 | case ...: | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:18:72:19 | "" | -| Switch.cs:72:18:72:19 | "" | Switch.cs:66:10:66:11 | exit M6 (normal) | -| Switch.cs:72:18:72:19 | "" | Switch.cs:73:17:73:22 | break; | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:78:5:89:5 | {...} | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | exit M7 | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:70:18:70:20 | access to type Int32 | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | case ...: | +| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:13:70:23 | After case ...: [match] | +| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:13:70:23 | After case ...: [no-match] | +| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:71:17:71:22 | Before break; | +| Switch.cs:71:17:71:22 | Before break; | Switch.cs:71:17:71:22 | break; | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:72:18:72:19 | "" | +| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:72:18:72:19 | "" | Switch.cs:73:17:73:22 | Before break; | +| Switch.cs:73:17:73:22 | Before break; | Switch.cs:73:17:73:22 | break; | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:78:5:89:5 | {...} | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | Exit | | Switch.cs:78:5:89:5 | {...} | Switch.cs:79:9:87:9 | switch (...) {...} | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:88:9:88:21 | Before return ...; | | Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:79:17:79:17 | access to parameter i | | Switch.cs:79:17:79:17 | access to parameter i | Switch.cs:81:13:81:19 | case ...: | -| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:18:81:18 | 1 | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:82:24:82:27 | true | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:83:13:83:19 | case ...: | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:81:18:81:18 | 1 | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | case ...: | +| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:13:81:19 | After case ...: [match] | +| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:13:81:19 | After case ...: [no-match] | +| Switch.cs:81:18:81:18 | 1 | Switch.cs:82:17:82:28 | Before return ...; | +| Switch.cs:82:17:82:28 | Before return ...; | Switch.cs:82:24:82:27 | true | | Switch.cs:82:24:82:27 | true | Switch.cs:82:17:82:28 | return ...; | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:18:83:18 | 2 | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:83:18:83:18 | 2 | +| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:13:83:19 | After case ...: [no-match] | | Switch.cs:83:18:83:18 | 2 | Switch.cs:84:17:85:26 | if (...) ... | -| Switch.cs:83:18:83:18 | 2 | Switch.cs:88:16:88:20 | false | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:21:84:21 | access to parameter j | +| Switch.cs:84:17:85:26 | After if (...) ... | Switch.cs:86:17:86:28 | Before return ...; | +| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:21:84:25 | Before ... > ... | | Switch.cs:84:21:84:21 | access to parameter j | Switch.cs:84:25:84:25 | 2 | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:85:21:85:26 | break; | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:86:24:86:27 | true | +| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:84:17:85:26 | After if (...) ... | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:85:21:85:26 | Before break; | +| Switch.cs:84:21:84:25 | Before ... > ... | Switch.cs:84:21:84:21 | access to parameter j | | Switch.cs:84:25:84:25 | 2 | Switch.cs:84:21:84:25 | ... > ... | +| Switch.cs:85:21:85:26 | Before break; | Switch.cs:85:21:85:26 | break; | +| Switch.cs:86:17:86:28 | Before return ...; | Switch.cs:86:24:86:27 | true | | Switch.cs:86:24:86:27 | true | Switch.cs:86:17:86:28 | return ...; | +| Switch.cs:88:9:88:21 | Before return ...; | Switch.cs:88:16:88:20 | false | | Switch.cs:88:16:88:20 | false | Switch.cs:88:9:88:21 | return ...; | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:92:5:99:5 | {...} | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | exit M8 | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:92:5:99:5 | {...} | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | Exit | | Switch.cs:92:5:99:5 | {...} | Switch.cs:93:9:97:9 | switch (...) {...} | +| Switch.cs:93:9:97:9 | After switch (...) {...} | Switch.cs:98:9:98:21 | Before return ...; | | Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:93:17:93:17 | access to parameter o | | Switch.cs:93:17:93:17 | access to parameter o | Switch.cs:95:13:95:23 | case ...: | -| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:18:95:20 | access to type Int32 | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:96:24:96:27 | true | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:98:16:98:20 | false | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:95:18:95:20 | access to type Int32 | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:93:9:97:9 | After switch (...) {...} | +| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:13:95:23 | After case ...: [match] | +| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:13:95:23 | After case ...: [no-match] | +| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:96:17:96:28 | Before return ...; | +| Switch.cs:96:17:96:28 | Before return ...; | Switch.cs:96:24:96:27 | true | | Switch.cs:96:24:96:27 | true | Switch.cs:96:17:96:28 | return ...; | +| Switch.cs:98:9:98:21 | Before return ...; | Switch.cs:98:16:98:20 | false | | Switch.cs:98:16:98:20 | false | Switch.cs:98:9:98:21 | return ...; | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:102:5:109:5 | {...} | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | exit M9 | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:102:5:109:5 | {...} | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | Exit | | Switch.cs:102:5:109:5 | {...} | Switch.cs:103:9:107:9 | switch (...) {...} | -| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:103:17:103:17 | access to parameter s | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:105:13:105:19 | case ...: | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:18:105:18 | 0 | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:106:13:106:19 | case ...: | +| Switch.cs:103:9:107:9 | After switch (...) {...} | Switch.cs:108:9:108:18 | Before return ...; | +| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:103:17:103:25 | Before access to property Length | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:103:17:103:25 | access to property Length | +| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | case ...: | +| Switch.cs:103:17:103:25 | Before access to property Length | Switch.cs:103:17:103:17 | access to parameter s | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:105:18:105:18 | 0 | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | case ...: | +| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:21:105:29 | Before return ...; | +| Switch.cs:105:21:105:29 | Before return ...; | Switch.cs:105:28:105:28 | 0 | | Switch.cs:105:28:105:28 | 0 | Switch.cs:105:21:105:29 | return ...; | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:18:106:18 | 1 | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:108:17:108:17 | 1 | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:106:18:106:18 | 1 | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:103:9:107:9 | After switch (...) {...} | +| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:21:106:29 | Before return ...; | +| Switch.cs:106:21:106:29 | Before return ...; | Switch.cs:106:28:106:28 | 1 | | Switch.cs:106:28:106:28 | 1 | Switch.cs:106:21:106:29 | return ...; | -| Switch.cs:108:16:108:17 | -... | Switch.cs:108:9:108:18 | return ...; | +| Switch.cs:108:9:108:18 | Before return ...; | Switch.cs:108:16:108:17 | Before -... | +| Switch.cs:108:16:108:17 | -... | Switch.cs:108:16:108:17 | After -... | +| Switch.cs:108:16:108:17 | After -... | Switch.cs:108:9:108:18 | return ...; | +| Switch.cs:108:16:108:17 | Before -... | Switch.cs:108:17:108:17 | 1 | | Switch.cs:108:17:108:17 | 1 | Switch.cs:108:16:108:17 | -... | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:34:111:48 | object creation of type Exception | -| Switch.cs:111:17:111:21 | exit Throw (abnormal) | Switch.cs:111:17:111:21 | exit Throw | -| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:17:111:21 | exit Throw (abnormal) | -| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:28:111:48 | throw ... | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:114:5:121:5 | {...} | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | exit M10 | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:28:111:48 | Before throw ... | +| Switch.cs:111:17:111:21 | Exceptional Exit | Switch.cs:111:17:111:21 | Exit | +| Switch.cs:111:28:111:48 | Before throw ... | Switch.cs:111:34:111:48 | Before object creation of type Exception | +| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:17:111:21 | Exceptional Exit | +| Switch.cs:111:34:111:48 | After object creation of type Exception | Switch.cs:111:28:111:48 | throw ... | +| Switch.cs:111:34:111:48 | Before object creation of type Exception | Switch.cs:111:34:111:48 | object creation of type Exception | +| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:34:111:48 | After object creation of type Exception | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:114:5:121:5 | {...} | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | Exit | | Switch.cs:114:5:121:5 | {...} | Switch.cs:115:9:119:9 | switch (...) {...} | -| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:115:17:115:17 | access to parameter s | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:120:9:120:18 | Before return ...; | +| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:115:17:115:24 | Before access to property Length | | Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:115:17:115:24 | access to property Length | -| Switch.cs:115:17:115:24 | access to property Length | Switch.cs:117:13:117:35 | case ...: | -| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:18:117:18 | 3 | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:25:117:25 | access to parameter s | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:118:13:118:34 | case ...: | +| Switch.cs:115:17:115:24 | After access to property Length | Switch.cs:117:13:117:35 | case ...: | +| Switch.cs:115:17:115:24 | Before access to property Length | Switch.cs:115:17:115:17 | access to parameter s | +| Switch.cs:115:17:115:24 | access to property Length | Switch.cs:115:17:115:24 | After access to property Length | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:18:117:18 | 3 | +| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:13:117:35 | After case ...: [match] | +| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:25:117:34 | Before ... == ... | | Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:30:117:34 | "foo" | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:44:117:44 | 1 | +| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | After ... == ... [true] | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:117:37:117:45 | Before return ...; | +| Switch.cs:117:25:117:34 | Before ... == ... | Switch.cs:117:25:117:25 | access to parameter s | | Switch.cs:117:30:117:34 | "foo" | Switch.cs:117:25:117:34 | ... == ... | +| Switch.cs:117:37:117:45 | Before return ...; | Switch.cs:117:44:117:44 | 1 | | Switch.cs:117:44:117:44 | 1 | Switch.cs:117:37:117:45 | return ...; | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:18:118:18 | 2 | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:25:118:25 | access to parameter s | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:120:17:120:17 | 1 | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:18:118:18 | 2 | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:25:118:33 | Before ... == ... | | Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:30:118:33 | "fu" | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:43:118:43 | 2 | +| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:118:36:118:44 | Before return ...; | +| Switch.cs:118:25:118:33 | Before ... == ... | Switch.cs:118:25:118:25 | access to parameter s | | Switch.cs:118:30:118:33 | "fu" | Switch.cs:118:25:118:33 | ... == ... | +| Switch.cs:118:36:118:44 | Before return ...; | Switch.cs:118:43:118:43 | 2 | | Switch.cs:118:43:118:43 | 2 | Switch.cs:118:36:118:44 | return ...; | -| Switch.cs:120:16:120:17 | -... | Switch.cs:120:9:120:18 | return ...; | +| Switch.cs:120:9:120:18 | Before return ...; | Switch.cs:120:16:120:17 | Before -... | +| Switch.cs:120:16:120:17 | -... | Switch.cs:120:16:120:17 | After -... | +| Switch.cs:120:16:120:17 | After -... | Switch.cs:120:9:120:18 | return ...; | +| Switch.cs:120:16:120:17 | Before -... | Switch.cs:120:17:120:17 | 1 | | Switch.cs:120:17:120:17 | 1 | Switch.cs:120:16:120:17 | -... | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:124:5:127:5 | {...} | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | exit M11 | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:124:5:127:5 | {...} | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | Exit | | Switch.cs:124:5:127:5 | {...} | Switch.cs:125:9:126:19 | if (...) ... | -| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:13:125:13 | access to parameter o | -| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:24:125:29 | Boolean b | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:126:13:126:19 | return ...; | +| Switch.cs:125:9:126:19 | After if (...) ... | Switch.cs:124:5:127:5 | After {...} | +| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:13:125:48 | ... switch { ... } | +| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:24:125:34 | ... => ... | +| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:13 | access to parameter o | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:125:9:126:19 | After if (...) ... | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:126:13:126:19 | Before return ...; | | Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:34:125:34 | access to local variable b | -| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [true] ... => ... | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | After ... => ... [match] | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | After ... => ... [no-match] | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:125:24:125:29 | Boolean b | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:125:37:125:46 | ... => ... | | Switch.cs:125:37:125:37 | _ | Switch.cs:125:42:125:46 | false | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:130:5:132:5 | {...} | -| Switch.cs:129:12:129:14 | exit M12 (normal) | Switch.cs:129:12:129:14 | exit M12 | -| Switch.cs:130:5:132:5 | {...} | Switch.cs:131:17:131:17 | access to parameter o | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | exit M12 (normal) | -| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:28:131:35 | String s | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:16:131:66 | call to method ToString | +| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:46 | After ... => ... [match] | +| Switch.cs:125:37:125:46 | After ... => ... [match] | Switch.cs:125:37:125:37 | _ | +| Switch.cs:126:13:126:19 | Before return ...; | Switch.cs:126:13:126:19 | return ...; | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:130:5:132:5 | {...} | +| Switch.cs:129:12:129:14 | Normal Exit | Switch.cs:129:12:129:14 | Exit | +| Switch.cs:130:5:132:5 | {...} | Switch.cs:131:9:131:67 | Before return ...; | +| Switch.cs:131:9:131:67 | Before return ...; | Switch.cs:131:16:131:66 | Before call to method ToString | +| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | Normal Exit | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:9:131:67 | return ...; | +| Switch.cs:131:16:131:66 | Before call to method ToString | Switch.cs:131:17:131:53 | ... switch { ... } | +| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:28:131:40 | ... => ... | +| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:17 | access to parameter o | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:131:16:131:66 | call to method ToString | | Switch.cs:131:28:131:35 | String s | Switch.cs:131:40:131:40 | access to local variable s | -| Switch.cs:131:28:131:35 | String s | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [null] ... => ... | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | After ... => ... [match] | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | After ... => ... [no-match] | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:131:28:131:35 | String s | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:131:43:131:51 | ... => ... | | Switch.cs:131:43:131:43 | _ | Switch.cs:131:48:131:51 | null | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:135:5:142:5 | {...} | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | exit M13 | +| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:51 | After ... => ... [match] | +| Switch.cs:131:43:131:51 | After ... => ... [match] | Switch.cs:131:43:131:43 | _ | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:135:5:142:5 | {...} | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | Exit | | Switch.cs:135:5:142:5 | {...} | Switch.cs:136:9:141:9 | switch (...) {...} | | Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:136:17:136:17 | access to parameter i | | Switch.cs:136:17:136:17 | access to parameter i | Switch.cs:139:13:139:19 | case ...: | -| Switch.cs:138:13:138:20 | default: | Switch.cs:138:30:138:30 | 1 | -| Switch.cs:138:29:138:30 | -... | Switch.cs:138:22:138:31 | return ...; | +| Switch.cs:138:13:138:20 | After default: [match] | Switch.cs:138:22:138:31 | Before return ...; | +| Switch.cs:138:13:138:20 | default: | Switch.cs:138:13:138:20 | After default: [match] | +| Switch.cs:138:22:138:31 | Before return ...; | Switch.cs:138:29:138:30 | Before -... | +| Switch.cs:138:29:138:30 | -... | Switch.cs:138:29:138:30 | After -... | +| Switch.cs:138:29:138:30 | After -... | Switch.cs:138:22:138:31 | return ...; | +| Switch.cs:138:29:138:30 | Before -... | Switch.cs:138:30:138:30 | 1 | | Switch.cs:138:30:138:30 | 1 | Switch.cs:138:29:138:30 | -... | -| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:18:139:18 | 1 | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:28:139:28 | 1 | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:140:13:140:19 | case ...: | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:139:18:139:18 | 1 | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | case ...: | +| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:13:139:19 | After case ...: [match] | +| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:13:139:19 | After case ...: [no-match] | +| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:21:139:29 | Before return ...; | +| Switch.cs:139:21:139:29 | Before return ...; | Switch.cs:139:28:139:28 | 1 | | Switch.cs:139:28:139:28 | 1 | Switch.cs:139:21:139:29 | return ...; | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:18:140:18 | 2 | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:138:13:138:20 | default: | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:28:140:28 | 2 | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:140:18:140:18 | 2 | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:138:13:138:20 | default: | +| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:21:140:29 | Before return ...; | +| Switch.cs:140:21:140:29 | Before return ...; | Switch.cs:140:28:140:28 | 2 | | Switch.cs:140:28:140:28 | 2 | Switch.cs:140:21:140:29 | return ...; | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:145:5:152:5 | {...} | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | exit M14 | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:145:5:152:5 | {...} | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | Exit | | Switch.cs:145:5:152:5 | {...} | Switch.cs:146:9:151:9 | switch (...) {...} | | Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:146:17:146:17 | access to parameter i | | Switch.cs:146:17:146:17 | access to parameter i | Switch.cs:148:13:148:19 | case ...: | -| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:18:148:18 | 1 | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:28:148:28 | 1 | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:150:13:150:19 | case ...: | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:148:18:148:18 | 1 | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | case ...: | +| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:13:148:19 | After case ...: [match] | +| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:13:148:19 | After case ...: [no-match] | +| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:21:148:29 | Before return ...; | +| Switch.cs:148:21:148:29 | Before return ...; | Switch.cs:148:28:148:28 | 1 | | Switch.cs:148:28:148:28 | 1 | Switch.cs:148:21:148:29 | return ...; | -| Switch.cs:149:13:149:20 | default: | Switch.cs:149:30:149:30 | 1 | -| Switch.cs:149:29:149:30 | -... | Switch.cs:149:22:149:31 | return ...; | +| Switch.cs:149:13:149:20 | After default: [match] | Switch.cs:149:22:149:31 | Before return ...; | +| Switch.cs:149:13:149:20 | default: | Switch.cs:149:13:149:20 | After default: [match] | +| Switch.cs:149:22:149:31 | Before return ...; | Switch.cs:149:29:149:30 | Before -... | +| Switch.cs:149:29:149:30 | -... | Switch.cs:149:29:149:30 | After -... | +| Switch.cs:149:29:149:30 | After -... | Switch.cs:149:22:149:31 | return ...; | +| Switch.cs:149:29:149:30 | Before -... | Switch.cs:149:30:149:30 | 1 | | Switch.cs:149:30:149:30 | 1 | Switch.cs:149:29:149:30 | -... | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:18:150:18 | 2 | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:149:13:149:20 | default: | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:28:150:28 | 2 | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:150:18:150:18 | 2 | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:149:13:149:20 | default: | +| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:21:150:29 | Before return ...; | +| Switch.cs:150:21:150:29 | Before return ...; | Switch.cs:150:28:150:28 | 2 | | Switch.cs:150:28:150:28 | 2 | Switch.cs:150:21:150:29 | return ...; | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:155:5:161:5 | {...} | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:155:5:161:5 | {...} | +| Switch.cs:154:10:154:12 | Normal Exit | Switch.cs:154:10:154:12 | Exit | +| Switch.cs:155:5:161:5 | After {...} | Switch.cs:154:10:154:12 | Normal Exit | | Switch.cs:155:5:161:5 | {...} | Switch.cs:156:9:156:55 | ... ...; | -| Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:17:156:17 | access to parameter b | -| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:157:9:160:49 | if (...) ... | -| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:28:156:31 | true | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:13:156:54 | String s = ... | +| Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:13:156:54 | Before String s = ... | +| Switch.cs:156:9:156:55 | After ... ...; | Switch.cs:157:9:160:49 | if (...) ... | +| Switch.cs:156:13:156:13 | access to local variable s | Switch.cs:156:17:156:54 | ... switch { ... } | +| Switch.cs:156:13:156:54 | After String s = ... | Switch.cs:156:9:156:55 | After ... ...; | +| Switch.cs:156:13:156:54 | Before String s = ... | Switch.cs:156:13:156:13 | access to local variable s | +| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:13:156:54 | After String s = ... | +| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:28:156:38 | ... => ... | +| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:17 | access to parameter b | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:13:156:54 | String s = ... | | Switch.cs:156:28:156:31 | true | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:156:28:156:31 | true | Switch.cs:156:41:156:45 | false | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:28:156:38 | ... => ... | -| Switch.cs:156:41:156:45 | false | Switch.cs:154:10:154:12 | exit M15 (abnormal) | +| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:38 | After ... => ... [no-match] | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:156:28:156:31 | true | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | ... => ... | | Switch.cs:156:41:156:45 | false | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:41:156:52 | ... => ... | +| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:156:41:156:45 | false | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:155:5:161:5 | After {...} | | Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:157:13:157:13 | access to parameter b | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:158:13:158:49 | ...; | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:160:13:160:49 | ...; | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:40:158:43 | "a = " | -| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:13:158:48 | call to method WriteLine | -| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:45:158:45 | access to local variable s | -| Switch.cs:158:44:158:46 | {...} | Switch.cs:158:38:158:47 | $"..." | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:160:13:160:49 | ...; | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:158:13:158:49 | ...; | +| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:158:13:158:48 | After call to method WriteLine | Switch.cs:158:13:158:49 | After ...; | +| Switch.cs:158:13:158:48 | Before call to method WriteLine | Switch.cs:158:38:158:47 | Before $"..." | +| Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:158:13:158:48 | After call to method WriteLine | +| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:13:158:48 | Before call to method WriteLine | +| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:38:158:47 | After $"..." | +| Switch.cs:158:38:158:47 | After $"..." | Switch.cs:158:13:158:48 | call to method WriteLine | +| Switch.cs:158:38:158:47 | Before $"..." | Switch.cs:158:40:158:43 | "a = " | +| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:44:158:46 | Before {...} | +| Switch.cs:158:44:158:46 | After {...} | Switch.cs:158:38:158:47 | $"..." | +| Switch.cs:158:44:158:46 | Before {...} | Switch.cs:158:45:158:45 | access to local variable s | +| Switch.cs:158:44:158:46 | {...} | Switch.cs:158:44:158:46 | After {...} | | Switch.cs:158:45:158:45 | access to local variable s | Switch.cs:158:44:158:46 | {...} | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:40:160:43 | "b = " | -| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:13:160:48 | call to method WriteLine | -| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:45:160:45 | access to local variable s | -| Switch.cs:160:44:160:46 | {...} | Switch.cs:160:38:160:47 | $"..." | +| Switch.cs:160:13:160:48 | After call to method WriteLine | Switch.cs:160:13:160:49 | After ...; | +| Switch.cs:160:13:160:48 | Before call to method WriteLine | Switch.cs:160:38:160:47 | Before $"..." | +| Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:160:13:160:48 | After call to method WriteLine | +| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:13:160:48 | Before call to method WriteLine | +| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:38:160:47 | After $"..." | +| Switch.cs:160:38:160:47 | After $"..." | Switch.cs:160:13:160:48 | call to method WriteLine | +| Switch.cs:160:38:160:47 | Before $"..." | Switch.cs:160:40:160:43 | "b = " | +| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:44:160:46 | Before {...} | +| Switch.cs:160:44:160:46 | After {...} | Switch.cs:160:38:160:47 | $"..." | +| Switch.cs:160:44:160:46 | Before {...} | Switch.cs:160:45:160:45 | access to local variable s | +| Switch.cs:160:44:160:46 | {...} | Switch.cs:160:44:160:46 | After {...} | | Switch.cs:160:45:160:45 | access to local variable s | Switch.cs:160:44:160:46 | {...} | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:164:5:178:5 | {...} | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | exit M16 | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:164:5:178:5 | {...} | +| Switch.cs:163:10:163:12 | Normal Exit | Switch.cs:163:10:163:12 | Exit | +| Switch.cs:164:5:178:5 | After {...} | Switch.cs:163:10:163:12 | Normal Exit | | Switch.cs:164:5:178:5 | {...} | Switch.cs:165:9:177:9 | switch (...) {...} | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:164:5:178:5 | After {...} | | Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:165:17:165:17 | access to parameter i | | Switch.cs:165:17:165:17 | access to parameter i | Switch.cs:167:13:167:19 | case ...: | -| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:18:167:18 | 1 | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:168:13:168:19 | case ...: | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:169:17:169:51 | ...; | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:18:168:18 | 2 | -| Switch.cs:168:18:168:18 | 2 | Switch.cs:171:13:171:19 | case ...: | -| Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:170:17:170:22 | break; | -| Switch.cs:169:17:169:51 | ...; | Switch.cs:169:42:169:49 | "1 or 2" | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:167:18:167:18 | 1 | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | case ...: | +| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:13:167:19 | After case ...: [no-match] | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:168:18:168:18 | 2 | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | case ...: | +| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:169:17:169:50 | After call to method WriteLine | Switch.cs:169:17:169:51 | After ...; | +| Switch.cs:169:17:169:50 | Before call to method WriteLine | Switch.cs:169:42:169:49 | "1 or 2" | +| Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:169:17:169:50 | After call to method WriteLine | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:169:17:169:50 | Before call to method WriteLine | +| Switch.cs:169:17:169:51 | After ...; | Switch.cs:170:17:170:22 | Before break; | | Switch.cs:169:42:169:49 | "1 or 2" | Switch.cs:169:17:169:50 | call to method WriteLine | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:18:171:18 | 3 | +| Switch.cs:170:17:170:22 | Before break; | Switch.cs:170:17:170:22 | break; | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:171:18:171:18 | 3 | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:174:13:174:20 | default: | +| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:13:171:19 | After case ...: [no-match] | | Switch.cs:171:18:171:18 | 3 | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:171:18:171:18 | 3 | Switch.cs:174:13:174:20 | default: | -| Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:173:17:173:22 | break; | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:42:172:44 | "3" | +| Switch.cs:172:17:172:45 | After call to method WriteLine | Switch.cs:172:17:172:46 | After ...; | +| Switch.cs:172:17:172:45 | Before call to method WriteLine | Switch.cs:172:42:172:44 | "3" | +| Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:172:17:172:45 | After call to method WriteLine | +| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:17:172:45 | Before call to method WriteLine | +| Switch.cs:172:17:172:46 | After ...; | Switch.cs:173:17:173:22 | Before break; | | Switch.cs:172:42:172:44 | "3" | Switch.cs:172:17:172:45 | call to method WriteLine | -| Switch.cs:174:13:174:20 | default: | Switch.cs:175:17:175:48 | ...; | -| Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:176:17:176:22 | break; | -| Switch.cs:175:17:175:48 | ...; | Switch.cs:175:42:175:46 | "def" | +| Switch.cs:173:17:173:22 | Before break; | Switch.cs:173:17:173:22 | break; | +| Switch.cs:174:13:174:20 | After default: [match] | Switch.cs:175:17:175:48 | ...; | +| Switch.cs:174:13:174:20 | default: | Switch.cs:174:13:174:20 | After default: [match] | +| Switch.cs:175:17:175:47 | After call to method WriteLine | Switch.cs:175:17:175:48 | After ...; | +| Switch.cs:175:17:175:47 | Before call to method WriteLine | Switch.cs:175:42:175:46 | "def" | +| Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:175:17:175:47 | After call to method WriteLine | +| Switch.cs:175:17:175:48 | ...; | Switch.cs:175:17:175:47 | Before call to method WriteLine | +| Switch.cs:175:17:175:48 | After ...; | Switch.cs:176:17:176:22 | Before break; | | Switch.cs:175:42:175:46 | "def" | Switch.cs:175:17:175:47 | call to method WriteLine | -| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | {...} | -| TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | call to constructor Object | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | this access | -| TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | TypeAccesses.cs:1:7:1:18 | exit TypeAccesses | +| Switch.cs:176:17:176:22 | Before break; | Switch.cs:176:17:176:22 | break; | +| TypeAccesses.cs:1:7:1:18 | After call to constructor Object | TypeAccesses.cs:1:7:1:18 | {...} | +| TypeAccesses.cs:1:7:1:18 | After call to method | TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | +| TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | TypeAccesses.cs:1:7:1:18 | call to constructor Object | +| TypeAccesses.cs:1:7:1:18 | Before call to method | TypeAccesses.cs:1:7:1:18 | this access | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | Before call to method | +| TypeAccesses.cs:1:7:1:18 | Normal Exit | TypeAccesses.cs:1:7:1:18 | Exit | +| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | After call to constructor Object | +| TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | After call to method | | TypeAccesses.cs:1:7:1:18 | this access | TypeAccesses.cs:1:7:1:18 | call to method | -| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:4:5:9:5 | {...} | -| TypeAccesses.cs:3:10:3:10 | exit M (normal) | TypeAccesses.cs:3:10:3:10 | exit M | +| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | Normal Exit | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:4:5:9:5 | {...} | +| TypeAccesses.cs:3:10:3:10 | Normal Exit | TypeAccesses.cs:3:10:3:10 | Exit | +| TypeAccesses.cs:4:5:9:5 | After {...} | TypeAccesses.cs:3:10:3:10 | Normal Exit | | TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:5:9:5:26 | ... ...; | -| TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:25:5:25 | access to parameter o | -| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:6:9:6:24 | ...; | -| TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:13:5:25 | String s = ... | +| TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:13:5:25 | Before String s = ... | +| TypeAccesses.cs:5:9:5:26 | After ... ...; | TypeAccesses.cs:6:9:6:24 | ...; | +| TypeAccesses.cs:5:13:5:13 | access to local variable s | TypeAccesses.cs:5:17:5:25 | Before (...) ... | +| TypeAccesses.cs:5:13:5:25 | After String s = ... | TypeAccesses.cs:5:9:5:26 | After ... ...; | +| TypeAccesses.cs:5:13:5:25 | Before String s = ... | TypeAccesses.cs:5:13:5:13 | access to local variable s | +| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:13:5:25 | After String s = ... | +| TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:17:5:25 | After (...) ... | +| TypeAccesses.cs:5:17:5:25 | After (...) ... | TypeAccesses.cs:5:13:5:25 | String s = ... | +| TypeAccesses.cs:5:17:5:25 | Before (...) ... | TypeAccesses.cs:5:25:5:25 | access to parameter o | | TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:17:5:25 | (...) ... | -| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:7:9:7:25 | if (...) ... | -| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:13:6:13 | access to parameter o | +| TypeAccesses.cs:6:9:6:9 | access to local variable s | TypeAccesses.cs:6:13:6:23 | Before ... as ... | +| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:9:6:23 | After ... = ... | +| TypeAccesses.cs:6:9:6:23 | After ... = ... | TypeAccesses.cs:6:9:6:24 | After ...; | +| TypeAccesses.cs:6:9:6:23 | Before ... = ... | TypeAccesses.cs:6:9:6:9 | access to local variable s | +| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:9:6:23 | Before ... = ... | +| TypeAccesses.cs:6:9:6:24 | After ...; | TypeAccesses.cs:7:9:7:25 | if (...) ... | | TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:13:6:23 | ... as ... | -| TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:9:6:23 | ... = ... | -| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:13:7:13 | access to parameter o | -| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:18:7:22 | Int32 j | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:25:7:25 | ; | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:17:8:27 | typeof(...) | -| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:3:10:3:10 | exit M (normal) | +| TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:13:6:23 | After ... as ... | +| TypeAccesses.cs:6:13:6:23 | After ... as ... | TypeAccesses.cs:6:9:6:23 | ... = ... | +| TypeAccesses.cs:6:13:6:23 | Before ... as ... | TypeAccesses.cs:6:13:6:13 | access to parameter o | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:8:9:8:28 | ... ...; | +| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:13:7:22 | Before ... is ... | +| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:13:7:22 | ... is ... | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | TypeAccesses.cs:7:25:7:25 | ; | +| TypeAccesses.cs:7:13:7:22 | Before ... is ... | TypeAccesses.cs:7:13:7:13 | access to parameter o | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:7:18:7:22 | Int32 j | +| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | +| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:13:8:27 | Before Type t = ... | +| TypeAccesses.cs:8:9:8:28 | After ... ...; | TypeAccesses.cs:4:5:9:5 | After {...} | +| TypeAccesses.cs:8:13:8:13 | access to local variable t | TypeAccesses.cs:8:17:8:27 | typeof(...) | +| TypeAccesses.cs:8:13:8:27 | After Type t = ... | TypeAccesses.cs:8:9:8:28 | After ... ...; | +| TypeAccesses.cs:8:13:8:27 | Before Type t = ... | TypeAccesses.cs:8:13:8:13 | access to local variable t | +| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:8:13:8:27 | After Type t = ... | | TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:13:8:27 | Type t = ... | -| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | {...} | -| VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | call to constructor Object | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | this access | -| VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | VarDecls.cs:3:7:3:14 | exit VarDecls | +| VarDecls.cs:3:7:3:14 | After call to constructor Object | VarDecls.cs:3:7:3:14 | {...} | +| VarDecls.cs:3:7:3:14 | After call to method | VarDecls.cs:3:7:3:14 | Before call to constructor Object | +| VarDecls.cs:3:7:3:14 | Before call to constructor Object | VarDecls.cs:3:7:3:14 | call to constructor Object | +| VarDecls.cs:3:7:3:14 | Before call to method | VarDecls.cs:3:7:3:14 | this access | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | Before call to method | +| VarDecls.cs:3:7:3:14 | Normal Exit | VarDecls.cs:3:7:3:14 | Exit | +| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | After call to constructor Object | +| VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | After call to method | | VarDecls.cs:3:7:3:14 | this access | VarDecls.cs:3:7:3:14 | call to method | -| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:6:5:11:5 | {...} | -| VarDecls.cs:5:18:5:19 | exit M1 (normal) | VarDecls.cs:5:18:5:19 | exit M1 | +| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | Normal Exit | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:6:5:11:5 | {...} | +| VarDecls.cs:5:18:5:19 | Normal Exit | VarDecls.cs:5:18:5:19 | Exit | | VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | -| VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:7:27:7:33 | access to parameter strings | -| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:44:7:50 | access to parameter strings | +| VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | +| VarDecls.cs:7:22:7:23 | access to local variable c1 | VarDecls.cs:7:27:7:36 | Before (...) ... | +| VarDecls.cs:7:22:7:36 | After Char* c1 = ... | VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | +| VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | VarDecls.cs:7:22:7:23 | access to local variable c1 | +| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:22:7:36 | After Char* c1 = ... | | VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:35:7:35 | 0 | -| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:22:7:36 | Char* c1 = ... | -| VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:27:7:36 | (...) ... | +| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:27:7:36 | After (...) ... | +| VarDecls.cs:7:27:7:36 | After (...) ... | VarDecls.cs:7:22:7:36 | Char* c1 = ... | +| VarDecls.cs:7:27:7:36 | After access to array element | VarDecls.cs:7:27:7:36 | (...) ... | +| VarDecls.cs:7:27:7:36 | Before (...) ... | VarDecls.cs:7:27:7:36 | Before access to array element | +| VarDecls.cs:7:27:7:36 | Before access to array element | VarDecls.cs:7:27:7:33 | access to parameter strings | +| VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:27:7:36 | After access to array element | | VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:7:27:7:36 | access to array element | -| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:8:9:10:9 | {...} | +| VarDecls.cs:7:39:7:40 | access to local variable c2 | VarDecls.cs:7:44:7:53 | Before (...) ... | +| VarDecls.cs:7:39:7:53 | After Char* c2 = ... | VarDecls.cs:8:9:10:9 | {...} | +| VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | VarDecls.cs:7:39:7:40 | access to local variable c2 | +| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:39:7:53 | After Char* c2 = ... | | VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:52:7:52 | 1 | -| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:39:7:53 | Char* c2 = ... | -| VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:44:7:53 | (...) ... | +| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:44:7:53 | After (...) ... | +| VarDecls.cs:7:44:7:53 | After (...) ... | VarDecls.cs:7:39:7:53 | Char* c2 = ... | +| VarDecls.cs:7:44:7:53 | After access to array element | VarDecls.cs:7:44:7:53 | (...) ... | +| VarDecls.cs:7:44:7:53 | Before (...) ... | VarDecls.cs:7:44:7:53 | Before access to array element | +| VarDecls.cs:7:44:7:53 | Before access to array element | VarDecls.cs:7:44:7:50 | access to parameter strings | +| VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:44:7:53 | After access to array element | | VarDecls.cs:7:52:7:52 | 1 | VarDecls.cs:7:44:7:53 | access to array element | -| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:9:27:9:28 | access to local variable c1 | -| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:5:18:5:19 | exit M1 (normal) | -| VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:13:9:29 | return ...; | +| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:9:13:9:29 | Before return ...; | +| VarDecls.cs:9:13:9:29 | Before return ...; | VarDecls.cs:9:20:9:28 | Before (...) ... | +| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:5:18:5:19 | Normal Exit | +| VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:20:9:28 | After (...) ... | +| VarDecls.cs:9:20:9:28 | After (...) ... | VarDecls.cs:9:13:9:29 | return ...; | +| VarDecls.cs:9:20:9:28 | Before (...) ... | VarDecls.cs:9:27:9:28 | access to local variable c1 | | VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:9:20:9:28 | (...) ... | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:14:5:17:5 | {...} | -| VarDecls.cs:13:12:13:13 | exit M2 (normal) | VarDecls.cs:13:12:13:13 | exit M2 | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:14:5:17:5 | {...} | +| VarDecls.cs:13:12:13:13 | Normal Exit | VarDecls.cs:13:12:13:13 | Exit | | VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:15:9:15:30 | ... ...; | -| VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:21:15:21 | access to parameter s | -| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:29:15:29 | access to parameter s | +| VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:16:15:21 | Before String s1 = ... | +| VarDecls.cs:15:9:15:30 | After ... ...; | VarDecls.cs:16:9:16:23 | Before return ...; | +| VarDecls.cs:15:16:15:17 | access to local variable s1 | VarDecls.cs:15:21:15:21 | access to parameter s | +| VarDecls.cs:15:16:15:21 | After String s1 = ... | VarDecls.cs:15:24:15:29 | Before String s2 = ... | +| VarDecls.cs:15:16:15:21 | Before String s1 = ... | VarDecls.cs:15:16:15:17 | access to local variable s1 | +| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:16:15:21 | After String s1 = ... | | VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:16:15:21 | String s1 = ... | -| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:16:16:16:17 | access to local variable s1 | +| VarDecls.cs:15:24:15:25 | access to local variable s2 | VarDecls.cs:15:29:15:29 | access to parameter s | +| VarDecls.cs:15:24:15:29 | After String s2 = ... | VarDecls.cs:15:9:15:30 | After ... ...; | +| VarDecls.cs:15:24:15:29 | Before String s2 = ... | VarDecls.cs:15:24:15:25 | access to local variable s2 | +| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:15:24:15:29 | After String s2 = ... | | VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:24:15:29 | String s2 = ... | -| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:13:12:13:13 | exit M2 (normal) | +| VarDecls.cs:16:9:16:23 | Before return ...; | VarDecls.cs:16:16:16:22 | Before ... + ... | +| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:13:12:13:13 | Normal Exit | | VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:16:21:16:22 | access to local variable s2 | -| VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:9:16:23 | return ...; | +| VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:16:16:22 | After ... + ... | +| VarDecls.cs:16:16:16:22 | After ... + ... | VarDecls.cs:16:9:16:23 | return ...; | +| VarDecls.cs:16:16:16:22 | Before ... + ... | VarDecls.cs:16:16:16:17 | access to local variable s1 | | VarDecls.cs:16:21:16:22 | access to local variable s2 | VarDecls.cs:16:16:16:22 | ... + ... | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:20:5:26:5 | {...} | -| VarDecls.cs:19:7:19:8 | exit M3 (normal) | VarDecls.cs:19:7:19:8 | exit M3 | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:20:5:26:5 | {...} | +| VarDecls.cs:19:7:19:8 | Normal Exit | VarDecls.cs:19:7:19:8 | Exit | | VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:21:9:22:13 | using (...) {...} | -| VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:21:16:21:22 | object creation of type C | -| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:22:13:22:13 | ; | -| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:24:9:25:29 | using (...) {...} | -| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:24:22:24:28 | object creation of type C | -| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:35:24:41 | object creation of type C | -| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:18:24:28 | C x = ... | -| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:25:20:25:20 | access to parameter b | -| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:31:24:41 | C y = ... | -| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:19:7:19:8 | exit M3 (normal) | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:24:25:24 | access to local variable x | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:28:25:28 | access to local variable y | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:13:25:29 | return ...; | -| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | {...} | -| VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | call to constructor Object | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | this access | -| VarDecls.cs:28:11:28:11 | exit C (normal) | VarDecls.cs:28:11:28:11 | exit C | +| VarDecls.cs:21:9:22:13 | After using (...) {...} | VarDecls.cs:24:9:25:29 | using (...) {...} | +| VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:21:16:21:22 | Before object creation of type C | +| VarDecls.cs:21:16:21:22 | After object creation of type C | VarDecls.cs:22:13:22:13 | ; | +| VarDecls.cs:21:16:21:22 | Before object creation of type C | VarDecls.cs:21:16:21:22 | object creation of type C | +| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:21:16:21:22 | After object creation of type C | +| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:21:9:22:13 | After using (...) {...} | +| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:24:18:24:28 | Before C x = ... | +| VarDecls.cs:24:18:24:18 | access to local variable x | VarDecls.cs:24:22:24:28 | Before object creation of type C | +| VarDecls.cs:24:18:24:28 | After C x = ... | VarDecls.cs:24:31:24:41 | Before C y = ... | +| VarDecls.cs:24:18:24:28 | Before C x = ... | VarDecls.cs:24:18:24:18 | access to local variable x | +| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:18:24:28 | After C x = ... | +| VarDecls.cs:24:22:24:28 | After object creation of type C | VarDecls.cs:24:18:24:28 | C x = ... | +| VarDecls.cs:24:22:24:28 | Before object creation of type C | VarDecls.cs:24:22:24:28 | object creation of type C | +| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:22:24:28 | After object creation of type C | +| VarDecls.cs:24:31:24:31 | access to local variable y | VarDecls.cs:24:35:24:41 | Before object creation of type C | +| VarDecls.cs:24:31:24:41 | After C y = ... | VarDecls.cs:25:13:25:29 | Before return ...; | +| VarDecls.cs:24:31:24:41 | Before C y = ... | VarDecls.cs:24:31:24:31 | access to local variable y | +| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:31:24:41 | After C y = ... | +| VarDecls.cs:24:35:24:41 | After object creation of type C | VarDecls.cs:24:31:24:41 | C y = ... | +| VarDecls.cs:24:35:24:41 | Before object creation of type C | VarDecls.cs:24:35:24:41 | object creation of type C | +| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:35:24:41 | After object creation of type C | +| VarDecls.cs:25:13:25:29 | Before return ...; | VarDecls.cs:25:20:25:28 | ... ? ... : ... | +| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:19:7:19:8 | Normal Exit | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:25:28:25:28 | access to local variable y | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:25:24:25:24 | access to local variable x | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | +| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:20 | access to parameter b | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:13:25:29 | return ...; | +| VarDecls.cs:28:11:28:11 | After call to constructor Object | VarDecls.cs:28:11:28:11 | {...} | +| VarDecls.cs:28:11:28:11 | After call to method | VarDecls.cs:28:11:28:11 | Before call to constructor Object | +| VarDecls.cs:28:11:28:11 | Before call to constructor Object | VarDecls.cs:28:11:28:11 | call to constructor Object | +| VarDecls.cs:28:11:28:11 | Before call to method | VarDecls.cs:28:11:28:11 | this access | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | Before call to method | +| VarDecls.cs:28:11:28:11 | Normal Exit | VarDecls.cs:28:11:28:11 | Exit | +| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | After call to constructor Object | +| VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | After call to method | | VarDecls.cs:28:11:28:11 | this access | VarDecls.cs:28:11:28:11 | call to method | -| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | exit C (normal) | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:51:28:53 | {...} | -| VarDecls.cs:28:41:28:47 | exit Dispose (normal) | VarDecls.cs:28:41:28:47 | exit Dispose | -| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | exit Dispose (normal) | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:6:5:35:5 | {...} | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | exit Main | +| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | Normal Exit | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:51:28:53 | {...} | +| VarDecls.cs:28:41:28:47 | Normal Exit | VarDecls.cs:28:41:28:47 | Exit | +| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | Normal Exit | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:6:5:35:5 | {...} | +| cflow.cs:5:17:5:20 | Normal Exit | cflow.cs:5:17:5:20 | Exit | +| cflow.cs:6:5:35:5 | After {...} | cflow.cs:5:17:5:20 | Normal Exit | | cflow.cs:6:5:35:5 | {...} | cflow.cs:7:9:7:28 | ... ...; | -| cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:17:7:20 | access to parameter args | -| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:9:9:9:40 | ...; | +| cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:13:7:27 | Before Int32 a = ... | +| cflow.cs:7:9:7:28 | After ... ...; | cflow.cs:9:9:9:40 | ...; | +| cflow.cs:7:13:7:13 | access to local variable a | cflow.cs:7:17:7:27 | Before access to property Length | +| cflow.cs:7:13:7:27 | After Int32 a = ... | cflow.cs:7:9:7:28 | After ... ...; | +| cflow.cs:7:13:7:27 | Before Int32 a = ... | cflow.cs:7:13:7:13 | access to local variable a | +| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:13:7:27 | After Int32 a = ... | | cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:17:7:27 | access to property Length | -| cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:13:7:27 | Int32 a = ... | -| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:11:9:12:49 | if (...) ... | -| cflow.cs:9:9:9:40 | ...; | cflow.cs:9:13:9:29 | object creation of type ControlFlow | -| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:38:9:38 | access to local variable a | -| cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:9:9:39 | ... = ... | +| cflow.cs:7:17:7:27 | After access to property Length | cflow.cs:7:13:7:27 | Int32 a = ... | +| cflow.cs:7:17:7:27 | Before access to property Length | cflow.cs:7:17:7:20 | access to parameter args | +| cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:17:7:27 | After access to property Length | +| cflow.cs:9:9:9:9 | access to local variable a | cflow.cs:9:13:9:39 | Before call to method Switch | +| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:9:9:39 | After ... = ... | +| cflow.cs:9:9:9:39 | After ... = ... | cflow.cs:9:9:9:40 | After ...; | +| cflow.cs:9:9:9:39 | Before ... = ... | cflow.cs:9:9:9:9 | access to local variable a | +| cflow.cs:9:9:9:40 | ...; | cflow.cs:9:9:9:39 | Before ... = ... | +| cflow.cs:9:9:9:40 | After ...; | cflow.cs:11:9:12:49 | if (...) ... | +| cflow.cs:9:13:9:29 | After object creation of type ControlFlow | cflow.cs:9:38:9:38 | access to local variable a | +| cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | cflow.cs:9:13:9:29 | object creation of type ControlFlow | +| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:13:9:29 | After object creation of type ControlFlow | +| cflow.cs:9:13:9:39 | After call to method Switch | cflow.cs:9:9:9:39 | ... = ... | +| cflow.cs:9:13:9:39 | Before call to method Switch | cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | +| cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:13:9:39 | After call to method Switch | | cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:9:13:9:39 | call to method Switch | -| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:11:13:11:13 | access to local variable a | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:14:9:17:9 | while (...) ... | +| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:11:13:11:17 | Before ... > ... | | cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:11:17:11:17 | 3 | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:14:9:17:9 | while (...) ... | +| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:12:13:12:49 | ...; | +| cflow.cs:11:13:11:17 | Before ... > ... | cflow.cs:11:13:11:13 | access to local variable a | | cflow.cs:11:17:11:17 | 3 | cflow.cs:11:13:11:17 | ... > ... | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:31:12:47 | "more than a few" | +| cflow.cs:12:13:12:48 | After call to method WriteLine | cflow.cs:12:13:12:49 | After ...; | +| cflow.cs:12:13:12:48 | Before call to method WriteLine | cflow.cs:12:31:12:47 | "more than a few" | +| cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:12:13:12:48 | After call to method WriteLine | +| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:13:12:48 | Before call to method WriteLine | | cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:12:13:12:48 | call to method WriteLine | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:16:14:16 | access to local variable a | +| cflow.cs:14:9:17:9 | After while (...) ... | cflow.cs:19:9:22:25 | do ... while (...); | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | Before ... > ... | +| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | | cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:20:14:20 | 0 | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:19:9:22:25 | do ... while (...); | +| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:9:17:9 | After while (...) ... | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:15:9:17:9 | {...} | +| cflow.cs:14:16:14:20 | Before ... > ... | cflow.cs:14:16:14:16 | access to local variable a | | cflow.cs:14:20:14:20 | 0 | cflow.cs:14:16:14:20 | ... > ... | | cflow.cs:15:9:17:9 | {...} | cflow.cs:16:13:16:41 | ...; | -| cflow.cs:16:13:16:41 | ...; | cflow.cs:16:31:16:31 | access to local variable a | +| cflow.cs:16:13:16:40 | After call to method WriteLine | cflow.cs:16:13:16:41 | After ...; | +| cflow.cs:16:13:16:40 | Before call to method WriteLine | cflow.cs:16:31:16:39 | Before ... * ... | +| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:16:13:16:40 | After call to method WriteLine | +| cflow.cs:16:13:16:41 | ...; | cflow.cs:16:13:16:40 | Before call to method WriteLine | +| cflow.cs:16:13:16:41 | After ...; | cflow.cs:15:9:17:9 | After {...} | | cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:16:31:16:33 | ...-- | -| cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:37:16:39 | 100 | -| cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:13:16:40 | call to method WriteLine | +| cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:31:16:33 | After ...-- | +| cflow.cs:16:31:16:33 | After ...-- | cflow.cs:16:37:16:39 | 100 | +| cflow.cs:16:31:16:33 | Before ...-- | cflow.cs:16:31:16:31 | access to local variable a | +| cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:31:16:39 | After ... * ... | +| cflow.cs:16:31:16:39 | After ... * ... | cflow.cs:16:13:16:40 | call to method WriteLine | +| cflow.cs:16:31:16:39 | Before ... * ... | cflow.cs:16:31:16:33 | Before ...-- | | cflow.cs:16:37:16:39 | 100 | cflow.cs:16:31:16:39 | ... * ... | +| cflow.cs:19:9:22:25 | After do ... while (...); | cflow.cs:24:9:34:9 | for (...;...;...) ... | +| cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | cflow.cs:22:18:22:23 | Before ... < ... | | cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:20:9:22:9 | After {...} | cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | | cflow.cs:20:9:22:9 | {...} | cflow.cs:21:13:21:36 | ...; | -| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:22:18:22:18 | access to local variable a | -| cflow.cs:21:13:21:36 | ...; | cflow.cs:21:32:21:32 | access to local variable a | -| cflow.cs:21:31:21:34 | -... | cflow.cs:21:13:21:35 | call to method WriteLine | +| cflow.cs:21:13:21:35 | After call to method WriteLine | cflow.cs:21:13:21:36 | After ...; | +| cflow.cs:21:13:21:35 | Before call to method WriteLine | cflow.cs:21:31:21:34 | Before -... | +| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:21:13:21:35 | After call to method WriteLine | +| cflow.cs:21:13:21:36 | ...; | cflow.cs:21:13:21:35 | Before call to method WriteLine | +| cflow.cs:21:13:21:36 | After ...; | cflow.cs:20:9:22:9 | After {...} | +| cflow.cs:21:31:21:34 | -... | cflow.cs:21:31:21:34 | After -... | +| cflow.cs:21:31:21:34 | After -... | cflow.cs:21:13:21:35 | call to method WriteLine | +| cflow.cs:21:31:21:34 | Before -... | cflow.cs:21:32:21:34 | Before ...++ | | cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:21:32:21:34 | ...++ | -| cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:31:21:34 | -... | +| cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:32:21:34 | After ...++ | +| cflow.cs:21:32:21:34 | After ...++ | cflow.cs:21:31:21:34 | -... | +| cflow.cs:21:32:21:34 | Before ...++ | cflow.cs:21:32:21:32 | access to local variable a | | cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:22:22:22:23 | 10 | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | +| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:19:9:22:25 | After do ... while (...); | +| cflow.cs:22:18:22:23 | Before ... < ... | cflow.cs:22:18:22:18 | access to local variable a | | cflow.cs:22:22:22:23 | 10 | cflow.cs:22:18:22:23 | ... < ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:22:24:22 | 1 | -| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:25:24:25 | access to local variable i | +| cflow.cs:24:9:34:9 | After for (...;...;...) ... | cflow.cs:6:5:35:5 | After {...} | +| cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:24:34:24:36 | Before ...++ | +| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:18:24:22 | Before Int32 i = ... | +| cflow.cs:24:18:24:18 | access to local variable i | cflow.cs:24:22:24:22 | 1 | +| cflow.cs:24:18:24:22 | After Int32 i = ... | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:24:18:24:22 | Before Int32 i = ... | cflow.cs:24:18:24:18 | access to local variable i | +| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:18:24:22 | After Int32 i = ... | | cflow.cs:24:22:24:22 | 1 | cflow.cs:24:18:24:22 | Int32 i = ... | | cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:30:24:31 | 20 | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:25:9:34:9 | {...} | +| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:9:34:9 | After for (...;...;...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:25:9:34:9 | {...} | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:25 | access to local variable i | | cflow.cs:24:30:24:31 | 20 | cflow.cs:24:25:24:31 | ... <= ... | | cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:36 | ...++ | +| cflow.cs:24:34:24:36 | ...++ | cflow.cs:24:34:24:36 | After ...++ | +| cflow.cs:24:34:24:36 | Before ...++ | cflow.cs:24:34:24:34 | access to local variable i | +| cflow.cs:25:9:34:9 | After {...} | cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | | cflow.cs:25:9:34:9 | {...} | cflow.cs:26:13:33:37 | if (...) ... | -| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:26:17:26:17 | access to local variable i | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:25:9:34:9 | After {...} | +| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:26:17:26:40 | ... && ... | | cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:21:26:21 | 3 | -| cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:26:26:26 | 0 | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:27:17:27:46 | ...; | +| cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:17:26:21 | After ... % ... | +| cflow.cs:26:17:26:21 | After ... % ... | cflow.cs:26:26:26:26 | 0 | +| cflow.cs:26:17:26:21 | Before ... % ... | cflow.cs:26:17:26:17 | access to local variable i | +| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | Before ... == ... | +| cflow.cs:26:17:26:26 | Before ... == ... | cflow.cs:26:17:26:21 | Before ... % ... | +| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:26 | Before ... == ... | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:18:33:37 | if (...) ... | +| cflow.cs:26:17:26:40 | After ... && ... [true] | cflow.cs:27:17:27:46 | ...; | | cflow.cs:26:21:26:21 | 3 | cflow.cs:26:17:26:21 | ... % ... | | cflow.cs:26:26:26:26 | 0 | cflow.cs:26:17:26:26 | ... == ... | | cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:35:26:35 | 5 | -| cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:40:26:40 | 0 | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:17:26:40 | [true] ... && ... | +| cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:31:26:35 | After ... % ... | +| cflow.cs:26:31:26:35 | After ... % ... | cflow.cs:26:40:26:40 | 0 | +| cflow.cs:26:31:26:35 | Before ... % ... | cflow.cs:26:31:26:31 | access to local variable i | +| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:26:17:26:40 | After ... && ... [true] | +| cflow.cs:26:31:26:40 | Before ... == ... | cflow.cs:26:31:26:35 | Before ... % ... | | cflow.cs:26:35:26:35 | 5 | cflow.cs:26:31:26:35 | ... % ... | | cflow.cs:26:40:26:40 | 0 | cflow.cs:26:31:26:40 | ... == ... | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:35:27:44 | "FizzBuzz" | +| cflow.cs:27:17:27:45 | After call to method WriteLine | cflow.cs:27:17:27:46 | After ...; | +| cflow.cs:27:17:27:45 | Before call to method WriteLine | cflow.cs:27:35:27:44 | "FizzBuzz" | +| cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:27:17:27:45 | After call to method WriteLine | +| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:17:27:45 | Before call to method WriteLine | | cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:27:17:27:45 | call to method WriteLine | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:22:28:22 | access to local variable i | +| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:22:28:31 | Before ... == ... | | cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:28:26:28:26 | 3 | -| cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:31:28:31 | 0 | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:30:18:33:37 | if (...) ... | +| cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:22:28:26 | After ... % ... | +| cflow.cs:28:22:28:26 | After ... % ... | cflow.cs:28:31:28:31 | 0 | +| cflow.cs:28:22:28:26 | Before ... % ... | cflow.cs:28:22:28:22 | access to local variable i | +| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:18:33:37 | if (...) ... | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:29:17:29:42 | ...; | +| cflow.cs:28:22:28:31 | Before ... == ... | cflow.cs:28:22:28:26 | Before ... % ... | | cflow.cs:28:26:28:26 | 3 | cflow.cs:28:22:28:26 | ... % ... | | cflow.cs:28:31:28:31 | 0 | cflow.cs:28:22:28:31 | ... == ... | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:35:29:40 | "Fizz" | +| cflow.cs:29:17:29:41 | After call to method WriteLine | cflow.cs:29:17:29:42 | After ...; | +| cflow.cs:29:17:29:41 | Before call to method WriteLine | cflow.cs:29:35:29:40 | "Fizz" | +| cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:29:17:29:41 | After call to method WriteLine | +| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:17:29:41 | Before call to method WriteLine | | cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:29:17:29:41 | call to method WriteLine | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:22:30:22 | access to local variable i | +| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:22:30:31 | Before ... == ... | | cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:30:26:30:26 | 5 | -| cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:31:30:31 | 0 | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:33:17:33:37 | ...; | +| cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:22:30:26 | After ... % ... | +| cflow.cs:30:22:30:26 | After ... % ... | cflow.cs:30:31:30:31 | 0 | +| cflow.cs:30:22:30:26 | Before ... % ... | cflow.cs:30:22:30:22 | access to local variable i | +| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:33:17:33:37 | ...; | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:31:17:31:42 | ...; | +| cflow.cs:30:22:30:31 | Before ... == ... | cflow.cs:30:22:30:26 | Before ... % ... | | cflow.cs:30:26:30:26 | 5 | cflow.cs:30:22:30:26 | ... % ... | | cflow.cs:30:31:30:31 | 0 | cflow.cs:30:22:30:31 | ... == ... | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:35:31:40 | "Buzz" | +| cflow.cs:31:17:31:41 | After call to method WriteLine | cflow.cs:31:17:31:42 | After ...; | +| cflow.cs:31:17:31:41 | Before call to method WriteLine | cflow.cs:31:35:31:40 | "Buzz" | +| cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:31:17:31:41 | After call to method WriteLine | +| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:17:31:41 | Before call to method WriteLine | | cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:31:17:31:41 | call to method WriteLine | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:35:33:35 | access to local variable i | +| cflow.cs:33:17:33:36 | After call to method WriteLine | cflow.cs:33:17:33:37 | After ...; | +| cflow.cs:33:17:33:36 | Before call to method WriteLine | cflow.cs:33:35:33:35 | access to local variable i | +| cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:33:17:33:36 | After call to method WriteLine | +| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:17:33:36 | Before call to method WriteLine | | cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:33:17:33:36 | call to method WriteLine | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:38:5:68:5 | {...} | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:38:5:68:5 | {...} | | cflow.cs:38:5:68:5 | {...} | cflow.cs:39:9:50:9 | switch (...) {...} | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:51:9:59:9 | switch (...) {...} | | cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:39:17:39:17 | access to parameter a | | cflow.cs:39:17:39:17 | access to parameter a | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:18:41:18 | 1 | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:41:18:41:18 | 1 | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | case ...: | +| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:13:41:19 | After case ...: [match] | +| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:13:41:19 | After case ...: [no-match] | | cflow.cs:41:18:41:18 | 1 | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:41:18:41:18 | 1 | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:43:27:43:27 | 2 | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:35:42:37 | "1" | +| cflow.cs:42:17:42:38 | After call to method WriteLine | cflow.cs:42:17:42:39 | After ...; | +| cflow.cs:42:17:42:38 | Before call to method WriteLine | cflow.cs:42:35:42:37 | "1" | +| cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:42:17:42:38 | After call to method WriteLine | +| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:17:42:38 | Before call to method WriteLine | +| cflow.cs:42:17:42:39 | After ...; | cflow.cs:43:17:43:28 | Before goto case ...; | | cflow.cs:42:35:42:37 | "1" | cflow.cs:42:17:42:38 | call to method WriteLine | +| cflow.cs:43:17:43:28 | Before goto case ...; | cflow.cs:43:27:43:27 | 2 | | cflow.cs:43:27:43:27 | 2 | cflow.cs:43:17:43:28 | goto case ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:18:44:18 | 2 | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:44:18:44:18 | 2 | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | case ...: | +| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:13:44:19 | After case ...: [no-match] | | cflow.cs:44:18:44:18 | 2 | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:44:18:44:18 | 2 | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:46:27:46:27 | 1 | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:35:45:37 | "2" | +| cflow.cs:45:17:45:38 | After call to method WriteLine | cflow.cs:45:17:45:39 | After ...; | +| cflow.cs:45:17:45:38 | Before call to method WriteLine | cflow.cs:45:35:45:37 | "2" | +| cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:45:17:45:38 | After call to method WriteLine | +| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:17:45:38 | Before call to method WriteLine | +| cflow.cs:45:17:45:39 | After ...; | cflow.cs:46:17:46:28 | Before goto case ...; | | cflow.cs:45:35:45:37 | "2" | cflow.cs:45:17:45:38 | call to method WriteLine | +| cflow.cs:46:17:46:28 | Before goto case ...; | cflow.cs:46:27:46:27 | 1 | | cflow.cs:46:27:46:27 | 1 | cflow.cs:46:17:46:28 | goto case ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:18:47:18 | 3 | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:47:18:47:18 | 3 | +| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:13:47:19 | After case ...: [no-match] | | cflow.cs:47:18:47:18 | 3 | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:47:18:47:18 | 3 | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:49:17:49:22 | break; | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:35:48:37 | "3" | +| cflow.cs:48:17:48:38 | After call to method WriteLine | cflow.cs:48:17:48:39 | After ...; | +| cflow.cs:48:17:48:38 | Before call to method WriteLine | cflow.cs:48:35:48:37 | "3" | +| cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:48:17:48:38 | After call to method WriteLine | +| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:17:48:38 | Before call to method WriteLine | +| cflow.cs:48:17:48:39 | After ...; | cflow.cs:49:17:49:22 | Before break; | | cflow.cs:48:35:48:37 | "3" | cflow.cs:48:17:48:38 | call to method WriteLine | +| cflow.cs:49:17:49:22 | Before break; | cflow.cs:49:17:49:22 | break; | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:60:9:66:9 | switch (...) {...} | | cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:51:17:51:17 | access to parameter a | | cflow.cs:51:17:51:17 | access to parameter a | cflow.cs:53:13:53:20 | case ...: | -| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:18:53:19 | 42 | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:53:18:53:19 | 42 | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:56:13:56:20 | default: | +| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:13:53:20 | After case ...: [no-match] | | cflow.cs:53:18:53:19 | 42 | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:53:18:53:19 | 42 | cflow.cs:56:13:56:20 | default: | -| cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:55:17:55:22 | break; | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:35:54:46 | "The answer" | +| cflow.cs:54:17:54:47 | After call to method WriteLine | cflow.cs:54:17:54:48 | After ...; | +| cflow.cs:54:17:54:47 | Before call to method WriteLine | cflow.cs:54:35:54:46 | "The answer" | +| cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:54:17:54:47 | After call to method WriteLine | +| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:17:54:47 | Before call to method WriteLine | +| cflow.cs:54:17:54:48 | After ...; | cflow.cs:55:17:55:22 | Before break; | | cflow.cs:54:35:54:46 | "The answer" | cflow.cs:54:17:54:47 | call to method WriteLine | -| cflow.cs:56:13:56:20 | default: | cflow.cs:57:17:57:52 | ...; | -| cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:58:17:58:22 | break; | -| cflow.cs:57:17:57:52 | ...; | cflow.cs:57:35:57:50 | "Not the answer" | +| cflow.cs:55:17:55:22 | Before break; | cflow.cs:55:17:55:22 | break; | +| cflow.cs:56:13:56:20 | After default: [match] | cflow.cs:57:17:57:52 | ...; | +| cflow.cs:56:13:56:20 | default: | cflow.cs:56:13:56:20 | After default: [match] | +| cflow.cs:57:17:57:51 | After call to method WriteLine | cflow.cs:57:17:57:52 | After ...; | +| cflow.cs:57:17:57:51 | Before call to method WriteLine | cflow.cs:57:35:57:50 | "Not the answer" | +| cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:57:17:57:51 | After call to method WriteLine | +| cflow.cs:57:17:57:52 | ...; | cflow.cs:57:17:57:51 | Before call to method WriteLine | +| cflow.cs:57:17:57:52 | After ...; | cflow.cs:58:17:58:22 | Before break; | | cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:57:17:57:51 | call to method WriteLine | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:27:60:31 | this access | -| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:62:13:62:19 | case ...: | -| cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:17:60:32 | call to method Parse | +| cflow.cs:58:17:58:22 | Before break; | cflow.cs:58:17:58:22 | break; | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:67:9:67:17 | Before return ...; | +| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:17:60:32 | Before call to method Parse | +| cflow.cs:60:17:60:32 | After call to method Parse | cflow.cs:62:13:62:19 | case ...: | +| cflow.cs:60:17:60:32 | Before call to method Parse | cflow.cs:60:27:60:31 | Before access to field Field | +| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:60:17:60:32 | After call to method Parse | +| cflow.cs:60:27:60:31 | After access to field Field | cflow.cs:60:17:60:32 | call to method Parse | +| cflow.cs:60:27:60:31 | Before access to field Field | cflow.cs:60:27:60:31 | this access | +| cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:27:60:31 | After access to field Field | | cflow.cs:60:27:60:31 | this access | cflow.cs:60:27:60:31 | access to field Field | -| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:18:62:18 | 0 | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:62:18:62:18 | 0 | +| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:13:62:19 | After case ...: [no-match] | | cflow.cs:62:18:62:18 | 0 | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:62:18:62:18 | 0 | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:23:63:27 | this access | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:65:17:65:22 | break; | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:32:63:33 | "" | +| cflow.cs:63:17:64:55 | After if (...) ... | cflow.cs:65:17:65:22 | Before break; | +| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | !... | +| cflow.cs:63:21:63:34 | !... | cflow.cs:63:23:63:33 | Before ... == ... | +| cflow.cs:63:21:63:34 | After !... [false] | cflow.cs:63:17:64:55 | After if (...) ... | +| cflow.cs:63:21:63:34 | After !... [true] | cflow.cs:64:21:64:55 | Before throw ...; | +| cflow.cs:63:23:63:27 | After access to field Field | cflow.cs:63:32:63:33 | "" | +| cflow.cs:63:23:63:27 | Before access to field Field | cflow.cs:63:23:63:27 | this access | +| cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:23:63:27 | After access to field Field | | cflow.cs:63:23:63:27 | this access | cflow.cs:63:23:63:27 | access to field Field | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:21:63:34 | [true] !... | +| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:63:21:63:34 | After !... [true] | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:63:21:63:34 | After !... [false] | +| cflow.cs:63:23:63:33 | Before ... == ... | cflow.cs:63:23:63:27 | Before access to field Field | | cflow.cs:63:32:63:33 | "" | cflow.cs:63:23:63:33 | ... == ... | -| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:37:17:37:22 | exit Switch (abnormal) | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:21:64:55 | throw ...; | -| cflow.cs:67:9:67:17 | return ...; | cflow.cs:37:17:37:22 | exit Switch (normal) | +| cflow.cs:64:21:64:55 | Before throw ...; | cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | +| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:37:17:37:22 | Exceptional Exit | +| cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | cflow.cs:64:21:64:55 | throw ...; | +| cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | +| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | +| cflow.cs:65:17:65:22 | Before break; | cflow.cs:65:17:65:22 | break; | +| cflow.cs:67:9:67:17 | Before return ...; | cflow.cs:67:16:67:16 | access to parameter a | +| cflow.cs:67:9:67:17 | return ...; | cflow.cs:37:17:37:22 | Normal Exit | | cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:9:67:17 | return ...; | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:71:5:82:5 | {...} | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | exit M | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:71:5:82:5 | {...} | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | Exit | | cflow.cs:71:5:82:5 | {...} | cflow.cs:72:9:73:19 | if (...) ... | -| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:72:13:72:13 | access to parameter s | +| cflow.cs:72:9:73:19 | After if (...) ... | cflow.cs:74:9:81:9 | if (...) ... | +| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:72:13:72:21 | Before ... == ... | | cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:72:18:72:21 | null | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:73:13:73:19 | return ...; | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:74:9:81:9 | if (...) ... | +| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | After ... == ... [false] | +| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | After ... == ... [true] | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:72:9:73:19 | After if (...) ... | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:73:13:73:19 | Before return ...; | +| cflow.cs:72:13:72:21 | Before ... == ... | cflow.cs:72:13:72:13 | access to parameter s | | cflow.cs:72:18:72:21 | null | cflow.cs:72:13:72:21 | ... == ... | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:13:74:13 | access to parameter s | +| cflow.cs:73:13:73:19 | Before return ...; | cflow.cs:73:13:73:19 | return ...; | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:71:5:82:5 | After {...} | +| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:13:74:24 | Before ... > ... | | cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:74:13:74:20 | access to property Length | -| cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:24:74:24 | 0 | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:79:9:81:9 | {...} | +| cflow.cs:74:13:74:20 | After access to property Length | cflow.cs:74:24:74:24 | 0 | +| cflow.cs:74:13:74:20 | Before access to property Length | cflow.cs:74:13:74:13 | access to parameter s | +| cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:13:74:20 | After access to property Length | +| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:79:9:81:9 | {...} | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:75:9:77:9 | {...} | +| cflow.cs:74:13:74:24 | Before ... > ... | cflow.cs:74:13:74:20 | Before access to property Length | | cflow.cs:74:24:74:24 | 0 | cflow.cs:74:13:74:24 | ... > ... | | cflow.cs:75:9:77:9 | {...} | cflow.cs:76:13:76:33 | ...; | -| cflow.cs:76:13:76:33 | ...; | cflow.cs:76:31:76:31 | access to parameter s | +| cflow.cs:76:13:76:32 | After call to method WriteLine | cflow.cs:76:13:76:33 | After ...; | +| cflow.cs:76:13:76:32 | Before call to method WriteLine | cflow.cs:76:31:76:31 | access to parameter s | +| cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:76:13:76:32 | After call to method WriteLine | +| cflow.cs:76:13:76:33 | ...; | cflow.cs:76:13:76:32 | Before call to method WriteLine | +| cflow.cs:76:13:76:33 | After ...; | cflow.cs:75:9:77:9 | After {...} | | cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:76:13:76:32 | call to method WriteLine | | cflow.cs:79:9:81:9 | {...} | cflow.cs:80:13:80:48 | ...; | -| cflow.cs:80:13:80:48 | ...; | cflow.cs:80:31:80:46 | "" | +| cflow.cs:80:13:80:47 | After call to method WriteLine | cflow.cs:80:13:80:48 | After ...; | +| cflow.cs:80:13:80:47 | Before call to method WriteLine | cflow.cs:80:31:80:46 | "" | +| cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:80:13:80:47 | After call to method WriteLine | +| cflow.cs:80:13:80:48 | ...; | cflow.cs:80:13:80:47 | Before call to method WriteLine | +| cflow.cs:80:13:80:48 | After ...; | cflow.cs:79:9:81:9 | After {...} | | cflow.cs:80:31:80:46 | "" | cflow.cs:80:13:80:47 | call to method WriteLine | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:85:5:88:5 | {...} | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | exit M2 | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:85:5:88:5 | {...} | +| cflow.cs:84:18:84:19 | Normal Exit | cflow.cs:84:18:84:19 | Exit | +| cflow.cs:85:5:88:5 | After {...} | cflow.cs:84:18:84:19 | Normal Exit | | cflow.cs:85:5:88:5 | {...} | cflow.cs:86:9:87:33 | if (...) ... | -| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:13:86:13 | access to parameter s | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:85:5:88:5 | After {...} | +| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:13:86:37 | ... && ... | | cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:18:86:21 | null | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:37 | [false] ... && ... | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:26:86:26 | access to parameter s | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:87:13:87:33 | ...; | +| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | After ... != ... [true] | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | Before ... > ... | +| cflow.cs:86:13:86:21 | Before ... != ... | cflow.cs:86:13:86:13 | access to parameter s | +| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:21 | Before ... != ... | +| cflow.cs:86:13:86:37 | After ... && ... [true] | cflow.cs:87:13:87:33 | ...; | | cflow.cs:86:18:86:21 | null | cflow.cs:86:13:86:21 | ... != ... | | cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:33 | access to property Length | -| cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:37:86:37 | 0 | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:13:86:37 | [true] ... && ... | +| cflow.cs:86:26:86:33 | After access to property Length | cflow.cs:86:37:86:37 | 0 | +| cflow.cs:86:26:86:33 | Before access to property Length | cflow.cs:86:26:86:26 | access to parameter s | +| cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:26:86:33 | After access to property Length | +| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | After ... > ... [true] | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:86:13:86:37 | After ... && ... [true] | +| cflow.cs:86:26:86:37 | Before ... > ... | cflow.cs:86:26:86:33 | Before access to property Length | | cflow.cs:86:37:86:37 | 0 | cflow.cs:86:26:86:37 | ... > ... | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:31:87:31 | access to parameter s | +| cflow.cs:87:13:87:32 | After call to method WriteLine | cflow.cs:87:13:87:33 | After ...; | +| cflow.cs:87:13:87:32 | Before call to method WriteLine | cflow.cs:87:31:87:31 | access to parameter s | +| cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:87:13:87:32 | After call to method WriteLine | +| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:13:87:32 | Before call to method WriteLine | | cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:87:13:87:32 | call to method WriteLine | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:91:5:104:5 | {...} | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:91:5:104:5 | {...} | +| cflow.cs:91:5:104:5 | After {...} | cflow.cs:90:18:90:19 | Normal Exit | | cflow.cs:91:5:104:5 | {...} | cflow.cs:92:9:93:49 | if (...) ... | -| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:92:20:92:20 | access to parameter s | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:93:45:93:47 | "s" | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:94:9:94:29 | ...; | +| cflow.cs:92:9:93:49 | After if (...) ... | cflow.cs:94:9:94:29 | ...; | +| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:92:13:92:27 | Before call to method Equals | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:92:9:93:49 | After if (...) ... | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:93:13:93:49 | Before throw ...; | +| cflow.cs:92:13:92:27 | Before call to method Equals | cflow.cs:92:20:92:20 | access to parameter s | +| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | After call to method Equals [true] | | cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:92:23:92:26 | null | | cflow.cs:92:23:92:26 | null | cflow.cs:92:13:92:27 | call to method Equals | -| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:90:18:90:19 | exit M3 (abnormal) | -| cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:13:93:49 | throw ...; | +| cflow.cs:93:13:93:49 | Before throw ...; | cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | +| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:90:18:90:19 | Exceptional Exit | +| cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | cflow.cs:93:13:93:49 | throw ...; | +| cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | cflow.cs:93:45:93:47 | "s" | +| cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | | cflow.cs:93:45:93:47 | "s" | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | -| cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:96:9:97:55 | if (...) ... | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:27:94:27 | access to parameter s | +| cflow.cs:94:9:94:28 | After call to method WriteLine | cflow.cs:94:9:94:29 | After ...; | +| cflow.cs:94:9:94:28 | Before call to method WriteLine | cflow.cs:94:27:94:27 | access to parameter s | +| cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:94:9:94:28 | After call to method WriteLine | +| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:9:94:28 | Before call to method WriteLine | +| cflow.cs:94:9:94:29 | After ...; | cflow.cs:96:9:97:55 | if (...) ... | | cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:94:9:94:28 | call to method WriteLine | -| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:96:13:96:17 | this access | -| cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:22:96:25 | null | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:9:100:42 | if (...) ... | +| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:96:13:96:25 | Before ... != ... | +| cflow.cs:96:13:96:17 | After access to field Field | cflow.cs:96:22:96:25 | null | +| cflow.cs:96:13:96:17 | Before access to field Field | cflow.cs:96:13:96:17 | this access | +| cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:13:96:17 | After access to field Field | | cflow.cs:96:13:96:17 | this access | cflow.cs:96:13:96:17 | access to field Field | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:99:9:100:42 | if (...) ... | +| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:97:13:97:55 | ...; | +| cflow.cs:96:13:96:25 | Before ... != ... | cflow.cs:96:13:96:17 | Before access to field Field | | cflow.cs:96:22:96:25 | null | cflow.cs:96:13:96:25 | ... != ... | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:31:97:47 | object creation of type ControlFlow | -| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:53 | access to field Field | -| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:13:97:54 | call to method WriteLine | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:17 | this access | -| cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:22:99:25 | null | +| cflow.cs:97:13:97:54 | After call to method WriteLine | cflow.cs:97:13:97:55 | After ...; | +| cflow.cs:97:13:97:54 | Before call to method WriteLine | cflow.cs:97:31:97:53 | Before access to field Field | +| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:97:13:97:54 | After call to method WriteLine | +| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:13:97:54 | Before call to method WriteLine | +| cflow.cs:97:31:97:47 | After object creation of type ControlFlow | cflow.cs:97:31:97:53 | access to field Field | +| cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | cflow.cs:97:31:97:47 | object creation of type ControlFlow | +| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:47 | After object creation of type ControlFlow | +| cflow.cs:97:31:97:53 | After access to field Field | cflow.cs:97:13:97:54 | call to method WriteLine | +| cflow.cs:97:31:97:53 | Before access to field Field | cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | +| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:31:97:53 | After access to field Field | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:9:103:36 | if (...) ... | +| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:25 | Before ... != ... | +| cflow.cs:99:13:99:17 | After access to field Field | cflow.cs:99:22:99:25 | null | +| cflow.cs:99:13:99:17 | Before access to field Field | cflow.cs:99:13:99:17 | this access | +| cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:13:99:17 | After access to field Field | | cflow.cs:99:13:99:17 | this access | cflow.cs:99:13:99:17 | access to field Field | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:102:9:103:36 | if (...) ... | +| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:100:13:100:42 | ...; | +| cflow.cs:99:13:99:25 | Before ... != ... | cflow.cs:99:13:99:17 | Before access to field Field | | cflow.cs:99:22:99:25 | null | cflow.cs:99:13:99:25 | ... != ... | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:31:100:34 | this access | +| cflow.cs:100:13:100:41 | After call to method WriteLine | cflow.cs:100:13:100:42 | After ...; | +| cflow.cs:100:13:100:41 | Before call to method WriteLine | cflow.cs:100:31:100:40 | Before access to field Field | +| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:100:13:100:41 | After call to method WriteLine | +| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:13:100:41 | Before call to method WriteLine | | cflow.cs:100:31:100:34 | this access | cflow.cs:100:31:100:40 | access to field Field | -| cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:13:100:41 | call to method WriteLine | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:16 | this access | +| cflow.cs:100:31:100:40 | After access to field Field | cflow.cs:100:13:100:41 | call to method WriteLine | +| cflow.cs:100:31:100:40 | Before access to field Field | cflow.cs:100:31:100:34 | this access | +| cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:31:100:40 | After access to field Field | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:91:5:104:5 | After {...} | +| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:29 | Before ... != ... | | cflow.cs:102:13:102:16 | this access | cflow.cs:102:13:102:21 | access to property Prop | -| cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:26:102:29 | null | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:103:13:103:36 | ...; | +| cflow.cs:102:13:102:21 | After access to property Prop | cflow.cs:102:26:102:29 | null | +| cflow.cs:102:13:102:21 | Before access to property Prop | cflow.cs:102:13:102:16 | this access | +| cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:13:102:21 | After access to property Prop | +| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:103:13:103:36 | ...; | +| cflow.cs:102:13:102:29 | Before ... != ... | cflow.cs:102:13:102:21 | Before access to property Prop | | cflow.cs:102:26:102:29 | null | cflow.cs:102:13:102:29 | ... != ... | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:31:103:34 | this access | -| cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:13:103:35 | call to method WriteLine | +| cflow.cs:103:13:103:35 | After call to method WriteLine | cflow.cs:103:13:103:36 | After ...; | +| cflow.cs:103:13:103:35 | Before call to method WriteLine | cflow.cs:103:31:103:34 | Before access to property Prop | +| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:103:13:103:35 | After call to method WriteLine | +| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:13:103:35 | Before call to method WriteLine | +| cflow.cs:103:31:103:34 | After access to property Prop | cflow.cs:103:13:103:35 | call to method WriteLine | +| cflow.cs:103:31:103:34 | Before access to property Prop | cflow.cs:103:31:103:34 | this access | +| cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:31:103:34 | After access to property Prop | | cflow.cs:103:31:103:34 | this access | cflow.cs:103:31:103:34 | access to property Prop | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:107:5:117:5 | {...} | -| cflow.cs:106:18:106:19 | exit M4 (normal) | cflow.cs:106:18:106:19 | exit M4 | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:107:5:117:5 | {...} | +| cflow.cs:106:18:106:19 | Normal Exit | cflow.cs:106:18:106:19 | Exit | +| cflow.cs:107:5:117:5 | After {...} | cflow.cs:106:18:106:19 | Normal Exit | | cflow.cs:107:5:117:5 | {...} | cflow.cs:108:9:115:9 | if (...) ... | -| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:108:13:108:13 | access to parameter s | +| cflow.cs:108:9:115:9 | After if (...) ... | cflow.cs:116:9:116:29 | ...; | +| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:108:13:108:21 | Before ... != ... | | cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:108:18:108:21 | null | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:109:9:115:9 | {...} | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:116:9:116:29 | ...; | +| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | After ... != ... [false] | +| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | After ... != ... [true] | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:108:9:115:9 | After if (...) ... | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:109:9:115:9 | {...} | +| cflow.cs:108:13:108:21 | Before ... != ... | cflow.cs:108:13:108:13 | access to parameter s | | cflow.cs:108:18:108:21 | null | cflow.cs:108:13:108:21 | ... != ... | | cflow.cs:109:9:115:9 | {...} | cflow.cs:110:13:113:13 | while (...) ... | -| cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:110:20:110:23 | true | -| cflow.cs:110:20:110:23 | true | cflow.cs:111:13:113:13 | {...} | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:110:20:110:23 | true | +| cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | +| cflow.cs:110:20:110:23 | After true [true] | cflow.cs:111:13:113:13 | {...} | +| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | After true [true] | | cflow.cs:111:13:113:13 | {...} | cflow.cs:112:17:112:37 | ...; | -| cflow.cs:112:17:112:37 | ...; | cflow.cs:112:35:112:35 | access to parameter s | +| cflow.cs:112:17:112:36 | After call to method WriteLine | cflow.cs:112:17:112:37 | After ...; | +| cflow.cs:112:17:112:36 | Before call to method WriteLine | cflow.cs:112:35:112:35 | access to parameter s | +| cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:112:17:112:36 | After call to method WriteLine | +| cflow.cs:112:17:112:37 | ...; | cflow.cs:112:17:112:36 | Before call to method WriteLine | +| cflow.cs:112:17:112:37 | After ...; | cflow.cs:111:13:113:13 | After {...} | | cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:17:112:36 | call to method WriteLine | -| cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:106:18:106:19 | exit M4 (normal) | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:27:116:27 | access to parameter s | +| cflow.cs:116:9:116:28 | After call to method WriteLine | cflow.cs:116:9:116:29 | After ...; | +| cflow.cs:116:9:116:28 | Before call to method WriteLine | cflow.cs:116:27:116:27 | access to parameter s | +| cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:116:9:116:28 | After call to method WriteLine | +| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:9:116:28 | Before call to method WriteLine | +| cflow.cs:116:9:116:29 | After ...; | cflow.cs:107:5:117:5 | After {...} | | cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:9:116:28 | call to method WriteLine | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:120:5:124:5 | {...} | -| cflow.cs:119:20:119:21 | exit M5 (normal) | cflow.cs:119:20:119:21 | exit M5 | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:120:5:124:5 | {...} | +| cflow.cs:119:20:119:21 | Normal Exit | cflow.cs:119:20:119:21 | Exit | | cflow.cs:120:5:124:5 | {...} | cflow.cs:121:9:121:18 | ... ...; | -| cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:17:121:17 | access to parameter s | -| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:122:9:122:20 | ...; | +| cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:13:121:17 | Before String x = ... | +| cflow.cs:121:9:121:18 | After ... ...; | cflow.cs:122:9:122:20 | ...; | +| cflow.cs:121:13:121:13 | access to local variable x | cflow.cs:121:17:121:17 | access to parameter s | +| cflow.cs:121:13:121:17 | After String x = ... | cflow.cs:121:9:121:18 | After ... ...; | +| cflow.cs:121:13:121:17 | Before String x = ... | cflow.cs:121:13:121:13 | access to local variable x | +| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:121:13:121:17 | After String x = ... | | cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:13:121:17 | String x = ... | -| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:123:16:123:16 | access to local variable x | -| cflow.cs:122:9:122:20 | ...; | cflow.cs:122:13:122:13 | access to local variable x | +| cflow.cs:122:9:122:9 | access to local variable x | cflow.cs:122:13:122:19 | Before ... + ... | +| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:9:122:19 | After ... = ... | +| cflow.cs:122:9:122:19 | After ... = ... | cflow.cs:122:9:122:20 | After ...; | +| cflow.cs:122:9:122:19 | Before ... = ... | cflow.cs:122:9:122:9 | access to local variable x | +| cflow.cs:122:9:122:20 | ...; | cflow.cs:122:9:122:19 | Before ... = ... | +| cflow.cs:122:9:122:20 | After ...; | cflow.cs:123:9:123:17 | Before return ...; | | cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:17:122:19 | " " | -| cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:9:122:19 | ... = ... | +| cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:13:122:19 | After ... + ... | +| cflow.cs:122:13:122:19 | After ... + ... | cflow.cs:122:9:122:19 | ... = ... | +| cflow.cs:122:13:122:19 | Before ... + ... | cflow.cs:122:13:122:13 | access to local variable x | | cflow.cs:122:17:122:19 | " " | cflow.cs:122:13:122:19 | ... + ... | -| cflow.cs:123:9:123:17 | return ...; | cflow.cs:119:20:119:21 | exit M5 (normal) | +| cflow.cs:123:9:123:17 | Before return ...; | cflow.cs:123:16:123:16 | access to local variable x | +| cflow.cs:123:9:123:17 | return ...; | cflow.cs:119:20:119:21 | Normal Exit | | cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:123:9:123:17 | return ...; | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:23:127:60 | {...} | -| cflow.cs:127:19:127:21 | exit get_Prop (normal) | cflow.cs:127:19:127:21 | exit get_Prop | -| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:32:127:36 | this access | -| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:19:127:21 | exit get_Prop (normal) | -| cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:41:127:44 | null | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:23:127:60 | {...} | +| cflow.cs:127:19:127:21 | Normal Exit | cflow.cs:127:19:127:21 | Exit | +| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:25:127:58 | Before return ...; | +| cflow.cs:127:25:127:58 | Before return ...; | cflow.cs:127:32:127:57 | ... ? ... : ... | +| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:19:127:21 | Normal Exit | +| cflow.cs:127:32:127:36 | After access to field Field | cflow.cs:127:41:127:44 | null | +| cflow.cs:127:32:127:36 | Before access to field Field | cflow.cs:127:32:127:36 | this access | +| cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:32:127:36 | After access to field Field | | cflow.cs:127:32:127:36 | this access | cflow.cs:127:32:127:36 | access to field Field | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:48:127:49 | "" | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:53:127:57 | this access | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:25:127:58 | return ...; | +| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | After ... == ... [false] | +| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | After ... == ... [true] | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:53:127:57 | Before access to field Field | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:48:127:49 | "" | +| cflow.cs:127:32:127:44 | Before ... == ... | cflow.cs:127:32:127:36 | Before access to field Field | +| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:44 | Before ... == ... | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:25:127:58 | return ...; | | cflow.cs:127:41:127:44 | null | cflow.cs:127:32:127:44 | ... == ... | +| cflow.cs:127:53:127:57 | Before access to field Field | cflow.cs:127:53:127:57 | this access | +| cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:53:127:57 | After access to field Field | | cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | access to field Field | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:66:127:83 | {...} | -| cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:62:127:64 | exit set_Prop | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:66:127:83 | {...} | +| cflow.cs:127:62:127:64 | Normal Exit | cflow.cs:127:62:127:64 | Exit | +| cflow.cs:127:66:127:83 | After {...} | cflow.cs:127:62:127:64 | Normal Exit | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:68:127:81 | ...; | -| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:80 | ... = ... | -| cflow.cs:127:68:127:72 | this access | cflow.cs:127:76:127:80 | access to parameter value | -| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | exit set_Prop (normal) | -| cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:72 | this access | -| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | access to field Field | -| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:130:5:132:5 | {...} | -| cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | call to constructor Object | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | this access | -| cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:129:5:129:15 | exit ControlFlow | +| cflow.cs:127:68:127:72 | After access to field Field | cflow.cs:127:76:127:80 | access to parameter value | +| cflow.cs:127:68:127:72 | Before access to field Field | cflow.cs:127:68:127:72 | this access | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:72 | After access to field Field | +| cflow.cs:127:68:127:72 | this access | cflow.cs:127:68:127:72 | access to field Field | +| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:68:127:80 | After ... = ... | +| cflow.cs:127:68:127:80 | After ... = ... | cflow.cs:127:68:127:81 | After ...; | +| cflow.cs:127:68:127:80 | Before ... = ... | cflow.cs:127:68:127:72 | Before access to field Field | +| cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:80 | Before ... = ... | +| cflow.cs:127:68:127:81 | After ...; | cflow.cs:127:66:127:83 | After {...} | +| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:80 | ... = ... | +| cflow.cs:129:5:129:15 | After call to constructor Object | cflow.cs:130:5:132:5 | {...} | +| cflow.cs:129:5:129:15 | After call to method | cflow.cs:129:5:129:15 | Before call to constructor Object | +| cflow.cs:129:5:129:15 | Before call to constructor Object | cflow.cs:129:5:129:15 | call to constructor Object | +| cflow.cs:129:5:129:15 | Before call to method | cflow.cs:129:5:129:15 | this access | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | Before call to method | +| cflow.cs:129:5:129:15 | Normal Exit | cflow.cs:129:5:129:15 | Exit | +| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | After call to constructor Object | +| cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | After call to method | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | call to method | +| cflow.cs:130:5:132:5 | After {...} | cflow.cs:129:5:129:15 | Normal Exit | | cflow.cs:130:5:132:5 | {...} | cflow.cs:131:9:131:18 | ...; | -| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:17 | ... = ... | -| cflow.cs:131:9:131:13 | this access | cflow.cs:131:17:131:17 | access to parameter s | -| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | -| cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:13 | this access | -| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | access to field Field | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:31:134:31 | access to parameter i | -| cflow.cs:134:5:134:15 | exit ControlFlow (normal) | cflow.cs:134:5:134:15 | exit ControlFlow | -| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | -| cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:35:134:36 | "" | +| cflow.cs:131:9:131:13 | After access to field Field | cflow.cs:131:17:131:17 | access to parameter s | +| cflow.cs:131:9:131:13 | Before access to field Field | cflow.cs:131:9:131:13 | this access | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:13 | After access to field Field | +| cflow.cs:131:9:131:13 | this access | cflow.cs:131:9:131:13 | access to field Field | +| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:9:131:17 | After ... = ... | +| cflow.cs:131:9:131:17 | After ... = ... | cflow.cs:131:9:131:18 | After ...; | +| cflow.cs:131:9:131:17 | Before ... = ... | cflow.cs:131:9:131:13 | Before access to field Field | +| cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:17 | Before ... = ... | +| cflow.cs:131:9:131:18 | After ...; | cflow.cs:130:5:132:5 | After {...} | +| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:17 | ... = ... | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | +| cflow.cs:134:5:134:15 | Normal Exit | cflow.cs:134:5:134:15 | Exit | +| cflow.cs:134:26:134:29 | After call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | +| cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | cflow.cs:134:31:134:36 | Before ... + ... | +| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:26:134:29 | After call to constructor ControlFlow | +| cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:31:134:31 | After (...) ... | +| cflow.cs:134:31:134:31 | After (...) ... | cflow.cs:134:35:134:36 | "" | +| cflow.cs:134:31:134:31 | Before (...) ... | cflow.cs:134:31:134:31 | access to parameter i | | cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:31:134:31 | (...) ... | -| cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:26:134:29 | call to constructor ControlFlow | +| cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:31:134:36 | After ... + ... | +| cflow.cs:134:31:134:36 | After ... + ... | cflow.cs:134:26:134:29 | call to constructor ControlFlow | +| cflow.cs:134:31:134:36 | Before ... + ... | cflow.cs:134:31:134:31 | Before (...) ... | | cflow.cs:134:35:134:36 | "" | cflow.cs:134:31:134:36 | ... + ... | -| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:5:134:15 | exit ControlFlow (normal) | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:33:136:33 | 0 | -| cflow.cs:136:12:136:22 | exit ControlFlow (normal) | cflow.cs:136:12:136:22 | exit ControlFlow | -| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:40:136:42 | {...} | +| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:5:134:15 | Normal Exit | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | +| cflow.cs:136:12:136:22 | Normal Exit | cflow.cs:136:12:136:22 | Exit | +| cflow.cs:136:28:136:31 | After call to constructor ControlFlow | cflow.cs:136:40:136:42 | {...} | +| cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | cflow.cs:136:33:136:37 | Before ... + ... | +| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:28:136:31 | After call to constructor ControlFlow | | cflow.cs:136:33:136:33 | 0 | cflow.cs:136:37:136:37 | 1 | -| cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:28:136:31 | call to constructor ControlFlow | +| cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:33:136:37 | After ... + ... | +| cflow.cs:136:33:136:37 | After ... + ... | cflow.cs:136:28:136:31 | call to constructor ControlFlow | +| cflow.cs:136:33:136:37 | Before ... + ... | cflow.cs:136:33:136:33 | 0 | | cflow.cs:136:37:136:37 | 1 | cflow.cs:136:33:136:37 | ... + ... | -| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:12:136:22 | exit ControlFlow (normal) | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:139:5:142:5 | {...} | -| cflow.cs:138:40:138:40 | exit + (normal) | cflow.cs:138:40:138:40 | exit + | +| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:12:136:22 | Normal Exit | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:139:5:142:5 | {...} | +| cflow.cs:138:40:138:40 | Normal Exit | cflow.cs:138:40:138:40 | Exit | | cflow.cs:139:5:142:5 | {...} | cflow.cs:140:9:140:29 | ...; | -| cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:141:16:141:16 | access to parameter y | -| cflow.cs:140:9:140:29 | ...; | cflow.cs:140:27:140:27 | access to parameter x | +| cflow.cs:140:9:140:28 | After call to method WriteLine | cflow.cs:140:9:140:29 | After ...; | +| cflow.cs:140:9:140:28 | Before call to method WriteLine | cflow.cs:140:27:140:27 | access to parameter x | +| cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:140:9:140:28 | After call to method WriteLine | +| cflow.cs:140:9:140:29 | ...; | cflow.cs:140:9:140:28 | Before call to method WriteLine | +| cflow.cs:140:9:140:29 | After ...; | cflow.cs:141:9:141:17 | Before return ...; | | cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:140:9:140:28 | call to method WriteLine | -| cflow.cs:141:9:141:17 | return ...; | cflow.cs:138:40:138:40 | exit + (normal) | +| cflow.cs:141:9:141:17 | Before return ...; | cflow.cs:141:16:141:16 | access to parameter y | +| cflow.cs:141:9:141:17 | return ...; | cflow.cs:138:40:138:40 | Normal Exit | | cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:141:9:141:17 | return ...; | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:37:144:54 | {...} | -| cflow.cs:144:33:144:35 | exit get_Item (normal) | cflow.cs:144:33:144:35 | exit get_Item | -| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:46:144:46 | access to parameter i | -| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:33:144:35 | exit get_Item (normal) | -| cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:50:144:51 | "" | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:37:144:54 | {...} | +| cflow.cs:144:33:144:35 | Normal Exit | cflow.cs:144:33:144:35 | Exit | +| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:39:144:52 | Before return ...; | +| cflow.cs:144:39:144:52 | Before return ...; | cflow.cs:144:46:144:51 | Before ... + ... | +| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:33:144:35 | Normal Exit | +| cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:46:144:46 | After (...) ... | +| cflow.cs:144:46:144:46 | After (...) ... | cflow.cs:144:50:144:51 | "" | +| cflow.cs:144:46:144:46 | Before (...) ... | cflow.cs:144:46:144:46 | access to parameter i | | cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:46:144:46 | (...) ... | -| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:39:144:52 | return ...; | +| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:46:144:51 | After ... + ... | +| cflow.cs:144:46:144:51 | After ... + ... | cflow.cs:144:39:144:52 | return ...; | +| cflow.cs:144:46:144:51 | Before ... + ... | cflow.cs:144:46:144:46 | Before (...) ... | | cflow.cs:144:50:144:51 | "" | cflow.cs:144:46:144:51 | ... + ... | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:60:144:62 | {...} | -| cflow.cs:144:56:144:58 | exit set_Item (normal) | cflow.cs:144:56:144:58 | exit set_Item | -| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | exit set_Item (normal) | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:147:5:177:5 | {...} | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | exit For | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:60:144:62 | {...} | +| cflow.cs:144:56:144:58 | Normal Exit | cflow.cs:144:56:144:58 | Exit | +| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | Normal Exit | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:147:5:177:5 | {...} | +| cflow.cs:146:10:146:12 | Normal Exit | cflow.cs:146:10:146:12 | Exit | +| cflow.cs:147:5:177:5 | After {...} | cflow.cs:146:10:146:12 | Normal Exit | | cflow.cs:147:5:177:5 | {...} | cflow.cs:148:9:148:18 | ... ...; | -| cflow.cs:148:9:148:18 | ... ...; | cflow.cs:148:17:148:17 | 0 | -| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:149:9:150:33 | for (...;...;...) ... | +| cflow.cs:148:9:148:18 | ... ...; | cflow.cs:148:13:148:17 | Before Int32 x = ... | +| cflow.cs:148:9:148:18 | After ... ...; | cflow.cs:149:9:150:33 | for (...;...;...) ... | +| cflow.cs:148:13:148:13 | access to local variable x | cflow.cs:148:17:148:17 | 0 | +| cflow.cs:148:13:148:17 | After Int32 x = ... | cflow.cs:148:9:148:18 | After ... ...; | +| cflow.cs:148:13:148:17 | Before Int32 x = ... | cflow.cs:148:13:148:13 | access to local variable x | +| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:148:13:148:17 | After Int32 x = ... | | cflow.cs:148:17:148:17 | 0 | cflow.cs:148:13:148:17 | Int32 x = ... | -| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:149:16:149:16 | access to local variable x | +| cflow.cs:149:9:150:33 | After for (...;...;...) ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | +| cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | cflow.cs:149:24:149:26 | Before ++... | +| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:149:16:149:21 | Before ... < ... | | cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:20:149:21 | 10 | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | +| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:9:150:33 | After for (...;...;...) ... | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:150:13:150:33 | ...; | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:16 | access to local variable x | | cflow.cs:149:20:149:21 | 10 | cflow.cs:149:16:149:21 | ... < ... | +| cflow.cs:149:24:149:26 | ++... | cflow.cs:149:24:149:26 | After ++... | +| cflow.cs:149:24:149:26 | Before ++... | cflow.cs:149:26:149:26 | access to local variable x | | cflow.cs:149:26:149:26 | access to local variable x | cflow.cs:149:24:149:26 | ++... | -| cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:149:26:149:26 | access to local variable x | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:31:150:31 | access to local variable x | +| cflow.cs:150:13:150:32 | After call to method WriteLine | cflow.cs:150:13:150:33 | After ...; | +| cflow.cs:150:13:150:32 | Before call to method WriteLine | cflow.cs:150:31:150:31 | access to local variable x | +| cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:150:13:150:32 | After call to method WriteLine | +| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:13:150:32 | Before call to method WriteLine | +| cflow.cs:150:13:150:33 | After ...; | cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | | cflow.cs:150:31:150:31 | access to local variable x | cflow.cs:150:13:150:32 | call to method WriteLine | +| cflow.cs:152:9:157:9 | After for (...;...;...) ... | cflow.cs:159:9:165:9 | for (...;...;...) ... | +| cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:152:18:152:20 | Before ...++ | | cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:153:9:157:9 | {...} | | cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:20 | ...++ | +| cflow.cs:152:18:152:20 | ...++ | cflow.cs:152:18:152:20 | After ...++ | +| cflow.cs:152:18:152:20 | Before ...++ | cflow.cs:152:18:152:18 | access to local variable x | +| cflow.cs:153:9:157:9 | After {...} | cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | | cflow.cs:153:9:157:9 | {...} | cflow.cs:154:13:154:33 | ...; | -| cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:155:13:156:22 | if (...) ... | -| cflow.cs:154:13:154:33 | ...; | cflow.cs:154:31:154:31 | access to local variable x | +| cflow.cs:154:13:154:32 | After call to method WriteLine | cflow.cs:154:13:154:33 | After ...; | +| cflow.cs:154:13:154:32 | Before call to method WriteLine | cflow.cs:154:31:154:31 | access to local variable x | +| cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:154:13:154:32 | After call to method WriteLine | +| cflow.cs:154:13:154:33 | ...; | cflow.cs:154:13:154:32 | Before call to method WriteLine | +| cflow.cs:154:13:154:33 | After ...; | cflow.cs:155:13:156:22 | if (...) ... | | cflow.cs:154:31:154:31 | access to local variable x | cflow.cs:154:13:154:32 | call to method WriteLine | -| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:155:17:155:17 | access to local variable x | +| cflow.cs:155:13:156:22 | After if (...) ... | cflow.cs:153:9:157:9 | After {...} | +| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:155:17:155:22 | Before ... > ... | | cflow.cs:155:17:155:17 | access to local variable x | cflow.cs:155:21:155:22 | 20 | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:156:17:156:22 | break; | +| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:155:13:156:22 | After if (...) ... | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:156:17:156:22 | Before break; | +| cflow.cs:155:17:155:22 | Before ... > ... | cflow.cs:155:17:155:17 | access to local variable x | | cflow.cs:155:21:155:22 | 20 | cflow.cs:155:17:155:22 | ... > ... | -| cflow.cs:156:17:156:22 | break; | cflow.cs:159:9:165:9 | for (...;...;...) ... | +| cflow.cs:156:17:156:22 | Before break; | cflow.cs:156:17:156:22 | break; | +| cflow.cs:156:17:156:22 | break; | cflow.cs:152:9:157:9 | After for (...;...;...) ... | +| cflow.cs:159:9:165:9 | After for (...;...;...) ... | cflow.cs:167:9:171:9 | for (...;...;...) ... | | cflow.cs:159:9:165:9 | for (...;...;...) ... | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:160:9:165:9 | After {...} | cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | | cflow.cs:160:9:165:9 | {...} | cflow.cs:161:13:161:33 | ...; | -| cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:162:13:162:16 | ...; | -| cflow.cs:161:13:161:33 | ...; | cflow.cs:161:31:161:31 | access to local variable x | +| cflow.cs:161:13:161:32 | After call to method WriteLine | cflow.cs:161:13:161:33 | After ...; | +| cflow.cs:161:13:161:32 | Before call to method WriteLine | cflow.cs:161:31:161:31 | access to local variable x | +| cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:161:13:161:32 | After call to method WriteLine | +| cflow.cs:161:13:161:33 | ...; | cflow.cs:161:13:161:32 | Before call to method WriteLine | +| cflow.cs:161:13:161:33 | After ...; | cflow.cs:162:13:162:16 | ...; | | cflow.cs:161:31:161:31 | access to local variable x | cflow.cs:161:13:161:32 | call to method WriteLine | | cflow.cs:162:13:162:13 | access to local variable x | cflow.cs:162:13:162:15 | ...++ | -| cflow.cs:162:13:162:15 | ...++ | cflow.cs:163:13:164:22 | if (...) ... | -| cflow.cs:162:13:162:16 | ...; | cflow.cs:162:13:162:13 | access to local variable x | -| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:163:17:163:17 | access to local variable x | +| cflow.cs:162:13:162:15 | ...++ | cflow.cs:162:13:162:15 | After ...++ | +| cflow.cs:162:13:162:15 | After ...++ | cflow.cs:162:13:162:16 | After ...; | +| cflow.cs:162:13:162:15 | Before ...++ | cflow.cs:162:13:162:13 | access to local variable x | +| cflow.cs:162:13:162:16 | ...; | cflow.cs:162:13:162:15 | Before ...++ | +| cflow.cs:162:13:162:16 | After ...; | cflow.cs:163:13:164:22 | if (...) ... | +| cflow.cs:163:13:164:22 | After if (...) ... | cflow.cs:160:9:165:9 | After {...} | +| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:163:17:163:22 | Before ... > ... | | cflow.cs:163:17:163:17 | access to local variable x | cflow.cs:163:21:163:22 | 30 | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:164:17:164:22 | break; | +| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:163:13:164:22 | After if (...) ... | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:164:17:164:22 | Before break; | +| cflow.cs:163:17:163:22 | Before ... > ... | cflow.cs:163:17:163:17 | access to local variable x | | cflow.cs:163:21:163:22 | 30 | cflow.cs:163:17:163:22 | ... > ... | -| cflow.cs:164:17:164:22 | break; | cflow.cs:167:9:171:9 | for (...;...;...) ... | -| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:167:16:167:16 | access to local variable x | +| cflow.cs:164:17:164:22 | Before break; | cflow.cs:164:17:164:22 | break; | +| cflow.cs:164:17:164:22 | break; | cflow.cs:159:9:165:9 | After for (...;...;...) ... | +| cflow.cs:167:9:171:9 | After for (...;...;...) ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | +| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:167:16:167:21 | Before ... < ... | | cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:20:167:21 | 40 | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | +| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:9:171:9 | After for (...;...;...) ... | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:168:9:171:9 | {...} | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:16 | access to local variable x | | cflow.cs:167:20:167:21 | 40 | cflow.cs:167:16:167:21 | ... < ... | +| cflow.cs:168:9:171:9 | After {...} | cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | | cflow.cs:168:9:171:9 | {...} | cflow.cs:169:13:169:33 | ...; | -| cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:170:13:170:16 | ...; | -| cflow.cs:169:13:169:33 | ...; | cflow.cs:169:31:169:31 | access to local variable x | +| cflow.cs:169:13:169:32 | After call to method WriteLine | cflow.cs:169:13:169:33 | After ...; | +| cflow.cs:169:13:169:32 | Before call to method WriteLine | cflow.cs:169:31:169:31 | access to local variable x | +| cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:169:13:169:32 | After call to method WriteLine | +| cflow.cs:169:13:169:33 | ...; | cflow.cs:169:13:169:32 | Before call to method WriteLine | +| cflow.cs:169:13:169:33 | After ...; | cflow.cs:170:13:170:16 | ...; | | cflow.cs:169:31:169:31 | access to local variable x | cflow.cs:169:13:169:32 | call to method WriteLine | | cflow.cs:170:13:170:13 | access to local variable x | cflow.cs:170:13:170:15 | ...++ | -| cflow.cs:170:13:170:16 | ...; | cflow.cs:170:13:170:13 | access to local variable x | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:22:173:22 | 0 | -| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:29:173:29 | 0 | +| cflow.cs:170:13:170:15 | ...++ | cflow.cs:170:13:170:15 | After ...++ | +| cflow.cs:170:13:170:15 | After ...++ | cflow.cs:170:13:170:16 | After ...; | +| cflow.cs:170:13:170:15 | Before ...++ | cflow.cs:170:13:170:13 | access to local variable x | +| cflow.cs:170:13:170:16 | ...; | cflow.cs:170:13:170:15 | Before ...++ | +| cflow.cs:170:13:170:16 | After ...; | cflow.cs:168:9:171:9 | After {...} | +| cflow.cs:173:9:176:9 | After for (...;...;...) ... | cflow.cs:147:5:177:5 | After {...} | +| cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:173:44:173:46 | Before ...++ | +| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:18:173:22 | Before Int32 i = ... | +| cflow.cs:173:18:173:18 | access to local variable i | cflow.cs:173:22:173:22 | 0 | +| cflow.cs:173:18:173:22 | After Int32 i = ... | cflow.cs:173:25:173:29 | Before Int32 j = ... | +| cflow.cs:173:18:173:22 | Before Int32 i = ... | cflow.cs:173:18:173:18 | access to local variable i | +| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:18:173:22 | After Int32 i = ... | | cflow.cs:173:22:173:22 | 0 | cflow.cs:173:18:173:22 | Int32 i = ... | -| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:32:173:32 | access to local variable i | +| cflow.cs:173:25:173:25 | access to local variable j | cflow.cs:173:29:173:29 | 0 | +| cflow.cs:173:25:173:29 | After Int32 j = ... | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:173:25:173:29 | Before Int32 j = ... | cflow.cs:173:25:173:25 | access to local variable j | +| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:25:173:29 | After Int32 j = ... | | cflow.cs:173:29:173:29 | 0 | cflow.cs:173:25:173:29 | Int32 j = ... | | cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:36:173:36 | access to local variable j | -| cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:40:173:41 | 10 | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:174:9:176:9 | {...} | +| cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:32:173:36 | After ... + ... | +| cflow.cs:173:32:173:36 | After ... + ... | cflow.cs:173:40:173:41 | 10 | +| cflow.cs:173:32:173:36 | Before ... + ... | cflow.cs:173:32:173:32 | access to local variable i | +| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:9:176:9 | After for (...;...;...) ... | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:174:9:176:9 | {...} | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:36 | Before ... + ... | | cflow.cs:173:36:173:36 | access to local variable j | cflow.cs:173:32:173:36 | ... + ... | | cflow.cs:173:40:173:41 | 10 | cflow.cs:173:32:173:41 | ... < ... | | cflow.cs:173:44:173:44 | access to local variable i | cflow.cs:173:44:173:46 | ...++ | -| cflow.cs:173:44:173:46 | ...++ | cflow.cs:173:49:173:49 | access to local variable j | +| cflow.cs:173:44:173:46 | ...++ | cflow.cs:173:44:173:46 | After ...++ | +| cflow.cs:173:44:173:46 | After ...++ | cflow.cs:173:49:173:51 | Before ...++ | +| cflow.cs:173:44:173:46 | Before ...++ | cflow.cs:173:44:173:44 | access to local variable i | | cflow.cs:173:49:173:49 | access to local variable j | cflow.cs:173:49:173:51 | ...++ | +| cflow.cs:173:49:173:51 | ...++ | cflow.cs:173:49:173:51 | After ...++ | +| cflow.cs:173:49:173:51 | Before ...++ | cflow.cs:173:49:173:49 | access to local variable j | +| cflow.cs:174:9:176:9 | After {...} | cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | | cflow.cs:174:9:176:9 | {...} | cflow.cs:175:13:175:37 | ...; | -| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:173:44:173:44 | access to local variable i | -| cflow.cs:175:13:175:37 | ...; | cflow.cs:175:31:175:31 | access to local variable i | +| cflow.cs:175:13:175:36 | After call to method WriteLine | cflow.cs:175:13:175:37 | After ...; | +| cflow.cs:175:13:175:36 | Before call to method WriteLine | cflow.cs:175:31:175:35 | Before ... + ... | +| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:175:13:175:36 | After call to method WriteLine | +| cflow.cs:175:13:175:37 | ...; | cflow.cs:175:13:175:36 | Before call to method WriteLine | +| cflow.cs:175:13:175:37 | After ...; | cflow.cs:174:9:176:9 | After {...} | | cflow.cs:175:31:175:31 | access to local variable i | cflow.cs:175:35:175:35 | access to local variable j | -| cflow.cs:175:31:175:35 | ... + ... | cflow.cs:175:13:175:36 | call to method WriteLine | +| cflow.cs:175:31:175:35 | ... + ... | cflow.cs:175:31:175:35 | After ... + ... | +| cflow.cs:175:31:175:35 | After ... + ... | cflow.cs:175:13:175:36 | call to method WriteLine | +| cflow.cs:175:31:175:35 | Before ... + ... | cflow.cs:175:31:175:31 | access to local variable i | | cflow.cs:175:35:175:35 | access to local variable j | cflow.cs:175:31:175:35 | ... + ... | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:180:5:183:5 | {...} | -| cflow.cs:179:10:179:16 | exit Lambdas (normal) | cflow.cs:179:10:179:16 | exit Lambdas | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:180:5:183:5 | {...} | +| cflow.cs:179:10:179:16 | Normal Exit | cflow.cs:179:10:179:16 | Exit | +| cflow.cs:180:5:183:5 | After {...} | cflow.cs:179:10:179:16 | Normal Exit | | cflow.cs:180:5:183:5 | {...} | cflow.cs:181:9:181:38 | ... ...; | -| cflow.cs:181:9:181:38 | ... ...; | cflow.cs:181:28:181:37 | (...) => ... | -| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:182:9:182:62 | ... ...; | +| cflow.cs:181:9:181:38 | ... ...; | cflow.cs:181:24:181:37 | Before Func y = ... | +| cflow.cs:181:9:181:38 | After ... ...; | cflow.cs:182:9:182:62 | ... ...; | +| cflow.cs:181:24:181:24 | access to local variable y | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:24:181:37 | After Func y = ... | cflow.cs:181:9:181:38 | After ... ...; | +| cflow.cs:181:24:181:37 | Before Func y = ... | cflow.cs:181:24:181:24 | access to local variable y | +| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:181:24:181:37 | After Func y = ... | | cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:24:181:37 | Func y = ... | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:33:181:33 | access to parameter x | -| cflow.cs:181:28:181:37 | exit (...) => ... (normal) | cflow.cs:181:28:181:37 | exit (...) => ... | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:33:181:37 | Before ... + ... | +| cflow.cs:181:28:181:37 | Normal Exit | cflow.cs:181:28:181:37 | Exit | | cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:37:181:37 | 1 | -| cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:28:181:37 | exit (...) => ... (normal) | +| cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:33:181:37 | After ... + ... | +| cflow.cs:181:33:181:37 | After ... + ... | cflow.cs:181:28:181:37 | Normal Exit | +| cflow.cs:181:33:181:37 | Before ... + ... | cflow.cs:181:33:181:33 | access to parameter x | | cflow.cs:181:37:181:37 | 1 | cflow.cs:181:33:181:37 | ... + ... | -| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:182:28:182:61 | delegate(...) { ... } | -| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:179:10:179:16 | exit Lambdas (normal) | +| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:182:24:182:61 | Before Func z = ... | +| cflow.cs:182:9:182:62 | After ... ...; | cflow.cs:180:5:183:5 | After {...} | +| cflow.cs:182:24:182:24 | access to local variable z | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:24:182:61 | After Func z = ... | cflow.cs:182:9:182:62 | After ... ...; | +| cflow.cs:182:24:182:61 | Before Func z = ... | cflow.cs:182:24:182:24 | access to local variable z | +| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:182:24:182:61 | After Func z = ... | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:45:182:61 | {...} | +| cflow.cs:182:28:182:61 | Normal Exit | cflow.cs:182:28:182:61 | Exit | | cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:24:182:61 | Func z = ... | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:45:182:61 | {...} | -| cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | cflow.cs:182:28:182:61 | exit delegate(...) { ... } | -| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:54:182:54 | access to parameter x | -| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | +| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:47:182:59 | Before return ...; | +| cflow.cs:182:47:182:59 | Before return ...; | cflow.cs:182:54:182:58 | Before ... + ... | +| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:28:182:61 | Normal Exit | | cflow.cs:182:54:182:54 | access to parameter x | cflow.cs:182:58:182:58 | 1 | -| cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:47:182:59 | return ...; | +| cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:54:182:58 | After ... + ... | +| cflow.cs:182:54:182:58 | After ... + ... | cflow.cs:182:47:182:59 | return ...; | +| cflow.cs:182:54:182:58 | Before ... + ... | cflow.cs:182:54:182:54 | access to parameter x | | cflow.cs:182:58:182:58 | 1 | cflow.cs:182:54:182:58 | ... + ... | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:186:5:191:5 | {...} | -| cflow.cs:185:10:185:18 | exit LogicalOr (normal) | cflow.cs:185:10:185:18 | exit LogicalOr | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:186:5:191:5 | {...} | +| cflow.cs:185:10:185:18 | Normal Exit | cflow.cs:185:10:185:18 | Exit | +| cflow.cs:186:5:191:5 | After {...} | cflow.cs:185:10:185:18 | Normal Exit | | cflow.cs:186:5:191:5 | {...} | cflow.cs:187:9:190:52 | if (...) ... | -| cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:187:13:187:13 | 1 | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:186:5:191:5 | After {...} | +| cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:187:13:187:50 | ... \|\| ... | | cflow.cs:187:13:187:13 | 1 | cflow.cs:187:18:187:18 | 2 | -| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | +| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | After ... == ... [false] | +| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | Before ... == ... | +| cflow.cs:187:13:187:18 | Before ... == ... | cflow.cs:187:13:187:13 | 1 | +| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:18 | Before ... == ... | +| cflow.cs:187:13:187:28 | After ... \|\| ... [false] | cflow.cs:187:34:187:49 | ... && ... | +| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | +| cflow.cs:187:13:187:50 | After ... \|\| ... [false] | cflow.cs:190:13:190:52 | ...; | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:188:13:188:55 | ...; | | cflow.cs:187:18:187:18 | 2 | cflow.cs:187:13:187:18 | ... == ... | | cflow.cs:187:23:187:23 | 2 | cflow.cs:187:28:187:28 | 3 | -| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:13:187:28 | ... \|\| ... | +| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:13:187:28 | After ... \|\| ... [false] | +| cflow.cs:187:23:187:28 | Before ... == ... | cflow.cs:187:23:187:23 | 2 | | cflow.cs:187:28:187:28 | 3 | cflow.cs:187:23:187:28 | ... == ... | | cflow.cs:187:34:187:34 | 1 | cflow.cs:187:39:187:39 | 3 | -| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:50 | ... \|\| ... | +| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | Before ... == ... | +| cflow.cs:187:34:187:39 | Before ... == ... | cflow.cs:187:34:187:34 | 1 | +| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:39 | Before ... == ... | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:13:187:50 | After ... \|\| ... [false] | | cflow.cs:187:39:187:39 | 3 | cflow.cs:187:34:187:39 | ... == ... | -| cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:185:10:185:18 | exit LogicalOr (normal) | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:31:190:50 | "This should happen" | +| cflow.cs:187:44:187:44 | 3 | cflow.cs:187:49:187:49 | 1 | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:187:34:187:49 | After ... && ... [true] | +| cflow.cs:187:44:187:49 | Before ... == ... | cflow.cs:187:44:187:44 | 3 | +| cflow.cs:187:49:187:49 | 1 | cflow.cs:187:44:187:49 | ... == ... | +| cflow.cs:188:13:188:54 | After call to method WriteLine | cflow.cs:188:13:188:55 | After ...; | +| cflow.cs:188:13:188:54 | Before call to method WriteLine | cflow.cs:188:31:188:53 | "This shouldn't happen" | +| cflow.cs:188:13:188:54 | call to method WriteLine | cflow.cs:188:13:188:54 | After call to method WriteLine | +| cflow.cs:188:13:188:55 | ...; | cflow.cs:188:13:188:54 | Before call to method WriteLine | +| cflow.cs:188:31:188:53 | "This shouldn't happen" | cflow.cs:188:13:188:54 | call to method WriteLine | +| cflow.cs:190:13:190:51 | After call to method WriteLine | cflow.cs:190:13:190:52 | After ...; | +| cflow.cs:190:13:190:51 | Before call to method WriteLine | cflow.cs:190:31:190:50 | "This should happen" | +| cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:190:13:190:51 | After call to method WriteLine | +| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:13:190:51 | Before call to method WriteLine | | cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:190:13:190:51 | call to method WriteLine | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:194:5:206:5 | {...} | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:194:5:206:5 | {...} | +| cflow.cs:194:5:206:5 | After {...} | cflow.cs:193:10:193:17 | Normal Exit | | cflow.cs:194:5:206:5 | {...} | cflow.cs:195:9:195:57 | ... ...; | -| cflow.cs:195:9:195:57 | ... ...; | cflow.cs:195:17:195:21 | this access | -| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:197:9:198:49 | if (...) ... | -| cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:28 | access to property Length | +| cflow.cs:195:9:195:57 | ... ...; | cflow.cs:195:13:195:56 | Before Boolean b = ... | +| cflow.cs:195:9:195:57 | After ... ...; | cflow.cs:197:9:198:49 | if (...) ... | +| cflow.cs:195:13:195:13 | access to local variable b | cflow.cs:195:17:195:56 | ... && ... | +| cflow.cs:195:13:195:56 | After Boolean b = ... | cflow.cs:195:9:195:57 | After ... ...; | +| cflow.cs:195:13:195:56 | Before Boolean b = ... | cflow.cs:195:13:195:13 | access to local variable b | +| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:13:195:56 | After Boolean b = ... | +| cflow.cs:195:17:195:21 | After access to field Field | cflow.cs:195:17:195:28 | access to property Length | +| cflow.cs:195:17:195:21 | Before access to field Field | cflow.cs:195:17:195:21 | this access | +| cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:21 | After access to field Field | | cflow.cs:195:17:195:21 | this access | cflow.cs:195:17:195:21 | access to field Field | -| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:32:195:32 | 0 | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:13:195:56 | Boolean b = ... | +| cflow.cs:195:17:195:28 | After access to property Length | cflow.cs:195:32:195:32 | 0 | +| cflow.cs:195:17:195:28 | Before access to property Length | cflow.cs:195:17:195:21 | Before access to field Field | +| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:17:195:28 | After access to property Length | +| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:195:37:195:56 | !... | +| cflow.cs:195:17:195:32 | Before ... > ... | cflow.cs:195:17:195:28 | Before access to property Length | +| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:32 | Before ... > ... | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:13:195:56 | Boolean b = ... | | cflow.cs:195:32:195:32 | 0 | cflow.cs:195:17:195:32 | ... > ... | -| cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:50 | access to property Length | +| cflow.cs:195:37:195:56 | !... | cflow.cs:195:39:195:55 | Before ... == ... | +| cflow.cs:195:39:195:43 | After access to field Field | cflow.cs:195:39:195:50 | access to property Length | +| cflow.cs:195:39:195:43 | Before access to field Field | cflow.cs:195:39:195:43 | this access | +| cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:43 | After access to field Field | | cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | access to field Field | -| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:55:195:55 | 1 | -| cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:37:195:56 | !... | +| cflow.cs:195:39:195:50 | After access to property Length | cflow.cs:195:55:195:55 | 1 | +| cflow.cs:195:39:195:50 | Before access to property Length | cflow.cs:195:39:195:43 | Before access to field Field | +| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:39:195:50 | After access to property Length | +| cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:39:195:55 | After ... == ... | +| cflow.cs:195:39:195:55 | After ... == ... | cflow.cs:195:37:195:56 | After !... | +| cflow.cs:195:39:195:55 | Before ... == ... | cflow.cs:195:39:195:50 | Before access to property Length | | cflow.cs:195:55:195:55 | 1 | cflow.cs:195:39:195:55 | ... == ... | -| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:197:15:197:19 | this access | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:26 | access to property Length | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:9:205:9 | if (...) ... | +| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:197:13:197:47 | !... | +| cflow.cs:197:13:197:47 | !... | cflow.cs:197:15:197:46 | ... ? ... : ... | +| cflow.cs:197:13:197:47 | After !... [true] | cflow.cs:198:13:198:49 | ...; | +| cflow.cs:197:15:197:19 | After access to field Field | cflow.cs:197:15:197:26 | access to property Length | +| cflow.cs:197:15:197:19 | Before access to field Field | cflow.cs:197:15:197:19 | this access | +| cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:19 | After access to field Field | | cflow.cs:197:15:197:19 | this access | cflow.cs:197:15:197:19 | access to field Field | -| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:31:197:31 | 0 | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:13:197:47 | [false] !... | +| cflow.cs:197:15:197:26 | After access to property Length | cflow.cs:197:31:197:31 | 0 | +| cflow.cs:197:15:197:26 | Before access to property Length | cflow.cs:197:15:197:19 | Before access to field Field | +| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:15:197:26 | After access to property Length | +| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:197:43:197:46 | true | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:197:35:197:39 | false | +| cflow.cs:197:15:197:31 | Before ... == ... | cflow.cs:197:15:197:26 | Before access to property Length | +| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:15:197:31 | Before ... == ... | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | cflow.cs:197:13:197:47 | After !... [true] | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | cflow.cs:197:13:197:47 | After !... [false] | | cflow.cs:197:31:197:31 | 0 | cflow.cs:197:15:197:31 | ... == ... | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:17:198:21 | this access | -| cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:28 | access to property Length | +| cflow.cs:197:35:197:39 | After false [false] | cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | +| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | After false [false] | +| cflow.cs:197:43:197:46 | After true [true] | cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | +| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | After true [true] | +| cflow.cs:198:13:198:13 | access to local variable b | cflow.cs:198:17:198:48 | ... ? ... : ... | +| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:13:198:48 | After ... = ... | +| cflow.cs:198:13:198:48 | After ... = ... | cflow.cs:198:13:198:49 | After ...; | +| cflow.cs:198:13:198:48 | Before ... = ... | cflow.cs:198:13:198:13 | access to local variable b | +| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:13:198:48 | Before ... = ... | +| cflow.cs:198:17:198:21 | After access to field Field | cflow.cs:198:17:198:28 | access to property Length | +| cflow.cs:198:17:198:21 | Before access to field Field | cflow.cs:198:17:198:21 | this access | +| cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:21 | After access to field Field | | cflow.cs:198:17:198:21 | this access | cflow.cs:198:17:198:21 | access to field Field | -| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:33:198:33 | 0 | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:13:198:48 | ... = ... | +| cflow.cs:198:17:198:28 | After access to property Length | cflow.cs:198:33:198:33 | 0 | +| cflow.cs:198:17:198:28 | Before access to property Length | cflow.cs:198:17:198:21 | Before access to field Field | +| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:17:198:28 | After access to property Length | +| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:198:45:198:48 | true | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:198:37:198:41 | false | +| cflow.cs:198:17:198:33 | Before ... == ... | cflow.cs:198:17:198:28 | Before access to property Length | +| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:33 | Before ... == ... | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:13:198:48 | ... = ... | | cflow.cs:198:33:198:33 | 0 | cflow.cs:198:17:198:33 | ... == ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:15:200:19 | this access | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:26 | access to property Length | +| cflow.cs:200:9:205:9 | After if (...) ... | cflow.cs:194:5:206:5 | After {...} | +| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:62 | ... \|\| ... | +| cflow.cs:200:13:200:32 | !... | cflow.cs:200:15:200:31 | Before ... == ... | +| cflow.cs:200:13:200:32 | After !... [false] | cflow.cs:200:37:200:62 | !... | +| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:13:200:32 | !... | +| cflow.cs:200:13:200:62 | After ... \|\| ... [false] | cflow.cs:200:9:205:9 | After if (...) ... | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:201:9:205:9 | {...} | +| cflow.cs:200:15:200:19 | After access to field Field | cflow.cs:200:15:200:26 | access to property Length | +| cflow.cs:200:15:200:19 | Before access to field Field | cflow.cs:200:15:200:19 | this access | +| cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:19 | After access to field Field | | cflow.cs:200:15:200:19 | this access | cflow.cs:200:15:200:19 | access to field Field | -| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:31:200:31 | 0 | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:13:200:32 | [true] !... | +| cflow.cs:200:15:200:26 | After access to property Length | cflow.cs:200:31:200:31 | 0 | +| cflow.cs:200:15:200:26 | Before access to property Length | cflow.cs:200:15:200:19 | Before access to field Field | +| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:15:200:26 | After access to property Length | +| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:200:13:200:32 | After !... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:13:200:32 | After !... [false] | +| cflow.cs:200:15:200:31 | Before ... == ... | cflow.cs:200:15:200:26 | Before access to property Length | | cflow.cs:200:31:200:31 | 0 | cflow.cs:200:15:200:31 | ... == ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:51 | access to property Length | +| cflow.cs:200:37:200:62 | !... | cflow.cs:200:38:200:62 | !... | +| cflow.cs:200:37:200:62 | After !... [false] | cflow.cs:200:13:200:62 | After ... \|\| ... [false] | +| cflow.cs:200:38:200:62 | !... | cflow.cs:200:40:200:61 | ... && ... | +| cflow.cs:200:38:200:62 | After !... [false] | cflow.cs:200:37:200:62 | After !... [true] | +| cflow.cs:200:38:200:62 | After !... [true] | cflow.cs:200:37:200:62 | After !... [false] | +| cflow.cs:200:40:200:44 | After access to field Field | cflow.cs:200:40:200:51 | access to property Length | +| cflow.cs:200:40:200:44 | Before access to field Field | cflow.cs:200:40:200:44 | this access | +| cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:44 | After access to field Field | | cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | access to field Field | -| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:56:200:56 | 1 | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:38:200:62 | [false] !... | +| cflow.cs:200:40:200:51 | After access to property Length | cflow.cs:200:56:200:56 | 1 | +| cflow.cs:200:40:200:51 | Before access to property Length | cflow.cs:200:40:200:44 | Before access to field Field | +| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:40:200:51 | After access to property Length | +| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | access to local variable b | +| cflow.cs:200:40:200:56 | Before ... == ... | cflow.cs:200:40:200:51 | Before access to property Length | +| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:40:200:56 | Before ... == ... | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:38:200:62 | After !... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [true] | cflow.cs:200:38:200:62 | After !... [false] | | cflow.cs:200:56:200:56 | 1 | cflow.cs:200:40:200:56 | ... == ... | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [true] ... && ... | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:200:40:200:61 | After ... && ... [true] | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | After access to local variable b [true] | | cflow.cs:201:9:205:9 | {...} | cflow.cs:202:13:204:13 | {...} | -| cflow.cs:202:13:204:13 | {...} | cflow.cs:203:23:203:37 | object creation of type Exception | -| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:193:10:193:17 | exit Booleans (abnormal) | -| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:203:17:203:38 | throw ...; | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:209:5:222:5 | {...} | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | exit Do | +| cflow.cs:202:13:204:13 | {...} | cflow.cs:203:17:203:38 | Before throw ...; | +| cflow.cs:203:17:203:38 | Before throw ...; | cflow.cs:203:23:203:37 | Before object creation of type Exception | +| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:193:10:193:17 | Exceptional Exit | +| cflow.cs:203:23:203:37 | After object creation of type Exception | cflow.cs:203:17:203:38 | throw ...; | +| cflow.cs:203:23:203:37 | Before object creation of type Exception | cflow.cs:203:23:203:37 | object creation of type Exception | +| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:203:23:203:37 | After object creation of type Exception | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:209:5:222:5 | {...} | +| cflow.cs:208:10:208:11 | Normal Exit | cflow.cs:208:10:208:11 | Exit | +| cflow.cs:209:5:222:5 | After {...} | cflow.cs:208:10:208:11 | Normal Exit | | cflow.cs:209:5:222:5 | {...} | cflow.cs:210:9:221:36 | do ... while (...); | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:209:5:222:5 | After {...} | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | Before ... < ... | | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:211:9:221:9 | {...} | | cflow.cs:211:9:221:9 | {...} | cflow.cs:212:13:212:25 | ...; | -| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:22:212:24 | "a" | +| cflow.cs:212:13:212:17 | After access to field Field | cflow.cs:212:22:212:24 | "a" | +| cflow.cs:212:13:212:17 | Before access to field Field | cflow.cs:212:13:212:17 | this access | +| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:17 | After access to field Field | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | access to field Field | -| cflow.cs:212:13:212:24 | ... += ... | cflow.cs:213:13:216:13 | if (...) ... | -| cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:17 | this access | +| cflow.cs:212:13:212:24 | ... += ... | cflow.cs:212:13:212:24 | After ... += ... | +| cflow.cs:212:13:212:24 | After ... += ... | cflow.cs:212:13:212:25 | After ...; | +| cflow.cs:212:13:212:24 | Before ... += ... | cflow.cs:212:13:212:17 | Before access to field Field | +| cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:24 | Before ... += ... | +| cflow.cs:212:13:212:25 | After ...; | cflow.cs:213:13:216:13 | if (...) ... | | cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:24 | ... += ... | -| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:213:17:213:21 | this access | -| cflow.cs:213:17:213:21 | access to field Field | cflow.cs:213:17:213:28 | access to property Length | +| cflow.cs:213:13:216:13 | After if (...) ... | cflow.cs:217:13:220:13 | if (...) ... | +| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:213:17:213:32 | Before ... > ... | +| cflow.cs:213:17:213:21 | After access to field Field | cflow.cs:213:17:213:28 | access to property Length | +| cflow.cs:213:17:213:21 | Before access to field Field | cflow.cs:213:17:213:21 | this access | +| cflow.cs:213:17:213:21 | access to field Field | cflow.cs:213:17:213:21 | After access to field Field | | cflow.cs:213:17:213:21 | this access | cflow.cs:213:17:213:21 | access to field Field | -| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:32:213:32 | 0 | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:217:13:220:13 | if (...) ... | +| cflow.cs:213:17:213:28 | After access to property Length | cflow.cs:213:32:213:32 | 0 | +| cflow.cs:213:17:213:28 | Before access to property Length | cflow.cs:213:17:213:21 | Before access to field Field | +| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:17:213:28 | After access to property Length | +| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:213:13:216:13 | After if (...) ... | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:214:13:216:13 | {...} | +| cflow.cs:213:17:213:32 | Before ... > ... | cflow.cs:213:17:213:28 | Before access to property Length | | cflow.cs:213:32:213:32 | 0 | cflow.cs:213:17:213:32 | ... > ... | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | continue; | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:21 | this access | -| cflow.cs:217:17:217:21 | access to field Field | cflow.cs:217:17:217:28 | access to property Length | +| cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | Before continue; | +| cflow.cs:215:17:215:25 | Before continue; | cflow.cs:215:17:215:25 | continue; | +| cflow.cs:217:13:220:13 | After if (...) ... | cflow.cs:211:9:221:9 | After {...} | +| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:32 | Before ... < ... | +| cflow.cs:217:17:217:21 | After access to field Field | cflow.cs:217:17:217:28 | access to property Length | +| cflow.cs:217:17:217:21 | Before access to field Field | cflow.cs:217:17:217:21 | this access | +| cflow.cs:217:17:217:21 | access to field Field | cflow.cs:217:17:217:21 | After access to field Field | | cflow.cs:217:17:217:21 | this access | cflow.cs:217:17:217:21 | access to field Field | -| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:32:217:32 | 0 | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:218:13:220:13 | {...} | +| cflow.cs:217:17:217:28 | After access to property Length | cflow.cs:217:32:217:32 | 0 | +| cflow.cs:217:17:217:28 | Before access to property Length | cflow.cs:217:17:217:21 | Before access to field Field | +| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:17:217:28 | After access to property Length | +| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:217:13:220:13 | After if (...) ... | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:218:13:220:13 | {...} | +| cflow.cs:217:17:217:32 | Before ... < ... | cflow.cs:217:17:217:28 | Before access to property Length | | cflow.cs:217:32:217:32 | 0 | cflow.cs:217:17:217:32 | ... < ... | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | break; | -| cflow.cs:221:18:221:22 | access to field Field | cflow.cs:221:18:221:29 | access to property Length | +| cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | Before break; | +| cflow.cs:219:17:219:22 | Before break; | cflow.cs:219:17:219:22 | break; | +| cflow.cs:221:18:221:22 | After access to field Field | cflow.cs:221:18:221:29 | access to property Length | +| cflow.cs:221:18:221:22 | Before access to field Field | cflow.cs:221:18:221:22 | this access | +| cflow.cs:221:18:221:22 | access to field Field | cflow.cs:221:18:221:22 | After access to field Field | | cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:22 | access to field Field | -| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:33:221:34 | 10 | +| cflow.cs:221:18:221:29 | After access to property Length | cflow.cs:221:33:221:34 | 10 | +| cflow.cs:221:18:221:29 | Before access to property Length | cflow.cs:221:18:221:22 | Before access to field Field | +| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:18:221:29 | After access to property Length | +| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:221:18:221:34 | Before ... < ... | cflow.cs:221:18:221:29 | Before access to property Length | | cflow.cs:221:33:221:34 | 10 | cflow.cs:221:18:221:34 | ... < ... | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:225:5:238:5 | {...} | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | exit Foreach | -| cflow.cs:225:5:238:5 | {...} | cflow.cs:226:57:226:59 | "a" | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | exit Foreach (normal) | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:22:226:22 | String x | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:225:5:238:5 | {...} | +| cflow.cs:224:10:224:16 | Normal Exit | cflow.cs:224:10:224:16 | Exit | +| cflow.cs:225:5:238:5 | After {...} | cflow.cs:224:10:224:16 | Normal Exit | +| cflow.cs:225:5:238:5 | {...} | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:225:5:238:5 | After {...} | +| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:27:226:64 | Before call to method Repeat | | cflow.cs:226:22:226:22 | String x | cflow.cs:227:9:237:9 | {...} | -| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:22:226:22 | String x | +| cflow.cs:226:27:226:64 | Before call to method Repeat | cflow.cs:226:57:226:59 | "a" | +| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | +| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | | cflow.cs:226:57:226:59 | "a" | cflow.cs:226:62:226:63 | 10 | | cflow.cs:226:62:226:63 | 10 | cflow.cs:226:27:226:64 | call to method Repeat | | cflow.cs:227:9:237:9 | {...} | cflow.cs:228:13:228:23 | ...; | -| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:22:228:22 | access to local variable x | +| cflow.cs:228:13:228:17 | After access to field Field | cflow.cs:228:22:228:22 | access to local variable x | +| cflow.cs:228:13:228:17 | Before access to field Field | cflow.cs:228:13:228:17 | this access | +| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:17 | After access to field Field | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | access to field Field | -| cflow.cs:228:13:228:22 | ... += ... | cflow.cs:229:13:232:13 | if (...) ... | -| cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:17 | this access | +| cflow.cs:228:13:228:22 | ... += ... | cflow.cs:228:13:228:22 | After ... += ... | +| cflow.cs:228:13:228:22 | After ... += ... | cflow.cs:228:13:228:23 | After ...; | +| cflow.cs:228:13:228:22 | Before ... += ... | cflow.cs:228:13:228:17 | Before access to field Field | +| cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:22 | Before ... += ... | +| cflow.cs:228:13:228:23 | After ...; | cflow.cs:229:13:232:13 | if (...) ... | | cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:22 | ... += ... | -| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:229:17:229:21 | this access | -| cflow.cs:229:17:229:21 | access to field Field | cflow.cs:229:17:229:28 | access to property Length | +| cflow.cs:229:13:232:13 | After if (...) ... | cflow.cs:233:13:236:13 | if (...) ... | +| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:229:17:229:32 | Before ... > ... | +| cflow.cs:229:17:229:21 | After access to field Field | cflow.cs:229:17:229:28 | access to property Length | +| cflow.cs:229:17:229:21 | Before access to field Field | cflow.cs:229:17:229:21 | this access | +| cflow.cs:229:17:229:21 | access to field Field | cflow.cs:229:17:229:21 | After access to field Field | | cflow.cs:229:17:229:21 | this access | cflow.cs:229:17:229:21 | access to field Field | -| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:32:229:32 | 0 | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:233:13:236:13 | if (...) ... | +| cflow.cs:229:17:229:28 | After access to property Length | cflow.cs:229:32:229:32 | 0 | +| cflow.cs:229:17:229:28 | Before access to property Length | cflow.cs:229:17:229:21 | Before access to field Field | +| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:17:229:28 | After access to property Length | +| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:229:13:232:13 | After if (...) ... | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:230:13:232:13 | {...} | +| cflow.cs:229:17:229:32 | Before ... > ... | cflow.cs:229:17:229:28 | Before access to property Length | | cflow.cs:229:32:229:32 | 0 | cflow.cs:229:17:229:32 | ... > ... | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | continue; | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:21 | this access | -| cflow.cs:233:17:233:21 | access to field Field | cflow.cs:233:17:233:28 | access to property Length | +| cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | Before continue; | +| cflow.cs:231:17:231:25 | Before continue; | cflow.cs:231:17:231:25 | continue; | +| cflow.cs:233:13:236:13 | After if (...) ... | cflow.cs:227:9:237:9 | After {...} | +| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:32 | Before ... < ... | +| cflow.cs:233:17:233:21 | After access to field Field | cflow.cs:233:17:233:28 | access to property Length | +| cflow.cs:233:17:233:21 | Before access to field Field | cflow.cs:233:17:233:21 | this access | +| cflow.cs:233:17:233:21 | access to field Field | cflow.cs:233:17:233:21 | After access to field Field | | cflow.cs:233:17:233:21 | this access | cflow.cs:233:17:233:21 | access to field Field | -| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:32:233:32 | 0 | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:234:13:236:13 | {...} | +| cflow.cs:233:17:233:28 | After access to property Length | cflow.cs:233:32:233:32 | 0 | +| cflow.cs:233:17:233:28 | Before access to property Length | cflow.cs:233:17:233:21 | Before access to field Field | +| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:17:233:28 | After access to property Length | +| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:233:13:236:13 | After if (...) ... | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:234:13:236:13 | {...} | +| cflow.cs:233:17:233:32 | Before ... < ... | cflow.cs:233:17:233:28 | Before access to property Length | | cflow.cs:233:32:233:32 | 0 | cflow.cs:233:17:233:32 | ... < ... | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | break; | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:241:5:259:5 | {...} | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | exit Goto | +| cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | Before break; | +| cflow.cs:235:17:235:22 | Before break; | cflow.cs:235:17:235:22 | break; | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:241:5:259:5 | {...} | +| cflow.cs:240:10:240:13 | Normal Exit | cflow.cs:240:10:240:13 | Exit | +| cflow.cs:241:5:259:5 | After {...} | cflow.cs:240:10:240:13 | Normal Exit | | cflow.cs:241:5:259:5 | {...} | cflow.cs:242:5:242:9 | Label: | | cflow.cs:242:5:242:9 | Label: | cflow.cs:242:12:242:41 | if (...) ... | -| cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:19:242:23 | this access | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:30 | access to property Length | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:9:244:41 | if (...) ... | +| cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:16:242:36 | !... | +| cflow.cs:242:16:242:36 | !... | cflow.cs:242:17:242:36 | !... | +| cflow.cs:242:16:242:36 | After !... [true] | cflow.cs:242:39:242:41 | {...} | +| cflow.cs:242:17:242:36 | !... | cflow.cs:242:19:242:35 | Before ... == ... | +| cflow.cs:242:17:242:36 | After !... [false] | cflow.cs:242:16:242:36 | After !... [true] | +| cflow.cs:242:17:242:36 | After !... [true] | cflow.cs:242:16:242:36 | After !... [false] | +| cflow.cs:242:19:242:23 | After access to field Field | cflow.cs:242:19:242:30 | access to property Length | +| cflow.cs:242:19:242:23 | Before access to field Field | cflow.cs:242:19:242:23 | this access | +| cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:23 | After access to field Field | | cflow.cs:242:19:242:23 | this access | cflow.cs:242:19:242:23 | access to field Field | -| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:35:242:35 | 0 | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:17:242:36 | [true] !... | +| cflow.cs:242:19:242:30 | After access to property Length | cflow.cs:242:35:242:35 | 0 | +| cflow.cs:242:19:242:30 | Before access to property Length | cflow.cs:242:19:242:23 | Before access to field Field | +| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:19:242:30 | After access to property Length | +| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:242:17:242:36 | After !... [true] | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:242:17:242:36 | After !... [false] | +| cflow.cs:242:19:242:35 | Before ... == ... | cflow.cs:242:19:242:30 | Before access to property Length | | cflow.cs:242:35:242:35 | 0 | cflow.cs:242:19:242:35 | ... == ... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:13:244:17 | this access | -| cflow.cs:244:13:244:17 | access to field Field | cflow.cs:244:13:244:24 | access to property Length | +| cflow.cs:244:9:244:41 | After if (...) ... | cflow.cs:246:9:258:9 | switch (...) {...} | +| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:13:244:28 | Before ... > ... | +| cflow.cs:244:13:244:17 | After access to field Field | cflow.cs:244:13:244:24 | access to property Length | +| cflow.cs:244:13:244:17 | Before access to field Field | cflow.cs:244:13:244:17 | this access | +| cflow.cs:244:13:244:17 | access to field Field | cflow.cs:244:13:244:17 | After access to field Field | | cflow.cs:244:13:244:17 | this access | cflow.cs:244:13:244:17 | access to field Field | -| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:28:244:28 | 0 | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:246:9:258:9 | switch (...) {...} | +| cflow.cs:244:13:244:24 | After access to property Length | cflow.cs:244:28:244:28 | 0 | +| cflow.cs:244:13:244:24 | Before access to property Length | cflow.cs:244:13:244:17 | Before access to field Field | +| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:13:244:24 | After access to property Length | +| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:244:9:244:41 | After if (...) ... | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:244:31:244:41 | Before goto ...; | +| cflow.cs:244:13:244:28 | Before ... > ... | cflow.cs:244:13:244:24 | Before access to property Length | | cflow.cs:244:28:244:28 | 0 | cflow.cs:244:13:244:28 | ... > ... | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:246:17:246:21 | this access | -| cflow.cs:246:17:246:21 | access to field Field | cflow.cs:246:17:246:28 | access to property Length | +| cflow.cs:244:31:244:41 | Before goto ...; | cflow.cs:244:31:244:41 | goto ...; | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:241:5:259:5 | After {...} | +| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:246:17:246:32 | Before ... + ... | +| cflow.cs:246:17:246:21 | After access to field Field | cflow.cs:246:17:246:28 | access to property Length | +| cflow.cs:246:17:246:21 | Before access to field Field | cflow.cs:246:17:246:21 | this access | +| cflow.cs:246:17:246:21 | access to field Field | cflow.cs:246:17:246:21 | After access to field Field | | cflow.cs:246:17:246:21 | this access | cflow.cs:246:17:246:21 | access to field Field | -| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:32:246:32 | 3 | -| cflow.cs:246:17:246:32 | ... + ... | cflow.cs:248:13:248:19 | case ...: | +| cflow.cs:246:17:246:28 | After access to property Length | cflow.cs:246:32:246:32 | 3 | +| cflow.cs:246:17:246:28 | Before access to property Length | cflow.cs:246:17:246:21 | Before access to field Field | +| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:17:246:28 | After access to property Length | +| cflow.cs:246:17:246:32 | ... + ... | cflow.cs:246:17:246:32 | After ... + ... | +| cflow.cs:246:17:246:32 | After ... + ... | cflow.cs:248:13:248:19 | case ...: | +| cflow.cs:246:17:246:32 | Before ... + ... | cflow.cs:246:17:246:28 | Before access to property Length | | cflow.cs:246:32:246:32 | 3 | cflow.cs:246:17:246:32 | ... + ... | -| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:18:248:18 | 0 | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:18:250:18 | 1 | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:248:18:248:18 | 0 | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | case ...: | +| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:248:18:248:18 | 0 | cflow.cs:249:17:249:29 | Before goto default; | +| cflow.cs:249:17:249:29 | Before goto default; | cflow.cs:249:17:249:29 | goto default; | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:250:18:250:18 | 1 | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | case ...: | +| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:13:250:19 | After case ...: [no-match] | | cflow.cs:250:18:250:18 | 1 | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:250:18:250:18 | 1 | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:252:17:252:22 | break; | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:35:251:35 | 1 | +| cflow.cs:251:17:251:36 | After call to method WriteLine | cflow.cs:251:17:251:37 | After ...; | +| cflow.cs:251:17:251:36 | Before call to method WriteLine | cflow.cs:251:35:251:35 | 1 | +| cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:251:17:251:36 | After call to method WriteLine | +| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:17:251:36 | Before call to method WriteLine | +| cflow.cs:251:17:251:37 | After ...; | cflow.cs:252:17:252:22 | Before break; | | cflow.cs:251:35:251:35 | 1 | cflow.cs:251:17:251:36 | call to method WriteLine | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:18:253:18 | 2 | -| cflow.cs:253:18:253:18 | 2 | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:255:13:255:20 | default: | cflow.cs:256:17:256:37 | ...; | -| cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:257:17:257:22 | break; | -| cflow.cs:256:17:256:37 | ...; | cflow.cs:256:35:256:35 | 0 | +| cflow.cs:252:17:252:22 | Before break; | cflow.cs:252:17:252:22 | break; | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:253:18:253:18 | 2 | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:255:13:255:20 | default: | +| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:253:18:253:18 | 2 | cflow.cs:254:17:254:27 | Before goto ...; | +| cflow.cs:254:17:254:27 | Before goto ...; | cflow.cs:254:17:254:27 | goto ...; | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:256:17:256:37 | ...; | +| cflow.cs:256:17:256:36 | After call to method WriteLine | cflow.cs:256:17:256:37 | After ...; | +| cflow.cs:256:17:256:36 | Before call to method WriteLine | cflow.cs:256:35:256:35 | 0 | +| cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:256:17:256:36 | After call to method WriteLine | +| cflow.cs:256:17:256:37 | ...; | cflow.cs:256:17:256:36 | Before call to method WriteLine | +| cflow.cs:256:17:256:37 | After ...; | cflow.cs:257:17:257:22 | Before break; | | cflow.cs:256:35:256:35 | 0 | cflow.cs:256:17:256:36 | call to method WriteLine | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:262:5:277:5 | {...} | -| cflow.cs:262:5:277:5 | {...} | cflow.cs:263:22:263:22 | 0 | -| cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:264:9:267:9 | for (...;...;...) ... | +| cflow.cs:257:17:257:22 | Before break; | cflow.cs:257:17:257:22 | break; | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:262:5:277:5 | {...} | +| cflow.cs:262:5:277:5 | {...} | cflow.cs:263:9:263:23 | Before yield return ...; | +| cflow.cs:263:9:263:23 | After yield return ...; | cflow.cs:264:9:267:9 | for (...;...;...) ... | +| cflow.cs:263:9:263:23 | Before yield return ...; | cflow.cs:263:22:263:22 | 0 | +| cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:263:9:263:23 | After yield return ...; | | cflow.cs:263:22:263:22 | 0 | cflow.cs:263:9:263:23 | yield return ...; | -| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:264:22:264:22 | 1 | -| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:25:264:25 | access to local variable i | +| cflow.cs:264:9:267:9 | After for (...;...;...) ... | cflow.cs:268:9:276:9 | try {...} ... | +| cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:264:33:264:35 | Before ...++ | +| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:264:18:264:22 | Before Int32 i = ... | +| cflow.cs:264:18:264:18 | access to local variable i | cflow.cs:264:22:264:22 | 1 | +| cflow.cs:264:18:264:22 | After Int32 i = ... | cflow.cs:264:25:264:30 | Before ... < ... | +| cflow.cs:264:18:264:22 | Before Int32 i = ... | cflow.cs:264:18:264:18 | access to local variable i | +| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:18:264:22 | After Int32 i = ... | | cflow.cs:264:22:264:22 | 1 | cflow.cs:264:18:264:22 | Int32 i = ... | | cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:29:264:30 | 10 | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:268:9:276:9 | try {...} ... | +| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:9:267:9 | After for (...;...;...) ... | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:265:9:267:9 | {...} | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:25 | access to local variable i | | cflow.cs:264:29:264:30 | 10 | cflow.cs:264:25:264:30 | ... < ... | | cflow.cs:264:33:264:33 | access to local variable i | cflow.cs:264:33:264:35 | ...++ | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:266:26:266:26 | access to local variable i | -| cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:264:33:264:33 | access to local variable i | +| cflow.cs:264:33:264:35 | ...++ | cflow.cs:264:33:264:35 | After ...++ | +| cflow.cs:264:33:264:35 | Before ...++ | cflow.cs:264:33:264:33 | access to local variable i | +| cflow.cs:265:9:267:9 | After {...} | cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:265:9:267:9 | {...} | cflow.cs:266:13:266:27 | Before yield return ...; | +| cflow.cs:266:13:266:27 | After yield return ...; | cflow.cs:265:9:267:9 | After {...} | +| cflow.cs:266:13:266:27 | Before yield return ...; | cflow.cs:266:26:266:26 | access to local variable i | +| cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:266:13:266:27 | After yield return ...; | | cflow.cs:266:26:266:26 | access to local variable i | cflow.cs:266:13:266:27 | yield return ...; | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:262:5:277:5 | After {...} | | cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:269:9:272:9 | {...} | -| cflow.cs:269:9:272:9 | {...} | cflow.cs:270:13:270:24 | yield break; | +| cflow.cs:269:9:272:9 | {...} | cflow.cs:270:13:270:24 | Before yield break; | +| cflow.cs:270:13:270:24 | Before yield break; | cflow.cs:270:13:270:24 | yield break; | | cflow.cs:270:13:270:24 | yield break; | cflow.cs:274:9:276:9 | {...} | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:261:49:261:53 | Exceptional Exit | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:261:49:261:53 | Normal Exit | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:268:9:276:9 | After try {...} ... | | cflow.cs:274:9:276:9 | {...} | cflow.cs:275:13:275:42 | ...; | -| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:261:49:261:53 | exit Yield (abnormal) | -| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:261:49:261:53 | exit Yield (normal) | -| cflow.cs:275:13:275:42 | ...; | cflow.cs:275:31:275:40 | "not dead" | +| cflow.cs:275:13:275:41 | After call to method WriteLine | cflow.cs:275:13:275:42 | After ...; | +| cflow.cs:275:13:275:41 | Before call to method WriteLine | cflow.cs:275:31:275:40 | "not dead" | +| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:275:13:275:41 | After call to method WriteLine | +| cflow.cs:275:13:275:42 | ...; | cflow.cs:275:13:275:41 | Before call to method WriteLine | +| cflow.cs:275:13:275:42 | After ...; | cflow.cs:274:9:276:9 | After {...} | | cflow.cs:275:31:275:40 | "not dead" | cflow.cs:275:13:275:41 | call to method WriteLine | -| cflow.cs:282:5:282:18 | call to method | cflow.cs:282:24:282:27 | call to constructor ControlFlow | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | this access | -| cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | cflow.cs:282:5:282:18 | exit ControlFlowSub | +| cflow.cs:282:5:282:18 | After call to method | cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | +| cflow.cs:282:5:282:18 | Before call to method | cflow.cs:282:5:282:18 | this access | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | Before call to method | +| cflow.cs:282:5:282:18 | Normal Exit | cflow.cs:282:5:282:18 | Exit | +| cflow.cs:282:5:282:18 | call to method | cflow.cs:282:5:282:18 | After call to method | | cflow.cs:282:5:282:18 | this access | cflow.cs:282:5:282:18 | call to method | -| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:31:282:33 | {...} | -| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | -| cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | cflow.cs:284:5:284:18 | exit ControlFlowSub | -| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:39:284:41 | {...} | -| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:34:286:34 | access to parameter i | -| cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | cflow.cs:286:5:286:18 | exit ControlFlowSub | -| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:48:286:50 | {...} | +| cflow.cs:282:24:282:27 | After call to constructor ControlFlow | cflow.cs:282:31:282:33 | {...} | +| cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | cflow.cs:282:24:282:27 | call to constructor ControlFlow | +| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:24:282:27 | After call to constructor ControlFlow | +| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:5:282:18 | Normal Exit | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | +| cflow.cs:284:5:284:18 | Normal Exit | cflow.cs:284:5:284:18 | Exit | +| cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | cflow.cs:284:39:284:41 | {...} | +| cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | +| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | +| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:5:284:18 | Normal Exit | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | +| cflow.cs:286:5:286:18 | Normal Exit | cflow.cs:286:5:286:18 | Exit | +| cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | cflow.cs:286:48:286:50 | {...} | +| cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | cflow.cs:286:34:286:45 | Before call to method ToString | +| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | | cflow.cs:286:34:286:34 | access to parameter i | cflow.cs:286:34:286:45 | call to method ToString | -| cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | -| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | -| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | {...} | -| cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | call to constructor Object | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | this access | -| cflow.cs:289:7:289:18 | exit DelegateCall (normal) | cflow.cs:289:7:289:18 | exit DelegateCall | +| cflow.cs:286:34:286:45 | After call to method ToString | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | +| cflow.cs:286:34:286:45 | Before call to method ToString | cflow.cs:286:34:286:34 | access to parameter i | +| cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:34:286:45 | After call to method ToString | +| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:5:286:18 | Normal Exit | +| cflow.cs:289:7:289:18 | After call to constructor Object | cflow.cs:289:7:289:18 | {...} | +| cflow.cs:289:7:289:18 | After call to method | cflow.cs:289:7:289:18 | Before call to constructor Object | +| cflow.cs:289:7:289:18 | Before call to constructor Object | cflow.cs:289:7:289:18 | call to constructor Object | +| cflow.cs:289:7:289:18 | Before call to method | cflow.cs:289:7:289:18 | this access | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | Before call to method | +| cflow.cs:289:7:289:18 | Normal Exit | cflow.cs:289:7:289:18 | Exit | +| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | After call to constructor Object | +| cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | After call to method | | cflow.cs:289:7:289:18 | this access | cflow.cs:289:7:289:18 | call to method | -| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | exit DelegateCall (normal) | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:38:291:38 | access to parameter f | -| cflow.cs:291:12:291:12 | exit M (normal) | cflow.cs:291:12:291:12 | exit M | +| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | Normal Exit | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:38:291:41 | Before delegate call | +| cflow.cs:291:12:291:12 | Normal Exit | cflow.cs:291:12:291:12 | Exit | | cflow.cs:291:38:291:38 | access to parameter f | cflow.cs:291:40:291:40 | 0 | -| cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:12:291:12 | exit M (normal) | +| cflow.cs:291:38:291:41 | After delegate call | cflow.cs:291:12:291:12 | Normal Exit | +| cflow.cs:291:38:291:41 | Before delegate call | cflow.cs:291:38:291:38 | access to parameter f | +| cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:38:291:41 | After delegate call | | cflow.cs:291:40:291:40 | 0 | cflow.cs:291:38:291:41 | delegate call | -| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:52:296:54 | {...} | -| cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | call to constructor Object | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | this access | -| cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | cflow.cs:296:5:296:25 | exit NegationInConstructor | +| cflow.cs:296:5:296:25 | After call to constructor Object | cflow.cs:296:52:296:54 | {...} | +| cflow.cs:296:5:296:25 | After call to method | cflow.cs:296:5:296:25 | Before call to constructor Object | +| cflow.cs:296:5:296:25 | Before call to constructor Object | cflow.cs:296:5:296:25 | call to constructor Object | +| cflow.cs:296:5:296:25 | Before call to method | cflow.cs:296:5:296:25 | this access | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | Before call to method | +| cflow.cs:296:5:296:25 | Normal Exit | cflow.cs:296:5:296:25 | Exit | +| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:5:296:25 | After call to constructor Object | +| cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | After call to method | | cflow.cs:296:5:296:25 | this access | cflow.cs:296:5:296:25 | call to method | -| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:299:5:301:5 | {...} | -| cflow.cs:298:10:298:10 | exit M (normal) | cflow.cs:298:10:298:10 | exit M | +| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | Normal Exit | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:299:5:301:5 | {...} | +| cflow.cs:298:10:298:10 | Normal Exit | cflow.cs:298:10:298:10 | Exit | +| cflow.cs:299:5:301:5 | After {...} | cflow.cs:298:10:298:10 | Normal Exit | | cflow.cs:299:5:301:5 | {...} | cflow.cs:300:9:300:73 | ...; | -| cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:298:10:298:10 | exit M (normal) | -| cflow.cs:300:9:300:73 | ...; | cflow.cs:300:38:300:38 | 0 | -| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:46:300:46 | access to parameter i | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:70:300:71 | "" | +| cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | cflow.cs:300:9:300:73 | After ...; | +| cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | cflow.cs:300:38:300:38 | 0 | +| cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | +| cflow.cs:300:9:300:73 | ...; | cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | +| cflow.cs:300:9:300:73 | After ...; | cflow.cs:299:5:301:5 | After {...} | +| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:44:300:64 | ... && ... | +| cflow.cs:300:44:300:51 | !... | cflow.cs:300:46:300:50 | Before ... > ... | +| cflow.cs:300:44:300:51 | After !... [true] | cflow.cs:300:56:300:64 | Before ... != ... | +| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:51 | !... | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:70:300:71 | "" | | cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:300:50:300:50 | 0 | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:44:300:51 | [false] !... | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:44:300:51 | [true] !... | +| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | After ... > ... [false] | +| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | After ... > ... [true] | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:300:44:300:51 | After !... [true] | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:300:44:300:51 | After !... [false] | +| cflow.cs:300:46:300:50 | Before ... > ... | cflow.cs:300:46:300:46 | access to parameter i | | cflow.cs:300:50:300:50 | 0 | cflow.cs:300:46:300:50 | ... > ... | | cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:61:300:64 | null | +| cflow.cs:300:56:300:64 | ... != ... | cflow.cs:300:56:300:64 | After ... != ... | +| cflow.cs:300:56:300:64 | Before ... != ... | cflow.cs:300:56:300:56 | access to parameter s | | cflow.cs:300:61:300:64 | null | cflow.cs:300:56:300:64 | ... != ... | | cflow.cs:300:70:300:71 | "" | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | -| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | {...} | -| cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | call to constructor Object | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | this access | -| cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | cflow.cs:304:7:304:18 | exit LambdaGetter | +| cflow.cs:304:7:304:18 | After call to constructor Object | cflow.cs:304:7:304:18 | {...} | +| cflow.cs:304:7:304:18 | After call to method | cflow.cs:304:7:304:18 | Before call to constructor Object | +| cflow.cs:304:7:304:18 | Before call to constructor Object | cflow.cs:304:7:304:18 | call to constructor Object | +| cflow.cs:304:7:304:18 | Before call to method | cflow.cs:304:7:304:18 | this access | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | Before call to method | +| cflow.cs:304:7:304:18 | Normal Exit | cflow.cs:304:7:304:18 | Exit | +| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | After call to constructor Object | +| cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | After call to method | | cflow.cs:304:7:304:18 | this access | cflow.cs:304:7:304:18 | call to method | -| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | -| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | exit get__getter (normal) | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:307:5:310:5 | {...} | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | (...) => ... | -| cflow.cs:306:60:310:5 | exit (...) => ... (normal) | cflow.cs:306:60:310:5 | exit (...) => ... | -| cflow.cs:306:60:310:5 | exit get__getter (normal) | cflow.cs:306:60:310:5 | exit get__getter | +| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | Normal Exit | +| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | Normal Exit | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:307:5:310:5 | {...} | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | Exit | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | Exit | | cflow.cs:307:5:310:5 | {...} | cflow.cs:308:9:308:21 | ... ...; | -| cflow.cs:308:9:308:21 | ... ...; | cflow.cs:308:20:308:20 | access to parameter o | -| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:309:16:309:16 | access to local variable x | +| cflow.cs:308:9:308:21 | ... ...; | cflow.cs:308:16:308:20 | Before Object x = ... | +| cflow.cs:308:9:308:21 | After ... ...; | cflow.cs:309:9:309:17 | Before return ...; | +| cflow.cs:308:16:308:16 | access to local variable x | cflow.cs:308:20:308:20 | access to parameter o | +| cflow.cs:308:16:308:20 | After Object x = ... | cflow.cs:308:9:308:21 | After ... ...; | +| cflow.cs:308:16:308:20 | Before Object x = ... | cflow.cs:308:16:308:16 | access to local variable x | +| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:308:16:308:20 | After Object x = ... | | cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:308:16:308:20 | Object x = ... | -| cflow.cs:309:9:309:17 | return ...; | cflow.cs:306:60:310:5 | exit (...) => ... (normal) | +| cflow.cs:309:9:309:17 | Before return ...; | cflow.cs:309:16:309:16 | access to local variable x | +| cflow.cs:309:9:309:17 | return ...; | cflow.cs:306:60:310:5 | Normal Exit | | cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:309:9:309:17 | return ...; | postDominance -| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | call to method | +| AccessorCalls.cs:1:7:1:19 | After call to constructor Object | AccessorCalls.cs:1:7:1:19 | call to constructor Object | +| AccessorCalls.cs:1:7:1:19 | After call to method | AccessorCalls.cs:1:7:1:19 | call to method | +| AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | AccessorCalls.cs:1:7:1:19 | After call to method | +| AccessorCalls.cs:1:7:1:19 | Before call to method | AccessorCalls.cs:1:7:1:19 | Entry | +| AccessorCalls.cs:1:7:1:19 | Exit | AccessorCalls.cs:1:7:1:19 | Normal Exit | +| AccessorCalls.cs:1:7:1:19 | Normal Exit | AccessorCalls.cs:1:7:1:19 | {...} | +| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | | AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | this access | -| AccessorCalls.cs:1:7:1:19 | exit AccessorCalls | AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | -| AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | AccessorCalls.cs:1:7:1:19 | {...} | -| AccessorCalls.cs:1:7:1:19 | this access | AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | -| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | call to constructor Object | -| AccessorCalls.cs:5:23:5:25 | exit get_Item | AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | -| AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | AccessorCalls.cs:5:30:5:30 | access to parameter i | -| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | enter get_Item | -| AccessorCalls.cs:5:33:5:35 | exit set_Item | AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | -| AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | AccessorCalls.cs:5:37:5:39 | {...} | -| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | enter set_Item | -| AccessorCalls.cs:7:32:7:34 | exit add_Event | AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | -| AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | AccessorCalls.cs:7:36:7:38 | {...} | -| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | enter add_Event | -| AccessorCalls.cs:7:40:7:45 | exit remove_Event | AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | -| AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | AccessorCalls.cs:7:47:7:49 | {...} | -| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | enter remove_Event | -| AccessorCalls.cs:10:10:10:11 | exit M1 | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | -| AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:16:9:16:23 | ... -= ... | -| AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:10:10:10:11 | enter M1 | -| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:9:12:32 | ...; | -| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:22:12:31 | access to field Field | -| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:9:12:18 | access to field Field | +| AccessorCalls.cs:1:7:1:19 | this access | AccessorCalls.cs:1:7:1:19 | Before call to method | +| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | After call to constructor Object | +| AccessorCalls.cs:5:23:5:25 | Exit | AccessorCalls.cs:5:23:5:25 | Normal Exit | +| AccessorCalls.cs:5:23:5:25 | Normal Exit | AccessorCalls.cs:5:30:5:30 | access to parameter i | +| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | Entry | +| AccessorCalls.cs:5:33:5:35 | Exit | AccessorCalls.cs:5:33:5:35 | Normal Exit | +| AccessorCalls.cs:5:33:5:35 | Normal Exit | AccessorCalls.cs:5:37:5:39 | {...} | +| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | Entry | +| AccessorCalls.cs:7:32:7:34 | Exit | AccessorCalls.cs:7:32:7:34 | Normal Exit | +| AccessorCalls.cs:7:32:7:34 | Normal Exit | AccessorCalls.cs:7:36:7:38 | {...} | +| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | Entry | +| AccessorCalls.cs:7:40:7:45 | Exit | AccessorCalls.cs:7:40:7:45 | Normal Exit | +| AccessorCalls.cs:7:40:7:45 | Normal Exit | AccessorCalls.cs:7:47:7:49 | {...} | +| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | Entry | +| AccessorCalls.cs:10:10:10:11 | Exit | AccessorCalls.cs:10:10:10:11 | Normal Exit | +| AccessorCalls.cs:10:10:10:11 | Normal Exit | AccessorCalls.cs:11:5:17:5 | After {...} | +| AccessorCalls.cs:11:5:17:5 | After {...} | AccessorCalls.cs:16:9:16:24 | After ...; | +| AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:10:10:10:11 | Entry | +| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:9:12:18 | Before access to field Field | +| AccessorCalls.cs:12:9:12:18 | After access to field Field | AccessorCalls.cs:12:9:12:18 | access to field Field | +| AccessorCalls.cs:12:9:12:18 | Before access to field Field | AccessorCalls.cs:12:9:12:31 | Before ... = ... | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:12 | this access | +| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:22:12:31 | After access to field Field | +| AccessorCalls.cs:12:9:12:31 | After ... = ... | AccessorCalls.cs:12:9:12:31 | ... = ... | +| AccessorCalls.cs:12:9:12:31 | Before ... = ... | AccessorCalls.cs:12:9:12:32 | ...; | | AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:11:5:17:5 | {...} | -| AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:9:12:12 | this access | +| AccessorCalls.cs:12:9:12:32 | After ...; | AccessorCalls.cs:12:9:12:31 | After ... = ... | +| AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:31 | Before access to field Field | +| AccessorCalls.cs:12:22:12:31 | After access to field Field | AccessorCalls.cs:12:22:12:31 | access to field Field | +| AccessorCalls.cs:12:22:12:31 | Before access to field Field | AccessorCalls.cs:12:9:12:18 | After access to field Field | | AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:22:12:25 | this access | -| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:9:13:30 | ...; | -| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:21:13:29 | access to property Prop | -| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:13:9:13:17 | access to property Prop | -| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:12:9:12:31 | ... = ... | -| AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:13:9:13:12 | this access | +| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:9:13:17 | Before access to property Prop | +| AccessorCalls.cs:13:9:13:17 | After access to property Prop | AccessorCalls.cs:13:9:13:17 | access to property Prop | +| AccessorCalls.cs:13:9:13:17 | Before access to property Prop | AccessorCalls.cs:13:9:13:29 | Before ... = ... | +| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:12 | this access | +| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:13:21:13:29 | After access to property Prop | +| AccessorCalls.cs:13:9:13:29 | After ... = ... | AccessorCalls.cs:13:9:13:29 | ... = ... | +| AccessorCalls.cs:13:9:13:29 | Before ... = ... | AccessorCalls.cs:13:9:13:30 | ...; | +| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:12:9:12:32 | After ...; | +| AccessorCalls.cs:13:9:13:30 | After ...; | AccessorCalls.cs:13:9:13:29 | After ... = ... | +| AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:13:21:13:29 | Before access to property Prop | +| AccessorCalls.cs:13:21:13:29 | After access to property Prop | AccessorCalls.cs:13:21:13:29 | access to property Prop | +| AccessorCalls.cs:13:21:13:29 | Before access to property Prop | AccessorCalls.cs:13:9:13:17 | After access to property Prop | | AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:21:13:24 | this access | -| AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:14:9:14:26 | ...; | -| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:19:14:25 | access to indexer | -| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:14:9:14:15 | access to indexer | -| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:13:9:13:29 | ... = ... | +| AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:14:9:14:15 | Before access to indexer | +| AccessorCalls.cs:14:9:14:15 | After access to indexer | AccessorCalls.cs:14:9:14:15 | access to indexer | +| AccessorCalls.cs:14:9:14:15 | Before access to indexer | AccessorCalls.cs:14:9:14:25 | Before ... = ... | +| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:14:14:14 | 0 | +| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:14:19:14:25 | After access to indexer | +| AccessorCalls.cs:14:9:14:25 | After ... = ... | AccessorCalls.cs:14:9:14:25 | ... = ... | +| AccessorCalls.cs:14:9:14:25 | Before ... = ... | AccessorCalls.cs:14:9:14:26 | ...; | +| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:13:9:13:30 | After ...; | +| AccessorCalls.cs:14:9:14:26 | After ...; | AccessorCalls.cs:14:9:14:25 | After ... = ... | | AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:9:14:12 | this access | -| AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:14:14:14:14 | 0 | +| AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:14:19:14:25 | Before access to indexer | +| AccessorCalls.cs:14:19:14:25 | After access to indexer | AccessorCalls.cs:14:19:14:25 | access to indexer | +| AccessorCalls.cs:14:19:14:25 | Before access to indexer | AccessorCalls.cs:14:9:14:15 | After access to indexer | | AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:24:14:24 | 1 | | AccessorCalls.cs:14:24:14:24 | 1 | AccessorCalls.cs:14:19:14:22 | this access | -| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:9:15:24 | ...; | -| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:23:15:23 | access to parameter e | -| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:15:9:15:18 | access to event Event | -| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:14:9:14:25 | ... = ... | -| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:12 | this access | -| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:9:16:24 | ...; | -| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:23:16:23 | access to parameter e | -| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:16:9:16:18 | access to event Event | -| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:15:9:15:23 | ... += ... | -| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:12 | this access | -| AccessorCalls.cs:19:10:19:11 | exit M2 | AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | -| AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | AccessorCalls.cs:25:9:25:25 | ... -= ... | -| AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:19:10:19:11 | enter M2 | -| AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:36 | ...; | +| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:9:15:18 | Before access to event Event | +| AccessorCalls.cs:15:9:15:18 | After access to event Event | AccessorCalls.cs:15:9:15:18 | access to event Event | +| AccessorCalls.cs:15:9:15:18 | Before access to event Event | AccessorCalls.cs:15:9:15:23 | Before ... += ... | +| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:12 | this access | +| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:15:23:15:23 | access to parameter e | +| AccessorCalls.cs:15:9:15:23 | After ... += ... | AccessorCalls.cs:15:9:15:23 | ... += ... | +| AccessorCalls.cs:15:9:15:23 | Before ... += ... | AccessorCalls.cs:15:9:15:24 | ...; | +| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:14:9:14:26 | After ...; | +| AccessorCalls.cs:15:9:15:24 | After ...; | AccessorCalls.cs:15:9:15:23 | After ... += ... | +| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:18 | After access to event Event | +| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:9:16:18 | Before access to event Event | +| AccessorCalls.cs:16:9:16:18 | After access to event Event | AccessorCalls.cs:16:9:16:18 | access to event Event | +| AccessorCalls.cs:16:9:16:18 | Before access to event Event | AccessorCalls.cs:16:9:16:23 | Before ... -= ... | +| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:12 | this access | +| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:16:23:16:23 | access to parameter e | +| AccessorCalls.cs:16:9:16:23 | After ... -= ... | AccessorCalls.cs:16:9:16:23 | ... -= ... | +| AccessorCalls.cs:16:9:16:23 | Before ... -= ... | AccessorCalls.cs:16:9:16:24 | ...; | +| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:15:9:15:24 | After ...; | +| AccessorCalls.cs:16:9:16:24 | After ...; | AccessorCalls.cs:16:9:16:23 | After ... -= ... | +| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:18 | After access to event Event | +| AccessorCalls.cs:19:10:19:11 | Exit | AccessorCalls.cs:19:10:19:11 | Normal Exit | +| AccessorCalls.cs:19:10:19:11 | Normal Exit | AccessorCalls.cs:20:5:26:5 | After {...} | +| AccessorCalls.cs:20:5:26:5 | After {...} | AccessorCalls.cs:25:9:25:26 | After ...; | +| AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:19:10:19:11 | Entry | +| AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:14 | Before access to field x | +| AccessorCalls.cs:21:9:21:14 | After access to field x | AccessorCalls.cs:21:9:21:14 | access to field x | +| AccessorCalls.cs:21:9:21:14 | Before access to field x | AccessorCalls.cs:21:9:21:20 | Before access to field Field | | AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:9:21:12 | this access | -| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:24:21:35 | access to field Field | -| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:9:21:20 | access to field Field | +| AccessorCalls.cs:21:9:21:20 | After access to field Field | AccessorCalls.cs:21:9:21:20 | access to field Field | +| AccessorCalls.cs:21:9:21:20 | Before access to field Field | AccessorCalls.cs:21:9:21:35 | Before ... = ... | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:14 | After access to field x | +| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:24:21:35 | After access to field Field | +| AccessorCalls.cs:21:9:21:35 | After ... = ... | AccessorCalls.cs:21:9:21:35 | ... = ... | +| AccessorCalls.cs:21:9:21:35 | Before ... = ... | AccessorCalls.cs:21:9:21:36 | ...; | | AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:20:5:26:5 | {...} | -| AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | +| AccessorCalls.cs:21:9:21:36 | After ...; | AccessorCalls.cs:21:9:21:35 | After ... = ... | +| AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:29 | Before access to field x | +| AccessorCalls.cs:21:24:21:29 | After access to field x | AccessorCalls.cs:21:24:21:29 | access to field x | +| AccessorCalls.cs:21:24:21:29 | Before access to field x | AccessorCalls.cs:21:24:21:35 | Before access to field Field | | AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | -| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:24:21:29 | access to field x | -| AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:34 | ...; | +| AccessorCalls.cs:21:24:21:35 | After access to field Field | AccessorCalls.cs:21:24:21:35 | access to field Field | +| AccessorCalls.cs:21:24:21:35 | Before access to field Field | AccessorCalls.cs:21:9:21:20 | After access to field Field | +| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:24:21:29 | After access to field x | +| AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:14 | Before access to field x | +| AccessorCalls.cs:22:9:22:14 | After access to field x | AccessorCalls.cs:22:9:22:14 | access to field x | +| AccessorCalls.cs:22:9:22:14 | Before access to field x | AccessorCalls.cs:22:9:22:19 | Before access to property Prop | | AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:9:22:12 | this access | -| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:23:22:33 | access to property Prop | -| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:22:9:22:19 | access to property Prop | -| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:21:9:21:35 | ... = ... | -| AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:22:9:22:14 | access to field x | +| AccessorCalls.cs:22:9:22:19 | After access to property Prop | AccessorCalls.cs:22:9:22:19 | access to property Prop | +| AccessorCalls.cs:22:9:22:19 | Before access to property Prop | AccessorCalls.cs:22:9:22:33 | Before ... = ... | +| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:14 | After access to field x | +| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:22:23:22:33 | After access to property Prop | +| AccessorCalls.cs:22:9:22:33 | After ... = ... | AccessorCalls.cs:22:9:22:33 | ... = ... | +| AccessorCalls.cs:22:9:22:33 | Before ... = ... | AccessorCalls.cs:22:9:22:34 | ...; | +| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:21:9:21:36 | After ...; | +| AccessorCalls.cs:22:9:22:34 | After ...; | AccessorCalls.cs:22:9:22:33 | After ... = ... | +| AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:22:23:22:28 | Before access to field x | +| AccessorCalls.cs:22:23:22:28 | After access to field x | AccessorCalls.cs:22:23:22:28 | access to field x | +| AccessorCalls.cs:22:23:22:28 | Before access to field x | AccessorCalls.cs:22:23:22:33 | Before access to property Prop | | AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:26 | this access | -| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:23:22:28 | access to field x | -| AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:23:9:23:30 | ...; | +| AccessorCalls.cs:22:23:22:33 | After access to property Prop | AccessorCalls.cs:22:23:22:33 | access to property Prop | +| AccessorCalls.cs:22:23:22:33 | Before access to property Prop | AccessorCalls.cs:22:9:22:19 | After access to property Prop | +| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:23:22:28 | After access to field x | +| AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:23:9:23:14 | Before access to field x | +| AccessorCalls.cs:23:9:23:14 | After access to field x | AccessorCalls.cs:23:9:23:14 | access to field x | +| AccessorCalls.cs:23:9:23:14 | Before access to field x | AccessorCalls.cs:23:9:23:17 | Before access to indexer | | AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:9:23:12 | this access | -| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:21:23:29 | access to indexer | -| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:23:9:23:17 | access to indexer | -| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:22:9:22:33 | ... = ... | -| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:9:23:14 | access to field x | -| AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:23:16:23:16 | 0 | +| AccessorCalls.cs:23:9:23:17 | After access to indexer | AccessorCalls.cs:23:9:23:17 | access to indexer | +| AccessorCalls.cs:23:9:23:17 | Before access to indexer | AccessorCalls.cs:23:9:23:29 | Before ... = ... | +| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:16:23:16 | 0 | +| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:23:21:23:29 | After access to indexer | +| AccessorCalls.cs:23:9:23:29 | After ... = ... | AccessorCalls.cs:23:9:23:29 | ... = ... | +| AccessorCalls.cs:23:9:23:29 | Before ... = ... | AccessorCalls.cs:23:9:23:30 | ...; | +| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:22:9:22:34 | After ...; | +| AccessorCalls.cs:23:9:23:30 | After ...; | AccessorCalls.cs:23:9:23:29 | After ... = ... | +| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:9:23:14 | After access to field x | +| AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:23:21:23:26 | Before access to field x | +| AccessorCalls.cs:23:21:23:26 | After access to field x | AccessorCalls.cs:23:21:23:26 | access to field x | +| AccessorCalls.cs:23:21:23:26 | Before access to field x | AccessorCalls.cs:23:21:23:29 | Before access to indexer | | AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:21:23:24 | this access | +| AccessorCalls.cs:23:21:23:29 | After access to indexer | AccessorCalls.cs:23:21:23:29 | access to indexer | +| AccessorCalls.cs:23:21:23:29 | Before access to indexer | AccessorCalls.cs:23:9:23:17 | After access to indexer | | AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:28:23:28 | 1 | -| AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:23:21:23:26 | access to field x | -| AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:24:9:24:26 | ...; | +| AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:23:21:23:26 | After access to field x | +| AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:24:9:24:14 | Before access to field x | +| AccessorCalls.cs:24:9:24:14 | After access to field x | AccessorCalls.cs:24:9:24:14 | access to field x | +| AccessorCalls.cs:24:9:24:14 | Before access to field x | AccessorCalls.cs:24:9:24:20 | Before access to event Event | | AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:9:24:12 | this access | -| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:25:24:25 | access to parameter e | -| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:24:9:24:20 | access to event Event | -| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:23:9:23:29 | ... = ... | -| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:14 | access to field x | -| AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:25:9:25:26 | ...; | +| AccessorCalls.cs:24:9:24:20 | After access to event Event | AccessorCalls.cs:24:9:24:20 | access to event Event | +| AccessorCalls.cs:24:9:24:20 | Before access to event Event | AccessorCalls.cs:24:9:24:25 | Before ... += ... | +| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:14 | After access to field x | +| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:24:25:24:25 | access to parameter e | +| AccessorCalls.cs:24:9:24:25 | After ... += ... | AccessorCalls.cs:24:9:24:25 | ... += ... | +| AccessorCalls.cs:24:9:24:25 | Before ... += ... | AccessorCalls.cs:24:9:24:26 | ...; | +| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:23:9:23:30 | After ...; | +| AccessorCalls.cs:24:9:24:26 | After ...; | AccessorCalls.cs:24:9:24:25 | After ... += ... | +| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:20 | After access to event Event | +| AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:25:9:25:14 | Before access to field x | +| AccessorCalls.cs:25:9:25:14 | After access to field x | AccessorCalls.cs:25:9:25:14 | access to field x | +| AccessorCalls.cs:25:9:25:14 | Before access to field x | AccessorCalls.cs:25:9:25:20 | Before access to event Event | | AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:9:25:12 | this access | -| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:25:25:25 | access to parameter e | -| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:25:9:25:20 | access to event Event | -| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:24:9:24:25 | ... += ... | -| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:14 | access to field x | -| AccessorCalls.cs:28:10:28:11 | exit M3 | AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | -| AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | AccessorCalls.cs:32:9:32:17 | ...++ | -| AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:28:10:28:11 | enter M3 | -| AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:30:9:30:21 | ...; | +| AccessorCalls.cs:25:9:25:20 | After access to event Event | AccessorCalls.cs:25:9:25:20 | access to event Event | +| AccessorCalls.cs:25:9:25:20 | Before access to event Event | AccessorCalls.cs:25:9:25:25 | Before ... -= ... | +| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:14 | After access to field x | +| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:25:25:25:25 | access to parameter e | +| AccessorCalls.cs:25:9:25:25 | After ... -= ... | AccessorCalls.cs:25:9:25:25 | ... -= ... | +| AccessorCalls.cs:25:9:25:25 | Before ... -= ... | AccessorCalls.cs:25:9:25:26 | ...; | +| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:24:9:24:26 | After ...; | +| AccessorCalls.cs:25:9:25:26 | After ...; | AccessorCalls.cs:25:9:25:25 | After ... -= ... | +| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:20 | After access to event Event | +| AccessorCalls.cs:28:10:28:11 | Exit | AccessorCalls.cs:28:10:28:11 | Normal Exit | +| AccessorCalls.cs:28:10:28:11 | Normal Exit | AccessorCalls.cs:29:5:33:5 | After {...} | +| AccessorCalls.cs:29:5:33:5 | After {...} | AccessorCalls.cs:32:9:32:18 | After ...; | +| AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:28:10:28:11 | Entry | +| AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:30:9:30:18 | Before access to field Field | +| AccessorCalls.cs:30:9:30:18 | After access to field Field | AccessorCalls.cs:30:9:30:18 | access to field Field | +| AccessorCalls.cs:30:9:30:18 | Before access to field Field | AccessorCalls.cs:30:9:30:20 | Before ...++ | | AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:12 | this access | -| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:30:9:30:18 | access to field Field | +| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:30:9:30:18 | After access to field Field | +| AccessorCalls.cs:30:9:30:20 | After ...++ | AccessorCalls.cs:30:9:30:20 | ...++ | +| AccessorCalls.cs:30:9:30:20 | Before ...++ | AccessorCalls.cs:30:9:30:21 | ...; | | AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:29:5:33:5 | {...} | -| AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:31:9:31:20 | ...; | +| AccessorCalls.cs:30:9:30:21 | After ...; | AccessorCalls.cs:30:9:30:20 | After ...++ | +| AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:31:9:31:17 | Before access to property Prop | +| AccessorCalls.cs:31:9:31:17 | After access to property Prop | AccessorCalls.cs:31:9:31:17 | access to property Prop | +| AccessorCalls.cs:31:9:31:17 | Before access to property Prop | AccessorCalls.cs:31:9:31:19 | Before ...++ | | AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:12 | this access | -| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:31:9:31:17 | access to property Prop | -| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:30:9:30:20 | ...++ | -| AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:32:9:32:18 | ...; | +| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:31:9:31:17 | After access to property Prop | +| AccessorCalls.cs:31:9:31:19 | After ...++ | AccessorCalls.cs:31:9:31:19 | ...++ | +| AccessorCalls.cs:31:9:31:19 | Before ...++ | AccessorCalls.cs:31:9:31:20 | ...; | +| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:30:9:30:21 | After ...; | +| AccessorCalls.cs:31:9:31:20 | After ...; | AccessorCalls.cs:31:9:31:19 | After ...++ | +| AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:32:9:32:15 | Before access to indexer | +| AccessorCalls.cs:32:9:32:15 | After access to indexer | AccessorCalls.cs:32:9:32:15 | access to indexer | +| AccessorCalls.cs:32:9:32:15 | Before access to indexer | AccessorCalls.cs:32:9:32:17 | Before ...++ | | AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:14:32:14 | 0 | -| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:32:9:32:15 | access to indexer | -| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:31:9:31:19 | ...++ | +| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:32:9:32:15 | After access to indexer | +| AccessorCalls.cs:32:9:32:17 | After ...++ | AccessorCalls.cs:32:9:32:17 | ...++ | +| AccessorCalls.cs:32:9:32:17 | Before ...++ | AccessorCalls.cs:32:9:32:18 | ...; | +| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:31:9:31:20 | After ...; | +| AccessorCalls.cs:32:9:32:18 | After ...; | AccessorCalls.cs:32:9:32:17 | After ...++ | | AccessorCalls.cs:32:14:32:14 | 0 | AccessorCalls.cs:32:9:32:12 | this access | -| AccessorCalls.cs:35:10:35:11 | exit M4 | AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | -| AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | AccessorCalls.cs:39:9:39:19 | ...++ | -| AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:35:10:35:11 | enter M4 | -| AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:37:9:37:23 | ...; | +| AccessorCalls.cs:35:10:35:11 | Exit | AccessorCalls.cs:35:10:35:11 | Normal Exit | +| AccessorCalls.cs:35:10:35:11 | Normal Exit | AccessorCalls.cs:36:5:40:5 | After {...} | +| AccessorCalls.cs:36:5:40:5 | After {...} | AccessorCalls.cs:39:9:39:20 | After ...; | +| AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:35:10:35:11 | Entry | +| AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:37:9:37:14 | Before access to field x | +| AccessorCalls.cs:37:9:37:14 | After access to field x | AccessorCalls.cs:37:9:37:14 | access to field x | +| AccessorCalls.cs:37:9:37:14 | Before access to field x | AccessorCalls.cs:37:9:37:20 | Before access to field Field | | AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:12 | this access | -| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:14 | access to field x | -| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:37:9:37:20 | access to field Field | +| AccessorCalls.cs:37:9:37:20 | After access to field Field | AccessorCalls.cs:37:9:37:20 | access to field Field | +| AccessorCalls.cs:37:9:37:20 | Before access to field Field | AccessorCalls.cs:37:9:37:22 | Before ...++ | +| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:14 | After access to field x | +| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:37:9:37:20 | After access to field Field | +| AccessorCalls.cs:37:9:37:22 | After ...++ | AccessorCalls.cs:37:9:37:22 | ...++ | +| AccessorCalls.cs:37:9:37:22 | Before ...++ | AccessorCalls.cs:37:9:37:23 | ...; | | AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:36:5:40:5 | {...} | -| AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:38:9:38:22 | ...; | +| AccessorCalls.cs:37:9:37:23 | After ...; | AccessorCalls.cs:37:9:37:22 | After ...++ | +| AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:38:9:38:14 | Before access to field x | +| AccessorCalls.cs:38:9:38:14 | After access to field x | AccessorCalls.cs:38:9:38:14 | access to field x | +| AccessorCalls.cs:38:9:38:14 | Before access to field x | AccessorCalls.cs:38:9:38:19 | Before access to property Prop | | AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:12 | this access | -| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:14 | access to field x | -| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:38:9:38:19 | access to property Prop | -| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:37:9:37:22 | ...++ | -| AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:39:9:39:20 | ...; | +| AccessorCalls.cs:38:9:38:19 | After access to property Prop | AccessorCalls.cs:38:9:38:19 | access to property Prop | +| AccessorCalls.cs:38:9:38:19 | Before access to property Prop | AccessorCalls.cs:38:9:38:21 | Before ...++ | +| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:14 | After access to field x | +| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:38:9:38:19 | After access to property Prop | +| AccessorCalls.cs:38:9:38:21 | After ...++ | AccessorCalls.cs:38:9:38:21 | ...++ | +| AccessorCalls.cs:38:9:38:21 | Before ...++ | AccessorCalls.cs:38:9:38:22 | ...; | +| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:37:9:37:23 | After ...; | +| AccessorCalls.cs:38:9:38:22 | After ...; | AccessorCalls.cs:38:9:38:21 | After ...++ | +| AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:39:9:39:14 | Before access to field x | +| AccessorCalls.cs:39:9:39:14 | After access to field x | AccessorCalls.cs:39:9:39:14 | access to field x | +| AccessorCalls.cs:39:9:39:14 | Before access to field x | AccessorCalls.cs:39:9:39:17 | Before access to indexer | | AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:9:39:12 | this access | +| AccessorCalls.cs:39:9:39:17 | After access to indexer | AccessorCalls.cs:39:9:39:17 | access to indexer | +| AccessorCalls.cs:39:9:39:17 | Before access to indexer | AccessorCalls.cs:39:9:39:19 | Before ...++ | | AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:16:39:16 | 0 | -| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:39:9:39:17 | access to indexer | -| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:38:9:38:21 | ...++ | -| AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:39:9:39:14 | access to field x | -| AccessorCalls.cs:42:10:42:11 | exit M5 | AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | -| AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | AccessorCalls.cs:46:9:46:26 | ... += ... | -| AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:42:10:42:11 | enter M5 | -| AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:33 | ...; | +| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:39:9:39:17 | After access to indexer | +| AccessorCalls.cs:39:9:39:19 | After ...++ | AccessorCalls.cs:39:9:39:19 | ...++ | +| AccessorCalls.cs:39:9:39:19 | Before ...++ | AccessorCalls.cs:39:9:39:20 | ...; | +| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:38:9:38:22 | After ...; | +| AccessorCalls.cs:39:9:39:20 | After ...; | AccessorCalls.cs:39:9:39:19 | After ...++ | +| AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:39:9:39:14 | After access to field x | +| AccessorCalls.cs:42:10:42:11 | Exit | AccessorCalls.cs:42:10:42:11 | Normal Exit | +| AccessorCalls.cs:42:10:42:11 | Normal Exit | AccessorCalls.cs:43:5:47:5 | After {...} | +| AccessorCalls.cs:43:5:47:5 | After {...} | AccessorCalls.cs:46:9:46:27 | After ...; | +| AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:42:10:42:11 | Entry | +| AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:18 | Before access to field Field | +| AccessorCalls.cs:44:9:44:18 | After access to field Field | AccessorCalls.cs:44:9:44:18 | access to field Field | +| AccessorCalls.cs:44:9:44:18 | Before access to field Field | AccessorCalls.cs:44:9:44:32 | Before ... += ... | | AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:12 | this access | -| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:44:23:44:32 | access to field Field | +| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:44:23:44:32 | After access to field Field | +| AccessorCalls.cs:44:9:44:32 | After ... += ... | AccessorCalls.cs:44:9:44:32 | ... += ... | +| AccessorCalls.cs:44:9:44:32 | Before ... += ... | AccessorCalls.cs:44:9:44:33 | ...; | | AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:43:5:47:5 | {...} | -| AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | +| AccessorCalls.cs:44:9:44:33 | After ...; | AccessorCalls.cs:44:9:44:32 | After ... += ... | +| AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:32 | Before access to field Field | +| AccessorCalls.cs:44:23:44:32 | After access to field Field | AccessorCalls.cs:44:23:44:32 | access to field Field | +| AccessorCalls.cs:44:23:44:32 | Before access to field Field | AccessorCalls.cs:44:9:44:18 | After access to field Field | | AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | -| AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:31 | ...; | +| AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:17 | Before access to property Prop | +| AccessorCalls.cs:45:9:45:17 | After access to property Prop | AccessorCalls.cs:45:9:45:17 | access to property Prop | +| AccessorCalls.cs:45:9:45:17 | Before access to property Prop | AccessorCalls.cs:45:9:45:30 | Before ... += ... | | AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:9:45:12 | this access | -| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:45:22:45:30 | access to property Prop | -| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:44:9:44:32 | ... += ... | -| AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:45:9:45:17 | access to property Prop | +| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:45:22:45:30 | After access to property Prop | +| AccessorCalls.cs:45:9:45:30 | After ... += ... | AccessorCalls.cs:45:9:45:30 | ... += ... | +| AccessorCalls.cs:45:9:45:30 | Before ... += ... | AccessorCalls.cs:45:9:45:31 | ...; | +| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:44:9:44:33 | After ...; | +| AccessorCalls.cs:45:9:45:31 | After ...; | AccessorCalls.cs:45:9:45:30 | After ... += ... | +| AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:45:22:45:30 | Before access to property Prop | +| AccessorCalls.cs:45:22:45:30 | After access to property Prop | AccessorCalls.cs:45:22:45:30 | access to property Prop | +| AccessorCalls.cs:45:22:45:30 | Before access to property Prop | AccessorCalls.cs:45:9:45:17 | After access to property Prop | | AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:22:45:25 | this access | -| AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:9:46:27 | ...; | +| AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:9:46:15 | Before access to indexer | +| AccessorCalls.cs:46:9:46:15 | After access to indexer | AccessorCalls.cs:46:9:46:15 | access to indexer | +| AccessorCalls.cs:46:9:46:15 | Before access to indexer | AccessorCalls.cs:46:9:46:26 | Before ... += ... | | AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:14:46:14 | 0 | -| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:46:20:46:26 | access to indexer | -| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:45:9:45:30 | ... += ... | +| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:46:20:46:26 | After access to indexer | +| AccessorCalls.cs:46:9:46:26 | After ... += ... | AccessorCalls.cs:46:9:46:26 | ... += ... | +| AccessorCalls.cs:46:9:46:26 | Before ... += ... | AccessorCalls.cs:46:9:46:27 | ...; | +| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:45:9:45:31 | After ...; | +| AccessorCalls.cs:46:9:46:27 | After ...; | AccessorCalls.cs:46:9:46:26 | After ... += ... | | AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:46:9:46:12 | this access | -| AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:46:9:46:15 | access to indexer | +| AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:46:20:46:26 | Before access to indexer | +| AccessorCalls.cs:46:20:46:26 | After access to indexer | AccessorCalls.cs:46:20:46:26 | access to indexer | +| AccessorCalls.cs:46:20:46:26 | Before access to indexer | AccessorCalls.cs:46:9:46:15 | After access to indexer | | AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:25:46:25 | 0 | | AccessorCalls.cs:46:25:46:25 | 0 | AccessorCalls.cs:46:20:46:23 | this access | -| AccessorCalls.cs:49:10:49:11 | exit M6 | AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | -| AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | AccessorCalls.cs:53:9:53:30 | ... += ... | -| AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:49:10:49:11 | enter M6 | -| AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:37 | ...; | +| AccessorCalls.cs:49:10:49:11 | Exit | AccessorCalls.cs:49:10:49:11 | Normal Exit | +| AccessorCalls.cs:49:10:49:11 | Normal Exit | AccessorCalls.cs:50:5:54:5 | After {...} | +| AccessorCalls.cs:50:5:54:5 | After {...} | AccessorCalls.cs:53:9:53:31 | After ...; | +| AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:49:10:49:11 | Entry | +| AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | Before access to field x | +| AccessorCalls.cs:51:9:51:14 | After access to field x | AccessorCalls.cs:51:9:51:14 | access to field x | +| AccessorCalls.cs:51:9:51:14 | Before access to field x | AccessorCalls.cs:51:9:51:20 | Before access to field Field | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:12 | this access | -| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:14 | access to field x | -| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:51:25:51:36 | access to field Field | +| AccessorCalls.cs:51:9:51:20 | After access to field Field | AccessorCalls.cs:51:9:51:20 | access to field Field | +| AccessorCalls.cs:51:9:51:20 | Before access to field Field | AccessorCalls.cs:51:9:51:36 | Before ... += ... | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:14 | After access to field x | +| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:51:25:51:36 | After access to field Field | +| AccessorCalls.cs:51:9:51:36 | After ... += ... | AccessorCalls.cs:51:9:51:36 | ... += ... | +| AccessorCalls.cs:51:9:51:36 | Before ... += ... | AccessorCalls.cs:51:9:51:37 | ...; | | AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:50:5:54:5 | {...} | -| AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:9:51:20 | access to field Field | +| AccessorCalls.cs:51:9:51:37 | After ...; | AccessorCalls.cs:51:9:51:36 | After ... += ... | +| AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:30 | Before access to field x | +| AccessorCalls.cs:51:25:51:30 | After access to field x | AccessorCalls.cs:51:25:51:30 | access to field x | +| AccessorCalls.cs:51:25:51:30 | Before access to field x | AccessorCalls.cs:51:25:51:36 | Before access to field Field | | AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:28 | this access | -| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:25:51:30 | access to field x | -| AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:35 | ...; | +| AccessorCalls.cs:51:25:51:36 | After access to field Field | AccessorCalls.cs:51:25:51:36 | access to field Field | +| AccessorCalls.cs:51:25:51:36 | Before access to field Field | AccessorCalls.cs:51:9:51:20 | After access to field Field | +| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:25:51:30 | After access to field x | +| AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:14 | Before access to field x | +| AccessorCalls.cs:52:9:52:14 | After access to field x | AccessorCalls.cs:52:9:52:14 | access to field x | +| AccessorCalls.cs:52:9:52:14 | Before access to field x | AccessorCalls.cs:52:9:52:19 | Before access to property Prop | | AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:12 | this access | -| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:9:52:14 | access to field x | -| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:52:24:52:34 | access to property Prop | -| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:51:9:51:36 | ... += ... | -| AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:52:9:52:19 | access to property Prop | +| AccessorCalls.cs:52:9:52:19 | After access to property Prop | AccessorCalls.cs:52:9:52:19 | access to property Prop | +| AccessorCalls.cs:52:9:52:19 | Before access to property Prop | AccessorCalls.cs:52:9:52:34 | Before ... += ... | +| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:9:52:14 | After access to field x | +| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:52:24:52:34 | After access to property Prop | +| AccessorCalls.cs:52:9:52:34 | After ... += ... | AccessorCalls.cs:52:9:52:34 | ... += ... | +| AccessorCalls.cs:52:9:52:34 | Before ... += ... | AccessorCalls.cs:52:9:52:35 | ...; | +| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:51:9:51:37 | After ...; | +| AccessorCalls.cs:52:9:52:35 | After ...; | AccessorCalls.cs:52:9:52:34 | After ... += ... | +| AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:52:24:52:29 | Before access to field x | +| AccessorCalls.cs:52:24:52:29 | After access to field x | AccessorCalls.cs:52:24:52:29 | access to field x | +| AccessorCalls.cs:52:24:52:29 | Before access to field x | AccessorCalls.cs:52:24:52:34 | Before access to property Prop | | AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:27 | this access | -| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:24:52:29 | access to field x | -| AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:31 | ...; | +| AccessorCalls.cs:52:24:52:34 | After access to property Prop | AccessorCalls.cs:52:24:52:34 | access to property Prop | +| AccessorCalls.cs:52:24:52:34 | Before access to property Prop | AccessorCalls.cs:52:9:52:19 | After access to property Prop | +| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:24:52:29 | After access to field x | +| AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:14 | Before access to field x | +| AccessorCalls.cs:53:9:53:14 | After access to field x | AccessorCalls.cs:53:9:53:14 | access to field x | +| AccessorCalls.cs:53:9:53:14 | Before access to field x | AccessorCalls.cs:53:9:53:17 | Before access to indexer | | AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:9:53:12 | this access | +| AccessorCalls.cs:53:9:53:17 | After access to indexer | AccessorCalls.cs:53:9:53:17 | access to indexer | +| AccessorCalls.cs:53:9:53:17 | Before access to indexer | AccessorCalls.cs:53:9:53:30 | Before ... += ... | | AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:16:53:16 | 0 | -| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:53:22:53:30 | access to indexer | -| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:52:9:52:34 | ... += ... | -| AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:9:53:14 | access to field x | -| AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:53:9:53:17 | access to indexer | +| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:53:22:53:30 | After access to indexer | +| AccessorCalls.cs:53:9:53:30 | After ... += ... | AccessorCalls.cs:53:9:53:30 | ... += ... | +| AccessorCalls.cs:53:9:53:30 | Before ... += ... | AccessorCalls.cs:53:9:53:31 | ...; | +| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:52:9:52:35 | After ...; | +| AccessorCalls.cs:53:9:53:31 | After ...; | AccessorCalls.cs:53:9:53:30 | After ... += ... | +| AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:9:53:14 | After access to field x | +| AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:53:22:53:27 | Before access to field x | +| AccessorCalls.cs:53:22:53:27 | After access to field x | AccessorCalls.cs:53:22:53:27 | access to field x | +| AccessorCalls.cs:53:22:53:27 | Before access to field x | AccessorCalls.cs:53:22:53:30 | Before access to indexer | | AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:22:53:25 | this access | +| AccessorCalls.cs:53:22:53:30 | After access to indexer | AccessorCalls.cs:53:22:53:30 | access to indexer | +| AccessorCalls.cs:53:22:53:30 | Before access to indexer | AccessorCalls.cs:53:9:53:17 | After access to indexer | | AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:29:53:29 | 0 | -| AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:53:22:53:27 | access to field x | -| AccessorCalls.cs:56:10:56:11 | exit M7 | AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | -| AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | AccessorCalls.cs:58:9:58:85 | ... = ... | -| AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:56:10:56:11 | enter M7 | -| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:33:58:44 | (..., ...) | -| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:58:37:58:43 | access to indexer | +| AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:53:22:53:27 | After access to field x | +| AccessorCalls.cs:56:10:56:11 | Exit | AccessorCalls.cs:56:10:56:11 | Normal Exit | +| AccessorCalls.cs:56:10:56:11 | Normal Exit | AccessorCalls.cs:57:5:59:5 | After {...} | +| AccessorCalls.cs:57:5:59:5 | After {...} | AccessorCalls.cs:58:9:58:86 | After ...; | +| AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:56:10:56:11 | Entry | +| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:33:58:44 | After (..., ...) | +| AccessorCalls.cs:58:9:58:45 | After (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | +| AccessorCalls.cs:58:9:58:45 | Before (..., ...) | AccessorCalls.cs:58:9:58:85 | Before ... = ... | +| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:58:49:58:85 | After (..., ...) | +| AccessorCalls.cs:58:9:58:85 | After ... = ... | AccessorCalls.cs:58:9:58:85 | ... = ... | +| AccessorCalls.cs:58:9:58:85 | Before ... = ... | AccessorCalls.cs:58:9:58:86 | ...; | | AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:57:5:59:5 | {...} | -| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:9:58:86 | ...; | -| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:49:58:85 | (..., ...) | -| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:10:58:13 | this access | -| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:10:58:19 | access to field Field | -| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:42:58:42 | 0 | -| AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:22:58:25 | this access | -| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:22:58:30 | access to property Prop | +| AccessorCalls.cs:58:9:58:86 | After ...; | AccessorCalls.cs:58:9:58:85 | After ... = ... | +| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:10:58:19 | Before access to field Field | +| AccessorCalls.cs:58:10:58:19 | After access to field Field | AccessorCalls.cs:58:10:58:19 | access to field Field | +| AccessorCalls.cs:58:10:58:19 | Before access to field Field | AccessorCalls.cs:58:9:58:45 | Before (..., ...) | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:10:58:13 | this access | +| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:22:58:30 | Before access to property Prop | +| AccessorCalls.cs:58:22:58:30 | After access to property Prop | AccessorCalls.cs:58:22:58:30 | access to property Prop | +| AccessorCalls.cs:58:22:58:30 | Before access to property Prop | AccessorCalls.cs:58:10:58:19 | After access to field Field | +| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:22:58:25 | this access | +| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:37:58:43 | After access to indexer | +| AccessorCalls.cs:58:33:58:44 | After (..., ...) | AccessorCalls.cs:58:33:58:44 | (..., ...) | +| AccessorCalls.cs:58:33:58:44 | Before (..., ...) | AccessorCalls.cs:58:22:58:30 | After access to property Prop | +| AccessorCalls.cs:58:34:58:34 | access to parameter i | AccessorCalls.cs:58:33:58:44 | Before (..., ...) | +| AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:37:58:43 | Before access to indexer | +| AccessorCalls.cs:58:37:58:43 | After access to indexer | AccessorCalls.cs:58:37:58:43 | access to indexer | +| AccessorCalls.cs:58:37:58:43 | Before access to indexer | AccessorCalls.cs:58:34:58:34 | access to parameter i | +| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:42:58:42 | 0 | | AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:37:58:40 | this access | -| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:73:58:84 | (..., ...) | -| AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:9:58:45 | (..., ...) | +| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:73:58:84 | After (..., ...) | +| AccessorCalls.cs:58:49:58:85 | After (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | +| AccessorCalls.cs:58:49:58:85 | Before (..., ...) | AccessorCalls.cs:58:9:58:45 | After (..., ...) | +| AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:59 | Before access to field Field | +| AccessorCalls.cs:58:50:58:59 | After access to field Field | AccessorCalls.cs:58:50:58:59 | access to field Field | +| AccessorCalls.cs:58:50:58:59 | Before access to field Field | AccessorCalls.cs:58:49:58:85 | Before (..., ...) | | AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:50:58:53 | this access | -| AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:50:58:59 | access to field Field | +| AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:70 | Before access to property Prop | +| AccessorCalls.cs:58:62:58:70 | After access to property Prop | AccessorCalls.cs:58:62:58:70 | access to property Prop | +| AccessorCalls.cs:58:62:58:70 | Before access to property Prop | AccessorCalls.cs:58:50:58:59 | After access to field Field | | AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:62:58:65 | this access | -| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:77:58:83 | access to indexer | -| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:62:58:70 | access to property Prop | -| AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:58:74:58:74 | 0 | +| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:77:58:83 | After access to indexer | +| AccessorCalls.cs:58:73:58:84 | After (..., ...) | AccessorCalls.cs:58:73:58:84 | (..., ...) | +| AccessorCalls.cs:58:73:58:84 | Before (..., ...) | AccessorCalls.cs:58:62:58:70 | After access to property Prop | +| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:73:58:84 | Before (..., ...) | +| AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:58:77:58:83 | Before access to indexer | +| AccessorCalls.cs:58:77:58:83 | After access to indexer | AccessorCalls.cs:58:77:58:83 | access to indexer | +| AccessorCalls.cs:58:77:58:83 | Before access to indexer | AccessorCalls.cs:58:74:58:74 | 0 | | AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:82:58:82 | 1 | | AccessorCalls.cs:58:82:58:82 | 1 | AccessorCalls.cs:58:77:58:80 | this access | -| AccessorCalls.cs:61:10:61:11 | exit M8 | AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | -| AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | AccessorCalls.cs:63:9:63:97 | ... = ... | -| AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:61:10:61:11 | enter M8 | -| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:37:63:50 | (..., ...) | -| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:63:41:63:49 | access to indexer | +| AccessorCalls.cs:61:10:61:11 | Exit | AccessorCalls.cs:61:10:61:11 | Normal Exit | +| AccessorCalls.cs:61:10:61:11 | Normal Exit | AccessorCalls.cs:62:5:64:5 | After {...} | +| AccessorCalls.cs:62:5:64:5 | After {...} | AccessorCalls.cs:63:9:63:98 | After ...; | +| AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:61:10:61:11 | Entry | +| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:37:63:50 | After (..., ...) | +| AccessorCalls.cs:63:9:63:51 | After (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | +| AccessorCalls.cs:63:9:63:51 | Before (..., ...) | AccessorCalls.cs:63:9:63:97 | Before ... = ... | +| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:63:55:63:97 | After (..., ...) | +| AccessorCalls.cs:63:9:63:97 | After ... = ... | AccessorCalls.cs:63:9:63:97 | ... = ... | +| AccessorCalls.cs:63:9:63:97 | Before ... = ... | AccessorCalls.cs:63:9:63:98 | ...; | | AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:62:5:64:5 | {...} | -| AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:9:63:98 | ...; | +| AccessorCalls.cs:63:9:63:98 | After ...; | AccessorCalls.cs:63:9:63:97 | After ... = ... | +| AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:15 | Before access to field x | +| AccessorCalls.cs:63:10:63:15 | After access to field x | AccessorCalls.cs:63:10:63:15 | access to field x | +| AccessorCalls.cs:63:10:63:15 | Before access to field x | AccessorCalls.cs:63:10:63:21 | Before access to field Field | | AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:10:63:13 | this access | -| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:55:63:97 | (..., ...) | -| AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | +| AccessorCalls.cs:63:10:63:21 | After access to field Field | AccessorCalls.cs:63:10:63:21 | access to field Field | +| AccessorCalls.cs:63:10:63:21 | Before access to field Field | AccessorCalls.cs:63:9:63:51 | Before (..., ...) | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:10:63:15 | After access to field x | +| AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:29 | Before access to field x | +| AccessorCalls.cs:63:24:63:29 | After access to field x | AccessorCalls.cs:63:24:63:29 | access to field x | +| AccessorCalls.cs:63:24:63:29 | Before access to field x | AccessorCalls.cs:63:24:63:34 | Before access to property Prop | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | -| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:10:63:21 | access to field Field | -| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:48:63:48 | 0 | -| AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | +| AccessorCalls.cs:63:24:63:34 | After access to property Prop | AccessorCalls.cs:63:24:63:34 | access to property Prop | +| AccessorCalls.cs:63:24:63:34 | Before access to property Prop | AccessorCalls.cs:63:10:63:21 | After access to field Field | +| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:24:63:29 | After access to field x | +| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:41:63:49 | After access to indexer | +| AccessorCalls.cs:63:37:63:50 | After (..., ...) | AccessorCalls.cs:63:37:63:50 | (..., ...) | +| AccessorCalls.cs:63:37:63:50 | Before (..., ...) | AccessorCalls.cs:63:24:63:34 | After access to property Prop | +| AccessorCalls.cs:63:38:63:38 | access to parameter i | AccessorCalls.cs:63:37:63:50 | Before (..., ...) | +| AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:41:63:46 | Before access to field x | +| AccessorCalls.cs:63:41:63:46 | After access to field x | AccessorCalls.cs:63:41:63:46 | access to field x | +| AccessorCalls.cs:63:41:63:46 | Before access to field x | AccessorCalls.cs:63:41:63:49 | Before access to indexer | | AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | -| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:24:63:34 | access to property Prop | -| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:41:63:46 | access to field x | -| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:83:63:96 | (..., ...) | -| AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:9:63:51 | (..., ...) | +| AccessorCalls.cs:63:41:63:49 | After access to indexer | AccessorCalls.cs:63:41:63:49 | access to indexer | +| AccessorCalls.cs:63:41:63:49 | Before access to indexer | AccessorCalls.cs:63:38:63:38 | access to parameter i | +| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:48:63:48 | 0 | +| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:41:63:46 | After access to field x | +| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:83:63:96 | After (..., ...) | +| AccessorCalls.cs:63:55:63:97 | After (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | +| AccessorCalls.cs:63:55:63:97 | Before (..., ...) | AccessorCalls.cs:63:9:63:51 | After (..., ...) | +| AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:61 | Before access to field x | +| AccessorCalls.cs:63:56:63:61 | After access to field x | AccessorCalls.cs:63:56:63:61 | access to field x | +| AccessorCalls.cs:63:56:63:61 | Before access to field x | AccessorCalls.cs:63:56:63:67 | Before access to field Field | | AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:59 | this access | -| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:56:63:61 | access to field x | -| AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:63:56:63:67 | access to field Field | +| AccessorCalls.cs:63:56:63:67 | After access to field Field | AccessorCalls.cs:63:56:63:67 | access to field Field | +| AccessorCalls.cs:63:56:63:67 | Before access to field Field | AccessorCalls.cs:63:55:63:97 | Before (..., ...) | +| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:56:63:61 | After access to field x | +| AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:63:70:63:75 | Before access to field x | +| AccessorCalls.cs:63:70:63:75 | After access to field x | AccessorCalls.cs:63:70:63:75 | access to field x | +| AccessorCalls.cs:63:70:63:75 | Before access to field x | AccessorCalls.cs:63:70:63:80 | Before access to property Prop | | AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:73 | this access | -| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:70:63:75 | access to field x | -| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:87:63:95 | access to indexer | -| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:70:63:80 | access to property Prop | -| AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:63:84:63:84 | 0 | +| AccessorCalls.cs:63:70:63:80 | After access to property Prop | AccessorCalls.cs:63:70:63:80 | access to property Prop | +| AccessorCalls.cs:63:70:63:80 | Before access to property Prop | AccessorCalls.cs:63:56:63:67 | After access to field Field | +| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:70:63:75 | After access to field x | +| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:87:63:95 | After access to indexer | +| AccessorCalls.cs:63:83:63:96 | After (..., ...) | AccessorCalls.cs:63:83:63:96 | (..., ...) | +| AccessorCalls.cs:63:83:63:96 | Before (..., ...) | AccessorCalls.cs:63:70:63:80 | After access to property Prop | +| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:83:63:96 | Before (..., ...) | +| AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:63:87:63:92 | Before access to field x | +| AccessorCalls.cs:63:87:63:92 | After access to field x | AccessorCalls.cs:63:87:63:92 | access to field x | +| AccessorCalls.cs:63:87:63:92 | Before access to field x | AccessorCalls.cs:63:87:63:95 | Before access to indexer | | AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:87:63:90 | this access | +| AccessorCalls.cs:63:87:63:95 | After access to indexer | AccessorCalls.cs:63:87:63:95 | access to indexer | +| AccessorCalls.cs:63:87:63:95 | Before access to indexer | AccessorCalls.cs:63:84:63:84 | 0 | | AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:94:63:94 | 1 | -| AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:87:63:92 | access to field x | -| AccessorCalls.cs:66:10:66:11 | exit M9 | AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | -| AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | AccessorCalls.cs:73:9:73:83 | ... = ... | -| AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:66:10:66:11 | enter M9 | +| AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:87:63:92 | After access to field x | +| AccessorCalls.cs:66:10:66:11 | Exit | AccessorCalls.cs:66:10:66:11 | Normal Exit | +| AccessorCalls.cs:66:10:66:11 | Normal Exit | AccessorCalls.cs:67:5:74:5 | After {...} | +| AccessorCalls.cs:67:5:74:5 | After {...} | AccessorCalls.cs:73:9:73:84 | After ...; | +| AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:66:10:66:11 | Entry | | AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:67:5:74:5 | {...} | +| AccessorCalls.cs:68:9:68:22 | After ... ...; | AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | +| AccessorCalls.cs:68:17:68:17 | access to local variable d | AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | +| AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | +| AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | AccessorCalls.cs:68:9:68:22 | ... ...; | | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:68:21:68:21 | access to parameter o | -| AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:9:68:22 | ... ...; | -| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:9:69:36 | ...; | -| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | -| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | -| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | -| AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:69:9:69:9 | access to local variable d | +| AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:17:68:17 | access to local variable d | +| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | +| AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:35 | Before ... = ... | +| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:9 | access to local variable d | +| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | +| AccessorCalls.cs:69:9:69:35 | After ... = ... | AccessorCalls.cs:69:9:69:35 | ... = ... | +| AccessorCalls.cs:69:9:69:35 | Before ... = ... | AccessorCalls.cs:69:9:69:36 | ...; | +| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:68:9:68:22 | After ... ...; | +| AccessorCalls.cs:69:9:69:36 | After ...; | AccessorCalls.cs:69:9:69:35 | After ... = ... | +| AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | +| AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | +| AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:24 | access to local variable d | -| AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:70:9:70:22 | ...; | +| AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | +| AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | +| AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:9 | access to local variable d | -| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | -| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:69:9:69:35 | ... = ... | -| AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:26 | ...; | +| AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | +| AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | AccessorCalls.cs:70:9:70:22 | ...; | +| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | +| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:69:9:69:36 | After ...; | +| AccessorCalls.cs:70:9:70:22 | After ...; | AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | +| AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | +| AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | +| AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:25 | Before ... += ... | | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:9 | access to local variable d | | AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:71:25:71:25 | access to parameter e | -| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | -| AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | -| AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:9:72:21 | ...; | +| AccessorCalls.cs:71:9:71:25 | After ... += ... | AccessorCalls.cs:71:9:71:25 | ... += ... | +| AccessorCalls.cs:71:9:71:25 | Before ... += ... | AccessorCalls.cs:71:9:71:26 | ...; | +| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:70:9:70:22 | After ...; | +| AccessorCalls.cs:71:9:71:26 | After ...; | AccessorCalls.cs:71:9:71:25 | After ... += ... | +| AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | +| AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | +| AccessorCalls.cs:72:9:72:12 | After dynamic access to element | AccessorCalls.cs:72:9:72:12 | dynamic access to element | +| AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | AccessorCalls.cs:72:9:72:20 | Before ... += ... | | AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:11:72:11 | 0 | -| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:72:17:72:20 | dynamic access to element | -| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:71:9:71:25 | ... += ... | +| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:72:17:72:20 | After dynamic access to element | +| AccessorCalls.cs:72:9:72:20 | After ... += ... | AccessorCalls.cs:72:9:72:20 | ... += ... | +| AccessorCalls.cs:72:9:72:20 | Before ... += ... | AccessorCalls.cs:72:9:72:21 | ...; | +| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:71:9:71:26 | After ...; | +| AccessorCalls.cs:72:9:72:21 | After ...; | AccessorCalls.cs:72:9:72:20 | After ... += ... | | AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:72:9:72:9 | access to local variable d | -| AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:72:9:72:12 | dynamic access to element | +| AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | +| AccessorCalls.cs:72:17:72:20 | After dynamic access to element | AccessorCalls.cs:72:17:72:20 | dynamic access to element | +| AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | AccessorCalls.cs:72:9:72:12 | After dynamic access to element | | AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:19:72:19 | 1 | | AccessorCalls.cs:72:19:72:19 | 1 | AccessorCalls.cs:72:17:72:17 | access to local variable d | -| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:35:73:43 | (..., ...) | -| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:73:39:73:42 | dynamic access to element | -| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:72:9:72:20 | ... += ... | -| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:9:73:84 | ...; | -| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:48:73:83 | (..., ...) | -| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:10:73:10 | access to local variable d | -| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | -| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:41:73:41 | 0 | -| AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:24:73:27 | this access | -| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:24:73:32 | access to property Prop | +| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:35:73:43 | After (..., ...) | +| AccessorCalls.cs:73:9:73:44 | After (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | +| AccessorCalls.cs:73:9:73:44 | Before (..., ...) | AccessorCalls.cs:73:9:73:83 | Before ... = ... | +| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:73:48:73:83 | After (..., ...) | +| AccessorCalls.cs:73:9:73:83 | After ... = ... | AccessorCalls.cs:73:9:73:83 | ... = ... | +| AccessorCalls.cs:73:9:73:83 | Before ... = ... | AccessorCalls.cs:73:9:73:84 | ...; | +| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:72:9:72:21 | After ...; | +| AccessorCalls.cs:73:9:73:84 | After ...; | AccessorCalls.cs:73:9:73:83 | After ... = ... | +| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:73:9:73:44 | Before (..., ...) | +| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:10 | access to local variable d | +| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:24:73:32 | Before access to property Prop | +| AccessorCalls.cs:73:24:73:32 | After access to property Prop | AccessorCalls.cs:73:24:73:32 | access to property Prop | +| AccessorCalls.cs:73:24:73:32 | Before access to property Prop | AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:24:73:27 | this access | +| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:39:73:42 | After dynamic access to element | +| AccessorCalls.cs:73:35:73:43 | After (..., ...) | AccessorCalls.cs:73:35:73:43 | (..., ...) | +| AccessorCalls.cs:73:35:73:43 | Before (..., ...) | AccessorCalls.cs:73:24:73:32 | After access to property Prop | +| AccessorCalls.cs:73:36:73:36 | access to parameter i | AccessorCalls.cs:73:35:73:43 | Before (..., ...) | +| AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | +| AccessorCalls.cs:73:39:73:42 | After dynamic access to element | AccessorCalls.cs:73:39:73:42 | dynamic access to element | +| AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | AccessorCalls.cs:73:36:73:36 | access to parameter i | +| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:41:73:41 | 0 | | AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:39:73:39 | access to local variable d | -| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:74:73:82 | (..., ...) | -| AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:73:9:73:44 | (..., ...) | +| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:74:73:82 | After (..., ...) | +| AccessorCalls.cs:73:48:73:83 | After (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | +| AccessorCalls.cs:73:48:73:83 | Before (..., ...) | AccessorCalls.cs:73:9:73:44 | After (..., ...) | +| AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:73:48:73:83 | Before (..., ...) | | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:49 | access to local variable d | -| AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | +| AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:73:63:73:71 | Before access to property Prop | +| AccessorCalls.cs:73:63:73:71 | After access to property Prop | AccessorCalls.cs:73:63:73:71 | access to property Prop | +| AccessorCalls.cs:73:63:73:71 | Before access to property Prop | AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | | AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:63:73:66 | this access | -| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:78:73:81 | dynamic access to element | -| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:63:73:71 | access to property Prop | -| AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:73:75:73:75 | 0 | +| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:78:73:81 | After dynamic access to element | +| AccessorCalls.cs:73:74:73:82 | After (..., ...) | AccessorCalls.cs:73:74:73:82 | (..., ...) | +| AccessorCalls.cs:73:74:73:82 | Before (..., ...) | AccessorCalls.cs:73:63:73:71 | After access to property Prop | +| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:74:73:82 | Before (..., ...) | +| AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | +| AccessorCalls.cs:73:78:73:81 | After dynamic access to element | AccessorCalls.cs:73:78:73:81 | dynamic access to element | +| AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | AccessorCalls.cs:73:75:73:75 | 0 | | AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:80:73:80 | 1 | | AccessorCalls.cs:73:80:73:80 | 1 | AccessorCalls.cs:73:78:73:78 | access to local variable d | -| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | call to method | +| ArrayCreation.cs:1:7:1:19 | After call to constructor Object | ArrayCreation.cs:1:7:1:19 | call to constructor Object | +| ArrayCreation.cs:1:7:1:19 | After call to method | ArrayCreation.cs:1:7:1:19 | call to method | +| ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | ArrayCreation.cs:1:7:1:19 | After call to method | +| ArrayCreation.cs:1:7:1:19 | Before call to method | ArrayCreation.cs:1:7:1:19 | Entry | +| ArrayCreation.cs:1:7:1:19 | Exit | ArrayCreation.cs:1:7:1:19 | Normal Exit | +| ArrayCreation.cs:1:7:1:19 | Normal Exit | ArrayCreation.cs:1:7:1:19 | {...} | +| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | | ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | this access | -| ArrayCreation.cs:1:7:1:19 | exit ArrayCreation | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | -| ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | ArrayCreation.cs:1:7:1:19 | {...} | -| ArrayCreation.cs:1:7:1:19 | this access | ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | -| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | call to constructor Object | -| ArrayCreation.cs:3:11:3:12 | exit M1 | ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | -| ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | +| ArrayCreation.cs:1:7:1:19 | this access | ArrayCreation.cs:1:7:1:19 | Before call to method | +| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | After call to constructor Object | +| ArrayCreation.cs:3:11:3:12 | Exit | ArrayCreation.cs:3:11:3:12 | Normal Exit | +| ArrayCreation.cs:3:11:3:12 | Normal Exit | ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | +| ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | +| ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | Entry | | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:27:3:27 | 0 | -| ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:11:3:12 | enter M1 | -| ArrayCreation.cs:5:12:5:13 | exit M2 | ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | -| ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | +| ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | +| ArrayCreation.cs:5:12:5:13 | Exit | ArrayCreation.cs:5:12:5:13 | Normal Exit | +| ArrayCreation.cs:5:12:5:13 | Normal Exit | ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | +| ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | +| ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | Entry | | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:31:5:31 | 1 | -| ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:12:5:13 | enter M2 | +| ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | | ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:28:5:28 | 0 | -| ArrayCreation.cs:7:11:7:12 | exit M3 | ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | -| ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | ArrayCreation.cs:7:29:7:36 | { ..., ... } | -| ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:11:7:12 | enter M3 | +| ArrayCreation.cs:7:11:7:12 | Exit | ArrayCreation.cs:7:11:7:12 | Normal Exit | +| ArrayCreation.cs:7:11:7:12 | Normal Exit | ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | +| ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:29:7:36 | After { ..., ... } | +| ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | +| ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | ArrayCreation.cs:7:11:7:12 | Entry | | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:19:7:36 | 2 | +| ArrayCreation.cs:7:29:7:36 | After { ..., ... } | ArrayCreation.cs:7:29:7:36 | { ..., ... } | +| ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | | ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:34:7:34 | 1 | -| ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | +| ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | | ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:31:7:31 | 0 | -| ArrayCreation.cs:9:12:9:13 | exit M4 | ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | -| ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | ArrayCreation.cs:9:31:9:52 | { ..., ... } | -| ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:12:9:13 | enter M4 | +| ArrayCreation.cs:9:12:9:13 | Exit | ArrayCreation.cs:9:12:9:13 | Normal Exit | +| ArrayCreation.cs:9:12:9:13 | Normal Exit | ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | +| ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:31:9:52 | After { ..., ... } | +| ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | +| ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | ArrayCreation.cs:9:12:9:13 | Entry | | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:20:9:52 | 2 | -| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:43:9:50 | { ..., ... } | +| ArrayCreation.cs:9:31:9:52 | After { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | +| ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | +| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:43:9:50 | After { ..., ... } | +| ArrayCreation.cs:9:33:9:40 | After { ..., ... } | ArrayCreation.cs:9:33:9:40 | { ..., ... } | +| ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | | ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:38:9:38 | 1 | -| ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | +| ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | | ArrayCreation.cs:9:38:9:38 | 1 | ArrayCreation.cs:9:35:9:35 | 0 | +| ArrayCreation.cs:9:43:9:50 | After { ..., ... } | ArrayCreation.cs:9:43:9:50 | { ..., ... } | +| ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | ArrayCreation.cs:9:33:9:40 | After { ..., ... } | | ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:48:9:48 | 3 | -| ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:33:9:40 | { ..., ... } | +| ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | | ArrayCreation.cs:9:48:9:48 | 3 | ArrayCreation.cs:9:45:9:45 | 2 | -| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | call to method | +| Assert.cs:5:7:5:17 | After call to constructor Object | Assert.cs:5:7:5:17 | call to constructor Object | +| Assert.cs:5:7:5:17 | After call to method | Assert.cs:5:7:5:17 | call to method | +| Assert.cs:5:7:5:17 | Before call to constructor Object | Assert.cs:5:7:5:17 | After call to method | +| Assert.cs:5:7:5:17 | Before call to method | Assert.cs:5:7:5:17 | Entry | +| Assert.cs:5:7:5:17 | Exit | Assert.cs:5:7:5:17 | Normal Exit | +| Assert.cs:5:7:5:17 | Normal Exit | Assert.cs:5:7:5:17 | {...} | +| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | Before call to constructor Object | | Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | this access | -| 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 | this access | Assert.cs:5:7:5:17 | enter AssertTests | -| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | call to constructor Object | -| 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:5:7:5:17 | this access | Assert.cs:5:7:5:17 | Before call to method | +| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | After call to constructor Object | +| Assert.cs:7:10:7:11 | Normal Exit | Assert.cs:8:5:12:5 | After {...} | +| Assert.cs:8:5:12:5 | After {...} | Assert.cs:11:9:11:36 | After ...; | +| Assert.cs:8:5:12:5 | {...} | Assert.cs:7:10:7:11 | Entry | | Assert.cs:9:9:9:33 | ... ...; | Assert.cs:8:5:12:5 | {...} | -| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:20:9:32 | ... ? ... : ... | -| 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 | 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:9:9:9:33 | After ... ...; | Assert.cs:9:16:9:32 | After String s = ... | +| Assert.cs:9:16:9:16 | access to local variable s | Assert.cs:9:16:9:32 | Before String s = ... | +| Assert.cs:9:16:9:32 | After String s = ... | Assert.cs:9:16:9:32 | String s = ... | +| Assert.cs:9:16:9:32 | Before String s = ... | Assert.cs:9:9:9:33 | ... ...; | +| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:20:9:32 | After ... ? ... : ... | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:32 | ... ? ... : ... | +| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:16:9:16 | access to local variable s | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:24:9:27 | null | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:31:9:32 | "" | +| Assert.cs:9:24:9:27 | null | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:9:31:9:32 | "" | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:10:9:10:31 | call to method Assert | +| Assert.cs:10:9:10:31 | Before call to method Assert | Assert.cs:10:9:10:32 | ...; | +| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:22:10:30 | After ... != ... | +| Assert.cs:10:9:10:32 | ...; | Assert.cs:9:9:9:33 | After ... ...; | +| Assert.cs:10:9:10:32 | After ...; | Assert.cs:10:9:10:31 | After call to method Assert | +| Assert.cs:10:22:10:22 | access to local variable s | Assert.cs:10:22:10:30 | Before ... != ... | | Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:27:10:30 | null | +| Assert.cs:10:22:10:30 | After ... != ... | Assert.cs:10:22:10:30 | ... != ... | +| Assert.cs:10:22:10:30 | Before ... != ... | Assert.cs:10:9:10:31 | Before call to method Assert | | 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 | call to method Assert | -| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:11:9:11:36 | ...; | +| Assert.cs:11:9:11:35 | After call to method WriteLine | Assert.cs:11:9:11:35 | call to method WriteLine | +| Assert.cs:11:9:11:35 | Before call to method WriteLine | Assert.cs:11:9:11:36 | ...; | +| Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:11:27:11:34 | After access to property Length | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:10:9:10:32 | After ...; | +| Assert.cs:11:9:11:36 | After ...; | Assert.cs:11:9:11:35 | After call to method WriteLine | +| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:11:27:11:34 | Before access to property Length | +| Assert.cs:11:27:11:34 | After access to property Length | Assert.cs:11:27:11:34 | access to property Length | +| Assert.cs:11:27:11:34 | Before access to property Length | Assert.cs:11:9:11:35 | Before call to method WriteLine | | 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 (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:14:10:14:11 | Normal Exit | Assert.cs:15:5:19:5 | After {...} | +| Assert.cs:15:5:19:5 | After {...} | Assert.cs:18:9:18:36 | After ...; | +| Assert.cs:15:5:19:5 | {...} | Assert.cs:14:10:14:11 | Entry | | Assert.cs:16:9:16:33 | ... ...; | Assert.cs:15:5:19:5 | {...} | -| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:20:16:32 | ... ? ... : ... | -| 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:16:9:16:33 | After ... ...; | Assert.cs:16:16:16:32 | After String s = ... | +| Assert.cs:16:16:16:16 | access to local variable s | Assert.cs:16:16:16:32 | Before String s = ... | +| Assert.cs:16:16:16:32 | After String s = ... | Assert.cs:16:16:16:32 | String s = ... | +| Assert.cs:16:16:16:32 | Before String s = ... | Assert.cs:16:9:16:33 | ... ...; | +| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:20:16:32 | After ... ? ... : ... | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:32 | ... ? ... : ... | +| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:16:16:16 | access to local variable s | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:24:16:27 | null | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:31:16:32 | "" | +| Assert.cs:16:24:16:27 | null | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:16:31:16:32 | "" | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:17:9:17:24 | call to method IsNull | +| Assert.cs:17:9:17:24 | Before call to method IsNull | Assert.cs:17:9:17:25 | ...; | | 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 | call to method IsNull | -| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:18:9:18:36 | ...; | +| Assert.cs:17:9:17:25 | ...; | Assert.cs:16:9:16:33 | After ... ...; | +| Assert.cs:17:9:17:25 | After ...; | Assert.cs:17:9:17:24 | After call to method IsNull | +| Assert.cs:17:23:17:23 | access to local variable s | Assert.cs:17:9:17:24 | Before call to method IsNull | +| Assert.cs:18:9:18:35 | After call to method WriteLine | Assert.cs:18:9:18:35 | call to method WriteLine | +| Assert.cs:18:9:18:35 | Before call to method WriteLine | Assert.cs:18:9:18:36 | ...; | +| Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:18:27:18:34 | After access to property Length | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:17:9:17:25 | After ...; | +| Assert.cs:18:9:18:36 | After ...; | Assert.cs:18:9:18:35 | After call to method WriteLine | +| Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:18:27:18:34 | Before access to property Length | +| Assert.cs:18:27:18:34 | After access to property Length | Assert.cs:18:27:18:34 | access to property Length | +| Assert.cs:18:27:18:34 | Before access to property Length | Assert.cs:18:9:18:35 | Before call to method WriteLine | | 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 (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:21:10:21:11 | Normal Exit | Assert.cs:22:5:26:5 | After {...} | +| Assert.cs:22:5:26:5 | After {...} | Assert.cs:25:9:25:36 | After ...; | +| Assert.cs:22:5:26:5 | {...} | Assert.cs:21:10:21:11 | Entry | | Assert.cs:23:9:23:33 | ... ...; | Assert.cs:22:5:26:5 | {...} | -| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:20:23:32 | ... ? ... : ... | -| 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:23:9:23:33 | After ... ...; | Assert.cs:23:16:23:32 | After String s = ... | +| Assert.cs:23:16:23:16 | access to local variable s | Assert.cs:23:16:23:32 | Before String s = ... | +| Assert.cs:23:16:23:32 | After String s = ... | Assert.cs:23:16:23:32 | String s = ... | +| Assert.cs:23:16:23:32 | Before String s = ... | Assert.cs:23:9:23:33 | ... ...; | +| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:20:23:32 | After ... ? ... : ... | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:32 | ... ? ... : ... | +| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:16:23:16 | access to local variable s | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:24:23:27 | null | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:31:23:32 | "" | +| Assert.cs:23:24:23:27 | null | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:23:31:23:32 | "" | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:24:9:24:27 | call to method IsNotNull | +| Assert.cs:24:9:24:27 | Before call to method IsNotNull | Assert.cs:24:9:24:28 | ...; | | 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 | call to method IsNotNull | -| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:25:9:25:36 | ...; | +| Assert.cs:24:9:24:28 | ...; | Assert.cs:23:9:23:33 | After ... ...; | +| Assert.cs:24:9:24:28 | After ...; | Assert.cs:24:9:24:27 | After call to method IsNotNull | +| Assert.cs:24:26:24:26 | access to local variable s | Assert.cs:24:9:24:27 | Before call to method IsNotNull | +| Assert.cs:25:9:25:35 | After call to method WriteLine | Assert.cs:25:9:25:35 | call to method WriteLine | +| Assert.cs:25:9:25:35 | Before call to method WriteLine | Assert.cs:25:9:25:36 | ...; | +| Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:25:27:25:34 | After access to property Length | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:24:9:24:28 | After ...; | +| Assert.cs:25:9:25:36 | After ...; | Assert.cs:25:9:25:35 | After call to method WriteLine | +| Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:25:27:25:34 | Before access to property Length | +| Assert.cs:25:27:25:34 | After access to property Length | Assert.cs:25:27:25:34 | access to property Length | +| Assert.cs:25:27:25:34 | Before access to property Length | Assert.cs:25:9:25:35 | Before call to method WriteLine | | 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 (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:28:10:28:11 | Normal Exit | Assert.cs:29:5:33:5 | After {...} | +| Assert.cs:29:5:33:5 | After {...} | Assert.cs:32:9:32:36 | After ...; | +| Assert.cs:29:5:33:5 | {...} | Assert.cs:28:10:28:11 | Entry | | Assert.cs:30:9:30:33 | ... ...; | Assert.cs:29:5:33:5 | {...} | -| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:20:30:32 | ... ? ... : ... | -| 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 | 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:30:9:30:33 | After ... ...; | Assert.cs:30:16:30:32 | After String s = ... | +| Assert.cs:30:16:30:16 | access to local variable s | Assert.cs:30:16:30:32 | Before String s = ... | +| Assert.cs:30:16:30:32 | After String s = ... | Assert.cs:30:16:30:32 | String s = ... | +| Assert.cs:30:16:30:32 | Before String s = ... | Assert.cs:30:9:30:33 | ... ...; | +| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:20:30:32 | After ... ? ... : ... | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:32 | ... ? ... : ... | +| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:16:30:16 | access to local variable s | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:24:30:27 | null | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:31:30:32 | "" | +| Assert.cs:30:24:30:27 | null | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:30:31:30:32 | "" | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:31:9:31:32 | call to method IsTrue | +| Assert.cs:31:9:31:32 | Before call to method IsTrue | Assert.cs:31:9:31:33 | ...; | +| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:23:31:31 | After ... == ... | +| Assert.cs:31:9:31:33 | ...; | Assert.cs:30:9:30:33 | After ... ...; | +| Assert.cs:31:9:31:33 | After ...; | Assert.cs:31:9:31:32 | After call to method IsTrue | +| Assert.cs:31:23:31:23 | access to local variable s | Assert.cs:31:23:31:31 | Before ... == ... | | Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:28:31:31 | null | +| Assert.cs:31:23:31:31 | After ... == ... | Assert.cs:31:23:31:31 | ... == ... | +| Assert.cs:31:23:31:31 | Before ... == ... | Assert.cs:31:9:31:32 | Before call to method IsTrue | | 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 | call to method IsTrue | -| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:32:9:32:36 | ...; | +| Assert.cs:32:9:32:35 | After call to method WriteLine | Assert.cs:32:9:32:35 | call to method WriteLine | +| Assert.cs:32:9:32:35 | Before call to method WriteLine | Assert.cs:32:9:32:36 | ...; | +| Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:32:27:32:34 | After access to property Length | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:31:9:31:33 | After ...; | +| Assert.cs:32:9:32:36 | After ...; | Assert.cs:32:9:32:35 | After call to method WriteLine | +| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:32:27:32:34 | Before access to property Length | +| Assert.cs:32:27:32:34 | After access to property Length | Assert.cs:32:27:32:34 | access to property Length | +| Assert.cs:32:27:32:34 | Before access to property Length | Assert.cs:32:9:32:35 | Before call to method WriteLine | | 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 (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:35:10:35:11 | Normal Exit | Assert.cs:36:5:40:5 | After {...} | +| Assert.cs:36:5:40:5 | After {...} | Assert.cs:39:9:39:36 | After ...; | +| Assert.cs:36:5:40:5 | {...} | Assert.cs:35:10:35:11 | Entry | | Assert.cs:37:9:37:33 | ... ...; | Assert.cs:36:5:40:5 | {...} | -| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:20:37:32 | ... ? ... : ... | -| 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 | 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:37:9:37:33 | After ... ...; | Assert.cs:37:16:37:32 | After String s = ... | +| Assert.cs:37:16:37:16 | access to local variable s | Assert.cs:37:16:37:32 | Before String s = ... | +| Assert.cs:37:16:37:32 | After String s = ... | Assert.cs:37:16:37:32 | String s = ... | +| Assert.cs:37:16:37:32 | Before String s = ... | Assert.cs:37:9:37:33 | ... ...; | +| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:20:37:32 | After ... ? ... : ... | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:32 | ... ? ... : ... | +| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:16:37:16 | access to local variable s | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:24:37:27 | null | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:31:37:32 | "" | +| Assert.cs:37:24:37:27 | null | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:37:31:37:32 | "" | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:38:9:38:32 | call to method IsTrue | +| Assert.cs:38:9:38:32 | Before call to method IsTrue | Assert.cs:38:9:38:33 | ...; | +| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:23:38:31 | After ... != ... | +| Assert.cs:38:9:38:33 | ...; | Assert.cs:37:9:37:33 | After ... ...; | +| Assert.cs:38:9:38:33 | After ...; | Assert.cs:38:9:38:32 | After call to method IsTrue | +| Assert.cs:38:23:38:23 | access to local variable s | Assert.cs:38:23:38:31 | Before ... != ... | | Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:28:38:31 | null | +| Assert.cs:38:23:38:31 | After ... != ... | Assert.cs:38:23:38:31 | ... != ... | +| Assert.cs:38:23:38:31 | Before ... != ... | Assert.cs:38:9:38:32 | Before call to method IsTrue | | 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 | call to method IsTrue | -| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:39:9:39:36 | ...; | +| Assert.cs:39:9:39:35 | After call to method WriteLine | Assert.cs:39:9:39:35 | call to method WriteLine | +| Assert.cs:39:9:39:35 | Before call to method WriteLine | Assert.cs:39:9:39:36 | ...; | +| Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:39:27:39:34 | After access to property Length | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:38:9:38:33 | After ...; | +| Assert.cs:39:9:39:36 | After ...; | Assert.cs:39:9:39:35 | After call to method WriteLine | +| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:39:27:39:34 | Before access to property Length | +| Assert.cs:39:27:39:34 | After access to property Length | Assert.cs:39:27:39:34 | access to property Length | +| Assert.cs:39:27:39:34 | Before access to property Length | Assert.cs:39:9:39:35 | Before call to method WriteLine | | 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 (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:42:10:42:11 | Normal Exit | Assert.cs:43:5:47:5 | After {...} | +| Assert.cs:43:5:47:5 | After {...} | Assert.cs:46:9:46:36 | After ...; | +| Assert.cs:43:5:47:5 | {...} | Assert.cs:42:10:42:11 | Entry | | Assert.cs:44:9:44:33 | ... ...; | Assert.cs:43:5:47:5 | {...} | -| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:20:44:32 | ... ? ... : ... | -| 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 | 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:44:9:44:33 | After ... ...; | Assert.cs:44:16:44:32 | After String s = ... | +| Assert.cs:44:16:44:16 | access to local variable s | Assert.cs:44:16:44:32 | Before String s = ... | +| Assert.cs:44:16:44:32 | After String s = ... | Assert.cs:44:16:44:32 | String s = ... | +| Assert.cs:44:16:44:32 | Before String s = ... | Assert.cs:44:9:44:33 | ... ...; | +| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:20:44:32 | After ... ? ... : ... | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:32 | ... ? ... : ... | +| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:16:44:16 | access to local variable s | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:24:44:27 | null | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:31:44:32 | "" | +| Assert.cs:44:24:44:27 | null | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:44:31:44:32 | "" | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:45:9:45:33 | call to method IsFalse | +| Assert.cs:45:9:45:33 | Before call to method IsFalse | Assert.cs:45:9:45:34 | ...; | +| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:24:45:32 | After ... != ... | +| Assert.cs:45:9:45:34 | ...; | Assert.cs:44:9:44:33 | After ... ...; | +| Assert.cs:45:9:45:34 | After ...; | Assert.cs:45:9:45:33 | After call to method IsFalse | +| Assert.cs:45:24:45:24 | access to local variable s | Assert.cs:45:24:45:32 | Before ... != ... | | Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:29:45:32 | null | +| Assert.cs:45:24:45:32 | After ... != ... | Assert.cs:45:24:45:32 | ... != ... | +| Assert.cs:45:24:45:32 | Before ... != ... | Assert.cs:45:9:45:33 | Before call to method IsFalse | | 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 | call to method IsFalse | -| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:46:9:46:36 | ...; | +| Assert.cs:46:9:46:35 | After call to method WriteLine | Assert.cs:46:9:46:35 | call to method WriteLine | +| Assert.cs:46:9:46:35 | Before call to method WriteLine | Assert.cs:46:9:46:36 | ...; | +| Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:46:27:46:34 | After access to property Length | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:45:9:45:34 | After ...; | +| Assert.cs:46:9:46:36 | After ...; | Assert.cs:46:9:46:35 | After call to method WriteLine | +| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:46:27:46:34 | Before access to property Length | +| Assert.cs:46:27:46:34 | After access to property Length | Assert.cs:46:27:46:34 | access to property Length | +| Assert.cs:46:27:46:34 | Before access to property Length | Assert.cs:46:9:46:35 | Before call to method WriteLine | | 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 (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:49:10:49:11 | Normal Exit | Assert.cs:50:5:54:5 | After {...} | +| Assert.cs:50:5:54:5 | After {...} | Assert.cs:53:9:53:36 | After ...; | +| Assert.cs:50:5:54:5 | {...} | Assert.cs:49:10:49:11 | Entry | | Assert.cs:51:9:51:33 | ... ...; | Assert.cs:50:5:54:5 | {...} | -| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:20:51:32 | ... ? ... : ... | -| 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 | 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:51:9:51:33 | After ... ...; | Assert.cs:51:16:51:32 | After String s = ... | +| Assert.cs:51:16:51:16 | access to local variable s | Assert.cs:51:16:51:32 | Before String s = ... | +| Assert.cs:51:16:51:32 | After String s = ... | Assert.cs:51:16:51:32 | String s = ... | +| Assert.cs:51:16:51:32 | Before String s = ... | Assert.cs:51:9:51:33 | ... ...; | +| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:20:51:32 | After ... ? ... : ... | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:32 | ... ? ... : ... | +| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:16:51:16 | access to local variable s | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:24:51:27 | null | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:31:51:32 | "" | +| Assert.cs:51:24:51:27 | null | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:51:31:51:32 | "" | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:52:9:52:33 | call to method IsFalse | +| Assert.cs:52:9:52:33 | Before call to method IsFalse | Assert.cs:52:9:52:34 | ...; | +| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:24:52:32 | After ... == ... | +| Assert.cs:52:9:52:34 | ...; | Assert.cs:51:9:51:33 | After ... ...; | +| Assert.cs:52:9:52:34 | After ...; | Assert.cs:52:9:52:33 | After call to method IsFalse | +| Assert.cs:52:24:52:24 | access to local variable s | Assert.cs:52:24:52:32 | Before ... == ... | | Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:29:52:32 | null | +| Assert.cs:52:24:52:32 | After ... == ... | Assert.cs:52:24:52:32 | ... == ... | +| Assert.cs:52:24:52:32 | Before ... == ... | Assert.cs:52:9:52:33 | Before call to method IsFalse | | 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 | call to method IsFalse | -| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:53:9:53:36 | ...; | +| Assert.cs:53:9:53:35 | After call to method WriteLine | Assert.cs:53:9:53:35 | call to method WriteLine | +| Assert.cs:53:9:53:35 | Before call to method WriteLine | Assert.cs:53:9:53:36 | ...; | +| Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:53:27:53:34 | After access to property Length | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:52:9:52:34 | After ...; | +| Assert.cs:53:9:53:36 | After ...; | Assert.cs:53:9:53:35 | After call to method WriteLine | +| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:53:27:53:34 | Before access to property Length | +| Assert.cs:53:27:53:34 | After access to property Length | Assert.cs:53:27:53:34 | access to property Length | +| Assert.cs:53:27:53:34 | Before access to property Length | Assert.cs:53:9:53:35 | Before call to method WriteLine | | 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 (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:56:10:56:11 | Normal Exit | Assert.cs:57:5:61:5 | After {...} | +| Assert.cs:57:5:61:5 | After {...} | Assert.cs:60:9:60:36 | After ...; | +| Assert.cs:57:5:61:5 | {...} | Assert.cs:56:10:56:11 | Entry | | Assert.cs:58:9:58:33 | ... ...; | Assert.cs:57:5:61:5 | {...} | -| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:20:58:32 | ... ? ... : ... | -| 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 | 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:58:9:58:33 | After ... ...; | Assert.cs:58:16:58:32 | After String s = ... | +| Assert.cs:58:16:58:16 | access to local variable s | Assert.cs:58:16:58:32 | Before String s = ... | +| Assert.cs:58:16:58:32 | After String s = ... | Assert.cs:58:16:58:32 | String s = ... | +| Assert.cs:58:16:58:32 | Before String s = ... | Assert.cs:58:9:58:33 | ... ...; | +| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:20:58:32 | After ... ? ... : ... | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:32 | ... ? ... : ... | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:16:58:16 | access to local variable s | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:24:58:27 | null | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:31:58:32 | "" | +| Assert.cs:58:24:58:27 | null | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:58:31:58:32 | "" | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:9:59:37 | call to method IsTrue | +| Assert.cs:59:9:59:37 | Before call to method IsTrue | Assert.cs:59:9:59:38 | ...; | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:23:59:36 | After ... && ... | +| Assert.cs:59:9:59:38 | ...; | Assert.cs:58:9:58:33 | After ... ...; | +| Assert.cs:59:9:59:38 | After ...; | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:59:23:59:23 | access to local variable s | Assert.cs:59:23:59:31 | Before ... != ... | | Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:28:59:31 | null | -| 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:23:59:31 | Before ... != ... | Assert.cs:59:23:59:36 | ... && ... | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:9:59:37 | Before call to method IsTrue | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:59:23:59:36 | After ... && ... | 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: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 | call to method IsTrue | -| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:60:9:60:36 | ...; | +| Assert.cs:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:60:9:60:35 | After call to method WriteLine | Assert.cs:60:9:60:35 | call to method WriteLine | +| Assert.cs:60:9:60:35 | Before call to method WriteLine | Assert.cs:60:9:60:36 | ...; | +| Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:60:27:60:34 | After access to property Length | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:59:9:59:38 | After ...; | +| Assert.cs:60:9:60:36 | After ...; | Assert.cs:60:9:60:35 | After call to method WriteLine | +| Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:60:27:60:34 | Before access to property Length | +| Assert.cs:60:27:60:34 | After access to property Length | Assert.cs:60:27:60:34 | access to property Length | +| Assert.cs:60:27:60:34 | Before access to property Length | Assert.cs:60:9:60:35 | Before call to method WriteLine | | 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 (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:63:10:63:11 | Normal Exit | Assert.cs:64:5:68:5 | After {...} | +| Assert.cs:64:5:68:5 | After {...} | Assert.cs:67:9:67:36 | After ...; | +| Assert.cs:64:5:68:5 | {...} | Assert.cs:63:10:63:11 | Entry | | Assert.cs:65:9:65:33 | ... ...; | Assert.cs:64:5:68:5 | {...} | -| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:20:65:32 | ... ? ... : ... | -| 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 | 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:65:9:65:33 | After ... ...; | Assert.cs:65:16:65:32 | After String s = ... | +| Assert.cs:65:16:65:16 | access to local variable s | Assert.cs:65:16:65:32 | Before String s = ... | +| Assert.cs:65:16:65:32 | After String s = ... | Assert.cs:65:16:65:32 | String s = ... | +| Assert.cs:65:16:65:32 | Before String s = ... | Assert.cs:65:9:65:33 | ... ...; | +| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:20:65:32 | After ... ? ... : ... | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:32 | ... ? ... : ... | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:16:65:16 | access to local variable s | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:24:65:27 | null | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:31:65:32 | "" | +| Assert.cs:65:24:65:27 | null | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:65:31:65:32 | "" | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:9:66:38 | call to method IsFalse | +| Assert.cs:66:9:66:38 | Before call to method IsFalse | Assert.cs:66:9:66:39 | ...; | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:24:66:37 | After ... \|\| ... | +| Assert.cs:66:9:66:39 | ...; | Assert.cs:65:9:65:33 | After ... ...; | +| Assert.cs:66:9:66:39 | After ...; | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:66:24:66:24 | access to local variable s | Assert.cs:66:24:66:32 | Before ... == ... | | Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:29:66:32 | null | -| 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:24:66:32 | Before ... == ... | Assert.cs:66:24:66:37 | ... \|\| ... | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:9:66:38 | Before call to method IsFalse | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | 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: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 | call to method IsFalse | -| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:67:9:67:36 | ...; | +| Assert.cs:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:67:9:67:35 | After call to method WriteLine | Assert.cs:67:9:67:35 | call to method WriteLine | +| Assert.cs:67:9:67:35 | Before call to method WriteLine | Assert.cs:67:9:67:36 | ...; | +| Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:67:27:67:34 | After access to property Length | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:66:9:66:39 | After ...; | +| Assert.cs:67:9:67:36 | After ...; | Assert.cs:67:9:67:35 | After call to method WriteLine | +| Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:67:27:67:34 | Before access to property Length | +| Assert.cs:67:27:67:34 | After access to property Length | Assert.cs:67:27:67:34 | access to property Length | +| Assert.cs:67:27:67:34 | Before access to property Length | Assert.cs:67:9:67:35 | Before call to method WriteLine | | 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 (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:70:10:70:12 | Normal Exit | Assert.cs:71:5:75:5 | After {...} | +| Assert.cs:71:5:75:5 | After {...} | Assert.cs:74:9:74:36 | After ...; | +| Assert.cs:71:5:75:5 | {...} | Assert.cs:70:10:70:12 | Entry | | Assert.cs:72:9:72:33 | ... ...; | Assert.cs:71:5:75:5 | {...} | -| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:20:72:32 | ... ? ... : ... | -| 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 | 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:72:9:72:33 | After ... ...; | Assert.cs:72:16:72:32 | After String s = ... | +| Assert.cs:72:16:72:16 | access to local variable s | Assert.cs:72:16:72:32 | Before String s = ... | +| Assert.cs:72:16:72:32 | After String s = ... | Assert.cs:72:16:72:32 | String s = ... | +| Assert.cs:72:16:72:32 | Before String s = ... | Assert.cs:72:9:72:33 | ... ...; | +| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:20:72:32 | After ... ? ... : ... | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:32 | ... ? ... : ... | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:16:72:16 | access to local variable s | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:24:72:27 | null | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:31:72:32 | "" | +| Assert.cs:72:24:72:27 | null | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:72:31:72:32 | "" | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:9:73:37 | call to method IsTrue | +| Assert.cs:73:9:73:37 | Before call to method IsTrue | Assert.cs:73:9:73:38 | ...; | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:23:73:36 | After ... && ... | +| Assert.cs:73:9:73:38 | ...; | Assert.cs:72:9:72:33 | After ... ...; | +| Assert.cs:73:9:73:38 | After ...; | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:73:23:73:23 | access to local variable s | Assert.cs:73:23:73:31 | Before ... == ... | | Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:28:73:31 | null | -| 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:23:73:31 | Before ... == ... | Assert.cs:73:23:73:36 | ... && ... | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:9:73:37 | Before call to method IsTrue | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:73:23:73:36 | After ... && ... | 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: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 | call to method IsTrue | -| Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:74:9:74:36 | ...; | +| Assert.cs:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:74:9:74:35 | After call to method WriteLine | Assert.cs:74:9:74:35 | call to method WriteLine | +| Assert.cs:74:9:74:35 | Before call to method WriteLine | Assert.cs:74:9:74:36 | ...; | +| Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:74:27:74:34 | After access to property Length | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:73:9:73:38 | After ...; | +| Assert.cs:74:9:74:36 | After ...; | Assert.cs:74:9:74:35 | After call to method WriteLine | +| Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:74:27:74:34 | Before access to property Length | +| Assert.cs:74:27:74:34 | After access to property Length | Assert.cs:74:27:74:34 | access to property Length | +| Assert.cs:74:27:74:34 | Before access to property Length | Assert.cs:74:9:74:35 | Before call to method WriteLine | | 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 (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:77:10:77:12 | Normal Exit | Assert.cs:78:5:82:5 | After {...} | +| Assert.cs:78:5:82:5 | After {...} | Assert.cs:81:9:81:36 | After ...; | +| Assert.cs:78:5:82:5 | {...} | Assert.cs:77:10:77:12 | Entry | | Assert.cs:79:9:79:33 | ... ...; | Assert.cs:78:5:82:5 | {...} | -| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:20:79:32 | ... ? ... : ... | -| 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 | 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:79:9:79:33 | After ... ...; | Assert.cs:79:16:79:32 | After String s = ... | +| Assert.cs:79:16:79:16 | access to local variable s | Assert.cs:79:16:79:32 | Before String s = ... | +| Assert.cs:79:16:79:32 | After String s = ... | Assert.cs:79:16:79:32 | String s = ... | +| Assert.cs:79:16:79:32 | Before String s = ... | Assert.cs:79:9:79:33 | ... ...; | +| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:20:79:32 | After ... ? ... : ... | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:32 | ... ? ... : ... | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:16:79:16 | access to local variable s | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:24:79:27 | null | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:31:79:32 | "" | +| Assert.cs:79:24:79:27 | null | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:79:31:79:32 | "" | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:9:80:38 | call to method IsFalse | +| Assert.cs:80:9:80:38 | Before call to method IsFalse | Assert.cs:80:9:80:39 | ...; | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:24:80:37 | After ... \|\| ... | +| Assert.cs:80:9:80:39 | ...; | Assert.cs:79:9:79:33 | After ... ...; | +| Assert.cs:80:9:80:39 | After ...; | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:80:24:80:24 | access to local variable s | Assert.cs:80:24:80:32 | Before ... != ... | | Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:29:80:32 | null | -| 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:24:80:32 | Before ... != ... | Assert.cs:80:24:80:37 | ... \|\| ... | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:9:80:38 | Before call to method IsFalse | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | 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: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 | call to method IsFalse | -| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:81:9:81:36 | ...; | +| Assert.cs:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:81:9:81:35 | After call to method WriteLine | Assert.cs:81:9:81:35 | call to method WriteLine | +| Assert.cs:81:9:81:35 | Before call to method WriteLine | Assert.cs:81:9:81:36 | ...; | +| Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:81:27:81:34 | After access to property Length | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:80:9:80:39 | After ...; | +| Assert.cs:81:9:81:36 | After ...; | Assert.cs:81:9:81:35 | After call to method WriteLine | +| Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:81:27:81:34 | Before access to property Length | +| Assert.cs:81:27:81:34 | After access to property Length | Assert.cs:81:27:81:34 | access to property Length | +| Assert.cs:81:27:81:34 | Before access to property Length | Assert.cs:81:9:81:35 | Before call to method WriteLine | | 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 | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:84:10:84:12 | enter M12 | +| Assert.cs:84:10:84:12 | Normal Exit | Assert.cs:85:5:129:5 | After {...} | +| Assert.cs:85:5:129:5 | After {...} | Assert.cs:128:9:128:36 | After ...; | +| Assert.cs:85:5:129:5 | {...} | Assert.cs:84:10:84:12 | Entry | | Assert.cs:86:9:86:33 | ... ...; | Assert.cs:85:5:129:5 | {...} | -| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| 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 | 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:86:9:86:33 | After ... ...; | Assert.cs:86:16:86:32 | After String s = ... | +| Assert.cs:86:16:86:16 | access to local variable s | Assert.cs:86:16:86:32 | Before String s = ... | +| Assert.cs:86:16:86:32 | After String s = ... | Assert.cs:86:16:86:32 | String s = ... | +| Assert.cs:86:16:86:32 | Before String s = ... | Assert.cs:86:9:86:33 | ... ...; | +| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:32 | ... ? ... : ... | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:16:86:16 | access to local variable s | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:24:86:27 | null | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:31:86:32 | "" | +| Assert.cs:86:24:86:27 | null | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:86:31:86:32 | "" | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:87:9:87:31 | call to method Assert | +| Assert.cs:87:9:87:31 | Before call to method Assert | Assert.cs:87:9:87:32 | ...; | +| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:87:22:87:30 | After ... != ... | +| Assert.cs:87:9:87:32 | ...; | Assert.cs:86:9:86:33 | After ... ...; | +| Assert.cs:87:9:87:32 | After ...; | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:87:22:87:22 | access to local variable s | Assert.cs:87:22:87:30 | Before ... != ... | | Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:27:87:30 | null | +| Assert.cs:87:22:87:30 | After ... != ... | Assert.cs:87:22:87:30 | ... != ... | +| Assert.cs:87:22:87:30 | Before ... != ... | Assert.cs:87:9:87:31 | Before call to method Assert | | 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 | call to method Assert | -| Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:88:9:88:35 | After call to method WriteLine | Assert.cs:88:9:88:35 | call to method WriteLine | +| Assert.cs:88:9:88:35 | Before call to method WriteLine | Assert.cs:88:9:88:36 | ...; | +| Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:88:27:88:34 | After access to property Length | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:87:9:87:32 | After ...; | +| Assert.cs:88:9:88:36 | After ...; | Assert.cs:88:9:88:35 | After call to method WriteLine | +| Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:88:27:88:34 | Before access to property Length | +| Assert.cs:88:27:88:34 | After access to property Length | Assert.cs:88:27:88:34 | access to property Length | +| Assert.cs:88:27:88:34 | Before access to property Length | Assert.cs:88:9:88:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:90:9:90:26 | ...; | Assert.cs:88:9:88:35 | call to method WriteLine | -| 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:90:9:90:9 | access to local variable s | Assert.cs:90:9:90:25 | Before ... = ... | +| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:90:9:90:25 | After ... = ... | Assert.cs:90:9:90:25 | ... = ... | +| Assert.cs:90:9:90:25 | Before ... = ... | Assert.cs:90:9:90:26 | ...; | +| Assert.cs:90:9:90:26 | ...; | Assert.cs:88:9:88:36 | After ...; | +| Assert.cs:90:9:90:26 | After ...; | Assert.cs:90:9:90:25 | After ... = ... | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:25 | ... ? ... : ... | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:9:90:9 | access to local variable s | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:17:90:20 | null | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:24:90:25 | "" | +| Assert.cs:90:17:90:20 | null | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:90:24:90:25 | "" | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:91:9:91:24 | call to method IsNull | +| Assert.cs:91:9:91:24 | Before call to method IsNull | Assert.cs:91:9:91:25 | ...; | | 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 | call to method IsNull | -| Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:91:9:91:25 | ...; | Assert.cs:90:9:90:26 | After ...; | +| Assert.cs:91:9:91:25 | After ...; | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:91:23:91:23 | access to local variable s | Assert.cs:91:9:91:24 | Before call to method IsNull | +| Assert.cs:92:9:92:35 | After call to method WriteLine | Assert.cs:92:9:92:35 | call to method WriteLine | +| Assert.cs:92:9:92:35 | Before call to method WriteLine | Assert.cs:92:9:92:36 | ...; | +| Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:92:27:92:34 | After access to property Length | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:91:9:91:25 | After ...; | +| Assert.cs:92:9:92:36 | After ...; | Assert.cs:92:9:92:35 | After call to method WriteLine | +| Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:92:27:92:34 | Before access to property Length | +| Assert.cs:92:27:92:34 | After access to property Length | Assert.cs:92:27:92:34 | access to property Length | +| Assert.cs:92:27:92:34 | Before access to property Length | Assert.cs:92:9:92:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:94:9:94:26 | ...; | Assert.cs:92:9:92:35 | call to method WriteLine | -| 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:94:9:94:9 | access to local variable s | Assert.cs:94:9:94:25 | Before ... = ... | +| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:94:9:94:25 | After ... = ... | Assert.cs:94:9:94:25 | ... = ... | +| Assert.cs:94:9:94:25 | Before ... = ... | Assert.cs:94:9:94:26 | ...; | +| Assert.cs:94:9:94:26 | ...; | Assert.cs:92:9:92:36 | After ...; | +| Assert.cs:94:9:94:26 | After ...; | Assert.cs:94:9:94:25 | After ... = ... | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:25 | ... ? ... : ... | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:9:94:9 | access to local variable s | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:17:94:20 | null | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:24:94:25 | "" | +| Assert.cs:94:17:94:20 | null | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:94:24:94:25 | "" | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:95:9:95:27 | call to method IsNotNull | +| Assert.cs:95:9:95:27 | Before call to method IsNotNull | Assert.cs:95:9:95:28 | ...; | | 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 | call to method IsNotNull | -| Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:95:9:95:28 | ...; | Assert.cs:94:9:94:26 | After ...; | +| Assert.cs:95:9:95:28 | After ...; | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:95:26:95:26 | access to local variable s | Assert.cs:95:9:95:27 | Before call to method IsNotNull | +| Assert.cs:96:9:96:35 | After call to method WriteLine | Assert.cs:96:9:96:35 | call to method WriteLine | +| Assert.cs:96:9:96:35 | Before call to method WriteLine | Assert.cs:96:9:96:36 | ...; | +| Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:96:27:96:34 | After access to property Length | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:95:9:95:28 | After ...; | +| Assert.cs:96:9:96:36 | After ...; | Assert.cs:96:9:96:35 | After call to method WriteLine | +| Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:96:27:96:34 | Before access to property Length | +| Assert.cs:96:27:96:34 | After access to property Length | Assert.cs:96:27:96:34 | access to property Length | +| Assert.cs:96:27:96:34 | Before access to property Length | Assert.cs:96:9:96:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:98:9:98:26 | ...; | Assert.cs:96:9:96:35 | call to method WriteLine | -| 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 | 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:98:9:98:9 | access to local variable s | Assert.cs:98:9:98:25 | Before ... = ... | +| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:98:9:98:25 | After ... = ... | Assert.cs:98:9:98:25 | ... = ... | +| Assert.cs:98:9:98:25 | Before ... = ... | Assert.cs:98:9:98:26 | ...; | +| Assert.cs:98:9:98:26 | ...; | Assert.cs:96:9:96:36 | After ...; | +| Assert.cs:98:9:98:26 | After ...; | Assert.cs:98:9:98:25 | After ... = ... | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:25 | ... ? ... : ... | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:9:98:9 | access to local variable s | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:17:98:20 | null | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:24:98:25 | "" | +| Assert.cs:98:17:98:20 | null | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:98:24:98:25 | "" | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:99:9:99:32 | call to method IsTrue | +| Assert.cs:99:9:99:32 | Before call to method IsTrue | Assert.cs:99:9:99:33 | ...; | +| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:99:23:99:31 | After ... == ... | +| Assert.cs:99:9:99:33 | ...; | Assert.cs:98:9:98:26 | After ...; | +| Assert.cs:99:9:99:33 | After ...; | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:99:23:99:23 | access to local variable s | Assert.cs:99:23:99:31 | Before ... == ... | | Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:28:99:31 | null | +| Assert.cs:99:23:99:31 | After ... == ... | Assert.cs:99:23:99:31 | ... == ... | +| Assert.cs:99:23:99:31 | Before ... == ... | Assert.cs:99:9:99:32 | Before call to method IsTrue | | 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 | call to method IsTrue | -| Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:100:9:100:35 | After call to method WriteLine | Assert.cs:100:9:100:35 | call to method WriteLine | +| Assert.cs:100:9:100:35 | Before call to method WriteLine | Assert.cs:100:9:100:36 | ...; | +| Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:100:27:100:34 | After access to property Length | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:99:9:99:33 | After ...; | +| Assert.cs:100:9:100:36 | After ...; | Assert.cs:100:9:100:35 | After call to method WriteLine | +| Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:100:27:100:34 | Before access to property Length | +| Assert.cs:100:27:100:34 | After access to property Length | Assert.cs:100:27:100:34 | access to property Length | +| Assert.cs:100:27:100:34 | Before access to property Length | Assert.cs:100:9:100:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:102:9:102:26 | ...; | Assert.cs:100:9:100:35 | call to method WriteLine | -| 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 | 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:102:9:102:9 | access to local variable s | Assert.cs:102:9:102:25 | Before ... = ... | +| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:102:9:102:25 | After ... = ... | Assert.cs:102:9:102:25 | ... = ... | +| Assert.cs:102:9:102:25 | Before ... = ... | Assert.cs:102:9:102:26 | ...; | +| Assert.cs:102:9:102:26 | ...; | Assert.cs:100:9:100:36 | After ...; | +| Assert.cs:102:9:102:26 | After ...; | Assert.cs:102:9:102:25 | After ... = ... | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:25 | ... ? ... : ... | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:9:102:9 | access to local variable s | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:17:102:20 | null | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:24:102:25 | "" | +| Assert.cs:102:17:102:20 | null | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:102:24:102:25 | "" | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:103:9:103:32 | call to method IsTrue | +| Assert.cs:103:9:103:32 | Before call to method IsTrue | Assert.cs:103:9:103:33 | ...; | +| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:103:23:103:31 | After ... != ... | +| Assert.cs:103:9:103:33 | ...; | Assert.cs:102:9:102:26 | After ...; | +| Assert.cs:103:9:103:33 | After ...; | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:103:23:103:23 | access to local variable s | Assert.cs:103:23:103:31 | Before ... != ... | | Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:28:103:31 | null | +| Assert.cs:103:23:103:31 | After ... != ... | Assert.cs:103:23:103:31 | ... != ... | +| Assert.cs:103:23:103:31 | Before ... != ... | Assert.cs:103:9:103:32 | Before call to method IsTrue | | 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 | call to method IsTrue | -| Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:104:9:104:35 | After call to method WriteLine | Assert.cs:104:9:104:35 | call to method WriteLine | +| Assert.cs:104:9:104:35 | Before call to method WriteLine | Assert.cs:104:9:104:36 | ...; | +| Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:104:27:104:34 | After access to property Length | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:103:9:103:33 | After ...; | +| Assert.cs:104:9:104:36 | After ...; | Assert.cs:104:9:104:35 | After call to method WriteLine | +| Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:104:27:104:34 | Before access to property Length | +| Assert.cs:104:27:104:34 | After access to property Length | Assert.cs:104:27:104:34 | access to property Length | +| Assert.cs:104:27:104:34 | Before access to property Length | Assert.cs:104:9:104:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:106:9:106:26 | ...; | Assert.cs:104:9:104:35 | call to method WriteLine | -| 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 | 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:106:9:106:9 | access to local variable s | Assert.cs:106:9:106:25 | Before ... = ... | +| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:106:9:106:25 | After ... = ... | Assert.cs:106:9:106:25 | ... = ... | +| Assert.cs:106:9:106:25 | Before ... = ... | Assert.cs:106:9:106:26 | ...; | +| Assert.cs:106:9:106:26 | ...; | Assert.cs:104:9:104:36 | After ...; | +| Assert.cs:106:9:106:26 | After ...; | Assert.cs:106:9:106:25 | After ... = ... | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:25 | ... ? ... : ... | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:9:106:9 | access to local variable s | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:17:106:20 | null | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:24:106:25 | "" | +| Assert.cs:106:17:106:20 | null | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:106:24:106:25 | "" | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:107:9:107:33 | call to method IsFalse | +| Assert.cs:107:9:107:33 | Before call to method IsFalse | Assert.cs:107:9:107:34 | ...; | +| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:107:24:107:32 | After ... != ... | +| Assert.cs:107:9:107:34 | ...; | Assert.cs:106:9:106:26 | After ...; | +| Assert.cs:107:9:107:34 | After ...; | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:107:24:107:24 | access to local variable s | Assert.cs:107:24:107:32 | Before ... != ... | | Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:29:107:32 | null | +| Assert.cs:107:24:107:32 | After ... != ... | Assert.cs:107:24:107:32 | ... != ... | +| Assert.cs:107:24:107:32 | Before ... != ... | Assert.cs:107:9:107:33 | Before call to method IsFalse | | 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 | call to method IsFalse | -| Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:108:9:108:35 | After call to method WriteLine | Assert.cs:108:9:108:35 | call to method WriteLine | +| Assert.cs:108:9:108:35 | Before call to method WriteLine | Assert.cs:108:9:108:36 | ...; | +| Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:108:27:108:34 | After access to property Length | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:107:9:107:34 | After ...; | +| Assert.cs:108:9:108:36 | After ...; | Assert.cs:108:9:108:35 | After call to method WriteLine | +| Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:108:27:108:34 | Before access to property Length | +| Assert.cs:108:27:108:34 | After access to property Length | Assert.cs:108:27:108:34 | access to property Length | +| Assert.cs:108:27:108:34 | Before access to property Length | Assert.cs:108:9:108:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:110:9:110:26 | ...; | Assert.cs:108:9:108:35 | call to method WriteLine | -| 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 | 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:110:9:110:9 | access to local variable s | Assert.cs:110:9:110:25 | Before ... = ... | +| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:110:9:110:25 | After ... = ... | Assert.cs:110:9:110:25 | ... = ... | +| Assert.cs:110:9:110:25 | Before ... = ... | Assert.cs:110:9:110:26 | ...; | +| Assert.cs:110:9:110:26 | ...; | Assert.cs:108:9:108:36 | After ...; | +| Assert.cs:110:9:110:26 | After ...; | Assert.cs:110:9:110:25 | After ... = ... | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:25 | ... ? ... : ... | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:9:110:9 | access to local variable s | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:17:110:20 | null | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:24:110:25 | "" | +| Assert.cs:110:17:110:20 | null | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:110:24:110:25 | "" | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:111:9:111:33 | call to method IsFalse | +| Assert.cs:111:9:111:33 | Before call to method IsFalse | Assert.cs:111:9:111:34 | ...; | +| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:111:24:111:32 | After ... == ... | +| Assert.cs:111:9:111:34 | ...; | Assert.cs:110:9:110:26 | After ...; | +| Assert.cs:111:9:111:34 | After ...; | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:111:24:111:24 | access to local variable s | Assert.cs:111:24:111:32 | Before ... == ... | | Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:29:111:32 | null | +| Assert.cs:111:24:111:32 | After ... == ... | Assert.cs:111:24:111:32 | ... == ... | +| Assert.cs:111:24:111:32 | Before ... == ... | Assert.cs:111:9:111:33 | Before call to method IsFalse | | 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 | call to method IsFalse | -| Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:112:9:112:35 | After call to method WriteLine | Assert.cs:112:9:112:35 | call to method WriteLine | +| Assert.cs:112:9:112:35 | Before call to method WriteLine | Assert.cs:112:9:112:36 | ...; | +| Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:112:27:112:34 | After access to property Length | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:111:9:111:34 | After ...; | +| Assert.cs:112:9:112:36 | After ...; | Assert.cs:112:9:112:35 | After call to method WriteLine | +| Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:112:27:112:34 | Before access to property Length | +| Assert.cs:112:27:112:34 | After access to property Length | Assert.cs:112:27:112:34 | access to property Length | +| Assert.cs:112:27:112:34 | Before access to property Length | Assert.cs:112:9:112:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:114:9:114:26 | ...; | Assert.cs:112:9:112:35 | call to method WriteLine | -| 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 | 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:114:9:114:9 | access to local variable s | Assert.cs:114:9:114:25 | Before ... = ... | +| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:114:9:114:25 | After ... = ... | Assert.cs:114:9:114:25 | ... = ... | +| Assert.cs:114:9:114:25 | Before ... = ... | Assert.cs:114:9:114:26 | ...; | +| Assert.cs:114:9:114:26 | ...; | Assert.cs:112:9:112:36 | After ...; | +| Assert.cs:114:9:114:26 | After ...; | Assert.cs:114:9:114:25 | After ... = ... | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:25 | ... ? ... : ... | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:9:114:9 | access to local variable s | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:17:114:20 | null | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:24:114:25 | "" | +| Assert.cs:114:17:114:20 | null | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:114:24:114:25 | "" | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:9:115:37 | call to method IsTrue | +| Assert.cs:115:9:115:37 | Before call to method IsTrue | Assert.cs:115:9:115:38 | ...; | +| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:115:9:115:38 | ...; | Assert.cs:114:9:114:26 | After ...; | +| Assert.cs:115:9:115:38 | After ...; | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:115:23:115:23 | access to local variable s | Assert.cs:115:23:115:31 | Before ... != ... | | Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:28:115:31 | null | -| 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:23:115:31 | Before ... != ... | Assert.cs:115:23:115:36 | ... && ... | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:9:115:37 | Before call to method IsTrue | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:115:23:115:36 | After ... && ... | 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: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 | call to method IsTrue | -| Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:116:9:116:35 | After call to method WriteLine | Assert.cs:116:9:116:35 | call to method WriteLine | +| Assert.cs:116:9:116:35 | Before call to method WriteLine | Assert.cs:116:9:116:36 | ...; | +| Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:116:27:116:34 | After access to property Length | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:115:9:115:38 | After ...; | +| Assert.cs:116:9:116:36 | After ...; | Assert.cs:116:9:116:35 | After call to method WriteLine | +| Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:116:27:116:34 | Before access to property Length | +| Assert.cs:116:27:116:34 | After access to property Length | Assert.cs:116:27:116:34 | access to property Length | +| Assert.cs:116:27:116:34 | Before access to property Length | Assert.cs:116:9:116:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:118:9:118:26 | ...; | Assert.cs:116:9:116:35 | call to method WriteLine | -| 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 | 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:118:9:118:9 | access to local variable s | Assert.cs:118:9:118:25 | Before ... = ... | +| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:118:9:118:25 | After ... = ... | Assert.cs:118:9:118:25 | ... = ... | +| Assert.cs:118:9:118:25 | Before ... = ... | Assert.cs:118:9:118:26 | ...; | +| Assert.cs:118:9:118:26 | ...; | Assert.cs:116:9:116:36 | After ...; | +| Assert.cs:118:9:118:26 | After ...; | Assert.cs:118:9:118:25 | After ... = ... | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:25 | ... ? ... : ... | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:9:118:9 | access to local variable s | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:17:118:20 | null | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:24:118:25 | "" | +| Assert.cs:118:17:118:20 | null | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:118:24:118:25 | "" | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:9:119:39 | call to method IsFalse | +| Assert.cs:119:9:119:39 | Before call to method IsFalse | Assert.cs:119:9:119:40 | ...; | +| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:119:9:119:40 | ...; | Assert.cs:118:9:118:26 | After ...; | +| Assert.cs:119:9:119:40 | After ...; | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:119:24:119:24 | access to local variable s | Assert.cs:119:24:119:32 | Before ... == ... | | Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:29:119:32 | null | -| 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:24:119:32 | Before ... == ... | Assert.cs:119:24:119:38 | ... \|\| ... | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:9:119:39 | Before call to method IsFalse | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:37:119:38 | After !... | | Assert.cs:119:29:119:32 | null | Assert.cs:119:24:119:24 | access to local variable s | -| 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 | call to method IsFalse | -| Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:119:37:119:38 | !... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:119:37:119:38 | After !... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | !... | +| Assert.cs:120:9:120:35 | After call to method WriteLine | Assert.cs:120:9:120:35 | call to method WriteLine | +| Assert.cs:120:9:120:35 | Before call to method WriteLine | Assert.cs:120:9:120:36 | ...; | +| Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:120:27:120:34 | After access to property Length | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:119:9:119:40 | After ...; | +| Assert.cs:120:9:120:36 | After ...; | Assert.cs:120:9:120:35 | After call to method WriteLine | +| Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:120:27:120:34 | Before access to property Length | +| Assert.cs:120:27:120:34 | After access to property Length | Assert.cs:120:27:120:34 | access to property Length | +| Assert.cs:120:27:120:34 | Before access to property Length | Assert.cs:120:9:120:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:122:9:122:26 | ...; | Assert.cs:120:9:120:35 | call to method WriteLine | -| 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 | 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:122:9:122:9 | access to local variable s | Assert.cs:122:9:122:25 | Before ... = ... | +| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:122:9:122:25 | After ... = ... | Assert.cs:122:9:122:25 | ... = ... | +| Assert.cs:122:9:122:25 | Before ... = ... | Assert.cs:122:9:122:26 | ...; | +| Assert.cs:122:9:122:26 | ...; | Assert.cs:120:9:120:36 | After ...; | +| Assert.cs:122:9:122:26 | After ...; | Assert.cs:122:9:122:25 | After ... = ... | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:25 | ... ? ... : ... | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:9:122:9 | access to local variable s | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:17:122:20 | null | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:24:122:25 | "" | +| Assert.cs:122:17:122:20 | null | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:122:24:122:25 | "" | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:9:123:37 | call to method IsTrue | +| Assert.cs:123:9:123:37 | Before call to method IsTrue | Assert.cs:123:9:123:38 | ...; | +| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:123:9:123:38 | ...; | Assert.cs:122:9:122:26 | After ...; | +| Assert.cs:123:9:123:38 | After ...; | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:123:23:123:23 | access to local variable s | Assert.cs:123:23:123:31 | Before ... == ... | | Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:28:123:31 | null | -| 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:23:123:31 | Before ... == ... | Assert.cs:123:23:123:36 | ... && ... | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:9:123:37 | Before call to method IsTrue | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:123:23:123:36 | After ... && ... | 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: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 | call to method IsTrue | -| Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:124:9:124:35 | After call to method WriteLine | Assert.cs:124:9:124:35 | call to method WriteLine | +| Assert.cs:124:9:124:35 | Before call to method WriteLine | Assert.cs:124:9:124:36 | ...; | +| Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:124:27:124:34 | After access to property Length | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:123:9:123:38 | After ...; | +| Assert.cs:124:9:124:36 | After ...; | Assert.cs:124:9:124:35 | After call to method WriteLine | +| Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:124:27:124:34 | Before access to property Length | +| Assert.cs:124:27:124:34 | After access to property Length | Assert.cs:124:27:124:34 | access to property Length | +| Assert.cs:124:27:124:34 | Before access to property Length | Assert.cs:124:9:124:35 | Before call to method WriteLine | | 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 | ... ? ... : ... | -| Assert.cs:126:9:126:26 | ...; | Assert.cs:124:9:124:35 | call to method WriteLine | -| 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 | 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:126:9:126:9 | access to local variable s | Assert.cs:126:9:126:25 | Before ... = ... | +| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:126:9:126:25 | After ... = ... | Assert.cs:126:9:126:25 | ... = ... | +| Assert.cs:126:9:126:25 | Before ... = ... | Assert.cs:126:9:126:26 | ...; | +| Assert.cs:126:9:126:26 | ...; | Assert.cs:124:9:124:36 | After ...; | +| Assert.cs:126:9:126:26 | After ...; | Assert.cs:126:9:126:25 | After ... = ... | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:25 | ... ? ... : ... | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:9:126:9 | access to local variable s | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:17:126:20 | null | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:24:126:25 | "" | +| Assert.cs:126:17:126:20 | null | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:126:24:126:25 | "" | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:9:127:39 | call to method IsFalse | +| Assert.cs:127:9:127:39 | Before call to method IsFalse | Assert.cs:127:9:127:40 | ...; | +| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:127:9:127:40 | ...; | Assert.cs:126:9:126:26 | After ...; | +| Assert.cs:127:9:127:40 | After ...; | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:127:24:127:24 | access to local variable s | Assert.cs:127:24:127:32 | Before ... != ... | | Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:29:127:32 | null | -| 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:24:127:32 | Before ... != ... | Assert.cs:127:24:127:38 | ... \|\| ... | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:9:127:39 | Before call to method IsFalse | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:37:127:38 | After !... | | Assert.cs:127:29:127:32 | null | Assert.cs:127:24:127:24 | access to local variable s | -| 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 | call to method IsFalse | -| Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:128:9:128:36 | ...; | +| Assert.cs:127:37:127:38 | !... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:127:37:127:38 | After !... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | !... | +| Assert.cs:128:9:128:35 | After call to method WriteLine | Assert.cs:128:9:128:35 | call to method WriteLine | +| Assert.cs:128:9:128:35 | Before call to method WriteLine | Assert.cs:128:9:128:36 | ...; | +| Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:128:27:128:34 | After access to property Length | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:127:9:127:40 | After ...; | +| Assert.cs:128:9:128:36 | After ...; | Assert.cs:128:9:128:35 | After call to method WriteLine | +| Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:128:27:128:34 | Before access to property Length | +| Assert.cs:128:27:128:34 | After access to property Length | Assert.cs:128:27:128:34 | access to property Length | +| Assert.cs:128:27:128:34 | Before access to property Length | Assert.cs:128:9:128:35 | Before call to method WriteLine | | 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) | -| Assert.cs:131:18:131:32 | exit AssertTrueFalse (normal) | Assert.cs:135:5:136:5 | {...} | -| 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:131:18:131:32 | Exit | Assert.cs:131:18:131:32 | Normal Exit | +| Assert.cs:131:18:131:32 | Normal Exit | Assert.cs:135:5:136:5 | {...} | +| Assert.cs:135:5:136:5 | {...} | Assert.cs:131:18:131:32 | Entry | +| Assert.cs:138:10:138:12 | Normal Exit | Assert.cs:141:9:141:15 | return ...; | +| Assert.cs:139:5:142:5 | {...} | Assert.cs:138:10:138:12 | Entry | +| Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | +| Assert.cs:140:9:140:35 | Before call to method AssertTrueFalse | Assert.cs:140:9:140:36 | ...; | | 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:35 | this access | Assert.cs:140:9:140:35 | Before call to method AssertTrueFalse | | Assert.cs:140:9:140:36 | ...; | Assert.cs:139:5:142:5 | {...} | +| Assert.cs:140:9:140:36 | After ...; | Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | | 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 | 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 | call to method | +| Assert.cs:141:9:141:15 | Before return ...; | Assert.cs:140:9:140:36 | After ...; | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:141:9:141:15 | Before return ...; | +| Assignments.cs:1:7:1:17 | After call to constructor Object | Assignments.cs:1:7:1:17 | call to constructor Object | +| Assignments.cs:1:7:1:17 | After call to method | Assignments.cs:1:7:1:17 | call to method | +| Assignments.cs:1:7:1:17 | Before call to constructor Object | Assignments.cs:1:7:1:17 | After call to method | +| Assignments.cs:1:7:1:17 | Before call to method | Assignments.cs:1:7:1:17 | Entry | +| Assignments.cs:1:7:1:17 | Exit | Assignments.cs:1:7:1:17 | Normal Exit | +| Assignments.cs:1:7:1:17 | Normal Exit | Assignments.cs:1:7:1:17 | {...} | +| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | Before call to constructor Object | | Assignments.cs:1:7:1:17 | call to method | Assignments.cs:1:7:1:17 | this access | -| 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 | {...} | -| Assignments.cs:1:7:1:17 | this access | Assignments.cs:1:7:1:17 | enter Assignments | -| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | call to constructor Object | -| Assignments.cs:3:10:3:10 | exit M | Assignments.cs:3:10:3:10 | exit M (normal) | -| Assignments.cs:3:10:3:10 | exit M (normal) | Assignments.cs:14:9:14:35 | ... += ... | -| Assignments.cs:4:5:15:5 | {...} | Assignments.cs:3:10:3:10 | enter M | +| Assignments.cs:1:7:1:17 | this access | Assignments.cs:1:7:1:17 | Before call to method | +| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | After call to constructor Object | +| Assignments.cs:3:10:3:10 | Exit | Assignments.cs:3:10:3:10 | Normal Exit | +| Assignments.cs:3:10:3:10 | Normal Exit | Assignments.cs:4:5:15:5 | After {...} | +| Assignments.cs:4:5:15:5 | After {...} | Assignments.cs:14:9:14:36 | After ...; | +| Assignments.cs:4:5:15:5 | {...} | Assignments.cs:3:10:3:10 | Entry | | Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:4:5:15:5 | {...} | +| Assignments.cs:5:9:5:18 | After ... ...; | Assignments.cs:5:13:5:17 | After Int32 x = ... | +| Assignments.cs:5:13:5:13 | access to local variable x | Assignments.cs:5:13:5:17 | Before Int32 x = ... | +| Assignments.cs:5:13:5:17 | After Int32 x = ... | Assignments.cs:5:13:5:17 | Int32 x = ... | +| Assignments.cs:5:13:5:17 | Before Int32 x = ... | Assignments.cs:5:9:5:18 | ... ...; | | Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:5:17:5:17 | 0 | -| Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:9:5:18 | ... ...; | -| Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:9:6:15 | ...; | +| Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:13:5:13 | access to local variable x | +| Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:9:6:14 | Before ... += ... | | Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:6:14:6:14 | 1 | -| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:5:13:5:17 | Int32 x = ... | +| Assignments.cs:6:9:6:14 | After ... += ... | Assignments.cs:6:9:6:14 | ... += ... | +| Assignments.cs:6:9:6:14 | Before ... += ... | Assignments.cs:6:9:6:15 | ...; | +| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:5:9:5:18 | After ... ...; | +| Assignments.cs:6:9:6:15 | After ...; | Assignments.cs:6:9:6:14 | After ... += ... | | Assignments.cs:6:14:6:14 | 1 | Assignments.cs:6:9:6:9 | access to local variable x | -| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:6:9:6:14 | ... += ... | -| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:21:8:21 | (...) ... | -| Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:9:8:22 | ... ...; | +| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:6:9:6:15 | After ...; | +| Assignments.cs:8:9:8:22 | After ... ...; | Assignments.cs:8:17:8:21 | After dynamic d = ... | +| Assignments.cs:8:17:8:17 | access to local variable d | Assignments.cs:8:17:8:21 | Before dynamic d = ... | +| Assignments.cs:8:17:8:21 | After dynamic d = ... | Assignments.cs:8:17:8:21 | dynamic d = ... | +| Assignments.cs:8:17:8:21 | Before dynamic d = ... | Assignments.cs:8:9:8:22 | ... ...; | +| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:21:8:21 | After (...) ... | +| Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:21:8:21 | Before (...) ... | | Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:21:8:21 | 0 | -| Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:9:9:15 | ...; | +| Assignments.cs:8:21:8:21 | After (...) ... | Assignments.cs:8:21:8:21 | (...) ... | +| Assignments.cs:8:21:8:21 | Before (...) ... | Assignments.cs:8:17:8:17 | access to local variable d | +| Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:9:9:14 | Before ... -= ... | | Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:9:14:9:14 | 2 | -| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:8:17:8:21 | dynamic d = ... | +| Assignments.cs:9:9:9:14 | After ... -= ... | Assignments.cs:9:9:9:14 | ... -= ... | +| Assignments.cs:9:9:9:14 | Before ... -= ... | Assignments.cs:9:9:9:15 | ...; | +| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:8:9:8:22 | After ... ...; | +| Assignments.cs:9:9:9:15 | After ...; | Assignments.cs:9:9:9:14 | After ... -= ... | | Assignments.cs:9:14:9:14 | 2 | Assignments.cs:9:9:9:9 | access to local variable d | -| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:9:9:9:14 | ... -= ... | -| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:17:11:33 | object creation of type Assignments | -| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:9:11:34 | ... ...; | -| Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:9:12:18 | ...; | +| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:9:9:9:15 | After ...; | +| Assignments.cs:11:9:11:34 | After ... ...; | Assignments.cs:11:13:11:33 | After Assignments a = ... | +| Assignments.cs:11:13:11:13 | access to local variable a | Assignments.cs:11:13:11:33 | Before Assignments a = ... | +| Assignments.cs:11:13:11:33 | After Assignments a = ... | Assignments.cs:11:13:11:33 | Assignments a = ... | +| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:17:11:33 | After object creation of type Assignments | +| Assignments.cs:11:13:11:33 | Before Assignments a = ... | Assignments.cs:11:9:11:34 | ... ...; | +| Assignments.cs:11:17:11:33 | After object creation of type Assignments | Assignments.cs:11:17:11:33 | object creation of type Assignments | +| Assignments.cs:11:17:11:33 | Before object creation of type Assignments | Assignments.cs:11:13:11:13 | access to local variable a | +| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:17:11:33 | Before object creation of type Assignments | +| Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:9:12:17 | Before ... += ... | | Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:12:14:12:17 | this access | -| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:11:13:11:33 | Assignments a = ... | +| Assignments.cs:12:9:12:17 | After ... += ... | Assignments.cs:12:9:12:17 | ... += ... | +| Assignments.cs:12:9:12:17 | Before ... += ... | Assignments.cs:12:9:12:18 | ...; | +| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:11:9:11:34 | After ... ...; | +| Assignments.cs:12:9:12:18 | After ...; | Assignments.cs:12:9:12:17 | After ... += ... | | Assignments.cs:12:14:12:17 | this access | Assignments.cs:12:9:12:9 | access to local variable a | -| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:18:14:35 | (...) => ... | -| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:9:14:36 | ...; | -| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:14:9:14:13 | access to event Event | -| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:12:9:12:17 | ... += ... | -| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:13 | this access | -| Assignments.cs:14:18:14:35 | exit (...) => ... | Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | -| Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | Assignments.cs:14:33:14:35 | {...} | -| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | enter (...) => ... | -| Assignments.cs:17:40:17:40 | exit + | Assignments.cs:17:40:17:40 | exit + (normal) | -| Assignments.cs:17:40:17:40 | exit + (normal) | Assignments.cs:19:9:19:17 | return ...; | -| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:17:40:17:40 | enter + | +| Assignments.cs:14:9:14:13 | After access to event Event | Assignments.cs:14:9:14:13 | access to event Event | +| Assignments.cs:14:9:14:13 | Before access to event Event | Assignments.cs:14:9:14:35 | Before ... += ... | +| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:13 | this access | +| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:9:14:13 | Before access to event Event | +| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:14:18:14:35 | (...) => ... | +| Assignments.cs:14:9:14:35 | After ... += ... | Assignments.cs:14:9:14:35 | ... += ... | +| Assignments.cs:14:9:14:35 | Before ... += ... | Assignments.cs:14:9:14:36 | ...; | +| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:12:9:12:18 | After ...; | +| Assignments.cs:14:9:14:36 | After ...; | Assignments.cs:14:9:14:35 | After ... += ... | +| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:13 | After access to event Event | +| Assignments.cs:14:18:14:35 | Exit | Assignments.cs:14:18:14:35 | Normal Exit | +| Assignments.cs:14:18:14:35 | Normal Exit | Assignments.cs:14:33:14:35 | {...} | +| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | Entry | +| Assignments.cs:17:40:17:40 | Exit | Assignments.cs:17:40:17:40 | Normal Exit | +| Assignments.cs:17:40:17:40 | Normal Exit | Assignments.cs:19:9:19:17 | return ...; | +| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:17:40:17:40 | Entry | +| Assignments.cs:19:9:19:17 | Before return ...; | Assignments.cs:18:5:20:5 | {...} | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:19:16:19:16 | access to parameter x | -| Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:18:5:20:5 | {...} | -| Assignments.cs:27:10:27:23 | exit SetParamSingle | Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | -| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:29:9:29:14 | ... = ... | -| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:27:10:27:23 | enter SetParamSingle | +| Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:9:19:17 | Before return ...; | +| Assignments.cs:27:10:27:23 | Exit | Assignments.cs:27:10:27:23 | Normal Exit | +| Assignments.cs:27:10:27:23 | Normal Exit | Assignments.cs:28:5:30:5 | After {...} | +| Assignments.cs:28:5:30:5 | After {...} | Assignments.cs:29:9:29:15 | After ...; | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:27:10:27:23 | Entry | +| Assignments.cs:29:9:29:9 | access to parameter x | Assignments.cs:29:9:29:14 | Before ... = ... | | Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:9:29:14 | After ... = ... | Assignments.cs:29:9:29:14 | ... = ... | +| Assignments.cs:29:9:29:14 | Before ... = ... | Assignments.cs:29:9:29:15 | ...; | | Assignments.cs:29:9:29:15 | ...; | Assignments.cs:28:5:30:5 | {...} | -| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:15 | ...; | -| Assignments.cs:32:10:32:22 | exit SetParamMulti | Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | -| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:35:9:35:19 | ... = ... | -| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:32:10:32:22 | enter SetParamMulti | +| Assignments.cs:29:9:29:15 | After ...; | Assignments.cs:29:9:29:14 | After ... = ... | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:9 | access to parameter x | +| Assignments.cs:32:10:32:22 | Exit | Assignments.cs:32:10:32:22 | Normal Exit | +| Assignments.cs:32:10:32:22 | Normal Exit | Assignments.cs:33:5:36:5 | After {...} | +| Assignments.cs:33:5:36:5 | After {...} | Assignments.cs:35:9:35:20 | After ...; | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:32:10:32:22 | Entry | +| Assignments.cs:34:9:34:9 | access to parameter x | Assignments.cs:34:9:34:14 | Before ... = ... | | Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:9:34:14 | After ... = ... | Assignments.cs:34:9:34:14 | ... = ... | +| Assignments.cs:34:9:34:14 | Before ... = ... | Assignments.cs:34:9:34:15 | ...; | | Assignments.cs:34:9:34:15 | ...; | Assignments.cs:33:5:36:5 | {...} | -| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:15 | ...; | +| Assignments.cs:34:9:34:15 | After ...; | Assignments.cs:34:9:34:14 | After ... = ... | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:9 | access to parameter x | +| Assignments.cs:35:9:35:9 | access to parameter y | Assignments.cs:35:9:35:19 | Before ... = ... | | Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:13:35:19 | "Hello" | -| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:34:9:34:14 | ... = ... | -| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:20 | ...; | -| Assignments.cs:38:10:38:11 | exit M2 | Assignments.cs:38:10:38:11 | exit M2 (normal) | -| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:44:9:44:58 | call to method SetParamMulti | -| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:38:10:38:11 | enter M2 | +| Assignments.cs:35:9:35:19 | After ... = ... | Assignments.cs:35:9:35:19 | ... = ... | +| Assignments.cs:35:9:35:19 | Before ... = ... | Assignments.cs:35:9:35:20 | ...; | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:34:9:34:15 | After ...; | +| Assignments.cs:35:9:35:20 | After ...; | Assignments.cs:35:9:35:19 | After ... = ... | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:9 | access to parameter y | +| Assignments.cs:38:10:38:11 | Exit | Assignments.cs:38:10:38:11 | Normal Exit | +| Assignments.cs:38:10:38:11 | Normal Exit | Assignments.cs:39:5:45:5 | After {...} | +| Assignments.cs:39:5:45:5 | After {...} | Assignments.cs:44:9:44:59 | After ...; | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:38:10:38:11 | Entry | | Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:39:5:45:5 | {...} | +| Assignments.cs:40:9:40:15 | After ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | | Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:9:40:15 | ... ...; | -| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | this access | -| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:31 | ...; | -| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:40:13:40:14 | Int32 x1 | -| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:28:42:35 | access to field IntField | -| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:37 | ...; | -| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:41:9:41:30 | call to method SetParamSingle | +| Assignments.cs:41:9:41:30 | After call to method SetParamSingle | Assignments.cs:41:9:41:30 | call to method SetParamSingle | +| Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | Assignments.cs:41:9:41:31 | ...; | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:28:41:29 | access to local variable x1 | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:40:9:40:15 | After ... ...; | +| Assignments.cs:41:9:41:31 | After ...; | Assignments.cs:41:9:41:30 | After call to method SetParamSingle | +| Assignments.cs:41:28:41:29 | access to local variable x1 | Assignments.cs:41:9:41:30 | this access | +| Assignments.cs:42:9:42:36 | After call to method SetParamSingle | Assignments.cs:42:9:42:36 | call to method SetParamSingle | +| Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | Assignments.cs:42:9:42:37 | ...; | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:28:42:35 | After access to field IntField | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:41:9:41:31 | After ...; | +| Assignments.cs:42:9:42:37 | After ...; | Assignments.cs:42:9:42:36 | After call to method SetParamSingle | +| Assignments.cs:42:28:42:35 | After access to field IntField | Assignments.cs:42:28:42:35 | access to field IntField | +| Assignments.cs:42:28:42:35 | Before access to field IntField | Assignments.cs:42:9:42:36 | this access | | Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | this access | -| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:9:42:36 | this access | -| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:44:43:54 | access to field StringField | -| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:56 | ...; | -| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:42:9:42:36 | call to method SetParamSingle | -| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | Before access to field IntField | +| Assignments.cs:43:9:43:55 | After call to method SetParamMulti | Assignments.cs:43:9:43:55 | call to method SetParamMulti | +| Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | Assignments.cs:43:9:43:56 | ...; | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:44:43:54 | After access to field StringField | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:42:9:42:37 | After ...; | +| Assignments.cs:43:9:43:56 | After ...; | Assignments.cs:43:9:43:55 | After call to method SetParamMulti | +| Assignments.cs:43:31:43:31 | Int32 y | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:31:43:31 | Int32 y | +| Assignments.cs:43:44:43:54 | After access to field StringField | Assignments.cs:43:44:43:54 | access to field StringField | +| Assignments.cs:43:44:43:54 | Before access to field StringField | Assignments.cs:43:34:43:37 | null | | Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | this access | -| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:34:43:37 | null | -| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:47:44:57 | access to field StringField | -| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:9:44:59 | ...; | -| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:43:9:43:55 | call to method SetParamMulti | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | Before access to field StringField | +| Assignments.cs:44:9:44:58 | After call to method SetParamMulti | Assignments.cs:44:9:44:58 | call to method SetParamMulti | +| Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | Assignments.cs:44:9:44:59 | ...; | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:47:44:57 | After access to field StringField | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:43:9:43:56 | After ...; | +| Assignments.cs:44:9:44:59 | After ...; | Assignments.cs:44:9:44:58 | After call to method SetParamMulti | +| Assignments.cs:44:27:44:34 | After access to field IntField | Assignments.cs:44:27:44:34 | access to field IntField | +| Assignments.cs:44:27:44:34 | Before access to field IntField | Assignments.cs:44:9:44:58 | this access | | Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | this access | -| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:9:44:58 | this access | -| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:27:44:34 | access to field IntField | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | Before access to field IntField | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:27:44:34 | After access to field IntField | +| Assignments.cs:44:47:44:57 | After access to field StringField | Assignments.cs:44:47:44:57 | access to field StringField | +| Assignments.cs:44:47:44:57 | Before access to field StringField | Assignments.cs:44:37:44:40 | null | | Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | this access | -| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:37:44:40 | null | -| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | call to method | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | Before access to field StringField | +| BreakInTry.cs:1:7:1:16 | After call to constructor Object | BreakInTry.cs:1:7:1:16 | call to constructor Object | +| BreakInTry.cs:1:7:1:16 | After call to method | BreakInTry.cs:1:7:1:16 | call to method | +| BreakInTry.cs:1:7:1:16 | Before call to constructor Object | BreakInTry.cs:1:7:1:16 | After call to method | +| BreakInTry.cs:1:7:1:16 | Before call to method | BreakInTry.cs:1:7:1:16 | Entry | +| BreakInTry.cs:1:7:1:16 | Exit | BreakInTry.cs:1:7:1:16 | Normal Exit | +| BreakInTry.cs:1:7:1:16 | Normal Exit | BreakInTry.cs:1:7:1:16 | {...} | +| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | Before call to constructor Object | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | this access | -| BreakInTry.cs:1:7:1:16 | exit BreakInTry | BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | -| BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | BreakInTry.cs:1:7:1:16 | {...} | -| BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | enter BreakInTry | -| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | call to constructor Object | -| BreakInTry.cs:3:10:3:11 | exit M1 | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:15:17:15:28 | ... == ... | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:16:17:16:17 | ; | -| BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:3:10:3:11 | enter M1 | +| BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | Before call to method | +| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | After call to constructor Object | +| BreakInTry.cs:3:10:3:11 | Exit | BreakInTry.cs:3:10:3:11 | Normal Exit | +| BreakInTry.cs:3:10:3:11 | Normal Exit | BreakInTry.cs:4:5:18:5 | After {...} | +| BreakInTry.cs:4:5:18:5 | After {...} | BreakInTry.cs:5:9:17:9 | After try {...} ... | +| BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:3:10:3:11 | Entry | +| BreakInTry.cs:5:9:17:9 | After try {...} ... | BreakInTry.cs:14:9:17:9 | After {...} | | BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:4:5:18:5 | {...} | +| BreakInTry.cs:6:9:12:9 | After {...} | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | | BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:5:9:17:9 | try {...} ... | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | access to parameter args | -| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:6:9:12:9 | {...} | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:10:21:10:26 | break; | +| BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:8:13:11:13 | After {...} | +| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:6:9:12:9 | {...} | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:8:13:11:13 | After {...} | BreakInTry.cs:9:17:10:26 | After if (...) ... | | BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:7:26:7:28 | String arg | +| BreakInTry.cs:9:17:10:26 | After if (...) ... | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | | BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:8:13:11:13 | {...} | -| BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:9:17:10:26 | if (...) ... | +| BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:9:21:9:31 | Before ... == ... | | BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:28:9:31 | null | +| BreakInTry.cs:9:21:9:31 | Before ... == ... | BreakInTry.cs:9:17:10:26 | if (...) ... | | BreakInTry.cs:9:28:9:31 | null | BreakInTry.cs:9:21:9:23 | access to local variable arg | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:10:21:10:26 | break; | +| BreakInTry.cs:10:21:10:26 | Before break; | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:10:21:10:26 | Before break; | +| BreakInTry.cs:14:9:17:9 | After {...} | BreakInTry.cs:15:13:16:17 | After if (...) ... | +| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:6:9:12:9 | After {...} | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:16:17:16:17 | ; | | BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:14:9:17:9 | {...} | -| BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:15:13:16:17 | if (...) ... | +| BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:15:17:15:28 | Before ... == ... | | BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:25:15:28 | null | +| BreakInTry.cs:15:17:15:28 | Before ... == ... | BreakInTry.cs:15:13:16:17 | if (...) ... | | BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:15:17:15:20 | access to parameter args | -| BreakInTry.cs:20:10:20:11 | exit M2 | BreakInTry.cs:20:10:20:11 | exit M2 (normal) | -| BreakInTry.cs:20:10:20:11 | exit M2 (normal) | BreakInTry.cs:35:7:35:7 | ; | -| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:20:10:20:11 | enter M2 | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | access to parameter args | -| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:21:5:36:5 | {...} | +| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | +| BreakInTry.cs:20:10:20:11 | Exit | BreakInTry.cs:20:10:20:11 | Normal Exit | +| BreakInTry.cs:20:10:20:11 | Normal Exit | BreakInTry.cs:21:5:36:5 | After {...} | +| BreakInTry.cs:21:5:36:5 | After {...} | BreakInTry.cs:35:7:35:7 | ; | +| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:20:10:20:11 | Entry | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:30:13:33:13 | After {...} | +| BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:23:9:34:9 | After {...} | +| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:21:5:36:5 | {...} | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | +| BreakInTry.cs:23:9:34:9 | After {...} | BreakInTry.cs:24:13:33:13 | After try {...} ... | | BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:22:22:22:24 | String arg | | BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:23:9:34:9 | {...} | +| BreakInTry.cs:25:13:28:13 | After {...} | BreakInTry.cs:26:17:27:26 | After if (...) ... | | BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:24:13:33:13 | try {...} ... | +| BreakInTry.cs:26:17:27:26 | After if (...) ... | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | | BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:25:13:28:13 | {...} | -| BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:26:17:27:26 | if (...) ... | +| BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:26:21:26:31 | Before ... == ... | | BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:28:26:31 | null | +| BreakInTry.cs:26:21:26:31 | Before ... == ... | BreakInTry.cs:26:17:27:26 | if (...) ... | | BreakInTry.cs:26:28:26:31 | null | BreakInTry.cs:26:21:26:23 | access to local variable arg | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:26:21:26:31 | ... == ... | +| BreakInTry.cs:27:21:27:26 | Before break; | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:27:21:27:26 | Before break; | +| BreakInTry.cs:30:13:33:13 | After {...} | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:25:13:28:13 | After {...} | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:27:21:27:26 | break; | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:32:21:32:21 | ; | | BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:31:17:32:21 | if (...) ... | +| BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:31:21:31:32 | Before ... == ... | | BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:29:31:32 | null | +| BreakInTry.cs:31:21:31:32 | Before ... == ... | BreakInTry.cs:31:17:32:21 | if (...) ... | | BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:31:21:31:24 | access to parameter args | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:31:21:31:32 | ... == ... | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:38:10:38:11 | exit M3 | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:53:7:53:7 | ; | -| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:38:10:38:11 | enter M3 | +| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | +| BreakInTry.cs:38:10:38:11 | Exit | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:39:5:54:5 | After {...} | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:46:9:52:9 | After {...} | +| BreakInTry.cs:39:5:54:5 | After {...} | BreakInTry.cs:53:7:53:7 | ; | +| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:38:10:38:11 | Entry | | BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:39:5:54:5 | {...} | +| BreakInTry.cs:41:9:44:9 | After {...} | BreakInTry.cs:42:13:43:23 | After if (...) ... | | BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:40:9:52:9 | try {...} ... | +| BreakInTry.cs:42:13:43:23 | After if (...) ... | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | | BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:41:9:44:9 | {...} | -| BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:42:13:43:23 | if (...) ... | +| BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:42:17:42:28 | Before ... == ... | | BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:25:42:28 | null | +| BreakInTry.cs:42:17:42:28 | Before ... == ... | BreakInTry.cs:42:13:43:23 | if (...) ... | | BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:42:17:42:20 | access to parameter args | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:42:17:42:28 | ... == ... | +| BreakInTry.cs:43:17:43:23 | Before return ...; | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:43:17:43:23 | Before return ...; | +| BreakInTry.cs:46:9:52:9 | After {...} | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:41:9:44:9 | After {...} | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | access to parameter args | -| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:46:9:52:9 | {...} | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:50:21:50:26 | break; | +| BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:48:13:51:13 | After {...} | +| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:46:9:52:9 | {...} | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:48:13:51:13 | After {...} | BreakInTry.cs:49:17:50:26 | After if (...) ... | | BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:47:26:47:28 | String arg | +| BreakInTry.cs:49:17:50:26 | After if (...) ... | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | | BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:48:13:51:13 | {...} | -| BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:49:17:50:26 | if (...) ... | +| BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:49:21:49:31 | Before ... == ... | | BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:28:49:31 | null | +| BreakInTry.cs:49:21:49:31 | Before ... == ... | BreakInTry.cs:49:17:50:26 | if (...) ... | | BreakInTry.cs:49:28:49:31 | null | BreakInTry.cs:49:21:49:23 | access to local variable arg | -| BreakInTry.cs:56:10:56:11 | exit M4 | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:68:21:68:26 | break; | -| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:56:10:56:11 | enter M4 | +| BreakInTry.cs:50:21:50:26 | Before break; | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:50:21:50:26 | Before break; | +| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:56:10:56:11 | Exit | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:57:5:71:5 | After {...} | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:64:9:70:9 | After {...} | +| BreakInTry.cs:57:5:71:5 | After {...} | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:56:10:56:11 | Entry | | BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:57:5:71:5 | {...} | +| BreakInTry.cs:59:9:62:9 | After {...} | BreakInTry.cs:60:13:61:23 | After if (...) ... | | BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:58:9:70:9 | try {...} ... | +| BreakInTry.cs:60:13:61:23 | After if (...) ... | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | | BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:59:9:62:9 | {...} | -| BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:60:13:61:23 | if (...) ... | +| BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:60:17:60:28 | Before ... == ... | | BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:25:60:28 | null | +| BreakInTry.cs:60:17:60:28 | Before ... == ... | BreakInTry.cs:60:13:61:23 | if (...) ... | | BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:60:17:60:20 | access to parameter args | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:60:17:60:28 | ... == ... | +| BreakInTry.cs:61:17:61:23 | Before return ...; | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:61:17:61:23 | Before return ...; | +| BreakInTry.cs:64:9:70:9 | After {...} | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:59:9:62:9 | After {...} | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | access to parameter args | -| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:64:9:70:9 | {...} | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:68:21:68:26 | break; | +| BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:66:13:69:13 | After {...} | +| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:64:9:70:9 | {...} | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:66:13:69:13 | After {...} | BreakInTry.cs:67:17:68:26 | After if (...) ... | | BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:67:17:68:26 | After if (...) ... | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | | BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:66:13:69:13 | {...} | -| BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:67:17:68:26 | if (...) ... | +| BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:67:21:67:31 | Before ... == ... | | BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:28:67:31 | null | +| BreakInTry.cs:67:21:67:31 | Before ... == ... | BreakInTry.cs:67:17:68:26 | if (...) ... | | BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:67:21:67:23 | access to local variable arg | -| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | call to method | +| BreakInTry.cs:68:21:68:26 | Before break; | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:68:21:68:26 | Before break; | +| CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | +| CompileTimeOperators.cs:3:7:3:26 | After call to method | CompileTimeOperators.cs:3:7:3:26 | call to method | +| CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | After call to method | +| CompileTimeOperators.cs:3:7:3:26 | Before call to method | CompileTimeOperators.cs:3:7:3:26 | Entry | +| CompileTimeOperators.cs:3:7:3:26 | Exit | CompileTimeOperators.cs:3:7:3:26 | Normal Exit | +| CompileTimeOperators.cs:3:7:3:26 | Normal Exit | CompileTimeOperators.cs:3:7:3:26 | {...} | +| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | | CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | this access | -| CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | -| CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | CompileTimeOperators.cs:3:7:3:26 | {...} | -| CompileTimeOperators.cs:3:7:3:26 | this access | CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | -| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | -| CompileTimeOperators.cs:5:9:5:15 | exit Default | CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | -| CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | CompileTimeOperators.cs:7:9:7:28 | return ...; | -| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:5:9:5:15 | enter Default | +| CompileTimeOperators.cs:3:7:3:26 | this access | CompileTimeOperators.cs:3:7:3:26 | Before call to method | +| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | +| CompileTimeOperators.cs:5:9:5:15 | Exit | CompileTimeOperators.cs:5:9:5:15 | Normal Exit | +| CompileTimeOperators.cs:5:9:5:15 | Normal Exit | CompileTimeOperators.cs:7:9:7:28 | return ...; | +| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:5:9:5:15 | Entry | +| CompileTimeOperators.cs:7:9:7:28 | Before return ...; | CompileTimeOperators.cs:6:5:8:5 | {...} | | CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:7:16:7:27 | default(...) | -| CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:6:5:8:5 | {...} | -| CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | -| CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | CompileTimeOperators.cs:12:9:12:27 | return ...; | -| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | +| CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:7:9:7:28 | Before return ...; | +| CompileTimeOperators.cs:10:9:10:14 | Exit | CompileTimeOperators.cs:10:9:10:14 | Normal Exit | +| CompileTimeOperators.cs:10:9:10:14 | Normal Exit | CompileTimeOperators.cs:12:9:12:27 | return ...; | +| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:10:9:10:14 | Entry | +| CompileTimeOperators.cs:12:9:12:27 | Before return ...; | CompileTimeOperators.cs:11:5:13:5 | {...} | | CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | -| CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:11:5:13:5 | {...} | -| CompileTimeOperators.cs:15:10:15:15 | exit Typeof | CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | -| CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | CompileTimeOperators.cs:17:9:17:27 | return ...; | -| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:15:10:15:15 | enter Typeof | +| CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:12:9:12:27 | Before return ...; | +| CompileTimeOperators.cs:15:10:15:15 | Exit | CompileTimeOperators.cs:15:10:15:15 | Normal Exit | +| CompileTimeOperators.cs:15:10:15:15 | Normal Exit | CompileTimeOperators.cs:17:9:17:27 | return ...; | +| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:15:10:15:15 | Entry | +| CompileTimeOperators.cs:17:9:17:27 | Before return ...; | CompileTimeOperators.cs:16:5:18:5 | {...} | | CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | -| CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:16:5:18:5 | {...} | -| CompileTimeOperators.cs:20:12:20:17 | exit Nameof | CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | -| CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | CompileTimeOperators.cs:22:9:22:25 | return ...; | -| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:20:12:20:17 | enter Nameof | +| CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:17:9:17:27 | Before return ...; | +| CompileTimeOperators.cs:20:12:20:17 | Exit | CompileTimeOperators.cs:20:12:20:17 | Normal Exit | +| CompileTimeOperators.cs:20:12:20:17 | Normal Exit | CompileTimeOperators.cs:22:9:22:25 | return ...; | +| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:20:12:20:17 | Entry | +| CompileTimeOperators.cs:22:9:22:25 | Before return ...; | CompileTimeOperators.cs:21:5:23:5 | {...} | | CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | -| CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:21:5:23:5 | {...} | -| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | call to method | +| CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:9:22:25 | Before return ...; | +| CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | +| CompileTimeOperators.cs:26:7:26:22 | After call to method | CompileTimeOperators.cs:26:7:26:22 | call to method | +| CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | After call to method | +| CompileTimeOperators.cs:26:7:26:22 | Before call to method | CompileTimeOperators.cs:26:7:26:22 | Entry | +| CompileTimeOperators.cs:26:7:26:22 | Exit | CompileTimeOperators.cs:26:7:26:22 | Normal Exit | +| CompileTimeOperators.cs:26:7:26:22 | Normal Exit | CompileTimeOperators.cs:26:7:26:22 | {...} | +| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | | CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | this access | -| CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | -| CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | CompileTimeOperators.cs:26:7:26:22 | {...} | -| CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | -| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | -| CompileTimeOperators.cs:28:10:28:10 | exit M (normal) | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | -| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:28:10:28:10 | enter M | +| CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | Before call to method | +| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | +| CompileTimeOperators.cs:28:10:28:10 | Normal Exit | CompileTimeOperators.cs:29:5:41:5 | After {...} | +| CompileTimeOperators.cs:29:5:41:5 | After {...} | CompileTimeOperators.cs:40:14:40:38 | After ...; | +| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:28:10:28:10 | Entry | | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:29:5:41:5 | {...} | | CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | -| CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:31:9:34:9 | {...} | +| CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | CompileTimeOperators.cs:31:9:34:9 | {...} | +| CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:37:13:37:41 | After ...; | | CompileTimeOperators.cs:36:9:38:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | goto ...; | +| CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | +| CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | CompileTimeOperators.cs:37:13:37:41 | ...; | | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:37:31:37:39 | "Finally" | | CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:36:9:38:9 | {...} | -| CompileTimeOperators.cs:37:31:37:39 | "Finally" | CompileTimeOperators.cs:37:13:37:41 | ...; | +| CompileTimeOperators.cs:37:13:37:41 | After ...; | CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | +| CompileTimeOperators.cs:37:31:37:39 | "Finally" | CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | +| CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | +| CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | CompileTimeOperators.cs:39:9:39:34 | ...; | | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | CompileTimeOperators.cs:39:27:39:32 | "Dead" | -| CompileTimeOperators.cs:39:27:39:32 | "Dead" | CompileTimeOperators.cs:39:9:39:34 | ...; | -| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | -| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | +| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | +| CompileTimeOperators.cs:39:9:39:34 | After ...; | CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | +| CompileTimeOperators.cs:39:27:39:32 | "Dead" | CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | +| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:36:9:38:9 | After {...} | +| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:39:9:39:34 | After ...; | +| CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | +| CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | CompileTimeOperators.cs:40:14:40:38 | ...; | | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:40:32:40:36 | "End" | | CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:9:40:11 | End: | -| CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:40:14:40:38 | ...; | -| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | call to method | +| CompileTimeOperators.cs:40:14:40:38 | After ...; | CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | +| CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | +| ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | +| ConditionalAccess.cs:1:7:1:23 | After call to method | ConditionalAccess.cs:1:7:1:23 | call to method | +| ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | ConditionalAccess.cs:1:7:1:23 | After call to method | +| ConditionalAccess.cs:1:7:1:23 | Before call to method | ConditionalAccess.cs:1:7:1:23 | Entry | +| ConditionalAccess.cs:1:7:1:23 | Exit | ConditionalAccess.cs:1:7:1:23 | Normal Exit | +| ConditionalAccess.cs:1:7:1:23 | Normal Exit | ConditionalAccess.cs:1:7:1:23 | {...} | +| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | | ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | this access | -| ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | -| ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | ConditionalAccess.cs:1:7:1:23 | {...} | -| ConditionalAccess.cs:1:7:1:23 | this access | ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | -| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | -| ConditionalAccess.cs:3:12:3:13 | exit M1 | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:26:3:26 | access to parameter i | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:26:3:38 | call to method ToString | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:12:3:13 | enter M1 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:26:5:26 | access to parameter s | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:26:5:34 | access to property Length | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:10:5:11 | enter M2 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:38:7:55 | access to property Length | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:10:7:11 | enter M3 | -| ConditionalAccess.cs:9:9:9:10 | exit M4 | ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | -| ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:9:9:10 | enter M4 | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:33 | access to property Length | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:38:9:38 | 0 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:14:13:14:21 | return ...; | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:16:13:16:21 | return ...; | -| ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:11:9:11:10 | enter M5 | +| ConditionalAccess.cs:1:7:1:23 | this access | ConditionalAccess.cs:1:7:1:23 | Before call to method | +| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | +| ConditionalAccess.cs:3:12:3:13 | Exit | ConditionalAccess.cs:3:12:3:13 | Normal Exit | +| ConditionalAccess.cs:3:12:3:13 | Normal Exit | ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | +| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | +| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | +| ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | ConditionalAccess.cs:3:12:3:13 | Entry | +| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:5:10:5:11 | Exit | ConditionalAccess.cs:5:10:5:11 | Normal Exit | +| ConditionalAccess.cs:5:10:5:11 | Normal Exit | ConditionalAccess.cs:5:26:5:34 | After access to property Length | +| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:34 | Before access to property Length | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:26:5:34 | access to property Length | +| ConditionalAccess.cs:5:26:5:34 | Before access to property Length | ConditionalAccess.cs:5:10:5:11 | Entry | +| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | +| ConditionalAccess.cs:7:10:7:11 | Exit | ConditionalAccess.cs:7:10:7:11 | Normal Exit | +| ConditionalAccess.cs:7:10:7:11 | Normal Exit | ConditionalAccess.cs:7:38:7:55 | After access to property Length | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:38:7:55 | access to property Length | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | +| ConditionalAccess.cs:7:38:7:55 | Before access to property Length | ConditionalAccess.cs:7:10:7:11 | Entry | +| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | +| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | +| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:38:7:55 | Before access to property Length | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | +| ConditionalAccess.cs:9:9:9:10 | Exit | ConditionalAccess.cs:9:9:9:10 | Normal Exit | +| ConditionalAccess.cs:9:9:9:10 | Normal Exit | ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | +| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:33 | Before access to property Length | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:25:9:33 | Before access to property Length | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | +| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | +| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | Entry | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:38:9:38 | 0 | +| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | +| ConditionalAccess.cs:11:9:11:10 | Exit | ConditionalAccess.cs:11:9:11:10 | Normal Exit | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:14:13:14:21 | return ...; | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:16:13:16:21 | return ...; | +| ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:11:9:11:10 | Entry | | ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:12:5:17:5 | {...} | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:9:16:21 | if (...) ... | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:25:13:25 | (...) ... | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:13:13:13 | access to parameter s | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:13:13:21 | access to property Length | +| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:21 | Before access to property Length | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:21 | access to property Length | +| ConditionalAccess.cs:13:13:13:21 | Before access to property Length | ConditionalAccess.cs:13:13:13:25 | Before ... > ... | +| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:25:13:25 | After (...) ... | +| ConditionalAccess.cs:13:13:13:25 | Before ... > ... | ConditionalAccess.cs:13:9:16:21 | if (...) ... | +| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | Before (...) ... | | ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:25:13:25 | 0 | +| ConditionalAccess.cs:13:25:13:25 | After (...) ... | ConditionalAccess.cs:13:25:13:25 | (...) ... | +| ConditionalAccess.cs:13:25:13:25 | Before (...) ... | ConditionalAccess.cs:13:13:13:21 | After access to property Length | +| ConditionalAccess.cs:14:13:14:21 | Before return ...; | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | | ConditionalAccess.cs:14:13:14:21 | return ...; | ConditionalAccess.cs:14:20:14:20 | 0 | +| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:13:14:21 | Before return ...; | +| ConditionalAccess.cs:16:13:16:21 | Before return ...; | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | | ConditionalAccess.cs:16:13:16:21 | return ...; | ConditionalAccess.cs:16:20:16:20 | 1 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:12:19:13 | enter M6 | +| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:13:16:21 | Before return ...; | +| ConditionalAccess.cs:19:12:19:13 | Exit | ConditionalAccess.cs:19:12:19:13 | Normal Exit | +| ConditionalAccess.cs:19:12:19:13 | Normal Exit | ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | +| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | +| ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | Entry | | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | -| ConditionalAccess.cs:21:10:21:11 | exit M7 | ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | -| ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | ConditionalAccess.cs:25:9:25:32 | ... = ... | -| ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:21:10:21:11 | enter M7 | +| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:21:10:21:11 | Exit | ConditionalAccess.cs:21:10:21:11 | Normal Exit | +| ConditionalAccess.cs:21:10:21:11 | Normal Exit | ConditionalAccess.cs:22:5:26:5 | After {...} | +| ConditionalAccess.cs:22:5:26:5 | After {...} | ConditionalAccess.cs:25:9:25:33 | After ...; | +| ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:21:10:21:11 | Entry | | ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:22:5:26:5 | {...} | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:18:23:29 | (...) ... | +| ConditionalAccess.cs:23:9:23:39 | After ... ...; | ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | +| ConditionalAccess.cs:23:13:23:13 | access to local variable j | ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | +| ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | +| ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | ConditionalAccess.cs:23:9:23:39 | ... ...; | +| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:17:23:38 | After access to property Length | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:17:23:38 | access to property Length | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:23:17:23:38 | Before access to property Length | ConditionalAccess.cs:23:13:23:13 | access to local variable j | +| ConditionalAccess.cs:23:17:23:38 | access to property Length | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | | ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:26:23:29 | null | -| ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:9:23:39 | ... ...; | -| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | -| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:17:24:37 | call to method ToString | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:18:24:24 | (...) ... | +| ConditionalAccess.cs:23:18:23:29 | Before (...) ... | ConditionalAccess.cs:23:17:23:38 | Before access to property Length | +| ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:18:23:29 | Before (...) ... | +| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:23:9:23:39 | After ... ...; | +| ConditionalAccess.cs:24:9:24:38 | After ... ...; | ConditionalAccess.cs:24:13:24:37 | After String s = ... | +| ConditionalAccess.cs:24:13:24:13 | access to local variable s | ConditionalAccess.cs:24:13:24:37 | Before String s = ... | +| ConditionalAccess.cs:24:13:24:37 | After String s = ... | ConditionalAccess.cs:24:13:24:37 | String s = ... | +| ConditionalAccess.cs:24:13:24:37 | Before String s = ... | ConditionalAccess.cs:24:9:24:38 | ... ...; | +| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:17:24:37 | call to method ToString | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | ConditionalAccess.cs:24:13:24:13 | access to local variable s | +| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | | ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:24:24:24 | access to parameter i | -| ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:9:24:38 | ... ...; | -| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | -| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:24:13:24:37 | String s = ... | -| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:9:25:33 | ...; | +| ConditionalAccess.cs:24:18:24:24 | Before (...) ... | ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | +| ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:18:24:24 | Before (...) ... | +| ConditionalAccess.cs:25:9:25:9 | access to local variable s | ConditionalAccess.cs:25:9:25:32 | Before ... = ... | +| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | +| ConditionalAccess.cs:25:9:25:32 | After ... = ... | ConditionalAccess.cs:25:9:25:32 | ... = ... | +| ConditionalAccess.cs:25:9:25:32 | Before ... = ... | ConditionalAccess.cs:25:9:25:33 | ...; | +| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:24:9:24:38 | After ... ...; | +| ConditionalAccess.cs:25:9:25:33 | After ...; | ConditionalAccess.cs:25:9:25:32 | After ... = ... | +| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | +| ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | ConditionalAccess.cs:25:9:25:9 | access to local variable s | | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:13:25:14 | "" | -| ConditionalAccess.cs:30:10:30:12 | exit Out | ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | -| ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | ConditionalAccess.cs:30:28:30:32 | ... = ... | +| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:30:10:30:12 | Exit | ConditionalAccess.cs:30:10:30:12 | Normal Exit | +| ConditionalAccess.cs:30:10:30:12 | Normal Exit | ConditionalAccess.cs:30:28:30:32 | After ... = ... | +| ConditionalAccess.cs:30:28:30:28 | access to parameter i | ConditionalAccess.cs:30:28:30:32 | Before ... = ... | | ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:32:30:32 | 0 | -| ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:10:30:12 | enter Out | -| ConditionalAccess.cs:32:10:32:11 | exit M8 | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:35:9:35:12 | access to property Prop | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:32:10:32:11 | enter M8 | +| ConditionalAccess.cs:30:28:30:32 | After ... = ... | ConditionalAccess.cs:30:28:30:32 | ... = ... | +| ConditionalAccess.cs:30:28:30:32 | Before ... = ... | ConditionalAccess.cs:30:10:30:12 | Entry | +| ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:28:30:28 | access to parameter i | +| ConditionalAccess.cs:32:10:32:11 | Exit | ConditionalAccess.cs:32:10:32:11 | Normal Exit | +| ConditionalAccess.cs:32:10:32:11 | Normal Exit | ConditionalAccess.cs:33:5:36:5 | After {...} | +| ConditionalAccess.cs:33:5:36:5 | After {...} | ConditionalAccess.cs:35:9:35:25 | After ...; | +| ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:32:10:32:11 | Entry | +| ConditionalAccess.cs:34:9:34:9 | access to parameter i | ConditionalAccess.cs:34:9:34:13 | Before ... = ... | | ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:34:13:34:13 | 0 | +| ConditionalAccess.cs:34:9:34:13 | After ... = ... | ConditionalAccess.cs:34:9:34:13 | ... = ... | +| ConditionalAccess.cs:34:9:34:13 | Before ... = ... | ConditionalAccess.cs:34:9:34:14 | ...; | | ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:33:5:36:5 | {...} | -| ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:34:9:34:14 | ...; | +| ConditionalAccess.cs:34:9:34:14 | After ...; | ConditionalAccess.cs:34:9:34:13 | After ... = ... | +| ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:34:9:34:9 | access to parameter i | +| ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | ConditionalAccess.cs:35:9:35:24 | Before call to method Out | | ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | this access | -| ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:25 | ...; | -| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:34:9:34:13 | ... = ... | -| ConditionalAccess.cs:42:9:42:11 | exit get_Item | ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | -| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:15:42:26 | return ...; | -| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:9:42:11 | enter get_Item | +| ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | +| ConditionalAccess.cs:35:9:35:24 | Before call to method Out | ConditionalAccess.cs:35:9:35:25 | ...; | +| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:23:35:23 | access to parameter i | +| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:34:9:34:14 | After ...; | +| ConditionalAccess.cs:35:9:35:25 | After ...; | ConditionalAccess.cs:35:9:35:24 | After call to method Out | +| ConditionalAccess.cs:35:23:35:23 | access to parameter i | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | +| ConditionalAccess.cs:42:9:42:11 | Exit | ConditionalAccess.cs:42:9:42:11 | Normal Exit | +| ConditionalAccess.cs:42:9:42:11 | Normal Exit | ConditionalAccess.cs:42:15:42:26 | return ...; | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:9:42:11 | Entry | +| ConditionalAccess.cs:42:15:42:26 | Before return ...; | ConditionalAccess.cs:42:13:42:28 | {...} | | ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:22:42:25 | null | -| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:13:42:28 | {...} | -| ConditionalAccess.cs:43:9:43:11 | exit set_Item | ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | -| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:13:43:15 | {...} | -| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | enter set_Item | -| ConditionalAccess.cs:46:10:46:11 | exit M9 | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | -| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:12:54:29 | ... += ... | -| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:26 | ...; | -| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:15:42:26 | Before return ...; | +| ConditionalAccess.cs:43:9:43:11 | Exit | ConditionalAccess.cs:43:9:43:11 | Normal Exit | +| ConditionalAccess.cs:43:9:43:11 | Normal Exit | ConditionalAccess.cs:43:13:43:15 | {...} | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | Entry | +| ConditionalAccess.cs:46:10:46:11 | Exit | ConditionalAccess.cs:46:10:46:11 | Normal Exit | +| ConditionalAccess.cs:46:10:46:11 | Normal Exit | ConditionalAccess.cs:47:5:55:5 | After {...} | +| ConditionalAccess.cs:47:5:55:5 | After {...} | ConditionalAccess.cs:54:9:54:30 | After ...; | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | +| ConditionalAccess.cs:48:9:48:20 | After access to field IntField | ConditionalAccess.cs:48:9:48:20 | access to field IntField | +| ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | ConditionalAccess.cs:48:12:48:25 | Before ... = ... | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | | ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:47:5:55:5 | {...} | -| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:9:48:20 | access to field IntField | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:12:48:25 | ... = ... | -| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:18:50:23 | "Set0" | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:12:49:32 | ... = ... | -| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:9:50:14 | access to indexer | -| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:12:50:23 | ... = ... | -| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:26 | access to field IntField | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:18:51:31 | ... = ... | -| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:18:52:38 | ... = ... | +| ConditionalAccess.cs:48:9:48:26 | After ...; | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | ... = ... | +| ConditionalAccess.cs:48:12:48:25 | Before ... = ... | ConditionalAccess.cs:48:9:48:26 | ...; | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:9:48:20 | After access to field IntField | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | +| ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | +| ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | ConditionalAccess.cs:49:12:49:32 | Before ... = ... | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:9:48:26 | After ...; | +| ConditionalAccess.cs:49:9:49:33 | After ...; | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | ... = ... | +| ConditionalAccess.cs:49:12:49:32 | Before ... = ... | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:14 | Before access to indexer | +| ConditionalAccess.cs:50:9:50:14 | After access to indexer | ConditionalAccess.cs:50:9:50:14 | access to indexer | +| ConditionalAccess.cs:50:9:50:14 | Before access to indexer | ConditionalAccess.cs:50:12:50:23 | Before ... = ... | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:9:49:33 | After ...; | +| ConditionalAccess.cs:50:9:50:24 | After ...; | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:18:50:23 | "Set0" | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | ... = ... | +| ConditionalAccess.cs:50:12:50:23 | Before ... = ... | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:9:50:14 | After access to indexer | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:9:51:26 | After access to field IntField | ConditionalAccess.cs:51:9:51:26 | access to field IntField | +| ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | ConditionalAccess.cs:51:18:51:31 | Before ... = ... | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:9:50:24 | After ...; | +| ConditionalAccess.cs:51:9:51:32 | After ...; | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | ... = ... | +| ConditionalAccess.cs:51:18:51:31 | Before ... = ... | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:9:51:26 | After access to field IntField | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | +| ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | ConditionalAccess.cs:52:18:52:38 | Before ... = ... | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:32 | After ...; | +| ConditionalAccess.cs:52:9:52:39 | After ...; | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | ... = ... | +| ConditionalAccess.cs:52:18:52:38 | Before ... = ... | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | +| ConditionalAccess.cs:53:9:53:20 | After access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:39 | After ...; | +| ConditionalAccess.cs:53:9:53:26 | After ...; | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | | ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:30 | ...; | -| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:12:53:25 | ... -= ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:12:53:25 | ... -= ... | +| ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:20 | After access to field IntField | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | +| ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | ConditionalAccess.cs:54:12:54:29 | Before ... += ... | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:9:53:26 | After ...; | +| ConditionalAccess.cs:54:9:54:30 | After ...; | ConditionalAccess.cs:54:12:54:29 | After ... += ... | | ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | -| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:70:60:83 | ... + ... | -| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:12:54:29 | ... += ... | +| ConditionalAccess.cs:54:12:54:29 | Before ... += ... | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | +| ConditionalAccess.cs:60:26:60:38 | Exit | ConditionalAccess.cs:60:26:60:38 | Normal Exit | +| ConditionalAccess.cs:60:26:60:38 | Normal Exit | ConditionalAccess.cs:60:70:60:83 | After ... + ... | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:70:60:78 | Before ... + ... | | ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:75:60:78 | ", " | +| ConditionalAccess.cs:60:70:60:78 | After ... + ... | ConditionalAccess.cs:60:70:60:78 | ... + ... | +| ConditionalAccess.cs:60:70:60:78 | Before ... + ... | ConditionalAccess.cs:60:70:60:83 | Before ... + ... | | ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | +| ConditionalAccess.cs:60:70:60:83 | After ... + ... | ConditionalAccess.cs:60:70:60:83 | ... + ... | +| ConditionalAccess.cs:60:70:60:83 | Before ... + ... | ConditionalAccess.cs:60:26:60:38 | Entry | | ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | -| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:78 | ... + ... | -| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | call to method | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:78 | After ... + ... | +| Conditions.cs:1:7:1:16 | After call to constructor Object | Conditions.cs:1:7:1:16 | call to constructor Object | +| Conditions.cs:1:7:1:16 | After call to method | Conditions.cs:1:7:1:16 | call to method | +| Conditions.cs:1:7:1:16 | Before call to constructor Object | Conditions.cs:1:7:1:16 | After call to method | +| Conditions.cs:1:7:1:16 | Before call to method | Conditions.cs:1:7:1:16 | Entry | +| Conditions.cs:1:7:1:16 | Exit | Conditions.cs:1:7:1:16 | Normal Exit | +| Conditions.cs:1:7:1:16 | Normal Exit | Conditions.cs:1:7:1:16 | {...} | +| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | Before call to constructor Object | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | this access | -| Conditions.cs:1:7:1:16 | exit Conditions | Conditions.cs:1:7:1:16 | exit Conditions (normal) | -| Conditions.cs:1:7:1:16 | exit Conditions (normal) | Conditions.cs:1:7:1:16 | {...} | -| Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | enter Conditions | -| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | call to constructor Object | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:8:13:8:15 | ...-- | -| Conditions.cs:4:5:9:5 | {...} | Conditions.cs:3:10:3:19 | enter IncrOrDecr | +| Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | Before call to method | +| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | After call to constructor Object | +| Conditions.cs:3:10:3:19 | Exit | Conditions.cs:3:10:3:19 | Normal Exit | +| Conditions.cs:3:10:3:19 | Normal Exit | Conditions.cs:4:5:9:5 | After {...} | +| Conditions.cs:4:5:9:5 | After {...} | Conditions.cs:7:9:8:16 | After if (...) ... | +| Conditions.cs:4:5:9:5 | {...} | Conditions.cs:3:10:3:19 | Entry | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:6:13:6:16 | After ...; | | Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:4:5:9:5 | {...} | | Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:9:6:16 | if (...) ... | -| Conditions.cs:6:13:6:13 | access to parameter x | Conditions.cs:6:13:6:16 | ...; | +| Conditions.cs:6:13:6:13 | access to parameter x | Conditions.cs:6:13:6:15 | Before ...++ | | Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:6:13:6:13 | access to parameter x | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:5:13:5:15 | access to parameter inc | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:6:13:6:15 | ...++ | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:9:8:16 | if (...) ... | -| Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:16 | ...; | +| Conditions.cs:6:13:6:15 | After ...++ | Conditions.cs:6:13:6:15 | ...++ | +| Conditions.cs:6:13:6:15 | Before ...++ | Conditions.cs:6:13:6:16 | ...; | +| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | +| Conditions.cs:6:13:6:16 | After ...; | Conditions.cs:6:13:6:15 | After ...++ | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:7:13:7:16 | After !... [false] | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:8:13:8:16 | After ...; | +| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:5:9:6:16 | After if (...) ... | +| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:9:8:16 | if (...) ... | +| Conditions.cs:7:13:7:16 | After !... [false] | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | +| Conditions.cs:7:13:7:16 | After !... [true] | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | !... | +| Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:15 | Before ...-- | | Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:8:13:8:13 | access to parameter x | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:11:9:11:10 | exit M1 | Conditions.cs:11:9:11:10 | exit M1 (normal) | -| Conditions.cs:11:9:11:10 | exit M1 (normal) | Conditions.cs:19:9:19:17 | return ...; | -| Conditions.cs:12:5:20:5 | {...} | Conditions.cs:11:9:11:10 | enter M1 | +| Conditions.cs:8:13:8:15 | After ...-- | Conditions.cs:8:13:8:15 | ...-- | +| Conditions.cs:8:13:8:15 | Before ...-- | Conditions.cs:8:13:8:16 | ...; | +| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:7:13:7:16 | After !... [true] | +| Conditions.cs:8:13:8:16 | After ...; | Conditions.cs:8:13:8:15 | After ...-- | +| Conditions.cs:11:9:11:10 | Exit | Conditions.cs:11:9:11:10 | Normal Exit | +| Conditions.cs:11:9:11:10 | Normal Exit | Conditions.cs:19:9:19:17 | return ...; | +| Conditions.cs:12:5:20:5 | {...} | Conditions.cs:11:9:11:10 | Entry | | Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:12:5:20:5 | {...} | +| Conditions.cs:13:9:13:18 | After ... ...; | Conditions.cs:13:13:13:17 | After Int32 x = ... | +| Conditions.cs:13:13:13:13 | access to local variable x | Conditions.cs:13:13:13:17 | Before Int32 x = ... | +| Conditions.cs:13:13:13:17 | After Int32 x = ... | Conditions.cs:13:13:13:17 | Int32 x = ... | +| Conditions.cs:13:13:13:17 | Before Int32 x = ... | Conditions.cs:13:9:13:18 | ... ...; | | Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:13:17:13:17 | 0 | -| Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:9:13:18 | ... ...; | -| Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:13:13:13:17 | Int32 x = ... | +| Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:13:13:13 | access to local variable x | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:15:13:15:16 | After ...; | +| Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:13:9:13:18 | After ... ...; | | Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:9:15:16 | if (...) ... | -| Conditions.cs:15:13:15:13 | access to local variable x | Conditions.cs:15:13:15:16 | ...; | +| Conditions.cs:15:13:15:13 | access to local variable x | Conditions.cs:15:13:15:15 | Before ...++ | | Conditions.cs:15:13:15:15 | ...++ | Conditions.cs:15:13:15:13 | access to local variable x | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:14:13:14:13 | access to parameter b | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:15:13:15:15 | ...++ | -| Conditions.cs:16:13:16:13 | access to local variable x | Conditions.cs:16:9:18:20 | if (...) ... | +| Conditions.cs:15:13:15:15 | After ...++ | Conditions.cs:15:13:15:15 | ...++ | +| Conditions.cs:15:13:15:15 | Before ...++ | Conditions.cs:15:13:15:16 | ...; | +| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:14:13:14:13 | After access to parameter b [true] | +| Conditions.cs:15:13:15:16 | After ...; | Conditions.cs:15:13:15:15 | After ...++ | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:14:9:15:16 | After if (...) ... | +| Conditions.cs:16:13:16:13 | access to local variable x | Conditions.cs:16:13:16:17 | Before ... > ... | | Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:17:16:17 | 0 | +| Conditions.cs:16:13:16:17 | Before ... > ... | Conditions.cs:16:9:18:20 | if (...) ... | | Conditions.cs:16:17:16:17 | 0 | Conditions.cs:16:13:16:13 | access to local variable x | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:20 | ...; | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:17:17:17:18 | After !... [false] | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:18:17:18:20 | After ...; | +| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:13:18:20 | if (...) ... | +| Conditions.cs:17:17:17:18 | After !... [false] | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:17:17:17:18 | After !... [true] | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | !... | +| Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:19 | Before ...-- | | Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:18:17:18:17 | access to local variable x | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:17:17:17:18 | [true] !... | +| Conditions.cs:18:17:18:19 | After ...-- | Conditions.cs:18:17:18:19 | ...-- | +| Conditions.cs:18:17:18:19 | Before ...-- | Conditions.cs:18:17:18:20 | ...; | +| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:17:17:17:18 | After !... [true] | +| Conditions.cs:18:17:18:20 | After ...; | Conditions.cs:18:17:18:19 | After ...-- | +| Conditions.cs:19:9:19:17 | Before return ...; | Conditions.cs:16:9:18:20 | After if (...) ... | | Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:19:16:19:16 | access to local variable x | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:16:13:16:17 | ... > ... | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:18:17:18:19 | ...-- | -| Conditions.cs:22:9:22:10 | exit M2 | Conditions.cs:22:9:22:10 | exit M2 (normal) | -| Conditions.cs:22:9:22:10 | exit M2 (normal) | Conditions.cs:30:9:30:17 | return ...; | -| Conditions.cs:23:5:31:5 | {...} | Conditions.cs:22:9:22:10 | enter M2 | +| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:9:19:17 | Before return ...; | +| Conditions.cs:22:9:22:10 | Exit | Conditions.cs:22:9:22:10 | Normal Exit | +| Conditions.cs:22:9:22:10 | Normal Exit | Conditions.cs:30:9:30:17 | return ...; | +| Conditions.cs:23:5:31:5 | {...} | Conditions.cs:22:9:22:10 | Entry | | Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:23:5:31:5 | {...} | +| Conditions.cs:24:9:24:18 | After ... ...; | Conditions.cs:24:13:24:17 | After Int32 x = ... | +| Conditions.cs:24:13:24:13 | access to local variable x | Conditions.cs:24:13:24:17 | Before Int32 x = ... | +| Conditions.cs:24:13:24:17 | After Int32 x = ... | Conditions.cs:24:13:24:17 | Int32 x = ... | +| Conditions.cs:24:13:24:17 | Before Int32 x = ... | Conditions.cs:24:9:24:18 | ... ...; | | Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:24:17:24:17 | 0 | -| Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:9:24:18 | ... ...; | -| Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:24:13:24:17 | Int32 x = ... | +| Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:13:24:13 | access to local variable x | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:24:9:24:18 | After ... ...; | | Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:9:27:20 | if (...) ... | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:27:17:27:20 | After ...; | +| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | | Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:27:17:27:17 | access to local variable x | Conditions.cs:27:17:27:20 | ...; | +| Conditions.cs:27:17:27:17 | access to local variable x | Conditions.cs:27:17:27:19 | Before ...++ | | Conditions.cs:27:17:27:19 | ...++ | Conditions.cs:27:17:27:17 | access to local variable x | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:25:13:25:14 | access to parameter b1 | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:27:17:27:19 | ...++ | +| Conditions.cs:27:17:27:19 | After ...++ | Conditions.cs:27:17:27:19 | ...++ | +| Conditions.cs:27:17:27:19 | Before ...++ | Conditions.cs:27:17:27:20 | ...; | +| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:27:17:27:20 | After ...; | Conditions.cs:27:17:27:19 | After ...++ | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:29:13:29:16 | After ...; | +| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:25:9:27:20 | After if (...) ... | | Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:9:29:16 | if (...) ... | -| Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:29:13:29:16 | ...; | +| Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:29:13:29:15 | Before ...++ | | Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:29:13:29:13 | access to local variable x | +| Conditions.cs:29:13:29:15 | After ...++ | Conditions.cs:29:13:29:15 | ...++ | +| Conditions.cs:29:13:29:15 | Before ...++ | Conditions.cs:29:13:29:16 | ...; | +| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | +| Conditions.cs:29:13:29:16 | After ...; | Conditions.cs:29:13:29:15 | After ...++ | +| Conditions.cs:30:9:30:17 | Before return ...; | Conditions.cs:28:9:29:16 | After if (...) ... | | Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:30:16:30:16 | access to local variable x | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:28:13:28:14 | access to parameter b2 | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:29:13:29:15 | ...++ | -| Conditions.cs:33:9:33:10 | exit M3 | Conditions.cs:33:9:33:10 | exit M3 (normal) | -| Conditions.cs:33:9:33:10 | exit M3 (normal) | Conditions.cs:43:9:43:17 | return ...; | -| Conditions.cs:34:5:44:5 | {...} | Conditions.cs:33:9:33:10 | enter M3 | +| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:9:30:17 | Before return ...; | +| Conditions.cs:33:9:33:10 | Exit | Conditions.cs:33:9:33:10 | Normal Exit | +| Conditions.cs:33:9:33:10 | Normal Exit | Conditions.cs:43:9:43:17 | return ...; | +| Conditions.cs:34:5:44:5 | {...} | Conditions.cs:33:9:33:10 | Entry | | Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:34:5:44:5 | {...} | +| Conditions.cs:35:9:35:18 | After ... ...; | Conditions.cs:35:13:35:17 | After Int32 x = ... | +| Conditions.cs:35:13:35:13 | access to local variable x | Conditions.cs:35:13:35:17 | Before Int32 x = ... | +| Conditions.cs:35:13:35:17 | After Int32 x = ... | Conditions.cs:35:13:35:17 | Int32 x = ... | +| Conditions.cs:35:13:35:17 | Before Int32 x = ... | Conditions.cs:35:9:35:18 | ... ...; | | Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:35:17:35:17 | 0 | -| Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:9:35:18 | ... ...; | -| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:35:13:35:17 | Int32 x = ... | +| Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:13:35:13 | access to local variable x | +| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:35:9:35:18 | After ... ...; | +| Conditions.cs:36:9:36:23 | After ... ...; | Conditions.cs:36:13:36:22 | After Boolean b2 = ... | +| Conditions.cs:36:13:36:14 | access to local variable b2 | Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | +| Conditions.cs:36:13:36:22 | After Boolean b2 = ... | Conditions.cs:36:13:36:22 | Boolean b2 = ... | +| Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | Conditions.cs:36:9:36:23 | ... ...; | | Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:36:18:36:22 | false | -| Conditions.cs:36:18:36:22 | false | Conditions.cs:36:9:36:23 | ... ...; | -| Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:36:13:36:22 | Boolean b2 = ... | +| Conditions.cs:36:18:36:22 | false | Conditions.cs:36:13:36:14 | access to local variable b2 | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:38:13:38:20 | After ...; | +| Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:36:9:36:23 | After ... ...; | | Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:9:38:20 | if (...) ... | +| Conditions.cs:38:13:38:14 | access to local variable b2 | Conditions.cs:38:13:38:19 | Before ... = ... | | Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:38:18:38:19 | access to parameter b1 | -| Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:37:13:37:14 | access to parameter b1 | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:38:13:38:19 | ... = ... | +| Conditions.cs:38:13:38:19 | After ... = ... | Conditions.cs:38:13:38:19 | ... = ... | +| Conditions.cs:38:13:38:19 | Before ... = ... | Conditions.cs:38:13:38:20 | ...; | +| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:38:13:38:20 | After ...; | Conditions.cs:38:13:38:19 | After ... = ... | +| Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:13:38:14 | access to local variable b2 | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:40:13:40:16 | After ...; | +| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:37:9:38:20 | After if (...) ... | | Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:40:13:40:13 | access to local variable x | Conditions.cs:40:13:40:16 | ...; | +| Conditions.cs:40:13:40:13 | access to local variable x | Conditions.cs:40:13:40:15 | Before ...++ | | Conditions.cs:40:13:40:15 | ...++ | Conditions.cs:40:13:40:13 | access to local variable x | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:40:13:40:15 | ...++ | +| Conditions.cs:40:13:40:15 | After ...++ | Conditions.cs:40:13:40:15 | ...++ | +| Conditions.cs:40:13:40:15 | Before ...++ | Conditions.cs:40:13:40:16 | ...; | +| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:40:13:40:16 | After ...; | Conditions.cs:40:13:40:15 | After ...++ | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:42:13:42:16 | After ...; | +| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:39:9:40:16 | After if (...) ... | | Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:9:42:16 | if (...) ... | -| Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:42:13:42:16 | ...; | +| Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:42:13:42:15 | Before ...++ | | Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:42:13:42:13 | access to local variable x | +| Conditions.cs:42:13:42:15 | After ...++ | Conditions.cs:42:13:42:15 | ...++ | +| Conditions.cs:42:13:42:15 | Before ...++ | Conditions.cs:42:13:42:16 | ...; | +| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:42:13:42:16 | After ...; | Conditions.cs:42:13:42:15 | After ...++ | +| Conditions.cs:43:9:43:17 | Before return ...; | Conditions.cs:41:9:42:16 | After if (...) ... | | Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:43:16:43:16 | access to local variable x | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:41:13:41:14 | access to local variable b2 | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:42:13:42:15 | ...++ | -| Conditions.cs:46:9:46:10 | exit M4 | Conditions.cs:46:9:46:10 | exit M4 (normal) | -| Conditions.cs:46:9:46:10 | exit M4 (normal) | Conditions.cs:54:9:54:17 | return ...; | -| Conditions.cs:47:5:55:5 | {...} | Conditions.cs:46:9:46:10 | enter M4 | +| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:9:43:17 | Before return ...; | +| Conditions.cs:46:9:46:10 | Exit | Conditions.cs:46:9:46:10 | Normal Exit | +| Conditions.cs:46:9:46:10 | Normal Exit | Conditions.cs:54:9:54:17 | return ...; | +| Conditions.cs:47:5:55:5 | {...} | Conditions.cs:46:9:46:10 | Entry | | Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:47:5:55:5 | {...} | +| Conditions.cs:48:9:48:18 | After ... ...; | Conditions.cs:48:13:48:17 | After Int32 y = ... | +| Conditions.cs:48:13:48:13 | access to local variable y | Conditions.cs:48:13:48:17 | Before Int32 y = ... | +| Conditions.cs:48:13:48:17 | After Int32 y = ... | Conditions.cs:48:13:48:17 | Int32 y = ... | +| Conditions.cs:48:13:48:17 | Before Int32 y = ... | Conditions.cs:48:9:48:18 | ... ...; | | Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:48:17:48:17 | 0 | -| Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:9:48:18 | ... ...; | -| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:48:13:48:17 | Int32 y = ... | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:9:53:9 | while (...) ... | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:51:17:51:17 | access to parameter b | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:52:17:52:19 | ...++ | +| Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:13:48:13 | access to local variable y | +| Conditions.cs:49:9:53:9 | After while (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [false] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:9:53:9 | while (...) ... | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:50:9:53:9 | After {...} | +| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:48:9:48:18 | After ... ...; | +| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:18 | Before ...-- | | Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:16:49:16 | access to parameter x | +| Conditions.cs:49:16:49:18 | After ...-- | Conditions.cs:49:16:49:18 | ...-- | +| Conditions.cs:49:16:49:18 | Before ...-- | Conditions.cs:49:16:49:22 | Before ... > ... | | Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:22:49:22 | 0 | -| Conditions.cs:49:22:49:22 | 0 | Conditions.cs:49:16:49:18 | ...-- | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:16:49:22 | ... > ... | +| Conditions.cs:49:16:49:22 | Before ... > ... | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | +| Conditions.cs:49:22:49:22 | 0 | Conditions.cs:49:16:49:18 | After ...-- | +| Conditions.cs:50:9:53:9 | After {...} | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:52:17:52:20 | After ...; | | Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:50:9:53:9 | {...} | | Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:13:52:20 | if (...) ... | -| Conditions.cs:52:17:52:17 | access to local variable y | Conditions.cs:52:17:52:20 | ...; | +| Conditions.cs:52:17:52:17 | access to local variable y | Conditions.cs:52:17:52:19 | Before ...++ | | Conditions.cs:52:17:52:19 | ...++ | Conditions.cs:52:17:52:17 | access to local variable y | +| Conditions.cs:52:17:52:19 | After ...++ | Conditions.cs:52:17:52:19 | ...++ | +| Conditions.cs:52:17:52:19 | Before ...++ | Conditions.cs:52:17:52:20 | ...; | +| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:52:17:52:20 | After ...; | Conditions.cs:52:17:52:19 | After ...++ | +| Conditions.cs:54:9:54:17 | Before return ...; | Conditions.cs:49:9:53:9 | After while (...) ... | | Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:54:16:54:16 | access to local variable y | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:49:16:49:22 | ... > ... | -| Conditions.cs:57:9:57:10 | exit M5 | Conditions.cs:57:9:57:10 | exit M5 (normal) | -| Conditions.cs:57:9:57:10 | exit M5 (normal) | Conditions.cs:67:9:67:17 | return ...; | -| Conditions.cs:58:5:68:5 | {...} | Conditions.cs:57:9:57:10 | enter M5 | +| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:9:54:17 | Before return ...; | +| Conditions.cs:57:9:57:10 | Exit | Conditions.cs:57:9:57:10 | Normal Exit | +| Conditions.cs:57:9:57:10 | Normal Exit | Conditions.cs:67:9:67:17 | return ...; | +| Conditions.cs:58:5:68:5 | {...} | Conditions.cs:57:9:57:10 | Entry | | Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:58:5:68:5 | {...} | +| Conditions.cs:59:9:59:18 | After ... ...; | Conditions.cs:59:13:59:17 | After Int32 y = ... | +| Conditions.cs:59:13:59:13 | access to local variable y | Conditions.cs:59:13:59:17 | Before Int32 y = ... | +| Conditions.cs:59:13:59:17 | After Int32 y = ... | Conditions.cs:59:13:59:17 | Int32 y = ... | +| Conditions.cs:59:13:59:17 | Before Int32 y = ... | Conditions.cs:59:9:59:18 | ... ...; | | Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:59:17:59:17 | 0 | -| Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:9:59:18 | ... ...; | -| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:59:13:59:17 | Int32 y = ... | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:9:64:9 | while (...) ... | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:62:17:62:17 | access to parameter b | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:63:17:63:19 | ...++ | +| Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:13:59:13 | access to local variable y | +| Conditions.cs:60:9:64:9 | After while (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:9:64:9 | while (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:61:9:64:9 | After {...} | +| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:59:9:59:18 | After ... ...; | +| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:18 | Before ...-- | | Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:16:60:16 | access to parameter x | +| Conditions.cs:60:16:60:18 | After ...-- | Conditions.cs:60:16:60:18 | ...-- | +| Conditions.cs:60:16:60:18 | Before ...-- | Conditions.cs:60:16:60:22 | Before ... > ... | | Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:22:60:22 | 0 | -| Conditions.cs:60:22:60:22 | 0 | Conditions.cs:60:16:60:18 | ...-- | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:16:60:22 | ... > ... | +| Conditions.cs:60:16:60:22 | Before ... > ... | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | +| Conditions.cs:60:22:60:22 | 0 | Conditions.cs:60:16:60:18 | After ...-- | +| Conditions.cs:61:9:64:9 | After {...} | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:63:17:63:20 | After ...; | | Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:61:9:64:9 | {...} | | Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:13:63:20 | if (...) ... | -| Conditions.cs:63:17:63:17 | access to local variable y | Conditions.cs:63:17:63:20 | ...; | +| Conditions.cs:63:17:63:17 | access to local variable y | Conditions.cs:63:17:63:19 | Before ...++ | | Conditions.cs:63:17:63:19 | ...++ | Conditions.cs:63:17:63:17 | access to local variable y | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:60:16:60:22 | ... > ... | +| Conditions.cs:63:17:63:19 | After ...++ | Conditions.cs:63:17:63:19 | ...++ | +| Conditions.cs:63:17:63:19 | Before ...++ | Conditions.cs:63:17:63:20 | ...; | +| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:63:17:63:20 | After ...; | Conditions.cs:63:17:63:19 | After ...++ | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:66:13:66:16 | After ...; | +| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:60:9:64:9 | After while (...) ... | | Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:9:66:16 | if (...) ... | -| Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:66:13:66:16 | ...; | +| Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:66:13:66:15 | Before ...++ | | Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:66:13:66:13 | access to local variable y | +| Conditions.cs:66:13:66:15 | After ...++ | Conditions.cs:66:13:66:15 | ...++ | +| Conditions.cs:66:13:66:15 | Before ...++ | Conditions.cs:66:13:66:16 | ...; | +| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:66:13:66:16 | After ...; | Conditions.cs:66:13:66:15 | After ...++ | +| Conditions.cs:67:9:67:17 | Before return ...; | Conditions.cs:65:9:66:16 | After if (...) ... | | Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:67:16:67:16 | access to local variable y | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:65:13:65:13 | access to parameter b | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:66:13:66:15 | ...++ | -| Conditions.cs:70:9:70:10 | exit M6 | Conditions.cs:70:9:70:10 | exit M6 (normal) | -| Conditions.cs:70:9:70:10 | exit M6 (normal) | Conditions.cs:83:9:83:17 | return ...; | -| Conditions.cs:71:5:84:5 | {...} | Conditions.cs:70:9:70:10 | enter M6 | +| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:9:67:17 | Before return ...; | +| Conditions.cs:70:9:70:10 | Exit | Conditions.cs:70:9:70:10 | Normal Exit | +| Conditions.cs:70:9:70:10 | Normal Exit | Conditions.cs:83:9:83:17 | return ...; | +| Conditions.cs:71:5:84:5 | {...} | Conditions.cs:70:9:70:10 | Entry | | Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:71:5:84:5 | {...} | -| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:17:72:29 | ... > ... | -| Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:9:72:30 | ... ...; | +| Conditions.cs:72:9:72:30 | After ... ...; | Conditions.cs:72:13:72:29 | After Boolean b = ... | +| Conditions.cs:72:13:72:13 | access to local variable b | Conditions.cs:72:13:72:29 | Before Boolean b = ... | +| Conditions.cs:72:13:72:29 | After Boolean b = ... | Conditions.cs:72:13:72:29 | Boolean b = ... | +| Conditions.cs:72:13:72:29 | Before Boolean b = ... | Conditions.cs:72:9:72:30 | ... ...; | +| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:17:72:29 | After ... > ... | +| Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:17:72:25 | Before access to property Length | +| Conditions.cs:72:17:72:25 | After access to property Length | Conditions.cs:72:17:72:25 | access to property Length | +| Conditions.cs:72:17:72:25 | Before access to property Length | Conditions.cs:72:17:72:29 | Before ... > ... | | Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:17:72:18 | access to parameter ss | | Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:29:72:29 | 0 | -| Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:17:72:25 | access to property Length | -| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:72:13:72:29 | Boolean b = ... | +| Conditions.cs:72:17:72:29 | After ... > ... | Conditions.cs:72:17:72:29 | ... > ... | +| Conditions.cs:72:17:72:29 | Before ... > ... | Conditions.cs:72:13:72:13 | access to local variable b | +| Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:17:72:25 | After access to property Length | +| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:72:9:72:30 | After ... ...; | +| Conditions.cs:73:9:73:18 | After ... ...; | Conditions.cs:73:13:73:17 | After Int32 x = ... | +| Conditions.cs:73:13:73:13 | access to local variable x | Conditions.cs:73:13:73:17 | Before Int32 x = ... | +| Conditions.cs:73:13:73:17 | After Int32 x = ... | Conditions.cs:73:13:73:17 | Int32 x = ... | +| Conditions.cs:73:13:73:17 | Before Int32 x = ... | Conditions.cs:73:9:73:18 | ... ...; | | Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:73:17:73:17 | 0 | -| Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:9:73:18 | ... ...; | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | access to parameter ss | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:78:17:78:21 | ... > ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:79:17:79:25 | ... = ... | -| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:73:13:73:17 | Int32 x = ... | +| Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:13:73:13 | access to local variable x | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:75:9:80:9 | After {...} | +| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:73:9:73:18 | After ... ...; | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | +| Conditions.cs:75:9:80:9 | After {...} | Conditions.cs:78:13:79:26 | After if (...) ... | | Conditions.cs:75:9:80:9 | {...} | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:77:17:77:20 | After ...; | | Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:75:9:80:9 | {...} | | Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:13:77:20 | if (...) ... | -| Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:77:17:77:20 | ...; | +| Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:77:17:77:19 | Before ...++ | | Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:77:17:77:17 | access to local variable x | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:76:17:76:17 | access to local variable b | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:77:17:77:19 | ...++ | -| Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:13:79:26 | if (...) ... | +| Conditions.cs:77:17:77:19 | After ...++ | Conditions.cs:77:17:77:19 | ...++ | +| Conditions.cs:77:17:77:19 | Before ...++ | Conditions.cs:77:17:77:20 | ...; | +| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:77:17:77:20 | After ...; | Conditions.cs:77:17:77:19 | After ...++ | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:79:17:79:26 | After ...; | +| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:17:78:21 | Before ... > ... | | Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:21:78:21 | 0 | +| Conditions.cs:78:17:78:21 | Before ... > ... | Conditions.cs:78:13:79:26 | if (...) ... | | Conditions.cs:78:21:78:21 | 0 | Conditions.cs:78:17:78:17 | access to local variable x | +| Conditions.cs:79:17:79:17 | access to local variable b | Conditions.cs:79:17:79:25 | Before ... = ... | | Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:79:21:79:25 | false | -| Conditions.cs:79:21:79:25 | false | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | +| Conditions.cs:79:17:79:25 | After ... = ... | Conditions.cs:79:17:79:25 | ... = ... | +| Conditions.cs:79:17:79:25 | Before ... = ... | Conditions.cs:79:17:79:26 | ...; | +| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:79:17:79:26 | After ...; | Conditions.cs:79:17:79:25 | After ... = ... | +| Conditions.cs:79:21:79:25 | false | Conditions.cs:79:17:79:17 | access to local variable b | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:82:13:82:16 | After ...; | +| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | | Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:9:82:16 | if (...) ... | -| Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:82:13:82:16 | ...; | +| Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:82:13:82:15 | Before ...++ | | Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:82:13:82:13 | access to local variable x | +| Conditions.cs:82:13:82:15 | After ...++ | Conditions.cs:82:13:82:15 | ...++ | +| Conditions.cs:82:13:82:15 | Before ...++ | Conditions.cs:82:13:82:16 | ...; | +| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:81:13:81:13 | After access to local variable b [true] | +| Conditions.cs:82:13:82:16 | After ...; | Conditions.cs:82:13:82:15 | After ...++ | +| Conditions.cs:83:9:83:17 | Before return ...; | Conditions.cs:81:9:82:16 | After if (...) ... | | Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:83:16:83:16 | access to local variable x | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:81:13:81:13 | access to local variable b | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:82:13:82:15 | ...++ | -| Conditions.cs:86:9:86:10 | exit M7 | Conditions.cs:86:9:86:10 | exit M7 (normal) | -| Conditions.cs:86:9:86:10 | exit M7 (normal) | Conditions.cs:99:9:99:17 | return ...; | -| Conditions.cs:87:5:100:5 | {...} | Conditions.cs:86:9:86:10 | enter M7 | +| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:9:83:17 | Before return ...; | +| Conditions.cs:86:9:86:10 | Exit | Conditions.cs:86:9:86:10 | Normal Exit | +| Conditions.cs:86:9:86:10 | Normal Exit | Conditions.cs:99:9:99:17 | return ...; | +| Conditions.cs:87:5:100:5 | {...} | Conditions.cs:86:9:86:10 | Entry | | Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:87:5:100:5 | {...} | -| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:17:88:29 | ... > ... | -| Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:9:88:30 | ... ...; | +| Conditions.cs:88:9:88:30 | After ... ...; | Conditions.cs:88:13:88:29 | After Boolean b = ... | +| Conditions.cs:88:13:88:13 | access to local variable b | Conditions.cs:88:13:88:29 | Before Boolean b = ... | +| Conditions.cs:88:13:88:29 | After Boolean b = ... | Conditions.cs:88:13:88:29 | Boolean b = ... | +| Conditions.cs:88:13:88:29 | Before Boolean b = ... | Conditions.cs:88:9:88:30 | ... ...; | +| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:17:88:29 | After ... > ... | +| Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:17:88:25 | Before access to property Length | +| Conditions.cs:88:17:88:25 | After access to property Length | Conditions.cs:88:17:88:25 | access to property Length | +| Conditions.cs:88:17:88:25 | Before access to property Length | Conditions.cs:88:17:88:29 | Before ... > ... | | Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:17:88:18 | access to parameter ss | | Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:29:88:29 | 0 | -| Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:17:88:25 | access to property Length | -| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:88:13:88:29 | Boolean b = ... | +| Conditions.cs:88:17:88:29 | After ... > ... | Conditions.cs:88:17:88:29 | ... > ... | +| Conditions.cs:88:17:88:29 | Before ... > ... | Conditions.cs:88:13:88:13 | access to local variable b | +| Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:17:88:25 | After access to property Length | +| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:88:9:88:30 | After ... ...; | +| Conditions.cs:89:9:89:18 | After ... ...; | Conditions.cs:89:13:89:17 | After Int32 x = ... | +| Conditions.cs:89:13:89:13 | access to local variable x | Conditions.cs:89:13:89:17 | Before Int32 x = ... | +| Conditions.cs:89:13:89:17 | After Int32 x = ... | Conditions.cs:89:13:89:17 | Int32 x = ... | +| Conditions.cs:89:13:89:17 | Before Int32 x = ... | Conditions.cs:89:9:89:18 | ... ...; | | Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:89:17:89:17 | 0 | -| Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:9:89:18 | ... ...; | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | access to parameter ss | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:96:17:96:17 | access to local variable b | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:97:17:97:19 | ...++ | -| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:89:13:89:17 | Int32 x = ... | +| Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:13:89:13 | access to local variable x | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | +| Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:91:9:98:9 | After {...} | +| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:89:9:89:18 | After ... ...; | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | +| Conditions.cs:91:9:98:9 | After {...} | Conditions.cs:96:13:97:20 | After if (...) ... | | Conditions.cs:91:9:98:9 | {...} | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:93:17:93:20 | After ...; | | Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:91:9:98:9 | {...} | | Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:13:93:20 | if (...) ... | -| Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:93:17:93:20 | ...; | +| Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:93:17:93:19 | Before ...++ | | Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:93:17:93:17 | access to local variable x | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:92:17:92:17 | access to local variable b | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:93:17:93:19 | ...++ | -| Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:13:95:26 | if (...) ... | +| Conditions.cs:93:17:93:19 | After ...++ | Conditions.cs:93:17:93:19 | ...++ | +| Conditions.cs:93:17:93:19 | Before ...++ | Conditions.cs:93:17:93:20 | ...; | +| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:93:17:93:20 | After ...; | Conditions.cs:93:17:93:19 | After ...++ | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:95:17:95:26 | After ...; | +| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:17:94:21 | Before ... > ... | | Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:21:94:21 | 0 | +| Conditions.cs:94:17:94:21 | Before ... > ... | Conditions.cs:94:13:95:26 | if (...) ... | | Conditions.cs:94:21:94:21 | 0 | Conditions.cs:94:17:94:17 | access to local variable x | +| Conditions.cs:95:17:95:17 | access to local variable b | Conditions.cs:95:17:95:25 | Before ... = ... | | Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:95:21:95:25 | false | -| Conditions.cs:95:21:95:25 | false | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:94:17:94:21 | ... > ... | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:95:17:95:25 | ... = ... | +| Conditions.cs:95:17:95:25 | After ... = ... | Conditions.cs:95:17:95:25 | ... = ... | +| Conditions.cs:95:17:95:25 | Before ... = ... | Conditions.cs:95:17:95:26 | ...; | +| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:95:17:95:26 | After ...; | Conditions.cs:95:17:95:25 | After ... = ... | +| Conditions.cs:95:21:95:25 | false | Conditions.cs:95:17:95:17 | access to local variable b | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:97:17:97:20 | After ...; | +| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:94:13:95:26 | After if (...) ... | | Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:97:17:97:20 | ...; | +| Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:97:17:97:19 | Before ...++ | | Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:97:17:97:17 | access to local variable x | +| Conditions.cs:97:17:97:19 | After ...++ | Conditions.cs:97:17:97:19 | ...++ | +| Conditions.cs:97:17:97:19 | Before ...++ | Conditions.cs:97:17:97:20 | ...; | +| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:97:17:97:20 | After ...; | Conditions.cs:97:17:97:19 | After ...++ | +| Conditions.cs:99:9:99:17 | Before return ...; | Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | | Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:99:16:99:16 | access to local variable x | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | -| Conditions.cs:102:12:102:13 | exit M8 | Conditions.cs:102:12:102:13 | exit M8 (normal) | -| Conditions.cs:102:12:102:13 | exit M8 (normal) | Conditions.cs:110:9:110:17 | return ...; | -| Conditions.cs:103:5:111:5 | {...} | Conditions.cs:102:12:102:13 | enter M8 | +| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:9:99:17 | Before return ...; | +| Conditions.cs:102:12:102:13 | Exit | Conditions.cs:102:12:102:13 | Normal Exit | +| Conditions.cs:102:12:102:13 | Normal Exit | Conditions.cs:110:9:110:17 | return ...; | +| Conditions.cs:103:5:111:5 | {...} | Conditions.cs:102:12:102:13 | Entry | | Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:103:5:111:5 | {...} | -| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:17:104:28 | call to method ToString | -| Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:9:104:29 | ... ...; | +| Conditions.cs:104:9:104:29 | After ... ...; | Conditions.cs:104:13:104:28 | After String x = ... | +| Conditions.cs:104:13:104:13 | access to local variable x | Conditions.cs:104:13:104:28 | Before String x = ... | +| Conditions.cs:104:13:104:28 | After String x = ... | Conditions.cs:104:13:104:28 | String x = ... | +| Conditions.cs:104:13:104:28 | Before String x = ... | Conditions.cs:104:9:104:29 | ... ...; | +| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:17:104:28 | After call to method ToString | +| Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:17:104:28 | Before call to method ToString | +| Conditions.cs:104:17:104:28 | After call to method ToString | Conditions.cs:104:17:104:28 | call to method ToString | +| Conditions.cs:104:17:104:28 | Before call to method ToString | Conditions.cs:104:13:104:13 | access to local variable x | | Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:17:104:17 | access to parameter b | -| Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:104:13:104:28 | String x = ... | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:106:13:106:20 | After ...; | +| Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:104:9:104:29 | After ... ...; | | Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:9:106:20 | if (...) ... | -| Conditions.cs:106:13:106:13 | access to local variable x | Conditions.cs:106:13:106:20 | ...; | +| Conditions.cs:106:13:106:13 | access to local variable x | Conditions.cs:106:13:106:19 | Before ... += ... | | Conditions.cs:106:13:106:19 | ... += ... | Conditions.cs:106:18:106:19 | "" | +| Conditions.cs:106:13:106:19 | After ... += ... | Conditions.cs:106:13:106:19 | ... += ... | +| Conditions.cs:106:13:106:19 | Before ... += ... | Conditions.cs:106:13:106:20 | ...; | +| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:105:13:105:13 | After access to parameter b [true] | +| Conditions.cs:106:13:106:20 | After ...; | Conditions.cs:106:13:106:19 | After ... += ... | | Conditions.cs:106:18:106:19 | "" | Conditions.cs:106:13:106:13 | access to local variable x | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:105:13:105:13 | access to parameter b | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:106:13:106:19 | ... += ... | -| Conditions.cs:107:13:107:13 | access to local variable x | Conditions.cs:107:9:109:24 | if (...) ... | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:105:9:106:20 | After if (...) ... | +| Conditions.cs:107:13:107:13 | access to local variable x | Conditions.cs:107:13:107:20 | Before access to property Length | +| Conditions.cs:107:13:107:20 | After access to property Length | Conditions.cs:107:13:107:20 | access to property Length | +| Conditions.cs:107:13:107:20 | Before access to property Length | Conditions.cs:107:13:107:24 | Before ... > ... | | Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:107:13:107:13 | access to local variable x | | Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:24:107:24 | 0 | -| Conditions.cs:107:24:107:24 | 0 | Conditions.cs:107:13:107:20 | access to property Length | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:17:109:24 | ...; | +| Conditions.cs:107:13:107:24 | Before ... > ... | Conditions.cs:107:9:109:24 | if (...) ... | +| Conditions.cs:107:24:107:24 | 0 | Conditions.cs:107:13:107:20 | After access to property Length | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:108:17:108:18 | After !... [false] | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:109:17:109:24 | After ...; | +| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:13:109:24 | if (...) ... | +| Conditions.cs:108:17:108:18 | After !... [false] | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:108:17:108:18 | After !... [true] | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | !... | +| Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:17:109:23 | Before ... += ... | | Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:109:22:109:23 | "" | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:108:17:108:18 | [true] !... | +| Conditions.cs:109:17:109:23 | After ... += ... | Conditions.cs:109:17:109:23 | ... += ... | +| Conditions.cs:109:17:109:23 | Before ... += ... | Conditions.cs:109:17:109:24 | ...; | +| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:108:17:108:18 | After !... [true] | +| Conditions.cs:109:17:109:24 | After ...; | Conditions.cs:109:17:109:23 | After ... += ... | | Conditions.cs:109:22:109:23 | "" | Conditions.cs:109:17:109:17 | access to local variable x | +| Conditions.cs:110:9:110:17 | Before return ...; | Conditions.cs:107:9:109:24 | After if (...) ... | | Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:110:16:110:16 | access to local variable x | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:107:13:107:24 | ... > ... | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:109:17:109:23 | ... += ... | -| Conditions.cs:113:10:113:11 | exit M9 | Conditions.cs:113:10:113:11 | exit M9 (normal) | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:116:25:116:39 | ... < ... | -| Conditions.cs:114:5:124:5 | {...} | Conditions.cs:113:10:113:11 | enter M9 | +| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:9:110:17 | Before return ...; | +| Conditions.cs:113:10:113:11 | Exit | Conditions.cs:113:10:113:11 | Normal Exit | +| Conditions.cs:113:10:113:11 | Normal Exit | Conditions.cs:114:5:124:5 | After {...} | +| Conditions.cs:114:5:124:5 | After {...} | Conditions.cs:116:9:123:9 | After for (...;...;...) ... | +| Conditions.cs:114:5:124:5 | {...} | Conditions.cs:113:10:113:11 | Entry | | Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:114:5:124:5 | {...} | +| Conditions.cs:115:9:115:24 | After ... ...; | Conditions.cs:115:16:115:23 | After String s = ... | +| Conditions.cs:115:16:115:16 | access to local variable s | Conditions.cs:115:16:115:23 | Before String s = ... | +| Conditions.cs:115:16:115:23 | After String s = ... | Conditions.cs:115:16:115:23 | String s = ... | +| Conditions.cs:115:16:115:23 | Before String s = ... | Conditions.cs:115:9:115:24 | ... ...; | | Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:115:20:115:23 | null | -| Conditions.cs:115:20:115:23 | null | Conditions.cs:115:9:115:24 | ... ...; | -| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:115:16:115:23 | String s = ... | +| Conditions.cs:115:20:115:23 | null | Conditions.cs:115:16:115:16 | access to local variable s | +| Conditions.cs:116:9:123:9 | After for (...;...;...) ... | Conditions.cs:116:25:116:39 | After ... < ... [false] | +| Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | Conditions.cs:117:9:123:9 | After {...} | +| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:115:9:115:24 | After ... ...; | +| Conditions.cs:116:18:116:18 | access to local variable i | Conditions.cs:116:18:116:22 | Before Int32 i = ... | +| Conditions.cs:116:18:116:22 | After Int32 i = ... | Conditions.cs:116:18:116:22 | Int32 i = ... | +| Conditions.cs:116:18:116:22 | Before Int32 i = ... | Conditions.cs:116:9:123:9 | for (...;...;...) ... | | Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:22:116:22 | 0 | -| Conditions.cs:116:22:116:22 | 0 | Conditions.cs:116:9:123:9 | for (...;...;...) ... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:18:116:22 | Int32 i = ... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:42:116:44 | ...++ | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:29:116:39 | access to property Length | -| Conditions.cs:116:29:116:32 | access to parameter args | Conditions.cs:116:25:116:25 | access to local variable i | +| Conditions.cs:116:22:116:22 | 0 | Conditions.cs:116:18:116:18 | access to local variable i | +| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:25:116:39 | Before ... < ... | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:29:116:39 | After access to property Length | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:25:116:39 | ... < ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:18:116:22 | After Int32 i = ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:42:116:44 | After ...++ | +| Conditions.cs:116:29:116:32 | access to parameter args | Conditions.cs:116:29:116:39 | Before access to property Length | +| Conditions.cs:116:29:116:39 | After access to property Length | Conditions.cs:116:29:116:39 | access to property Length | +| Conditions.cs:116:29:116:39 | Before access to property Length | Conditions.cs:116:25:116:25 | access to local variable i | | Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:116:29:116:32 | access to parameter args | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:121:17:121:20 | access to local variable last | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:122:17:122:24 | ... = ... | +| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:44 | Before ...++ | | Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:116:42:116:42 | access to local variable i | +| Conditions.cs:116:42:116:44 | After ...++ | Conditions.cs:116:42:116:44 | ...++ | +| Conditions.cs:116:42:116:44 | Before ...++ | Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | +| Conditions.cs:117:9:123:9 | After {...} | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:116:25:116:39 | After ... < ... [true] | | Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:24:118:43 | ... == ... | -| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:13:118:44 | ... ...; | -| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:29:118:43 | ... - ... | -| Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:24:118:24 | access to local variable i | +| Conditions.cs:118:13:118:44 | After ... ...; | Conditions.cs:118:17:118:43 | After Boolean last = ... | +| Conditions.cs:118:17:118:20 | access to local variable last | Conditions.cs:118:17:118:43 | Before Boolean last = ... | +| Conditions.cs:118:17:118:43 | After Boolean last = ... | Conditions.cs:118:17:118:43 | Boolean last = ... | +| Conditions.cs:118:17:118:43 | Before Boolean last = ... | Conditions.cs:118:13:118:44 | ... ...; | +| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:24:118:43 | After ... == ... | +| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:24:118:43 | Before ... == ... | +| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:29:118:43 | After ... - ... | +| Conditions.cs:118:24:118:43 | After ... == ... | Conditions.cs:118:24:118:43 | ... == ... | +| Conditions.cs:118:24:118:43 | Before ... == ... | Conditions.cs:118:17:118:20 | access to local variable last | +| Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:29:118:39 | Before access to property Length | +| Conditions.cs:118:29:118:39 | After access to property Length | Conditions.cs:118:29:118:39 | access to property Length | +| Conditions.cs:118:29:118:39 | Before access to property Length | Conditions.cs:118:29:118:43 | Before ... - ... | | Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:29:118:32 | access to parameter args | | Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:43:118:43 | 1 | -| Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:29:118:39 | access to property Length | -| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:118:17:118:43 | Boolean last = ... | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:13:120:23 | if (...) ... | +| Conditions.cs:118:29:118:43 | After ... - ... | Conditions.cs:118:29:118:43 | ... - ... | +| Conditions.cs:118:29:118:43 | Before ... - ... | Conditions.cs:118:24:118:24 | access to local variable i | +| Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:29:118:39 | After access to property Length | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:119:17:119:21 | After !... [false] | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:120:17:120:23 | After ...; | +| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:118:13:118:44 | After ... ...; | +| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:13:120:23 | if (...) ... | +| Conditions.cs:119:17:119:21 | After !... [false] | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:119:17:119:21 | After !... [true] | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | !... | +| Conditions.cs:120:17:120:17 | access to local variable s | Conditions.cs:120:17:120:22 | Before ... = ... | | Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:120:21:120:22 | "" | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:120:21:120:22 | "" | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:120:17:120:22 | ... = ... | +| Conditions.cs:120:17:120:22 | After ... = ... | Conditions.cs:120:17:120:22 | ... = ... | +| Conditions.cs:120:17:120:22 | Before ... = ... | Conditions.cs:120:17:120:23 | ...; | +| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:119:17:119:21 | After !... [true] | +| Conditions.cs:120:17:120:23 | After ...; | Conditions.cs:120:17:120:22 | After ... = ... | +| Conditions.cs:120:21:120:22 | "" | Conditions.cs:120:17:120:17 | access to local variable s | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:122:17:122:25 | After ...; | +| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:119:13:120:23 | After if (...) ... | | Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:13:122:25 | if (...) ... | +| Conditions.cs:122:17:122:17 | access to local variable s | Conditions.cs:122:17:122:24 | Before ... = ... | | Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:122:21:122:24 | null | -| Conditions.cs:122:21:122:24 | null | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:130:5:141:5 | {...} | Conditions.cs:129:10:129:12 | enter M10 | +| Conditions.cs:122:17:122:24 | After ... = ... | Conditions.cs:122:17:122:24 | ... = ... | +| Conditions.cs:122:17:122:24 | Before ... = ... | Conditions.cs:122:17:122:25 | ...; | +| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:122:17:122:25 | After ...; | Conditions.cs:122:17:122:24 | After ... = ... | +| Conditions.cs:122:21:122:24 | null | Conditions.cs:122:17:122:17 | access to local variable s | +| Conditions.cs:130:5:141:5 | {...} | Conditions.cs:129:10:129:12 | Entry | | Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:130:5:141:5 | {...} | +| Conditions.cs:131:16:131:19 | After true [true] | Conditions.cs:131:16:131:19 | true | +| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | +| Conditions.cs:132:9:140:9 | After {...} | Conditions.cs:133:13:139:13 | After if (...) ... | +| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:131:16:131:19 | After true [true] | | Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:132:9:140:9 | {...} | +| Conditions.cs:133:17:133:22 | Before access to field Field1 | Conditions.cs:133:13:139:13 | if (...) ... | | Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | this access | -| Conditions.cs:133:17:133:22 | this access | Conditions.cs:133:13:139:13 | if (...) ... | +| Conditions.cs:133:17:133:22 | this access | Conditions.cs:133:17:133:22 | Before access to field Field1 | +| Conditions.cs:134:13:139:13 | After {...} | Conditions.cs:135:17:138:17 | After if (...) ... | +| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | | Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:134:13:139:13 | {...} | +| Conditions.cs:135:21:135:26 | Before access to field Field2 | Conditions.cs:135:17:138:17 | if (...) ... | | Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | this access | -| Conditions.cs:135:21:135:26 | this access | Conditions.cs:135:17:138:17 | if (...) ... | +| Conditions.cs:135:21:135:26 | this access | Conditions.cs:135:21:135:26 | Before access to field Field2 | +| Conditions.cs:136:17:138:17 | After {...} | Conditions.cs:137:21:137:38 | After ...; | +| Conditions.cs:136:17:138:17 | {...} | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | +| Conditions.cs:137:21:137:26 | After access to field Field1 | Conditions.cs:137:21:137:26 | access to field Field1 | +| Conditions.cs:137:21:137:26 | Before access to field Field1 | Conditions.cs:137:21:137:37 | Before call to method ToString | | Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:137:21:137:26 | this access | -| Conditions.cs:137:21:137:26 | this access | Conditions.cs:137:21:137:38 | ...; | -| Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:137:21:137:26 | access to field Field1 | +| Conditions.cs:137:21:137:26 | this access | Conditions.cs:137:21:137:26 | Before access to field Field1 | +| Conditions.cs:137:21:137:37 | After call to method ToString | Conditions.cs:137:21:137:37 | call to method ToString | +| Conditions.cs:137:21:137:37 | Before call to method ToString | Conditions.cs:137:21:137:38 | ...; | +| Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:137:21:137:26 | After access to field Field1 | | Conditions.cs:137:21:137:38 | ...; | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:143:10:143:12 | exit M11 | Conditions.cs:143:10:143:12 | exit M11 (normal) | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:147:13:147:48 | call to method WriteLine | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:149:13:149:48 | call to method WriteLine | -| Conditions.cs:144:5:150:5 | {...} | Conditions.cs:143:10:143:12 | enter M11 | +| Conditions.cs:137:21:137:38 | After ...; | Conditions.cs:137:21:137:37 | After call to method ToString | +| Conditions.cs:143:10:143:12 | Exit | Conditions.cs:143:10:143:12 | Normal Exit | +| Conditions.cs:143:10:143:12 | Normal Exit | Conditions.cs:144:5:150:5 | After {...} | +| Conditions.cs:144:5:150:5 | After {...} | Conditions.cs:146:9:149:49 | After if (...) ... | +| Conditions.cs:144:5:150:5 | {...} | Conditions.cs:143:10:143:12 | Entry | | Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:144:5:150:5 | {...} | -| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:17:145:29 | ... ? ... : ... | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:9:145:30 | ... ...; | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:145:13:145:29 | String s = ... | +| Conditions.cs:145:9:145:30 | After ... ...; | Conditions.cs:145:13:145:29 | After String s = ... | +| Conditions.cs:145:13:145:13 | access to local variable s | Conditions.cs:145:13:145:29 | Before String s = ... | +| Conditions.cs:145:13:145:29 | After String s = ... | Conditions.cs:145:13:145:29 | String s = ... | +| Conditions.cs:145:13:145:29 | Before String s = ... | Conditions.cs:145:9:145:30 | ... ...; | +| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:17:145:29 | After ... ? ... : ... | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:29 | ... ? ... : ... | +| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:13:145:13 | access to local variable s | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:21:145:23 | "a" | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:27:145:29 | "b" | +| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:147:13:147:49 | After ...; | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:149:13:149:49 | After ...; | +| Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:145:9:145:30 | After ... ...; | | Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:9:149:49 | if (...) ... | -| Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:147:38:147:47 | $"..." | -| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:44:147:46 | {...} | -| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:13:147:49 | ...; | +| Conditions.cs:147:13:147:48 | After call to method WriteLine | Conditions.cs:147:13:147:48 | call to method WriteLine | +| Conditions.cs:147:13:147:48 | Before call to method WriteLine | Conditions.cs:147:13:147:49 | ...; | +| Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:147:38:147:47 | After $"..." | +| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| Conditions.cs:147:13:147:49 | After ...; | Conditions.cs:147:13:147:48 | After call to method WriteLine | +| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:44:147:46 | After {...} | +| Conditions.cs:147:38:147:47 | After $"..." | Conditions.cs:147:38:147:47 | $"..." | +| Conditions.cs:147:38:147:47 | Before $"..." | Conditions.cs:147:13:147:48 | Before call to method WriteLine | +| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:38:147:47 | Before $"..." | +| Conditions.cs:147:44:147:46 | After {...} | Conditions.cs:147:44:147:46 | {...} | +| Conditions.cs:147:44:147:46 | Before {...} | Conditions.cs:147:40:147:43 | "a = " | | Conditions.cs:147:44:147:46 | {...} | Conditions.cs:147:45:147:45 | access to local variable s | -| Conditions.cs:147:45:147:45 | access to local variable s | Conditions.cs:147:40:147:43 | "a = " | -| Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:149:38:149:47 | $"..." | -| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:44:149:46 | {...} | -| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:13:149:49 | ...; | +| Conditions.cs:147:45:147:45 | access to local variable s | Conditions.cs:147:44:147:46 | Before {...} | +| Conditions.cs:149:13:149:48 | After call to method WriteLine | Conditions.cs:149:13:149:48 | call to method WriteLine | +| Conditions.cs:149:13:149:48 | Before call to method WriteLine | Conditions.cs:149:13:149:49 | ...; | +| Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:149:38:149:47 | After $"..." | +| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:149:13:149:49 | After ...; | Conditions.cs:149:13:149:48 | After call to method WriteLine | +| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:44:149:46 | After {...} | +| Conditions.cs:149:38:149:47 | After $"..." | Conditions.cs:149:38:149:47 | $"..." | +| Conditions.cs:149:38:149:47 | Before $"..." | Conditions.cs:149:13:149:48 | Before call to method WriteLine | +| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:38:149:47 | Before $"..." | +| Conditions.cs:149:44:149:46 | After {...} | Conditions.cs:149:44:149:46 | {...} | +| Conditions.cs:149:44:149:46 | Before {...} | Conditions.cs:149:40:149:43 | "b = " | | Conditions.cs:149:44:149:46 | {...} | Conditions.cs:149:45:149:45 | access to local variable s | -| Conditions.cs:149:45:149:45 | access to local variable s | Conditions.cs:149:40:149:43 | "b = " | -| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | call to method | +| Conditions.cs:149:45:149:45 | access to local variable s | Conditions.cs:149:44:149:46 | Before {...} | +| ExitMethods.cs:6:7:6:17 | After call to constructor Object | ExitMethods.cs:6:7:6:17 | call to constructor Object | +| ExitMethods.cs:6:7:6:17 | After call to method | ExitMethods.cs:6:7:6:17 | call to method | +| ExitMethods.cs:6:7:6:17 | Before call to constructor Object | ExitMethods.cs:6:7:6:17 | After call to method | +| ExitMethods.cs:6:7:6:17 | Before call to method | ExitMethods.cs:6:7:6:17 | Entry | +| ExitMethods.cs:6:7:6:17 | Exit | ExitMethods.cs:6:7:6:17 | Normal Exit | +| ExitMethods.cs:6:7:6:17 | Normal Exit | ExitMethods.cs:6:7:6:17 | {...} | +| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | Before call to constructor Object | | ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | this access | -| ExitMethods.cs:6:7:6:17 | exit ExitMethods | ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | -| ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | ExitMethods.cs:6:7:6:17 | {...} | -| ExitMethods.cs:6:7:6:17 | this access | ExitMethods.cs:6:7:6:17 | enter ExitMethods | -| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | call to constructor Object | -| ExitMethods.cs:8:10:8:11 | exit M1 | ExitMethods.cs:8:10:8:11 | exit M1 (normal) | -| ExitMethods.cs:8:10:8:11 | exit M1 (normal) | ExitMethods.cs:11:9:11:15 | return ...; | -| ExitMethods.cs:9:5:12:5 | {...} | ExitMethods.cs:8:10:8:11 | enter M1 | +| ExitMethods.cs:6:7:6:17 | this access | ExitMethods.cs:6:7:6:17 | Before call to method | +| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | After call to constructor Object | +| ExitMethods.cs:8:10:8:11 | Exit | ExitMethods.cs:8:10:8:11 | Normal Exit | +| ExitMethods.cs:8:10:8:11 | Normal Exit | ExitMethods.cs:11:9:11:15 | return ...; | +| ExitMethods.cs:9:5:12:5 | {...} | ExitMethods.cs:8:10:8:11 | Entry | +| ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | +| ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | ExitMethods.cs:10:9:10:25 | ...; | | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:10:20:10:23 | true | | ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:9:5:12:5 | {...} | -| ExitMethods.cs:10:20:10:23 | true | ExitMethods.cs:10:9:10:25 | ...; | -| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | -| ExitMethods.cs:14:10:14:11 | exit M2 | ExitMethods.cs:14:10:14:11 | exit M2 (normal) | -| ExitMethods.cs:14:10:14:11 | exit M2 (normal) | ExitMethods.cs:17:9:17:15 | return ...; | -| ExitMethods.cs:15:5:18:5 | {...} | ExitMethods.cs:14:10:14:11 | enter M2 | +| ExitMethods.cs:10:9:10:25 | After ...; | ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | +| ExitMethods.cs:10:20:10:23 | true | ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | +| ExitMethods.cs:11:9:11:15 | Before return ...; | ExitMethods.cs:10:9:10:25 | After ...; | +| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:11:9:11:15 | Before return ...; | +| ExitMethods.cs:14:10:14:11 | Exit | ExitMethods.cs:14:10:14:11 | Normal Exit | +| ExitMethods.cs:14:10:14:11 | Normal Exit | ExitMethods.cs:17:9:17:15 | return ...; | +| ExitMethods.cs:15:5:18:5 | {...} | ExitMethods.cs:14:10:14:11 | Entry | +| ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | +| ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | ExitMethods.cs:16:9:16:26 | ...; | | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:16:20:16:24 | false | | ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:15:5:18:5 | {...} | -| ExitMethods.cs:16:20:16:24 | false | ExitMethods.cs:16:9:16:26 | ...; | -| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | -| ExitMethods.cs:20:10:20:11 | exit M3 | ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | -| ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | -| ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:20:10:20:11 | enter M3 | +| ExitMethods.cs:16:9:16:26 | After ...; | ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | +| ExitMethods.cs:16:20:16:24 | false | ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | +| ExitMethods.cs:17:9:17:15 | Before return ...; | ExitMethods.cs:16:9:16:26 | After ...; | +| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:17:9:17:15 | Before return ...; | +| ExitMethods.cs:20:10:20:11 | Exceptional Exit | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | +| ExitMethods.cs:20:10:20:11 | Exit | ExitMethods.cs:20:10:20:11 | Exceptional Exit | +| ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:20:10:20:11 | Entry | +| ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | ExitMethods.cs:22:9:22:26 | ...; | | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:22:21:22:24 | true | | ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:21:5:24:5 | {...} | -| ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:22:9:22:26 | ...; | -| ExitMethods.cs:26:10:26:11 | exit M4 | ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | -| ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | ExitMethods.cs:28:9:28:14 | call to method Exit | -| ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:26:10:26:11 | enter M4 | +| ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | +| ExitMethods.cs:26:10:26:11 | Exceptional Exit | ExitMethods.cs:28:9:28:14 | call to method Exit | +| ExitMethods.cs:26:10:26:11 | Exit | ExitMethods.cs:26:10:26:11 | Exceptional Exit | +| ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:26:10:26:11 | Entry | +| ExitMethods.cs:28:9:28:14 | Before call to method Exit | ExitMethods.cs:28:9:28:15 | ...; | | ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:28:9:28:14 | this access | -| ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:28:9:28:15 | ...; | +| ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:28:9:28:14 | Before call to method Exit | | ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:27:5:30:5 | {...} | -| ExitMethods.cs:32:10:32:11 | exit M5 | ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | -| ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | -| ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:32:10:32:11 | enter M5 | +| ExitMethods.cs:32:10:32:11 | Exceptional Exit | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | +| ExitMethods.cs:32:10:32:11 | Exit | ExitMethods.cs:32:10:32:11 | Exceptional Exit | +| ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:32:10:32:11 | Entry | +| ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | ExitMethods.cs:34:9:34:26 | ...; | | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:34:9:34:25 | this access | -| ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:34:9:34:26 | ...; | +| ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | | ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:33:5:36:5 | {...} | -| ExitMethods.cs:38:10:38:11 | exit M6 | ExitMethods.cs:38:10:38:11 | exit M6 (normal) | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:46:13:46:19 | return ...; | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:50:13:50:19 | return ...; | -| ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:38:10:38:11 | enter M6 | +| ExitMethods.cs:38:10:38:11 | Exceptional Exit | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:46:13:46:19 | return ...; | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:50:13:50:19 | return ...; | +| ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:38:10:38:11 | Entry | | ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:39:5:52:5 | {...} | | ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:40:9:51:9 | try {...} ... | +| ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | ExitMethods.cs:42:13:42:31 | ...; | | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | ExitMethods.cs:42:25:42:29 | false | | ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:41:9:43:9 | {...} | -| ExitMethods.cs:42:25:42:29 | false | ExitMethods.cs:42:13:42:31 | ...; | +| ExitMethods.cs:42:25:42:29 | false | ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | | ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | -| ExitMethods.cs:46:13:46:19 | return ...; | ExitMethods.cs:45:9:47:9 | {...} | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:50:13:50:19 | return ...; | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:54:10:54:11 | exit M7 | ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | -| ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | -| ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:54:10:54:11 | enter M7 | -| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:56:9:56:23 | ...; | +| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | +| ExitMethods.cs:46:13:46:19 | Before return ...; | ExitMethods.cs:45:9:47:9 | {...} | +| ExitMethods.cs:46:13:46:19 | return ...; | ExitMethods.cs:46:13:46:19 | Before return ...; | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:48:9:51:9 | catch (...) {...} | +| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:50:13:50:19 | Before return ...; | ExitMethods.cs:49:9:51:9 | {...} | +| ExitMethods.cs:50:13:50:19 | return ...; | ExitMethods.cs:50:13:50:19 | Before return ...; | +| ExitMethods.cs:54:10:54:11 | Exceptional Exit | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | +| ExitMethods.cs:54:10:54:11 | Exit | ExitMethods.cs:54:10:54:11 | Exceptional Exit | +| ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:54:10:54:11 | Entry | +| ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | ExitMethods.cs:56:9:56:23 | ...; | +| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | | ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:55:5:58:5 | {...} | -| ExitMethods.cs:60:10:60:11 | exit M8 | ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | -| ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | -| ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:60:10:60:11 | enter M8 | -| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:62:9:62:23 | ...; | +| ExitMethods.cs:60:10:60:11 | Exceptional Exit | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | +| ExitMethods.cs:60:10:60:11 | Exit | ExitMethods.cs:60:10:60:11 | Exceptional Exit | +| ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:60:10:60:11 | Entry | +| ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | ExitMethods.cs:62:9:62:23 | ...; | +| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | | ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:61:5:64:5 | {...} | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (abnormal) | ExitMethods.cs:69:13:69:34 | throw ...; | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:68:13:68:13 | access to parameter b | -| ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | +| ExitMethods.cs:66:17:66:26 | Exceptional Exit | ExitMethods.cs:69:13:69:34 | throw ...; | +| ExitMethods.cs:66:17:66:26 | Normal Exit | ExitMethods.cs:67:5:70:5 | After {...} | +| ExitMethods.cs:67:5:70:5 | After {...} | ExitMethods.cs:68:9:69:34 | After if (...) ... | +| ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:66:17:66:26 | Entry | +| ExitMethods.cs:68:9:69:34 | After if (...) ... | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | | ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:67:5:70:5 | {...} | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:68:13:68:13 | access to parameter b | | ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:9:69:34 | if (...) ... | -| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:69:19:69:33 | object creation of type Exception | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways | ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | -| ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:72:17:72:27 | enter ErrorAlways | +| ExitMethods.cs:69:13:69:34 | Before throw ...; | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | +| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:69:19:69:33 | After object creation of type Exception | +| ExitMethods.cs:69:19:69:33 | After object creation of type Exception | ExitMethods.cs:69:19:69:33 | object creation of type Exception | +| ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | ExitMethods.cs:69:13:69:34 | Before throw ...; | +| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | +| ExitMethods.cs:72:17:72:27 | Exit | ExitMethods.cs:72:17:72:27 | Exceptional Exit | +| ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:72:17:72:27 | Entry | | ExitMethods.cs:74:9:77:45 | if (...) ... | ExitMethods.cs:73:5:78:5 | {...} | | ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:9:77:45 | if (...) ... | -| ExitMethods.cs:75:13:75:34 | throw ...; | ExitMethods.cs:75:19:75:33 | object creation of type Exception | -| ExitMethods.cs:77:13:77:45 | throw ...; | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | +| ExitMethods.cs:75:13:75:34 | Before throw ...; | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | +| ExitMethods.cs:75:13:75:34 | throw ...; | ExitMethods.cs:75:19:75:33 | After object creation of type Exception | +| ExitMethods.cs:75:19:75:33 | After object creation of type Exception | ExitMethods.cs:75:19:75:33 | object creation of type Exception | +| ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | ExitMethods.cs:75:13:75:34 | Before throw ...; | +| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | +| ExitMethods.cs:77:13:77:45 | Before throw ...; | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | +| ExitMethods.cs:77:13:77:45 | throw ...; | ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | +| ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | +| ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | ExitMethods.cs:77:13:77:45 | Before throw ...; | | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:77:41:77:43 | "b" | -| ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 | ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | -| ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | ExitMethods.cs:82:9:82:30 | throw ...; | -| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | -| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:82:15:82:29 | object creation of type Exception | -| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:81:5:83:5 | {...} | -| ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 | ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | -| ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | ExitMethods.cs:85:35:85:55 | throw ... | -| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:41:85:55 | object creation of type Exception | -| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | -| ExitMethods.cs:87:10:87:13 | exit Exit | ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | -| ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | ExitMethods.cs:89:9:89:27 | call to method Exit | -| ExitMethods.cs:88:5:90:5 | {...} | ExitMethods.cs:87:10:87:13 | enter Exit | +| ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | +| ExitMethods.cs:80:17:80:28 | Exceptional Exit | ExitMethods.cs:82:9:82:30 | throw ...; | +| ExitMethods.cs:80:17:80:28 | Exit | ExitMethods.cs:80:17:80:28 | Exceptional Exit | +| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:80:17:80:28 | Entry | +| ExitMethods.cs:82:9:82:30 | Before throw ...; | ExitMethods.cs:81:5:83:5 | {...} | +| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:82:15:82:29 | After object creation of type Exception | +| ExitMethods.cs:82:15:82:29 | After object creation of type Exception | ExitMethods.cs:82:15:82:29 | object creation of type Exception | +| ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | ExitMethods.cs:82:9:82:30 | Before throw ...; | +| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | +| ExitMethods.cs:85:17:85:28 | Exceptional Exit | ExitMethods.cs:85:35:85:55 | throw ... | +| ExitMethods.cs:85:17:85:28 | Exit | ExitMethods.cs:85:17:85:28 | Exceptional Exit | +| ExitMethods.cs:85:35:85:55 | Before throw ... | ExitMethods.cs:85:17:85:28 | Entry | +| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:41:85:55 | After object creation of type Exception | +| ExitMethods.cs:85:41:85:55 | After object creation of type Exception | ExitMethods.cs:85:41:85:55 | object creation of type Exception | +| ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | ExitMethods.cs:85:35:85:55 | Before throw ... | +| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | +| ExitMethods.cs:87:10:87:13 | Exceptional Exit | ExitMethods.cs:89:9:89:27 | call to method Exit | +| ExitMethods.cs:87:10:87:13 | Exit | ExitMethods.cs:87:10:87:13 | Exceptional Exit | +| ExitMethods.cs:88:5:90:5 | {...} | ExitMethods.cs:87:10:87:13 | Entry | +| ExitMethods.cs:89:9:89:27 | Before call to method Exit | ExitMethods.cs:89:9:89:28 | ...; | | ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:89:26:89:26 | 0 | | ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:88:5:90:5 | {...} | -| ExitMethods.cs:89:26:89:26 | 0 | ExitMethods.cs:89:9:89:28 | ...; | -| ExitMethods.cs:92:10:92:18 | exit ExitInTry | ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | -| ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | ExitMethods.cs:96:13:96:18 | call to method Exit | -| ExitMethods.cs:93:5:103:5 | {...} | ExitMethods.cs:92:10:92:18 | enter ExitInTry | +| ExitMethods.cs:89:26:89:26 | 0 | ExitMethods.cs:89:9:89:27 | Before call to method Exit | +| ExitMethods.cs:92:10:92:18 | Normal Exit | ExitMethods.cs:93:5:103:5 | After {...} | +| ExitMethods.cs:93:5:103:5 | After {...} | ExitMethods.cs:94:9:102:9 | After try {...} ... | +| ExitMethods.cs:93:5:103:5 | {...} | ExitMethods.cs:92:10:92:18 | Entry | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:99:9:102:9 | After {...} | | ExitMethods.cs:94:9:102:9 | try {...} ... | ExitMethods.cs:93:5:103:5 | {...} | | ExitMethods.cs:95:9:97:9 | {...} | ExitMethods.cs:94:9:102:9 | try {...} ... | +| ExitMethods.cs:96:13:96:18 | Before call to method Exit | ExitMethods.cs:96:13:96:19 | ...; | | ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:96:13:96:18 | this access | -| ExitMethods.cs:96:13:96:18 | this access | ExitMethods.cs:96:13:96:19 | ...; | +| ExitMethods.cs:96:13:96:18 | this access | ExitMethods.cs:96:13:96:18 | Before call to method Exit | | ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:95:9:97:9 | {...} | -| ExitMethods.cs:105:10:105:24 | exit ApplicationExit | ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | -| ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | ExitMethods.cs:107:9:107:47 | call to method Exit | -| ExitMethods.cs:106:5:108:5 | {...} | ExitMethods.cs:105:10:105:24 | enter ApplicationExit | -| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:107:9:107:48 | ...; | +| ExitMethods.cs:99:9:102:9 | After {...} | ExitMethods.cs:101:13:101:41 | After ...; | +| ExitMethods.cs:99:9:102:9 | {...} | ExitMethods.cs:96:13:96:18 | call to method Exit | +| ExitMethods.cs:101:13:101:40 | After call to method WriteLine | ExitMethods.cs:101:13:101:40 | call to method WriteLine | +| ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | ExitMethods.cs:101:13:101:41 | ...; | +| ExitMethods.cs:101:13:101:40 | call to method WriteLine | ExitMethods.cs:101:38:101:39 | "" | +| ExitMethods.cs:101:13:101:41 | ...; | ExitMethods.cs:99:9:102:9 | {...} | +| ExitMethods.cs:101:13:101:41 | After ...; | ExitMethods.cs:101:13:101:40 | After call to method WriteLine | +| ExitMethods.cs:101:38:101:39 | "" | ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | +| ExitMethods.cs:105:10:105:24 | Exceptional Exit | ExitMethods.cs:107:9:107:47 | call to method Exit | +| ExitMethods.cs:105:10:105:24 | Exit | ExitMethods.cs:105:10:105:24 | Exceptional Exit | +| ExitMethods.cs:106:5:108:5 | {...} | ExitMethods.cs:105:10:105:24 | Entry | +| ExitMethods.cs:107:9:107:47 | Before call to method Exit | ExitMethods.cs:107:9:107:48 | ...; | +| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:107:9:107:47 | Before call to method Exit | | ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:106:5:108:5 | {...} | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr (abnormal) | ExitMethods.cs:112:41:112:76 | throw ... | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr (normal) | ExitMethods.cs:112:9:112:77 | return ...; | -| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:110:13:110:21 | enter ThrowExpr | -| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | -| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:111:5:113:5 | {...} | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:25:112:25 | (...) ... | -| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:29:112:37 | ... / ... | -| ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:112:16:112:20 | access to parameter input | +| ExitMethods.cs:110:13:110:21 | Exceptional Exit | ExitMethods.cs:112:41:112:76 | throw ... | +| ExitMethods.cs:110:13:110:21 | Normal Exit | ExitMethods.cs:112:9:112:77 | return ...; | +| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:110:13:110:21 | Entry | +| ExitMethods.cs:112:9:112:77 | Before return ...; | ExitMethods.cs:111:5:113:5 | {...} | +| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | +| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:16:112:25 | Before ... != ... | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:25:112:25 | After (...) ... | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:112:16:112:25 | ... != ... | +| ExitMethods.cs:112:16:112:25 | Before ... != ... | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | +| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:9:112:77 | Before return ...; | +| ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | ExitMethods.cs:112:29:112:37 | After ... / ... | +| ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:112:25:112:25 | Before (...) ... | | ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:25:112:25 | 0 | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:16:112:25 | ... != ... | +| ExitMethods.cs:112:25:112:25 | After (...) ... | ExitMethods.cs:112:25:112:25 | (...) ... | +| ExitMethods.cs:112:25:112:25 | Before (...) ... | ExitMethods.cs:112:16:112:20 | access to parameter input | +| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | Before (...) ... | | ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:112:29:112:29 | 1 | +| ExitMethods.cs:112:29:112:29 | After (...) ... | ExitMethods.cs:112:29:112:29 | (...) ... | +| ExitMethods.cs:112:29:112:29 | Before (...) ... | ExitMethods.cs:112:29:112:37 | Before ... / ... | | ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:112:33:112:37 | access to parameter input | -| ExitMethods.cs:112:33:112:37 | access to parameter input | ExitMethods.cs:112:29:112:29 | (...) ... | -| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | +| ExitMethods.cs:112:29:112:37 | After ... / ... | ExitMethods.cs:112:29:112:37 | ... / ... | +| ExitMethods.cs:112:29:112:37 | Before ... / ... | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | +| ExitMethods.cs:112:33:112:37 | access to parameter input | ExitMethods.cs:112:29:112:29 | After (...) ... | +| ExitMethods.cs:112:41:112:76 | Before throw ... | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | +| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | +| ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | +| ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | ExitMethods.cs:112:41:112:76 | Before throw ... | | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:69:112:75 | "input" | -| ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall | ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | -| ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | ExitMethods.cs:117:9:117:39 | return ...; | -| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | -| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | -| ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:116:5:118:5 | {...} | +| ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | +| ExitMethods.cs:115:16:115:34 | Exit | ExitMethods.cs:115:16:115:34 | Normal Exit | +| ExitMethods.cs:115:16:115:34 | Normal Exit | ExitMethods.cs:117:9:117:39 | return ...; | +| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:115:16:115:34 | Entry | +| ExitMethods.cs:117:9:117:39 | Before return ...; | ExitMethods.cs:116:5:118:5 | {...} | +| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | +| ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:117:16:117:30 | Before call to method Contains | +| ExitMethods.cs:117:16:117:30 | Before call to method Contains | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | | ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:27:117:29 | - | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:34:117:34 | 0 | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:38:117:38 | 1 | +| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:9:117:39 | Before return ...; | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:34:117:34 | 0 | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | 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 | call to method IsTrue | -| ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:120:17:120:32 | enter FailingAssertion | +| ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | +| ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | +| ExitMethods.cs:120:17:120:32 | Exceptional Exit | ExitMethods.cs:122:9:122:28 | call to method IsTrue | +| ExitMethods.cs:120:17:120:32 | Exit | ExitMethods.cs:120:17:120:32 | Exceptional Exit | +| ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:120:17:120:32 | Entry | +| ExitMethods.cs:122:9:122:28 | Before call to method IsTrue | ExitMethods.cs:122:9:122:29 | ...; | | 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) | -| ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 (abnormal) | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | -| ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:126:17:126:33 | enter FailingAssertion2 | +| ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:9:122:28 | Before call to method IsTrue | +| ExitMethods.cs:126:17:126:33 | Exceptional Exit | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | +| ExitMethods.cs:126:17:126:33 | Exit | ExitMethods.cs:126:17:126:33 | Exceptional Exit | +| ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:126:17:126:33 | Entry | +| ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | ExitMethods.cs:128:9:128:27 | ...; | | 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:26 | this access | ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | | ExitMethods.cs:128:9:128:27 | ...; | ExitMethods.cs:127:5:130:5 | {...} | -| ExitMethods.cs:132:10:132:20 | exit AssertFalse (normal) | ExitMethods.cs:132:33:132:49 | call to method IsFalse | +| ExitMethods.cs:132:10:132:20 | Normal Exit | ExitMethods.cs:132:33:132:49 | After call to method IsFalse | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:33:132:49 | call to method IsFalse | +| ExitMethods.cs:132:33:132:49 | Before call to method IsFalse | ExitMethods.cs:132:10:132:20 | Entry | | 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 | call to method AssertFalse | -| ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:134:17:134:33 | enter FailingAssertion3 | +| ExitMethods.cs:132:48:132:48 | access to parameter b | ExitMethods.cs:132:33:132:49 | Before call to method IsFalse | +| ExitMethods.cs:134:17:134:33 | Exceptional Exit | ExitMethods.cs:136:9:136:25 | call to method AssertFalse | +| ExitMethods.cs:134:17:134:33 | Exit | ExitMethods.cs:134:17:134:33 | Exceptional Exit | +| ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:134:17:134:33 | Entry | +| ExitMethods.cs:136:9:136:25 | Before call to method AssertFalse | ExitMethods.cs:136:9:136:26 | ...; | | 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:25 | this access | ExitMethods.cs:136:9:136:25 | Before call to method AssertFalse | | 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 | -| ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | -| ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | +| ExitMethods.cs:140:17:140:42 | Exit | ExitMethods.cs:140:17:140:42 | Exceptional Exit | +| ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:140:17:140:42 | Entry | | ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:141:5:147:5 | {...} | | ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:9:145:53 | if (...) ... | +| ExitMethods.cs:143:13:143:42 | Before call to method Throw | ExitMethods.cs:143:13:143:43 | ...; | | ExitMethods.cs:143:13:143:42 | call to method Throw | ExitMethods.cs:143:41:143:41 | access to parameter e | -| ExitMethods.cs:143:41:143:41 | access to parameter e | ExitMethods.cs:143:13:143:43 | ...; | +| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | +| ExitMethods.cs:143:41:143:41 | access to parameter e | ExitMethods.cs:143:13:143:42 | Before call to method Throw | +| ExitMethods.cs:145:13:145:44 | After call to method Capture | ExitMethods.cs:145:13:145:44 | call to method Capture | +| ExitMethods.cs:145:13:145:44 | Before call to method Capture | ExitMethods.cs:145:13:145:52 | Before call to method Throw | | ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:145:43:145:43 | access to parameter e | -| ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:145:13:145:44 | call to method Capture | -| ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:145:13:145:53 | ...; | -| Extensions.cs:5:23:5:29 | exit ToInt32 | Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | -| Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | Extensions.cs:7:9:7:30 | return ...; | -| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:5:23:5:29 | enter ToInt32 | -| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:7:16:7:29 | call to method Parse | +| ExitMethods.cs:145:13:145:52 | Before call to method Throw | ExitMethods.cs:145:13:145:53 | ...; | +| ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:145:13:145:44 | After call to method Capture | +| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | +| ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:145:13:145:44 | Before call to method Capture | +| Extensions.cs:5:23:5:29 | Exit | Extensions.cs:5:23:5:29 | Normal Exit | +| Extensions.cs:5:23:5:29 | Normal Exit | Extensions.cs:7:9:7:30 | return ...; | +| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:5:23:5:29 | Entry | +| Extensions.cs:7:9:7:30 | Before return ...; | Extensions.cs:6:5:8:5 | {...} | +| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:7:16:7:29 | After call to method Parse | +| Extensions.cs:7:16:7:29 | After call to method Parse | Extensions.cs:7:16:7:29 | call to method Parse | +| Extensions.cs:7:16:7:29 | Before call to method Parse | Extensions.cs:7:9:7:30 | Before return ...; | | Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:28:7:28 | access to parameter s | -| Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:6:5:8:5 | {...} | -| Extensions.cs:10:24:10:29 | exit ToBool | Extensions.cs:10:24:10:29 | exit ToBool (normal) | -| Extensions.cs:10:24:10:29 | exit ToBool (normal) | Extensions.cs:12:9:12:20 | return ...; | -| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:10:24:10:29 | enter ToBool | -| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:12:16:12:19 | delegate call | -| Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:11:5:13:5 | {...} | +| Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:7:16:7:29 | Before call to method Parse | +| Extensions.cs:10:24:10:29 | Exit | Extensions.cs:10:24:10:29 | Normal Exit | +| Extensions.cs:10:24:10:29 | Normal Exit | Extensions.cs:12:9:12:20 | return ...; | +| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:10:24:10:29 | Entry | +| Extensions.cs:12:9:12:20 | Before return ...; | Extensions.cs:11:5:13:5 | {...} | +| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:12:16:12:19 | After delegate call | +| Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:12:16:12:19 | Before delegate call | +| Extensions.cs:12:16:12:19 | After delegate call | Extensions.cs:12:16:12:19 | delegate call | +| Extensions.cs:12:16:12:19 | Before delegate call | Extensions.cs:12:9:12:20 | Before return ...; | | Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:18:12:18 | access to parameter s | | Extensions.cs:12:18:12:18 | access to parameter s | Extensions.cs:12:16:12:16 | access to parameter f | -| Extensions.cs:15:23:15:33 | exit CallToInt32 | Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | -| Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | Extensions.cs:15:40:15:51 | call to method ToInt32 | +| Extensions.cs:15:23:15:33 | Exit | Extensions.cs:15:23:15:33 | Normal Exit | +| Extensions.cs:15:23:15:33 | Normal Exit | Extensions.cs:15:40:15:51 | After call to method ToInt32 | +| Extensions.cs:15:40:15:51 | After call to method ToInt32 | Extensions.cs:15:40:15:51 | call to method ToInt32 | +| Extensions.cs:15:40:15:51 | Before call to method ToInt32 | Extensions.cs:15:23:15:33 | Entry | | Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:48:15:50 | "0" | -| Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:23:15:33 | enter CallToInt32 | -| Extensions.cs:20:17:20:20 | exit Main | Extensions.cs:20:17:20:20 | exit Main (normal) | -| Extensions.cs:20:17:20:20 | exit Main (normal) | Extensions.cs:25:9:25:33 | call to method ToBool | -| Extensions.cs:21:5:26:5 | {...} | Extensions.cs:20:17:20:20 | enter Main | -| Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:22:9:22:20 | ...; | +| Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:40:15:51 | Before call to method ToInt32 | +| Extensions.cs:20:17:20:20 | Exit | Extensions.cs:20:17:20:20 | Normal Exit | +| Extensions.cs:20:17:20:20 | Normal Exit | Extensions.cs:21:5:26:5 | After {...} | +| Extensions.cs:21:5:26:5 | After {...} | Extensions.cs:25:9:25:34 | After ...; | +| Extensions.cs:21:5:26:5 | {...} | Extensions.cs:20:17:20:20 | Entry | +| Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:22:9:22:19 | Before call to method ToInt32 | +| Extensions.cs:22:9:22:19 | After call to method ToInt32 | Extensions.cs:22:9:22:19 | call to method ToInt32 | +| Extensions.cs:22:9:22:19 | Before call to method ToInt32 | Extensions.cs:22:9:22:20 | ...; | | Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:22:9:22:9 | access to parameter s | | Extensions.cs:22:9:22:20 | ...; | Extensions.cs:21:5:26:5 | {...} | +| Extensions.cs:22:9:22:20 | After ...; | Extensions.cs:22:9:22:19 | After call to method ToInt32 | +| Extensions.cs:23:9:23:30 | After call to method ToInt32 | Extensions.cs:23:9:23:30 | call to method ToInt32 | +| Extensions.cs:23:9:23:30 | Before call to method ToInt32 | Extensions.cs:23:9:23:31 | ...; | | Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:23:28:23:29 | "" | -| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:22:9:22:19 | call to method ToInt32 | -| Extensions.cs:23:28:23:29 | "" | Extensions.cs:23:9:23:31 | ...; | -| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:24:35:24:44 | delegate creation of type Func | -| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:23:9:23:30 | call to method ToInt32 | -| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:9:24:46 | ...; | -| Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:24:27:24:32 | "true" | +| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:22:9:22:20 | After ...; | +| Extensions.cs:23:9:23:31 | After ...; | Extensions.cs:23:9:23:30 | After call to method ToInt32 | +| Extensions.cs:23:28:23:29 | "" | Extensions.cs:23:9:23:30 | Before call to method ToInt32 | +| Extensions.cs:24:9:24:45 | After call to method ToBool | Extensions.cs:24:9:24:45 | call to method ToBool | +| Extensions.cs:24:9:24:45 | Before call to method ToBool | Extensions.cs:24:9:24:46 | ...; | +| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:24:35:24:44 | After delegate creation of type Func | +| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:23:9:23:31 | After ...; | +| Extensions.cs:24:9:24:46 | After ...; | Extensions.cs:24:9:24:45 | After call to method ToBool | +| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:9:24:45 | Before call to method ToBool | +| Extensions.cs:24:35:24:44 | After delegate creation of type Func | Extensions.cs:24:35:24:44 | delegate creation of type Func | +| Extensions.cs:24:35:24:44 | Before delegate creation of type Func | Extensions.cs:24:27:24:32 | "true" | +| Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:24:35:24:44 | Before delegate creation of type Func | | Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:24:35:24:44 | access to method Parse | -| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:9:25:34 | ...; | -| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:25:23:25:32 | delegate creation of type Func | -| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:24:9:24:45 | call to method ToBool | -| Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:25:9:25:14 | "true" | +| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:9:25:33 | Before call to method ToBool | +| Extensions.cs:25:9:25:33 | After call to method ToBool | Extensions.cs:25:9:25:33 | call to method ToBool | +| Extensions.cs:25:9:25:33 | Before call to method ToBool | Extensions.cs:25:9:25:34 | ...; | +| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:25:23:25:32 | After delegate creation of type Func | +| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:24:9:24:46 | After ...; | +| Extensions.cs:25:9:25:34 | After ...; | Extensions.cs:25:9:25:33 | After call to method ToBool | +| Extensions.cs:25:23:25:32 | After delegate creation of type Func | Extensions.cs:25:23:25:32 | delegate creation of type Func | +| Extensions.cs:25:23:25:32 | Before delegate creation of type Func | Extensions.cs:25:9:25:14 | "true" | +| Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:25:23:25:32 | Before delegate creation of type Func | | Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:25:23:25:32 | access to method Parse | -| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | call to method | +| Finally.cs:3:14:3:20 | After call to constructor Object | Finally.cs:3:14:3:20 | call to constructor Object | +| Finally.cs:3:14:3:20 | After call to method | Finally.cs:3:14:3:20 | call to method | +| Finally.cs:3:14:3:20 | Before call to constructor Object | Finally.cs:3:14:3:20 | After call to method | +| Finally.cs:3:14:3:20 | Before call to method | Finally.cs:3:14:3:20 | Entry | +| Finally.cs:3:14:3:20 | Exit | Finally.cs:3:14:3:20 | Normal Exit | +| Finally.cs:3:14:3:20 | Normal Exit | Finally.cs:3:14:3:20 | {...} | +| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | Before call to constructor Object | | Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | this access | -| Finally.cs:3:14:3:20 | exit Finally | Finally.cs:3:14:3:20 | exit Finally (normal) | -| Finally.cs:3:14:3:20 | exit Finally (normal) | Finally.cs:3:14:3:20 | {...} | -| Finally.cs:3:14:3:20 | this access | Finally.cs:3:14:3:20 | enter Finally | -| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | call to constructor Object | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:15:13:15:40 | call to method WriteLine | -| Finally.cs:8:5:17:5 | {...} | Finally.cs:7:10:7:11 | enter M1 | +| Finally.cs:3:14:3:20 | this access | Finally.cs:3:14:3:20 | Before call to method | +| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | After call to constructor Object | +| Finally.cs:7:10:7:11 | Normal Exit | Finally.cs:8:5:17:5 | After {...} | +| Finally.cs:8:5:17:5 | After {...} | Finally.cs:9:9:16:9 | After try {...} ... | +| Finally.cs:8:5:17:5 | {...} | Finally.cs:7:10:7:11 | Entry | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:14:9:16:9 | After {...} | | Finally.cs:9:9:16:9 | try {...} ... | Finally.cs:8:5:17:5 | {...} | +| Finally.cs:10:9:12:9 | After {...} | Finally.cs:11:13:11:38 | After ...; | | Finally.cs:10:9:12:9 | {...} | Finally.cs:9:9:16:9 | try {...} ... | +| Finally.cs:11:13:11:37 | Before call to method WriteLine | Finally.cs:11:13:11:38 | ...; | | Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:11:31:11:36 | "Try1" | | Finally.cs:11:13:11:38 | ...; | Finally.cs:10:9:12:9 | {...} | -| Finally.cs:11:31:11:36 | "Try1" | Finally.cs:11:13:11:38 | ...; | +| Finally.cs:11:13:11:38 | After ...; | Finally.cs:11:13:11:37 | After call to method WriteLine | +| Finally.cs:11:31:11:36 | "Try1" | Finally.cs:11:13:11:37 | Before call to method WriteLine | +| Finally.cs:14:9:16:9 | After {...} | Finally.cs:15:13:15:41 | After ...; | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:10:9:12:9 | After {...} | | Finally.cs:14:9:16:9 | {...} | Finally.cs:11:13:11:37 | call to method WriteLine | +| Finally.cs:15:13:15:40 | After call to method WriteLine | Finally.cs:15:13:15:40 | call to method WriteLine | +| Finally.cs:15:13:15:40 | Before call to method WriteLine | Finally.cs:15:13:15:41 | ...; | | Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:15:31:15:39 | "Finally" | | Finally.cs:15:13:15:41 | ...; | Finally.cs:14:9:16:9 | {...} | -| Finally.cs:15:31:15:39 | "Finally" | Finally.cs:15:13:15:41 | ...; | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:50:13:50:40 | call to method WriteLine | -| Finally.cs:20:5:52:5 | {...} | Finally.cs:19:10:19:11 | enter M2 | +| Finally.cs:15:13:15:41 | After ...; | Finally.cs:15:13:15:40 | After call to method WriteLine | +| Finally.cs:15:31:15:39 | "Finally" | Finally.cs:15:13:15:40 | Before call to method WriteLine | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:20:5:52:5 | After {...} | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:49:9:51:9 | After {...} | +| Finally.cs:20:5:52:5 | After {...} | Finally.cs:21:9:51:9 | After try {...} ... | +| Finally.cs:20:5:52:5 | {...} | Finally.cs:19:10:19:11 | Entry | | Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:20:5:52:5 | {...} | | Finally.cs:22:9:25:9 | {...} | Finally.cs:21:9:51:9 | try {...} ... | +| Finally.cs:23:13:23:37 | Before call to method WriteLine | Finally.cs:23:13:23:38 | ...; | | Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:23:31:23:36 | "Try2" | | Finally.cs:23:13:23:38 | ...; | Finally.cs:22:9:25:9 | {...} | -| Finally.cs:23:31:23:36 | "Try2" | Finally.cs:23:13:23:38 | ...; | +| Finally.cs:23:13:23:38 | After ...; | Finally.cs:23:13:23:37 | After call to method WriteLine | +| Finally.cs:23:31:23:36 | "Try2" | Finally.cs:23:13:23:37 | Before call to method WriteLine | +| Finally.cs:24:13:24:19 | Before return ...; | Finally.cs:23:13:23:38 | After ...; | +| Finally.cs:24:13:24:19 | return ...; | Finally.cs:24:13:24:19 | Before return ...; | +| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:26:48:26:51 | After true [true] | Finally.cs:26:48:26:51 | true | | Finally.cs:26:48:26:51 | true | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:26:48:26:51 | true | -| Finally.cs:28:13:28:18 | throw ...; | Finally.cs:27:9:29:9 | {...} | +| Finally.cs:27:9:29:9 | {...} | Finally.cs:26:48:26:51 | After true [true] | +| Finally.cs:28:13:28:18 | Before throw ...; | Finally.cs:27:9:29:9 | {...} | +| Finally.cs:28:13:28:18 | throw ...; | Finally.cs:28:13:28:18 | Before throw ...; | +| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | +| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | | Finally.cs:31:9:40:9 | {...} | Finally.cs:30:41:30:42 | ArgumentException ex | | Finally.cs:32:13:39:13 | try {...} ... | Finally.cs:31:9:40:9 | {...} | | Finally.cs:33:13:35:13 | {...} | Finally.cs:32:13:39:13 | try {...} ... | | Finally.cs:34:17:34:32 | if (...) ... | Finally.cs:33:13:35:13 | {...} | +| Finally.cs:34:21:34:24 | After true [true] | Finally.cs:34:21:34:24 | true | | Finally.cs:34:21:34:24 | true | Finally.cs:34:17:34:32 | if (...) ... | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:34:21:34:24 | true | +| Finally.cs:34:27:34:32 | Before throw ...; | Finally.cs:34:21:34:24 | After true [true] | +| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:34:27:34:32 | Before throw ...; | | Finally.cs:37:13:39:13 | {...} | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:38:17:38:44 | throw ...; | Finally.cs:38:23:38:43 | object creation of type Exception | +| Finally.cs:38:17:38:44 | Before throw ...; | Finally.cs:37:13:39:13 | {...} | +| Finally.cs:38:17:38:44 | throw ...; | Finally.cs:38:23:38:43 | After object creation of type Exception | +| Finally.cs:38:23:38:43 | After object creation of type Exception | Finally.cs:38:23:38:43 | object creation of type Exception | +| Finally.cs:38:23:38:43 | Before object creation of type Exception | Finally.cs:38:17:38:44 | Before throw ...; | | Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:38:37:38:42 | "Boo!" | -| Finally.cs:38:37:38:42 | "Boo!" | Finally.cs:37:13:39:13 | {...} | -| Finally.cs:45:9:47:9 | {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:46:13:46:19 | return ...; | Finally.cs:45:9:47:9 | {...} | +| Finally.cs:38:37:38:42 | "Boo!" | Finally.cs:38:23:38:43 | Before object creation of type Exception | +| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:42:9:43:9 | {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:44:9:47:9 | After catch {...} [match] | Finally.cs:44:9:47:9 | catch {...} | +| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:45:9:47:9 | {...} | Finally.cs:44:9:47:9 | After catch {...} [match] | +| Finally.cs:46:13:46:19 | Before return ...; | Finally.cs:45:9:47:9 | {...} | +| Finally.cs:46:13:46:19 | return ...; | Finally.cs:46:13:46:19 | Before return ...; | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:50:13:50:41 | After ...; | | Finally.cs:49:9:51:9 | {...} | Finally.cs:24:13:24:19 | return ...; | | Finally.cs:49:9:51:9 | {...} | Finally.cs:28:13:28:18 | throw ...; | | Finally.cs:49:9:51:9 | {...} | Finally.cs:38:17:38:44 | throw ...; | | Finally.cs:49:9:51:9 | {...} | Finally.cs:42:9:43:9 | {...} | | Finally.cs:49:9:51:9 | {...} | Finally.cs:46:13:46:19 | return ...; | +| Finally.cs:50:13:50:40 | After call to method WriteLine | Finally.cs:50:13:50:40 | call to method WriteLine | +| Finally.cs:50:13:50:40 | Before call to method WriteLine | Finally.cs:50:13:50:41 | ...; | | Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:50:31:50:39 | "Finally" | | Finally.cs:50:13:50:41 | ...; | Finally.cs:49:9:51:9 | {...} | -| Finally.cs:50:31:50:39 | "Finally" | Finally.cs:50:13:50:41 | ...; | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:70:13:70:40 | call to method WriteLine | -| Finally.cs:55:5:72:5 | {...} | Finally.cs:54:10:54:11 | enter M3 | +| Finally.cs:50:13:50:41 | After ...; | Finally.cs:50:13:50:40 | After call to method WriteLine | +| Finally.cs:50:31:50:39 | "Finally" | Finally.cs:50:13:50:40 | Before call to method WriteLine | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:55:5:72:5 | After {...} | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:69:9:71:9 | After {...} | +| Finally.cs:55:5:72:5 | After {...} | Finally.cs:56:9:71:9 | After try {...} ... | +| Finally.cs:55:5:72:5 | {...} | Finally.cs:54:10:54:11 | Entry | | Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:55:5:72:5 | {...} | | Finally.cs:57:9:60:9 | {...} | Finally.cs:56:9:71:9 | try {...} ... | +| Finally.cs:58:13:58:37 | Before call to method WriteLine | Finally.cs:58:13:58:38 | ...; | | Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:58:31:58:36 | "Try3" | | Finally.cs:58:13:58:38 | ...; | Finally.cs:57:9:60:9 | {...} | -| Finally.cs:58:31:58:36 | "Try3" | Finally.cs:58:13:58:38 | ...; | +| Finally.cs:58:13:58:38 | After ...; | Finally.cs:58:13:58:37 | After call to method WriteLine | +| Finally.cs:58:31:58:36 | "Try3" | Finally.cs:58:13:58:37 | Before call to method WriteLine | +| Finally.cs:59:13:59:19 | Before return ...; | Finally.cs:58:13:58:38 | After ...; | +| Finally.cs:59:13:59:19 | return ...; | Finally.cs:59:13:59:19 | Before return ...; | +| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:61:48:61:51 | After true [true] | Finally.cs:61:48:61:51 | true | | Finally.cs:61:48:61:51 | true | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:61:48:61:51 | true | -| Finally.cs:63:13:63:18 | throw ...; | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:65:35:65:35 | access to local variable e | Finally.cs:65:26:65:26 | Exception e | +| Finally.cs:62:9:64:9 | {...} | Finally.cs:61:48:61:51 | After true [true] | +| Finally.cs:63:13:63:18 | Before throw ...; | Finally.cs:62:9:64:9 | {...} | +| Finally.cs:63:13:63:18 | throw ...; | Finally.cs:63:13:63:18 | Before throw ...; | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | +| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:65:35:65:35 | access to local variable e | Finally.cs:65:35:65:43 | Before access to property Message | +| Finally.cs:65:35:65:43 | After access to property Message | Finally.cs:65:35:65:43 | access to property Message | +| Finally.cs:65:35:65:43 | Before access to property Message | Finally.cs:65:35:65:51 | Before ... != ... | | Finally.cs:65:35:65:43 | access to property Message | Finally.cs:65:35:65:35 | access to local variable e | | Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:48:65:51 | null | -| Finally.cs:65:48:65:51 | null | Finally.cs:65:35:65:43 | access to property Message | +| Finally.cs:65:35:65:51 | Before ... != ... | Finally.cs:65:26:65:26 | Exception e | +| Finally.cs:65:48:65:51 | null | Finally.cs:65:35:65:43 | After access to property Message | +| Finally.cs:66:9:67:9 | {...} | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:70:13:70:41 | After ...; | | Finally.cs:69:9:71:9 | {...} | Finally.cs:59:13:59:19 | return ...; | | Finally.cs:69:9:71:9 | {...} | Finally.cs:63:13:63:18 | throw ...; | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:35:65:51 | ... != ... | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | | Finally.cs:69:9:71:9 | {...} | Finally.cs:66:9:67:9 | {...} | +| Finally.cs:70:13:70:40 | After call to method WriteLine | Finally.cs:70:13:70:40 | call to method WriteLine | +| Finally.cs:70:13:70:40 | Before call to method WriteLine | Finally.cs:70:13:70:41 | ...; | | Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:70:31:70:39 | "Finally" | | Finally.cs:70:13:70:41 | ...; | Finally.cs:69:9:71:9 | {...} | -| Finally.cs:70:31:70:39 | "Finally" | Finally.cs:70:13:70:41 | ...; | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:77:16:77:20 | ... > ... | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:97:21:97:23 | ...-- | -| Finally.cs:75:5:101:5 | {...} | Finally.cs:74:10:74:11 | enter M4 | +| Finally.cs:70:13:70:41 | After ...; | Finally.cs:70:13:70:40 | After call to method WriteLine | +| Finally.cs:70:31:70:39 | "Finally" | Finally.cs:70:13:70:40 | Before call to method WriteLine | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:75:5:101:5 | After {...} | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:89:13:99:13 | After {...} | +| Finally.cs:75:5:101:5 | After {...} | Finally.cs:77:9:100:9 | After while (...) ... | +| Finally.cs:75:5:101:5 | {...} | Finally.cs:74:10:74:11 | Entry | | Finally.cs:76:9:76:19 | ... ...; | Finally.cs:75:5:101:5 | {...} | +| Finally.cs:76:9:76:19 | After ... ...; | Finally.cs:76:13:76:18 | After Int32 i = ... | +| Finally.cs:76:13:76:13 | access to local variable i | Finally.cs:76:13:76:18 | Before Int32 i = ... | +| Finally.cs:76:13:76:18 | After Int32 i = ... | Finally.cs:76:13:76:18 | Int32 i = ... | +| Finally.cs:76:13:76:18 | Before Int32 i = ... | Finally.cs:76:9:76:19 | ... ...; | | Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:76:17:76:18 | 10 | -| Finally.cs:76:17:76:18 | 10 | Finally.cs:76:9:76:19 | ... ...; | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:76:13:76:18 | Int32 i = ... | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:9:100:9 | while (...) ... | +| Finally.cs:76:17:76:18 | 10 | Finally.cs:76:13:76:13 | access to local variable i | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:9:100:9 | while (...) ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:78:9:100:9 | After {...} | +| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:76:9:76:19 | After ... ...; | +| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:16:77:20 | Before ... > ... | | Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:20:77:20 | 0 | +| Finally.cs:77:16:77:20 | Before ... > ... | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | | Finally.cs:77:20:77:20 | 0 | Finally.cs:77:16:77:16 | access to local variable i | +| Finally.cs:78:9:100:9 | After {...} | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:78:9:100:9 | {...} | Finally.cs:77:16:77:20 | After ... > ... [true] | | Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:78:9:100:9 | {...} | +| Finally.cs:80:13:87:13 | After {...} | Finally.cs:85:17:86:26 | After if (...) ... | | Finally.cs:80:13:87:13 | {...} | Finally.cs:79:13:99:13 | try {...} ... | +| Finally.cs:81:17:82:27 | After if (...) ... | Finally.cs:81:21:81:26 | After ... == ... [false] | | Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:80:13:87:13 | {...} | -| Finally.cs:81:21:81:21 | access to local variable i | Finally.cs:81:17:82:27 | if (...) ... | +| Finally.cs:81:21:81:21 | access to local variable i | Finally.cs:81:21:81:26 | Before ... == ... | | Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:26:81:26 | 0 | +| Finally.cs:81:21:81:26 | Before ... == ... | Finally.cs:81:17:82:27 | if (...) ... | | Finally.cs:81:26:81:26 | 0 | Finally.cs:81:21:81:21 | access to local variable i | -| Finally.cs:83:21:83:21 | access to local variable i | Finally.cs:83:17:84:29 | if (...) ... | +| Finally.cs:82:21:82:27 | Before return ...; | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:82:21:82:27 | return ...; | Finally.cs:82:21:82:27 | Before return ...; | +| Finally.cs:83:17:84:29 | After if (...) ... | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:81:17:82:27 | After if (...) ... | +| Finally.cs:83:21:83:21 | access to local variable i | Finally.cs:83:21:83:26 | Before ... == ... | | Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:26:83:26 | 1 | +| Finally.cs:83:21:83:26 | Before ... == ... | Finally.cs:83:17:84:29 | if (...) ... | | Finally.cs:83:26:83:26 | 1 | Finally.cs:83:21:83:21 | access to local variable i | -| Finally.cs:85:21:85:21 | access to local variable i | Finally.cs:85:17:86:26 | if (...) ... | +| Finally.cs:84:21:84:29 | Before continue; | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:84:21:84:29 | continue; | Finally.cs:84:21:84:29 | Before continue; | +| Finally.cs:85:17:86:26 | After if (...) ... | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:83:17:84:29 | After if (...) ... | +| Finally.cs:85:21:85:21 | access to local variable i | Finally.cs:85:21:85:26 | Before ... == ... | | Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:26:85:26 | 2 | +| Finally.cs:85:21:85:26 | Before ... == ... | Finally.cs:85:17:86:26 | if (...) ... | | Finally.cs:85:26:85:26 | 2 | Finally.cs:85:21:85:21 | access to local variable i | +| Finally.cs:86:21:86:26 | Before break; | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:86:21:86:26 | break; | Finally.cs:86:21:86:26 | Before break; | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:80:13:87:13 | After {...} | | Finally.cs:89:13:99:13 | {...} | Finally.cs:82:21:82:27 | return ...; | | Finally.cs:89:13:99:13 | {...} | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:85:21:85:26 | ... == ... | | Finally.cs:89:13:99:13 | {...} | Finally.cs:86:21:86:26 | break; | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:96:17:98:17 | After {...} | | Finally.cs:90:17:98:17 | try {...} ... | Finally.cs:89:13:99:13 | {...} | +| Finally.cs:91:17:94:17 | After {...} | Finally.cs:92:21:93:46 | After if (...) ... | | Finally.cs:91:17:94:17 | {...} | Finally.cs:90:17:98:17 | try {...} ... | +| Finally.cs:92:21:93:46 | After if (...) ... | Finally.cs:92:25:92:30 | After ... == ... [false] | | Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:91:17:94:17 | {...} | -| Finally.cs:92:25:92:25 | access to local variable i | Finally.cs:92:21:93:46 | if (...) ... | +| Finally.cs:92:25:92:25 | access to local variable i | Finally.cs:92:25:92:30 | Before ... == ... | | Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:30:92:30 | 3 | +| Finally.cs:92:25:92:30 | Before ... == ... | Finally.cs:92:21:93:46 | if (...) ... | | Finally.cs:92:30:92:30 | 3 | Finally.cs:92:25:92:25 | access to local variable i | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:92:25:92:30 | ... == ... | +| Finally.cs:93:25:93:46 | Before throw ...; | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:93:31:93:45 | Before object creation of type Exception | Finally.cs:93:25:93:46 | Before throw ...; | +| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | Before object creation of type Exception | +| Finally.cs:96:17:98:17 | After {...} | Finally.cs:97:21:97:24 | After ...; | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:91:17:94:17 | After {...} | | Finally.cs:96:17:98:17 | {...} | Finally.cs:93:25:93:46 | throw ...; | | Finally.cs:96:17:98:17 | {...} | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:97:21:97:21 | access to local variable i | Finally.cs:97:21:97:24 | ...; | +| Finally.cs:97:21:97:21 | access to local variable i | Finally.cs:97:21:97:23 | Before ...-- | | Finally.cs:97:21:97:23 | ...-- | Finally.cs:97:21:97:21 | access to local variable i | +| Finally.cs:97:21:97:23 | After ...-- | Finally.cs:97:21:97:23 | ...-- | +| Finally.cs:97:21:97:23 | Before ...-- | Finally.cs:97:21:97:24 | ...; | | Finally.cs:97:21:97:24 | ...; | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:116:17:116:32 | ... > ... | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:117:17:117:36 | call to method WriteLine | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:103:10:103:11 | enter M5 | +| Finally.cs:97:21:97:24 | After ...; | Finally.cs:97:21:97:23 | After ...-- | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:104:5:119:5 | After {...} | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:113:9:118:9 | After {...} | +| Finally.cs:104:5:119:5 | After {...} | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:104:5:119:5 | {...} | Finally.cs:103:10:103:11 | Entry | | Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:104:5:119:5 | {...} | +| Finally.cs:106:9:111:9 | After {...} | Finally.cs:109:13:110:49 | After if (...) ... | | Finally.cs:106:9:111:9 | {...} | Finally.cs:105:9:118:9 | try {...} ... | +| Finally.cs:107:13:108:23 | After if (...) ... | Finally.cs:107:17:107:33 | After ... == ... [false] | | Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:106:9:111:9 | {...} | +| Finally.cs:107:17:107:21 | Before access to field Field | Finally.cs:107:17:107:28 | Before access to property Length | | Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:21 | this access | -| Finally.cs:107:17:107:21 | this access | Finally.cs:107:13:108:23 | if (...) ... | +| Finally.cs:107:17:107:21 | this access | Finally.cs:107:17:107:21 | Before access to field Field | +| Finally.cs:107:17:107:28 | Before access to property Length | Finally.cs:107:17:107:33 | Before ... == ... | +| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:21 | After access to field Field | | Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:33:107:33 | 0 | +| Finally.cs:107:17:107:33 | Before ... == ... | Finally.cs:107:13:108:23 | if (...) ... | +| Finally.cs:107:33:107:33 | 0 | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:108:17:108:23 | Before return ...; | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:108:17:108:23 | return ...; | Finally.cs:108:17:108:23 | Before return ...; | +| Finally.cs:109:13:110:49 | After if (...) ... | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:107:13:108:23 | After if (...) ... | +| Finally.cs:109:17:109:21 | Before access to field Field | Finally.cs:109:17:109:28 | Before access to property Length | | Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:21 | this access | -| Finally.cs:109:17:109:21 | this access | Finally.cs:109:13:110:49 | if (...) ... | +| Finally.cs:109:17:109:21 | this access | Finally.cs:109:17:109:21 | Before access to field Field | +| Finally.cs:109:17:109:28 | Before access to property Length | Finally.cs:109:17:109:33 | Before ... == ... | +| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:21 | After access to field Field | | Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:33:109:33 | 1 | +| Finally.cs:109:17:109:33 | Before ... == ... | Finally.cs:109:13:110:49 | if (...) ... | +| Finally.cs:109:33:109:33 | 1 | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:110:17:110:49 | Before throw ...; | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | Before throw ...; | +| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:106:9:111:9 | After {...} | | Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:21 | access to field Field | | Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:28 | access to property Length | | Finally.cs:113:9:118:9 | {...} | Finally.cs:108:17:108:23 | return ...; | | Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:21 | access to field Field | | Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:33 | ... == ... | | Finally.cs:113:9:118:9 | {...} | Finally.cs:110:17:110:49 | throw ...; | | Finally.cs:113:9:118:9 | {...} | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:114:17:114:36 | After !... [false] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:115:17:115:41 | After ...; | | Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:113:9:118:9 | {...} | +| Finally.cs:114:17:114:36 | !... | Finally.cs:114:13:115:41 | if (...) ... | +| Finally.cs:114:17:114:36 | After !... [false] | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:114:17:114:36 | After !... [true] | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:114:19:114:23 | After access to field Field | Finally.cs:114:19:114:23 | access to field Field | +| Finally.cs:114:19:114:23 | Before access to field Field | Finally.cs:114:19:114:30 | Before access to property Length | | Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:23 | this access | -| Finally.cs:114:19:114:23 | this access | Finally.cs:114:13:115:41 | if (...) ... | -| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:19:114:23 | access to field Field | +| Finally.cs:114:19:114:23 | this access | Finally.cs:114:19:114:23 | Before access to field Field | +| Finally.cs:114:19:114:30 | After access to property Length | Finally.cs:114:19:114:30 | access to property Length | +| Finally.cs:114:19:114:30 | Before access to property Length | Finally.cs:114:19:114:35 | Before ... == ... | +| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:19:114:23 | After access to field Field | | Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:35:114:35 | 0 | -| Finally.cs:114:35:114:35 | 0 | Finally.cs:114:19:114:30 | access to property Length | -| Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:115:35:115:39 | access to field Field | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:114:17:114:36 | [true] !... | +| Finally.cs:114:19:114:35 | Before ... == ... | Finally.cs:114:17:114:36 | !... | +| Finally.cs:114:35:114:35 | 0 | Finally.cs:114:19:114:30 | After access to property Length | +| Finally.cs:115:17:115:40 | After call to method WriteLine | Finally.cs:115:17:115:40 | call to method WriteLine | +| Finally.cs:115:17:115:40 | Before call to method WriteLine | Finally.cs:115:17:115:41 | ...; | +| Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:115:35:115:39 | After access to field Field | +| Finally.cs:115:17:115:41 | ...; | Finally.cs:114:17:114:36 | After !... [true] | +| Finally.cs:115:17:115:41 | After ...; | Finally.cs:115:17:115:40 | After call to method WriteLine | +| Finally.cs:115:35:115:39 | After access to field Field | Finally.cs:115:35:115:39 | access to field Field | +| Finally.cs:115:35:115:39 | Before access to field Field | Finally.cs:115:17:115:40 | Before call to method WriteLine | | Finally.cs:115:35:115:39 | access to field Field | Finally.cs:115:35:115:39 | this access | -| Finally.cs:115:35:115:39 | this access | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:115:17:115:40 | call to method WriteLine | +| Finally.cs:115:35:115:39 | this access | Finally.cs:115:35:115:39 | Before access to field Field | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:117:17:117:37 | After ...; | +| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:116:17:116:21 | After access to field Field | Finally.cs:116:17:116:21 | access to field Field | +| Finally.cs:116:17:116:21 | Before access to field Field | Finally.cs:116:17:116:28 | Before access to property Length | | Finally.cs:116:17:116:21 | access to field Field | Finally.cs:116:17:116:21 | this access | -| Finally.cs:116:17:116:21 | this access | Finally.cs:116:13:117:37 | if (...) ... | -| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:17:116:21 | access to field Field | +| Finally.cs:116:17:116:21 | this access | Finally.cs:116:17:116:21 | Before access to field Field | +| Finally.cs:116:17:116:28 | After access to property Length | Finally.cs:116:17:116:28 | access to property Length | +| Finally.cs:116:17:116:28 | Before access to property Length | Finally.cs:116:17:116:32 | Before ... > ... | +| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:17:116:21 | After access to field Field | | Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:32:116:32 | 0 | -| Finally.cs:116:32:116:32 | 0 | Finally.cs:116:17:116:28 | access to property Length | +| Finally.cs:116:17:116:32 | Before ... > ... | Finally.cs:116:13:117:37 | if (...) ... | +| Finally.cs:116:32:116:32 | 0 | Finally.cs:116:17:116:28 | After access to property Length | +| Finally.cs:117:17:117:36 | After call to method WriteLine | Finally.cs:117:17:117:36 | call to method WriteLine | +| Finally.cs:117:17:117:36 | Before call to method WriteLine | Finally.cs:117:17:117:37 | ...; | | Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:117:35:117:35 | 1 | -| Finally.cs:117:35:117:35 | 1 | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:121:10:121:11 | exit M6 | Finally.cs:121:10:121:11 | exit M6 (normal) | -| Finally.cs:121:10:121:11 | exit M6 (normal) | Finally.cs:125:17:125:40 | Double temp = ... | -| Finally.cs:122:5:131:5 | {...} | Finally.cs:121:10:121:11 | enter M6 | +| Finally.cs:117:17:117:37 | ...; | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:117:17:117:37 | After ...; | Finally.cs:117:17:117:36 | After call to method WriteLine | +| Finally.cs:117:35:117:35 | 1 | Finally.cs:117:17:117:36 | Before call to method WriteLine | +| Finally.cs:121:10:121:11 | Exit | Finally.cs:121:10:121:11 | Normal Exit | +| Finally.cs:121:10:121:11 | Normal Exit | Finally.cs:122:5:131:5 | After {...} | +| Finally.cs:122:5:131:5 | After {...} | Finally.cs:123:9:130:9 | After try {...} ... | +| Finally.cs:122:5:131:5 | {...} | Finally.cs:121:10:121:11 | Entry | +| Finally.cs:123:9:130:9 | After try {...} ... | Finally.cs:124:9:126:9 | After {...} | | Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:122:5:131:5 | {...} | +| Finally.cs:124:9:126:9 | After {...} | Finally.cs:125:13:125:41 | After ... ...; | | Finally.cs:124:9:126:9 | {...} | Finally.cs:123:9:130:9 | try {...} ... | | Finally.cs:125:13:125:41 | ... ...; | Finally.cs:124:9:126:9 | {...} | -| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:24:125:40 | ... / ... | -| Finally.cs:125:24:125:24 | 0 | Finally.cs:125:13:125:41 | ... ...; | +| Finally.cs:125:13:125:41 | After ... ...; | Finally.cs:125:17:125:40 | After Double temp = ... | +| Finally.cs:125:17:125:20 | access to local variable temp | Finally.cs:125:17:125:40 | Before Double temp = ... | +| Finally.cs:125:17:125:40 | After Double temp = ... | Finally.cs:125:17:125:40 | Double temp = ... | +| Finally.cs:125:17:125:40 | Before Double temp = ... | Finally.cs:125:13:125:41 | ... ...; | +| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:24:125:40 | After ... / ... | +| Finally.cs:125:24:125:24 | 0 | Finally.cs:125:24:125:24 | Before (...) ... | | Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:24:125:24 | 0 | +| Finally.cs:125:24:125:24 | After (...) ... | Finally.cs:125:24:125:24 | (...) ... | +| Finally.cs:125:24:125:24 | Before (...) ... | Finally.cs:125:24:125:40 | Before ... / ... | | Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:28:125:40 | access to constant E | -| Finally.cs:125:28:125:40 | access to constant E | Finally.cs:125:24:125:24 | (...) ... | -| Finally.cs:133:10:133:11 | exit M7 | Finally.cs:133:10:133:11 | exit M7 (abnormal) | -| Finally.cs:133:10:133:11 | exit M7 (abnormal) | Finally.cs:141:13:141:44 | throw ...; | -| Finally.cs:134:5:145:5 | {...} | Finally.cs:133:10:133:11 | enter M7 | +| Finally.cs:125:24:125:40 | After ... / ... | Finally.cs:125:24:125:40 | ... / ... | +| Finally.cs:125:24:125:40 | Before ... / ... | Finally.cs:125:17:125:20 | access to local variable temp | +| Finally.cs:125:28:125:40 | access to constant E | Finally.cs:125:24:125:24 | After (...) ... | +| Finally.cs:133:10:133:11 | Exceptional Exit | Finally.cs:141:13:141:44 | throw ...; | +| Finally.cs:133:10:133:11 | Exit | Finally.cs:133:10:133:11 | Exceptional Exit | +| Finally.cs:134:5:145:5 | {...} | Finally.cs:133:10:133:11 | Entry | | Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:134:5:145:5 | {...} | +| Finally.cs:136:9:138:9 | After {...} | Finally.cs:137:13:137:37 | After ...; | | Finally.cs:136:9:138:9 | {...} | Finally.cs:135:9:143:9 | try {...} ... | +| Finally.cs:137:13:137:36 | Before call to method WriteLine | Finally.cs:137:13:137:37 | ...; | | Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:137:31:137:35 | "Try" | | Finally.cs:137:13:137:37 | ...; | Finally.cs:136:9:138:9 | {...} | -| Finally.cs:137:31:137:35 | "Try" | Finally.cs:137:13:137:37 | ...; | -| Finally.cs:140:9:143:9 | {...} | Finally.cs:137:13:137:36 | call to method WriteLine | -| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:141:19:141:43 | object creation of type ArgumentException | +| Finally.cs:137:13:137:37 | After ...; | Finally.cs:137:13:137:36 | After call to method WriteLine | +| Finally.cs:137:31:137:35 | "Try" | Finally.cs:137:13:137:36 | Before call to method WriteLine | +| Finally.cs:141:13:141:44 | Before throw ...; | Finally.cs:140:9:143:9 | {...} | +| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:141:19:141:43 | After object creation of type ArgumentException | +| Finally.cs:141:19:141:43 | After object creation of type ArgumentException | Finally.cs:141:19:141:43 | object creation of type ArgumentException | +| Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | Finally.cs:141:13:141:44 | Before throw ...; | | Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:41:141:42 | "" | -| Finally.cs:141:41:141:42 | "" | Finally.cs:140:9:143:9 | {...} | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:158:21:158:36 | ... == ... | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:163:17:163:42 | call to method WriteLine | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:167:17:167:37 | call to method WriteLine | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:147:10:147:11 | enter M8 | +| Finally.cs:141:41:141:42 | "" | Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | +| Finally.cs:147:10:147:11 | Normal Exit | Finally.cs:148:5:170:5 | After {...} | +| Finally.cs:148:5:170:5 | After {...} | Finally.cs:149:9:169:9 | After try {...} ... | +| Finally.cs:148:5:170:5 | {...} | Finally.cs:147:10:147:11 | Entry | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:155:9:169:9 | After {...} | | Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:148:5:170:5 | {...} | +| Finally.cs:150:9:153:9 | After {...} | Finally.cs:151:13:152:50 | After if (...) ... | | Finally.cs:150:9:153:9 | {...} | Finally.cs:149:9:169:9 | try {...} ... | +| Finally.cs:151:13:152:50 | After if (...) ... | Finally.cs:151:17:151:28 | After ... == ... [false] | | Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:150:9:153:9 | {...} | -| Finally.cs:151:17:151:20 | access to parameter args | Finally.cs:151:13:152:50 | if (...) ... | +| Finally.cs:151:17:151:20 | access to parameter args | Finally.cs:151:17:151:28 | Before ... == ... | | Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:25:151:28 | null | +| Finally.cs:151:17:151:28 | Before ... == ... | Finally.cs:151:13:152:50 | if (...) ... | | Finally.cs:151:25:151:28 | null | Finally.cs:151:17:151:20 | access to parameter args | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:151:17:151:28 | ... == ... | +| Finally.cs:152:17:152:50 | Before throw ...; | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | Before throw ...; | +| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | +| Finally.cs:155:9:169:9 | After {...} | Finally.cs:156:13:168:13 | After try {...} ... | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:150:9:153:9 | After {...} | | Finally.cs:155:9:169:9 | {...} | Finally.cs:152:17:152:50 | throw ...; | | Finally.cs:155:9:169:9 | {...} | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:157:13:160:13 | After {...} | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:162:13:164:13 | After {...} | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:166:13:168:13 | After {...} | | Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:155:9:169:9 | {...} | +| Finally.cs:157:13:160:13 | After {...} | Finally.cs:158:17:159:45 | After if (...) ... | | Finally.cs:157:13:160:13 | {...} | Finally.cs:156:13:168:13 | try {...} ... | +| Finally.cs:158:17:159:45 | After if (...) ... | Finally.cs:158:21:158:36 | After ... == ... [false] | | Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:157:13:160:13 | {...} | -| Finally.cs:158:21:158:24 | access to parameter args | Finally.cs:158:17:159:45 | if (...) ... | +| Finally.cs:158:21:158:24 | access to parameter args | Finally.cs:158:21:158:31 | Before access to property Length | +| Finally.cs:158:21:158:31 | Before access to property Length | Finally.cs:158:21:158:36 | Before ... == ... | | Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:21:158:24 | access to parameter args | | Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:36:158:36 | 1 | +| Finally.cs:158:21:158:36 | Before ... == ... | Finally.cs:158:17:159:45 | if (...) ... | +| Finally.cs:158:36:158:36 | 1 | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:159:21:159:45 | Before throw ...; | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:159:27:159:44 | Before object creation of type Exception | Finally.cs:159:21:159:45 | Before throw ...; | | Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:41:159:43 | "1" | +| Finally.cs:159:41:159:43 | "1" | Finally.cs:159:27:159:44 | Before object creation of type Exception | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:161:39:161:54 | After ... == ... [false] | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:159:21:159:45 | throw ...; | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:159:27:159:44 | object creation of type Exception | -| Finally.cs:161:39:161:39 | access to local variable e | Finally.cs:161:30:161:30 | Exception e | +| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:161:39:161:39 | access to local variable e | Finally.cs:161:39:161:47 | Before access to property Message | +| Finally.cs:161:39:161:47 | After access to property Message | Finally.cs:161:39:161:47 | access to property Message | +| Finally.cs:161:39:161:47 | Before access to property Message | Finally.cs:161:39:161:54 | Before ... == ... | | Finally.cs:161:39:161:47 | access to property Message | Finally.cs:161:39:161:39 | access to local variable e | | Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:52:161:54 | "1" | -| Finally.cs:161:52:161:54 | "1" | Finally.cs:161:39:161:47 | access to property Message | -| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:163:35:163:41 | access to array element | +| Finally.cs:161:39:161:54 | Before ... == ... | Finally.cs:161:30:161:30 | Exception e | +| Finally.cs:161:52:161:54 | "1" | Finally.cs:161:39:161:47 | After access to property Message | +| Finally.cs:162:13:164:13 | After {...} | Finally.cs:163:17:163:43 | After ...; | +| Finally.cs:162:13:164:13 | {...} | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:163:17:163:42 | After call to method WriteLine | Finally.cs:163:17:163:42 | call to method WriteLine | +| Finally.cs:163:17:163:42 | Before call to method WriteLine | Finally.cs:163:17:163:43 | ...; | +| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:163:35:163:41 | After access to array element | | Finally.cs:163:17:163:43 | ...; | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:163:35:163:38 | access to parameter args | Finally.cs:163:17:163:43 | ...; | +| Finally.cs:163:17:163:43 | After ...; | Finally.cs:163:17:163:42 | After call to method WriteLine | +| Finally.cs:163:35:163:38 | access to parameter args | Finally.cs:163:35:163:41 | Before access to array element | +| Finally.cs:163:35:163:41 | After access to array element | Finally.cs:163:35:163:41 | access to array element | +| Finally.cs:163:35:163:41 | Before access to array element | Finally.cs:163:17:163:42 | Before call to method WriteLine | | Finally.cs:163:35:163:41 | access to array element | Finally.cs:163:40:163:40 | 0 | | Finally.cs:163:40:163:40 | 0 | Finally.cs:163:35:163:38 | access to parameter args | -| Finally.cs:166:13:168:13 | {...} | Finally.cs:165:13:168:13 | catch {...} | +| Finally.cs:165:13:168:13 | After catch {...} [match] | Finally.cs:165:13:168:13 | catch {...} | +| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:166:13:168:13 | After {...} | Finally.cs:167:17:167:38 | After ...; | +| Finally.cs:166:13:168:13 | {...} | Finally.cs:165:13:168:13 | After catch {...} [match] | +| Finally.cs:167:17:167:37 | After call to method WriteLine | Finally.cs:167:17:167:37 | call to method WriteLine | +| Finally.cs:167:17:167:37 | Before call to method WriteLine | Finally.cs:167:17:167:38 | ...; | | Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:167:35:167:36 | "" | | Finally.cs:167:17:167:38 | ...; | Finally.cs:166:13:168:13 | {...} | -| Finally.cs:167:35:167:36 | "" | Finally.cs:167:17:167:38 | ...; | -| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | call to method | +| Finally.cs:167:17:167:38 | After ...; | Finally.cs:167:17:167:37 | After call to method WriteLine | +| Finally.cs:167:35:167:36 | "" | Finally.cs:167:17:167:37 | Before call to method WriteLine | +| Finally.cs:172:11:172:20 | After call to constructor Exception | Finally.cs:172:11:172:20 | call to constructor Exception | +| Finally.cs:172:11:172:20 | After call to method | Finally.cs:172:11:172:20 | call to method | +| Finally.cs:172:11:172:20 | Before call to constructor Exception | Finally.cs:172:11:172:20 | After call to method | +| Finally.cs:172:11:172:20 | Before call to method | Finally.cs:172:11:172:20 | Entry | +| Finally.cs:172:11:172:20 | Exit | Finally.cs:172:11:172:20 | Normal Exit | +| Finally.cs:172:11:172:20 | Normal Exit | Finally.cs:172:11:172:20 | {...} | +| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | Before call to constructor Exception | | Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | this access | -| Finally.cs:172:11:172:20 | exit ExceptionA | Finally.cs:172:11:172:20 | exit ExceptionA (normal) | -| Finally.cs:172:11:172:20 | exit ExceptionA (normal) | Finally.cs:172:11:172:20 | {...} | -| Finally.cs:172:11:172:20 | this access | Finally.cs:172:11:172:20 | enter ExceptionA | -| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | call to constructor Exception | -| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | call to method | +| Finally.cs:172:11:172:20 | this access | Finally.cs:172:11:172:20 | Before call to method | +| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | After call to constructor Exception | +| Finally.cs:173:11:173:20 | After call to constructor Exception | Finally.cs:173:11:173:20 | call to constructor Exception | +| Finally.cs:173:11:173:20 | After call to method | Finally.cs:173:11:173:20 | call to method | +| Finally.cs:173:11:173:20 | Before call to constructor Exception | Finally.cs:173:11:173:20 | After call to method | +| Finally.cs:173:11:173:20 | Before call to method | Finally.cs:173:11:173:20 | Entry | +| Finally.cs:173:11:173:20 | Exit | Finally.cs:173:11:173:20 | Normal Exit | +| Finally.cs:173:11:173:20 | Normal Exit | Finally.cs:173:11:173:20 | {...} | +| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | Before call to constructor Exception | | Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | this access | -| Finally.cs:173:11:173:20 | exit ExceptionB | Finally.cs:173:11:173:20 | exit ExceptionB (normal) | -| Finally.cs:173:11:173:20 | exit ExceptionB (normal) | Finally.cs:173:11:173:20 | {...} | -| Finally.cs:173:11:173:20 | this access | Finally.cs:173:11:173:20 | enter ExceptionB | -| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | call to constructor Exception | -| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | call to method | +| Finally.cs:173:11:173:20 | this access | Finally.cs:173:11:173:20 | Before call to method | +| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | After call to constructor Exception | +| Finally.cs:174:11:174:20 | After call to constructor Exception | Finally.cs:174:11:174:20 | call to constructor Exception | +| Finally.cs:174:11:174:20 | After call to method | Finally.cs:174:11:174:20 | call to method | +| Finally.cs:174:11:174:20 | Before call to constructor Exception | Finally.cs:174:11:174:20 | After call to method | +| Finally.cs:174:11:174:20 | Before call to method | Finally.cs:174:11:174:20 | Entry | +| Finally.cs:174:11:174:20 | Exit | Finally.cs:174:11:174:20 | Normal Exit | +| Finally.cs:174:11:174:20 | Normal Exit | Finally.cs:174:11:174:20 | {...} | +| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | Before call to constructor Exception | | Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | this access | -| Finally.cs:174:11:174:20 | exit ExceptionC | Finally.cs:174:11:174:20 | exit ExceptionC (normal) | -| Finally.cs:174:11:174:20 | exit ExceptionC (normal) | Finally.cs:174:11:174:20 | {...} | -| Finally.cs:174:11:174:20 | this access | Finally.cs:174:11:174:20 | enter ExceptionC | -| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | call to constructor Exception | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:186:21:186:22 | access to parameter b2 | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:190:21:190:22 | access to parameter b1 | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:176:10:176:11 | enter M9 | +| Finally.cs:174:11:174:20 | this access | Finally.cs:174:11:174:20 | Before call to method | +| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | After call to constructor Exception | +| Finally.cs:176:10:176:11 | Normal Exit | Finally.cs:177:5:193:5 | After {...} | +| Finally.cs:177:5:193:5 | After {...} | Finally.cs:178:9:192:9 | After try {...} ... | +| Finally.cs:177:5:193:5 | {...} | Finally.cs:176:10:176:11 | Entry | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:183:9:192:9 | After {...} | | Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:177:5:193:5 | {...} | +| Finally.cs:179:9:181:9 | After {...} | Finally.cs:180:13:180:43 | After if (...) ... | | Finally.cs:179:9:181:9 | {...} | Finally.cs:178:9:192:9 | try {...} ... | +| Finally.cs:180:13:180:43 | After if (...) ... | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | | Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:179:9:181:9 | {...} | | Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:13:180:43 | if (...) ... | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:180:17:180:18 | access to parameter b1 | +| Finally.cs:180:21:180:43 | Before throw ...; | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | Finally.cs:180:21:180:43 | Before throw ...; | +| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | +| Finally.cs:183:9:192:9 | After {...} | Finally.cs:184:13:191:13 | After try {...} ... | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:179:9:181:9 | After {...} | | Finally.cs:183:9:192:9 | {...} | Finally.cs:180:21:180:43 | throw ...; | | Finally.cs:183:9:192:9 | {...} | Finally.cs:180:27:180:42 | object creation of type ExceptionA | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:185:13:187:13 | After {...} | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:189:13:191:13 | After {...} | | Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:183:9:192:9 | {...} | +| Finally.cs:185:13:187:13 | After {...} | Finally.cs:186:17:186:47 | After if (...) ... | | Finally.cs:185:13:187:13 | {...} | Finally.cs:184:13:191:13 | try {...} ... | +| Finally.cs:186:17:186:47 | After if (...) ... | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | | Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:185:13:187:13 | {...} | | Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:17:186:47 | if (...) ... | +| Finally.cs:186:25:186:47 | Before throw ...; | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | Finally.cs:186:25:186:47 | Before throw ...; | +| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:13:191:13 | catch (...) {...} | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:186:25:186:47 | throw ...; | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:188:38:188:39 | access to parameter b2 | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:189:13:191:13 | After {...} | Finally.cs:190:17:190:47 | After if (...) ... | +| Finally.cs:189:13:191:13 | {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:190:17:190:47 | After if (...) ... | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | | Finally.cs:190:17:190:47 | if (...) ... | Finally.cs:189:13:191:13 | {...} | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:190:21:190:22 | access to parameter b1 | | Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:17:190:47 | if (...) ... | -| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:195:10:195:12 | exit M10 (normal) | Finally.cs:213:9:213:24 | ... = ... | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:195:10:195:12 | enter M10 | +| Finally.cs:190:25:190:47 | Before throw ...; | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:190:31:190:46 | After object creation of type ExceptionC | +| Finally.cs:190:31:190:46 | After object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | +| Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | Finally.cs:190:25:190:47 | Before throw ...; | +| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | +| Finally.cs:195:10:195:12 | Normal Exit | Finally.cs:196:5:214:5 | After {...} | +| Finally.cs:196:5:214:5 | After {...} | Finally.cs:213:9:213:25 | After ...; | +| Finally.cs:196:5:214:5 | {...} | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:202:9:212:9 | After {...} | | Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:196:5:214:5 | {...} | +| Finally.cs:198:9:200:9 | After {...} | Finally.cs:199:13:199:43 | After if (...) ... | | Finally.cs:198:9:200:9 | {...} | Finally.cs:197:9:212:9 | try {...} ... | +| Finally.cs:199:13:199:43 | After if (...) ... | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | | Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:198:9:200:9 | {...} | | Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:13:199:43 | if (...) ... | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:199:17:199:18 | access to parameter b1 | +| Finally.cs:199:21:199:43 | Before throw ...; | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | Finally.cs:199:21:199:43 | Before throw ...; | +| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | +| Finally.cs:202:9:212:9 | After {...} | Finally.cs:211:13:211:29 | After ...; | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:198:9:200:9 | After {...} | | Finally.cs:202:9:212:9 | {...} | Finally.cs:199:21:199:43 | throw ...; | | Finally.cs:202:9:212:9 | {...} | Finally.cs:199:27:199:42 | object creation of type ExceptionA | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:208:13:210:13 | After {...} | | Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:202:9:212:9 | {...} | +| Finally.cs:204:13:206:13 | After {...} | Finally.cs:205:17:205:47 | After if (...) ... | | Finally.cs:204:13:206:13 | {...} | Finally.cs:203:13:210:13 | try {...} ... | +| Finally.cs:205:17:205:47 | After if (...) ... | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | | Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:204:13:206:13 | {...} | | Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:17:205:47 | if (...) ... | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:205:21:205:22 | access to parameter b2 | +| Finally.cs:205:25:205:47 | Before throw ...; | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | Finally.cs:205:25:205:47 | Before throw ...; | +| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | +| Finally.cs:208:13:210:13 | After {...} | Finally.cs:209:17:209:47 | After if (...) ... | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:204:13:206:13 | After {...} | | Finally.cs:208:13:210:13 | {...} | Finally.cs:205:25:205:47 | throw ...; | | Finally.cs:208:13:210:13 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | +| Finally.cs:209:17:209:47 | After if (...) ... | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | | Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:208:13:210:13 | {...} | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:209:21:209:22 | access to parameter b3 | | Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:17:209:47 | if (...) ... | -| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:26:211:28 | "0" | -| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:22 | access to field Field | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:209:21:209:22 | access to parameter b3 | -| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:16 | this access | -| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:22:213:24 | "1" | -| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:18 | access to field Field | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:211:13:211:28 | ... = ... | -| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:12 | this access | -| Finally.cs:216:10:216:12 | exit M11 | Finally.cs:216:10:216:12 | exit M11 (normal) | -| Finally.cs:216:10:216:12 | exit M11 (normal) | Finally.cs:230:9:230:33 | call to method WriteLine | -| Finally.cs:217:5:231:5 | {...} | Finally.cs:216:10:216:12 | enter M11 | +| Finally.cs:209:25:209:47 | Before throw ...; | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:31:209:46 | After object creation of type ExceptionC | +| Finally.cs:209:31:209:46 | After object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | +| Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | Finally.cs:209:25:209:47 | Before throw ...; | +| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | +| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:22 | Before access to field Field | +| Finally.cs:211:13:211:22 | After access to field Field | Finally.cs:211:13:211:22 | access to field Field | +| Finally.cs:211:13:211:22 | Before access to field Field | Finally.cs:211:13:211:28 | Before ... = ... | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:16 | this access | +| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:26:211:28 | "0" | +| Finally.cs:211:13:211:28 | After ... = ... | Finally.cs:211:13:211:28 | ... = ... | +| Finally.cs:211:13:211:28 | Before ... = ... | Finally.cs:211:13:211:29 | ...; | +| Finally.cs:211:13:211:29 | ...; | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:211:13:211:29 | After ...; | Finally.cs:211:13:211:28 | After ... = ... | +| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:22 | After access to field Field | +| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:18 | Before access to field Field | +| Finally.cs:213:9:213:18 | After access to field Field | Finally.cs:213:9:213:18 | access to field Field | +| Finally.cs:213:9:213:18 | Before access to field Field | Finally.cs:213:9:213:24 | Before ... = ... | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:12 | this access | +| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:22:213:24 | "1" | +| Finally.cs:213:9:213:24 | After ... = ... | Finally.cs:213:9:213:24 | ... = ... | +| Finally.cs:213:9:213:24 | Before ... = ... | Finally.cs:213:9:213:25 | ...; | +| Finally.cs:213:9:213:25 | ...; | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:213:9:213:25 | After ...; | Finally.cs:213:9:213:24 | After ... = ... | +| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:18 | After access to field Field | +| Finally.cs:216:10:216:12 | Exit | Finally.cs:216:10:216:12 | Normal Exit | +| Finally.cs:216:10:216:12 | Normal Exit | Finally.cs:217:5:231:5 | After {...} | +| Finally.cs:217:5:231:5 | After {...} | Finally.cs:230:9:230:34 | After ...; | +| Finally.cs:217:5:231:5 | {...} | Finally.cs:216:10:216:12 | Entry | +| Finally.cs:218:9:229:9 | After try {...} ... | Finally.cs:227:9:229:9 | After {...} | | Finally.cs:218:9:229:9 | try {...} ... | Finally.cs:217:5:231:5 | {...} | +| Finally.cs:219:9:221:9 | After {...} | Finally.cs:220:13:220:37 | After ...; | | Finally.cs:219:9:221:9 | {...} | Finally.cs:218:9:229:9 | try {...} ... | +| Finally.cs:220:13:220:36 | Before call to method WriteLine | Finally.cs:220:13:220:37 | ...; | | Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:220:31:220:35 | "Try" | | Finally.cs:220:13:220:37 | ...; | Finally.cs:219:9:221:9 | {...} | -| Finally.cs:220:31:220:35 | "Try" | Finally.cs:220:13:220:37 | ...; | -| Finally.cs:223:9:225:9 | {...} | Finally.cs:222:9:225:9 | catch {...} | +| Finally.cs:220:13:220:37 | After ...; | Finally.cs:220:13:220:36 | After call to method WriteLine | +| Finally.cs:220:31:220:35 | "Try" | Finally.cs:220:13:220:36 | Before call to method WriteLine | +| Finally.cs:222:9:225:9 | After catch {...} [match] | Finally.cs:222:9:225:9 | catch {...} | +| Finally.cs:223:9:225:9 | After {...} | Finally.cs:224:13:224:39 | After ...; | +| Finally.cs:223:9:225:9 | {...} | Finally.cs:222:9:225:9 | After catch {...} [match] | +| Finally.cs:224:13:224:38 | After call to method WriteLine | Finally.cs:224:13:224:38 | call to method WriteLine | +| Finally.cs:224:13:224:38 | Before call to method WriteLine | Finally.cs:224:13:224:39 | ...; | | Finally.cs:224:13:224:38 | call to method WriteLine | Finally.cs:224:31:224:37 | "Catch" | | Finally.cs:224:13:224:39 | ...; | Finally.cs:223:9:225:9 | {...} | -| Finally.cs:224:31:224:37 | "Catch" | Finally.cs:224:13:224:39 | ...; | -| Finally.cs:227:9:229:9 | {...} | Finally.cs:220:13:220:36 | call to method WriteLine | -| Finally.cs:227:9:229:9 | {...} | Finally.cs:224:13:224:38 | call to method WriteLine | +| Finally.cs:224:13:224:39 | After ...; | Finally.cs:224:13:224:38 | After call to method WriteLine | +| Finally.cs:224:31:224:37 | "Catch" | Finally.cs:224:13:224:38 | Before call to method WriteLine | +| Finally.cs:227:9:229:9 | After {...} | Finally.cs:228:13:228:41 | After ...; | +| Finally.cs:227:9:229:9 | {...} | Finally.cs:219:9:221:9 | After {...} | +| Finally.cs:227:9:229:9 | {...} | Finally.cs:223:9:225:9 | After {...} | +| Finally.cs:228:13:228:40 | After call to method WriteLine | Finally.cs:228:13:228:40 | call to method WriteLine | +| Finally.cs:228:13:228:40 | Before call to method WriteLine | Finally.cs:228:13:228:41 | ...; | | Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:228:31:228:39 | "Finally" | | Finally.cs:228:13:228:41 | ...; | Finally.cs:227:9:229:9 | {...} | -| Finally.cs:228:31:228:39 | "Finally" | Finally.cs:228:13:228:41 | ...; | +| Finally.cs:228:13:228:41 | After ...; | Finally.cs:228:13:228:40 | After call to method WriteLine | +| Finally.cs:228:31:228:39 | "Finally" | Finally.cs:228:13:228:40 | Before call to method WriteLine | +| Finally.cs:230:9:230:33 | After call to method WriteLine | Finally.cs:230:9:230:33 | call to method WriteLine | +| Finally.cs:230:9:230:33 | Before call to method WriteLine | Finally.cs:230:9:230:34 | ...; | | Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:230:27:230:32 | "Done" | -| Finally.cs:230:9:230:34 | ...; | Finally.cs:228:13:228:40 | call to method WriteLine | -| Finally.cs:230:27:230:32 | "Done" | Finally.cs:230:9:230:34 | ...; | -| Finally.cs:233:10:233:12 | exit M12 (normal) | Finally.cs:260:9:260:33 | call to method WriteLine | -| Finally.cs:234:5:261:5 | {...} | Finally.cs:233:10:233:12 | enter M12 | +| Finally.cs:230:9:230:34 | ...; | Finally.cs:218:9:229:9 | After try {...} ... | +| Finally.cs:230:9:230:34 | After ...; | Finally.cs:230:9:230:33 | After call to method WriteLine | +| Finally.cs:230:27:230:32 | "Done" | Finally.cs:230:9:230:33 | Before call to method WriteLine | +| Finally.cs:233:10:233:12 | Normal Exit | Finally.cs:234:5:261:5 | After {...} | +| Finally.cs:234:5:261:5 | After {...} | Finally.cs:260:9:260:34 | After ...; | +| Finally.cs:234:5:261:5 | {...} | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:257:9:259:9 | After {...} | | Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:234:5:261:5 | {...} | +| Finally.cs:236:9:255:9 | After {...} | Finally.cs:254:13:254:45 | After ...; | | Finally.cs:236:9:255:9 | {...} | Finally.cs:235:9:259:9 | try {...} ... | | Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:236:9:255:9 | {...} | +| Finally.cs:238:13:241:13 | After {...} | Finally.cs:239:17:240:43 | After if (...) ... | | Finally.cs:238:13:241:13 | {...} | Finally.cs:237:13:253:13 | try {...} ... | +| Finally.cs:239:17:240:43 | After if (...) ... | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | | Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:238:13:241:13 | {...} | | Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:17:240:43 | if (...) ... | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:239:21:239:22 | access to parameter b1 | +| Finally.cs:240:21:240:43 | Before throw ...; | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | Finally.cs:240:21:240:43 | Before throw ...; | +| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | +| Finally.cs:243:13:253:13 | After {...} | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:238:13:241:13 | After {...} | | Finally.cs:243:13:253:13 | {...} | Finally.cs:240:21:240:43 | throw ...; | | Finally.cs:243:13:253:13 | {...} | Finally.cs:240:27:240:42 | object creation of type ExceptionA | | Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:243:13:253:13 | {...} | +| Finally.cs:245:17:248:17 | After {...} | Finally.cs:246:21:247:47 | After if (...) ... | | Finally.cs:245:17:248:17 | {...} | Finally.cs:244:17:252:17 | try {...} ... | +| Finally.cs:246:21:247:47 | After if (...) ... | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | | Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:245:17:248:17 | {...} | | Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:21:247:47 | if (...) ... | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:246:25:246:26 | access to parameter b2 | +| Finally.cs:247:25:247:47 | Before throw ...; | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | Finally.cs:247:25:247:47 | Before throw ...; | +| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | +| Finally.cs:250:17:252:17 | After {...} | Finally.cs:251:21:251:55 | After ...; | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:245:17:248:17 | After {...} | | Finally.cs:250:17:252:17 | {...} | Finally.cs:247:25:247:47 | throw ...; | | Finally.cs:250:17:252:17 | {...} | Finally.cs:247:31:247:46 | object creation of type ExceptionA | +| Finally.cs:251:21:251:54 | After call to method WriteLine | Finally.cs:251:21:251:54 | call to method WriteLine | +| Finally.cs:251:21:251:54 | Before call to method WriteLine | Finally.cs:251:21:251:55 | ...; | | Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:251:39:251:53 | "Inner finally" | | Finally.cs:251:21:251:55 | ...; | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:251:39:251:53 | "Inner finally" | Finally.cs:251:21:251:55 | ...; | +| Finally.cs:251:21:251:55 | After ...; | Finally.cs:251:21:251:54 | After call to method WriteLine | +| Finally.cs:251:39:251:53 | "Inner finally" | Finally.cs:251:21:251:54 | Before call to method WriteLine | +| Finally.cs:254:13:254:44 | Before call to method WriteLine | Finally.cs:254:13:254:45 | ...; | | Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:254:31:254:43 | "Mid finally" | -| Finally.cs:254:31:254:43 | "Mid finally" | Finally.cs:254:13:254:45 | ...; | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | +| Finally.cs:254:13:254:45 | ...; | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:254:13:254:45 | After ...; | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:254:31:254:43 | "Mid finally" | Finally.cs:254:13:254:44 | Before call to method WriteLine | +| Finally.cs:257:9:259:9 | After {...} | Finally.cs:258:13:258:47 | After ...; | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:236:9:255:9 | After {...} | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:243:13:253:13 | After {...} | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:250:17:252:17 | After {...} | | Finally.cs:257:9:259:9 | {...} | Finally.cs:254:13:254:44 | call to method WriteLine | +| Finally.cs:258:13:258:46 | After call to method WriteLine | Finally.cs:258:13:258:46 | call to method WriteLine | +| Finally.cs:258:13:258:46 | Before call to method WriteLine | Finally.cs:258:13:258:47 | ...; | | Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:258:31:258:45 | "Outer finally" | | Finally.cs:258:13:258:47 | ...; | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:258:31:258:45 | "Outer finally" | Finally.cs:258:13:258:47 | ...; | +| Finally.cs:258:13:258:47 | After ...; | Finally.cs:258:13:258:46 | After call to method WriteLine | +| Finally.cs:258:31:258:45 | "Outer finally" | Finally.cs:258:13:258:46 | Before call to method WriteLine | +| Finally.cs:260:9:260:33 | After call to method WriteLine | Finally.cs:260:9:260:33 | call to method WriteLine | +| Finally.cs:260:9:260:33 | Before call to method WriteLine | Finally.cs:260:9:260:34 | ...; | | Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:260:27:260:32 | "Done" | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:258:13:258:46 | call to method WriteLine | -| Finally.cs:260:27:260:32 | "Done" | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:272:13:272:18 | ... += ... | -| Finally.cs:264:5:274:5 | {...} | Finally.cs:263:10:263:12 | enter M13 | +| Finally.cs:260:9:260:34 | ...; | Finally.cs:235:9:259:9 | After try {...} ... | +| Finally.cs:260:9:260:34 | After ...; | Finally.cs:260:9:260:33 | After call to method WriteLine | +| Finally.cs:260:27:260:32 | "Done" | Finally.cs:260:9:260:33 | Before call to method WriteLine | +| Finally.cs:263:10:263:12 | Normal Exit | Finally.cs:264:5:274:5 | After {...} | +| Finally.cs:264:5:274:5 | After {...} | Finally.cs:265:9:273:9 | After try {...} ... | +| Finally.cs:264:5:274:5 | {...} | Finally.cs:263:10:263:12 | Entry | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:270:9:273:9 | After {...} | | Finally.cs:265:9:273:9 | try {...} ... | Finally.cs:264:5:274:5 | {...} | +| Finally.cs:266:9:268:9 | After {...} | Finally.cs:267:13:267:35 | After ...; | | Finally.cs:266:9:268:9 | {...} | Finally.cs:265:9:273:9 | try {...} ... | +| Finally.cs:267:13:267:34 | Before call to method WriteLine | Finally.cs:267:13:267:35 | ...; | | Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:267:31:267:33 | "1" | | Finally.cs:267:13:267:35 | ...; | Finally.cs:266:9:268:9 | {...} | -| Finally.cs:267:31:267:33 | "1" | Finally.cs:267:13:267:35 | ...; | +| Finally.cs:267:13:267:35 | After ...; | Finally.cs:267:13:267:34 | After call to method WriteLine | +| Finally.cs:267:31:267:33 | "1" | Finally.cs:267:13:267:34 | Before call to method WriteLine | +| Finally.cs:270:9:273:9 | After {...} | Finally.cs:272:13:272:19 | After ...; | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:266:9:268:9 | After {...} | | Finally.cs:270:9:273:9 | {...} | Finally.cs:267:13:267:34 | call to method WriteLine | +| Finally.cs:271:13:271:34 | After call to method WriteLine | Finally.cs:271:13:271:34 | call to method WriteLine | +| Finally.cs:271:13:271:34 | Before call to method WriteLine | Finally.cs:271:13:271:35 | ...; | | Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:271:31:271:33 | "3" | | Finally.cs:271:13:271:35 | ...; | Finally.cs:270:9:273:9 | {...} | -| Finally.cs:271:31:271:33 | "3" | Finally.cs:271:13:271:35 | ...; | -| Finally.cs:272:13:272:13 | access to parameter i | Finally.cs:272:13:272:19 | ...; | +| Finally.cs:271:13:271:35 | After ...; | Finally.cs:271:13:271:34 | After call to method WriteLine | +| Finally.cs:271:31:271:33 | "3" | Finally.cs:271:13:271:34 | Before call to method WriteLine | +| Finally.cs:272:13:272:13 | access to parameter i | Finally.cs:272:13:272:18 | Before ... += ... | | Finally.cs:272:13:272:18 | ... += ... | Finally.cs:272:18:272:18 | 3 | -| Finally.cs:272:13:272:19 | ...; | Finally.cs:271:13:271:34 | call to method WriteLine | +| Finally.cs:272:13:272:18 | After ... += ... | Finally.cs:272:13:272:18 | ... += ... | +| Finally.cs:272:13:272:18 | Before ... += ... | Finally.cs:272:13:272:19 | ...; | +| Finally.cs:272:13:272:19 | ...; | Finally.cs:271:13:271:35 | After ...; | +| Finally.cs:272:13:272:19 | After ...; | Finally.cs:272:13:272:18 | After ... += ... | | Finally.cs:272:18:272:18 | 3 | Finally.cs:272:13:272:13 | access to parameter i | -| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | call to method | +| Foreach.cs:4:7:4:13 | After call to constructor Object | Foreach.cs:4:7:4:13 | call to constructor Object | +| Foreach.cs:4:7:4:13 | After call to method | Foreach.cs:4:7:4:13 | call to method | +| Foreach.cs:4:7:4:13 | Before call to constructor Object | Foreach.cs:4:7:4:13 | After call to method | +| Foreach.cs:4:7:4:13 | Before call to method | Foreach.cs:4:7:4:13 | Entry | +| Foreach.cs:4:7:4:13 | Exit | Foreach.cs:4:7:4:13 | Normal Exit | +| Foreach.cs:4:7:4:13 | Normal Exit | Foreach.cs:4:7:4:13 | {...} | +| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | Before call to constructor Object | | Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | this access | -| Foreach.cs:4:7:4:13 | exit Foreach | Foreach.cs:4:7:4:13 | exit Foreach (normal) | -| Foreach.cs:4:7:4:13 | exit Foreach (normal) | Foreach.cs:4:7:4:13 | {...} | -| Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | enter Foreach | -| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | call to constructor Object | -| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | exit M1 (normal) | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | -| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:6:10:6:11 | enter M1 | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | access to parameter args | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:9:13:9:13 | ; | -| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:7:5:10:5 | {...} | +| Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | Before call to method | +| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | After call to constructor Object | +| Foreach.cs:6:10:6:11 | Exit | Foreach.cs:6:10:6:11 | Normal Exit | +| Foreach.cs:6:10:6:11 | Normal Exit | Foreach.cs:7:5:10:5 | After {...} | +| Foreach.cs:7:5:10:5 | After {...} | Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | +| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:6:10:6:11 | Entry | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | +| Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:9:13:9:13 | ; | +| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:7:5:10:5 | {...} | +| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | +| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | | Foreach.cs:9:13:9:13 | ; | Foreach.cs:8:22:8:24 | String arg | -| Foreach.cs:12:10:12:11 | exit M2 | Foreach.cs:12:10:12:11 | exit M2 (normal) | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | -| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:12:10:12:11 | enter M2 | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | access to parameter args | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:15:13:15:13 | ; | -| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:13:5:16:5 | {...} | +| Foreach.cs:12:10:12:11 | Exit | Foreach.cs:12:10:12:11 | Normal Exit | +| Foreach.cs:12:10:12:11 | Normal Exit | Foreach.cs:13:5:16:5 | After {...} | +| Foreach.cs:13:5:16:5 | After {...} | Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | +| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:12:10:12:11 | Entry | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | +| Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:15:13:15:13 | ; | +| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:13:5:16:5 | {...} | +| Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | +| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | | Foreach.cs:15:13:15:13 | ; | Foreach.cs:14:22:14:22 | String _ | -| Foreach.cs:18:10:18:11 | exit M3 | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:18:10:18:11 | enter M3 | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | ... ?? ... | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:21:11:21:11 | ; | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:19:5:22:5 | {...} | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:43:20:68 | call to method Empty | +| Foreach.cs:18:10:18:11 | Exit | Foreach.cs:18:10:18:11 | Normal Exit | +| Foreach.cs:18:10:18:11 | Normal Exit | Foreach.cs:19:5:22:5 | After {...} | +| Foreach.cs:19:5:22:5 | After {...} | Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | +| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:18:10:18:11 | Entry | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | +| Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:21:11:21:11 | ; | +| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:19:5:22:5 | {...} | +| Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | +| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:38 | Before call to method ToArray | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:20:27:20:38 | Before call to method ToArray | Foreach.cs:20:27:20:68 | ... ?? ... | +| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | +| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:20:43:20:68 | Before call to method Empty | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | +| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | Before call to method Empty | | Foreach.cs:21:11:21:11 | ; | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:24:10:24:11 | exit M4 | Foreach.cs:24:10:24:11 | exit M4 (normal) | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | -| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:24:10:24:11 | enter M4 | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | access to parameter args | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:27:11:27:11 | ; | +| Foreach.cs:24:10:24:11 | Exit | Foreach.cs:24:10:24:11 | Normal Exit | +| Foreach.cs:24:10:24:11 | Normal Exit | Foreach.cs:25:5:28:5 | After {...} | +| Foreach.cs:25:5:28:5 | After {...} | Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | +| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:24:10:24:11 | Entry | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | +| Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:27:11:27:11 | ; | +| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:25:5:28:5 | {...} | | Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:26:30:26:30 | Int32 y | +| Foreach.cs:26:18:26:31 | After (..., ...) | Foreach.cs:26:18:26:31 | (..., ...) | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:18:26:31 | Before (..., ...) | | Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:25:5:28:5 | {...} | -| Foreach.cs:27:11:27:11 | ; | Foreach.cs:26:18:26:31 | (..., ...) | -| Foreach.cs:30:10:30:11 | exit M5 | Foreach.cs:30:10:30:11 | exit M5 (normal) | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | -| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:30:10:30:11 | enter M5 | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | access to parameter args | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:33:11:33:11 | ; | +| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | +| Foreach.cs:27:11:27:11 | ; | Foreach.cs:26:18:26:31 | After (..., ...) | +| Foreach.cs:30:10:30:11 | Exit | Foreach.cs:30:10:30:11 | Normal Exit | +| Foreach.cs:30:10:30:11 | Normal Exit | Foreach.cs:31:5:34:5 | After {...} | +| Foreach.cs:31:5:34:5 | After {...} | Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | +| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:30:10:30:11 | Entry | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | +| Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:33:11:33:11 | ; | +| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:31:5:34:5 | {...} | | Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:32:26:32:26 | Int32 y | +| Foreach.cs:32:18:32:27 | After (..., ...) | Foreach.cs:32:18:32:27 | (..., ...) | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:18:32:27 | Before (..., ...) | | Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:31:5:34:5 | {...} | -| Foreach.cs:33:11:33:11 | ; | Foreach.cs:32:18:32:27 | (..., ...) | -| Foreach.cs:36:10:36:11 | exit M6 | Foreach.cs:36:10:36:11 | exit M6 (normal) | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | -| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:36:10:36:11 | enter M6 | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | access to parameter args | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:39:11:39:11 | ; | +| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | +| Foreach.cs:33:11:33:11 | ; | Foreach.cs:32:18:32:27 | After (..., ...) | +| Foreach.cs:36:10:36:11 | Exit | Foreach.cs:36:10:36:11 | Normal Exit | +| Foreach.cs:36:10:36:11 | Normal Exit | Foreach.cs:37:5:40:5 | After {...} | +| Foreach.cs:37:5:40:5 | After {...} | Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | +| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:36:10:36:11 | Entry | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | +| Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:39:11:39:11 | ; | +| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:37:5:40:5 | {...} | | Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:38:33:38:33 | Int32 y | +| Foreach.cs:38:18:38:34 | After (..., ...) | Foreach.cs:38:18:38:34 | (..., ...) | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:18:38:34 | Before (..., ...) | | Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:38:26:38:26 | String x | -| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:37:5:40:5 | {...} | -| Foreach.cs:39:11:39:11 | ; | Foreach.cs:38:18:38:34 | (..., ...) | -| Initializers.cs:3:7:3:18 | exit | Initializers.cs:3:7:3:18 | exit (normal) | -| Initializers.cs:3:7:3:18 | exit (normal) | Initializers.cs:6:25:6:31 | ... = ... | -| Initializers.cs:3:7:3:18 | exit Initializers | Initializers.cs:3:7:3:18 | exit Initializers (normal) | -| Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | {...} | -| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | enter Initializers | -| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:13:5:17 | ... + ... | -| Initializers.cs:5:9:5:9 | this access | Initializers.cs:3:7:3:18 | enter | -| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:9:5:9 | access to field F | -| Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:9:5:9 | this access | +| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | +| Foreach.cs:39:11:39:11 | ; | Foreach.cs:38:18:38:34 | After (..., ...) | +| Initializers.cs:3:7:3:18 | Exit | Initializers.cs:3:7:3:18 | Normal Exit | +| Initializers.cs:3:7:3:18 | Exit | Initializers.cs:3:7:3:18 | Normal Exit | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | {...} | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:6:25:6:31 | After ... = ... | +| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:18:16:18:20 | After ... = ... | +| Initializers.cs:5:9:5:9 | After access to field F | Initializers.cs:5:9:5:9 | access to field F | +| Initializers.cs:5:9:5:9 | Before access to field F | Initializers.cs:5:9:5:17 | Before ... = ... | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:9 | this access | +| Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:9:5:9 | Before access to field F | +| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:13:5:17 | After ... + ... | +| Initializers.cs:5:9:5:17 | After ... = ... | Initializers.cs:5:9:5:17 | ... = ... | +| Initializers.cs:5:9:5:17 | Before ... = ... | Initializers.cs:3:7:3:18 | Entry | +| Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:13:5:17 | Before ... + ... | | Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:17:5:17 | 1 | +| Initializers.cs:5:13:5:17 | After ... + ... | Initializers.cs:5:13:5:17 | ... + ... | +| Initializers.cs:5:13:5:17 | Before ... + ... | Initializers.cs:5:9:5:9 | After access to field F | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:13:5:13 | access to field H | -| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:27:6:31 | ... + ... | -| Initializers.cs:6:9:6:9 | this access | Initializers.cs:5:9:5:17 | ... = ... | -| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:6:9:6:9 | access to property G | -| Initializers.cs:6:27:6:27 | access to field H | Initializers.cs:6:9:6:9 | this access | +| Initializers.cs:6:9:6:9 | After access to property G | Initializers.cs:6:9:6:9 | access to property G | +| Initializers.cs:6:9:6:9 | Before access to property G | Initializers.cs:6:25:6:31 | Before ... = ... | +| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:9:6:9 | this access | +| Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:9:6:9 | Before access to property G | +| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:6:27:6:31 | After ... + ... | +| Initializers.cs:6:25:6:31 | After ... = ... | Initializers.cs:6:25:6:31 | ... = ... | +| Initializers.cs:6:25:6:31 | Before ... = ... | Initializers.cs:5:9:5:17 | After ... = ... | +| Initializers.cs:6:27:6:27 | access to field H | Initializers.cs:6:27:6:31 | Before ... + ... | | Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:6:31:6:31 | 2 | +| Initializers.cs:6:27:6:31 | After ... + ... | Initializers.cs:6:27:6:31 | ... + ... | +| Initializers.cs:6:27:6:31 | Before ... + ... | Initializers.cs:6:9:6:9 | After access to property G | | Initializers.cs:6:31:6:31 | 2 | Initializers.cs:6:27:6:27 | access to field H | -| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:5:8:16 | call to method | +| Initializers.cs:8:5:8:16 | After call to constructor Object | Initializers.cs:8:5:8:16 | call to constructor Object | +| Initializers.cs:8:5:8:16 | After call to method | Initializers.cs:8:5:8:16 | call to method | +| Initializers.cs:8:5:8:16 | Before call to constructor Object | Initializers.cs:8:5:8:16 | After call to method | +| Initializers.cs:8:5:8:16 | Before call to method | Initializers.cs:8:5:8:16 | Entry | +| Initializers.cs:8:5:8:16 | Exit | Initializers.cs:8:5:8:16 | Normal Exit | +| Initializers.cs:8:5:8:16 | Normal Exit | Initializers.cs:8:20:8:22 | {...} | +| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:5:8:16 | Before call to constructor Object | | Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | this access | -| Initializers.cs:8:5:8:16 | exit Initializers | Initializers.cs:8:5:8:16 | exit Initializers (normal) | -| Initializers.cs:8:5:8:16 | exit Initializers (normal) | Initializers.cs:8:20:8:22 | {...} | -| Initializers.cs:8:5:8:16 | this access | Initializers.cs:8:5:8:16 | enter Initializers | -| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | call to constructor Object | -| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:5:10:16 | call to method | +| Initializers.cs:8:5:8:16 | this access | Initializers.cs:8:5:8:16 | Before call to method | +| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | After call to constructor Object | +| Initializers.cs:10:5:10:16 | After call to constructor Object | Initializers.cs:10:5:10:16 | call to constructor Object | +| Initializers.cs:10:5:10:16 | After call to method | Initializers.cs:10:5:10:16 | call to method | +| Initializers.cs:10:5:10:16 | Before call to constructor Object | Initializers.cs:10:5:10:16 | After call to method | +| Initializers.cs:10:5:10:16 | Before call to method | Initializers.cs:10:5:10:16 | Entry | +| Initializers.cs:10:5:10:16 | Exit | Initializers.cs:10:5:10:16 | Normal Exit | +| Initializers.cs:10:5:10:16 | Normal Exit | Initializers.cs:10:28:10:30 | {...} | +| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:5:10:16 | Before call to constructor Object | | Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | this access | -| Initializers.cs:10:5:10:16 | exit Initializers | Initializers.cs:10:5:10:16 | exit Initializers (normal) | -| Initializers.cs:10:5:10:16 | exit Initializers (normal) | Initializers.cs:10:28:10:30 | {...} | -| Initializers.cs:10:5:10:16 | this access | Initializers.cs:10:5:10:16 | enter Initializers | -| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | call to constructor Object | -| Initializers.cs:12:10:12:10 | exit M | Initializers.cs:12:10:12:10 | exit M (normal) | -| Initializers.cs:12:10:12:10 | exit M (normal) | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | -| Initializers.cs:13:5:16:5 | {...} | Initializers.cs:12:10:12:10 | enter M | +| Initializers.cs:10:5:10:16 | this access | Initializers.cs:10:5:10:16 | Before call to method | +| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | After call to constructor Object | +| Initializers.cs:12:10:12:10 | Exit | Initializers.cs:12:10:12:10 | Normal Exit | +| Initializers.cs:12:10:12:10 | Normal Exit | Initializers.cs:13:5:16:5 | After {...} | +| Initializers.cs:13:5:16:5 | After {...} | Initializers.cs:15:9:15:64 | After ... ...; | +| Initializers.cs:13:5:16:5 | {...} | Initializers.cs:12:10:12:10 | Entry | | Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:13:5:16:5 | {...} | -| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:38:14:53 | { ..., ... } | +| Initializers.cs:14:9:14:54 | After ... ...; | Initializers.cs:14:13:14:53 | After Initializers i = ... | +| Initializers.cs:14:13:14:13 | access to local variable i | Initializers.cs:14:13:14:53 | Before Initializers i = ... | +| Initializers.cs:14:13:14:53 | After Initializers i = ... | Initializers.cs:14:13:14:53 | Initializers i = ... | +| Initializers.cs:14:13:14:53 | Before Initializers i = ... | Initializers.cs:14:9:14:54 | ... ...; | +| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:17:14:53 | After object creation of type Initializers | +| Initializers.cs:14:17:14:53 | After object creation of type Initializers | Initializers.cs:14:38:14:53 | After { ..., ... } | +| Initializers.cs:14:17:14:53 | Before object creation of type Initializers | Initializers.cs:14:13:14:13 | access to local variable i | | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:34:14:35 | "" | -| Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:9:14:54 | ... ...; | -| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:47:14:51 | ... = ... | -| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:44:14:44 | 0 | -| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:40:14:40 | access to field F | -| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:17:14:53 | object creation of type Initializers | -| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:51:14:51 | 1 | -| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:47:14:47 | access to property G | -| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:40:14:44 | ... = ... | -| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:14:13:14:53 | Initializers i = ... | -| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:37:15:63 | { ..., ... } | -| Initializers.cs:15:18:15:63 | 2 | Initializers.cs:15:9:15:64 | ... ...; | +| Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:17:14:53 | Before object creation of type Initializers | +| Initializers.cs:14:38:14:53 | After { ..., ... } | Initializers.cs:14:38:14:53 | { ..., ... } | +| Initializers.cs:14:38:14:53 | Before { ..., ... } | Initializers.cs:14:17:14:53 | object creation of type Initializers | +| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:47:14:51 | After ... = ... | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:40:14:44 | Before ... = ... | +| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:44:14:44 | 0 | +| Initializers.cs:14:40:14:44 | After ... = ... | Initializers.cs:14:40:14:44 | ... = ... | +| Initializers.cs:14:40:14:44 | Before ... = ... | Initializers.cs:14:38:14:53 | Before { ..., ... } | +| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:40 | access to field F | +| Initializers.cs:14:47:14:47 | After access to property G | Initializers.cs:14:47:14:47 | access to property G | +| Initializers.cs:14:47:14:47 | Before access to property G | Initializers.cs:14:47:14:51 | Before ... = ... | +| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:47 | Before access to property G | +| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:51:14:51 | 1 | +| Initializers.cs:14:47:14:51 | After ... = ... | Initializers.cs:14:47:14:51 | ... = ... | +| Initializers.cs:14:47:14:51 | Before ... = ... | Initializers.cs:14:40:14:44 | After ... = ... | +| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:47 | After access to property G | +| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:14:9:14:54 | After ... ...; | +| Initializers.cs:15:9:15:64 | After ... ...; | Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | +| Initializers.cs:15:13:15:14 | access to local variable iz | Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | +| Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | +| Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | Initializers.cs:15:9:15:64 | ... ...; | +| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | +| Initializers.cs:15:18:15:63 | 2 | Initializers.cs:15:37:15:63 | After { ..., ... } | +| Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | +| Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | Initializers.cs:15:13:15:14 | access to local variable iz | | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:18:15:63 | 2 | -| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:42:15:61 | object creation of type Initializers | -| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | +| Initializers.cs:15:37:15:63 | After { ..., ... } | Initializers.cs:15:37:15:63 | { ..., ... } | +| Initializers.cs:15:37:15:63 | Before { ..., ... } | Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | +| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:42:15:61 | After object creation of type Initializers | +| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:37:15:63 | Before { ..., ... } | +| Initializers.cs:15:42:15:61 | After object creation of type Initializers | Initializers.cs:15:42:15:61 | object creation of type Initializers | +| Initializers.cs:15:42:15:61 | Before object creation of type Initializers | Initializers.cs:15:39:15:39 | access to local variable i | | Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:59:15:60 | "" | -| Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:39:15:39 | access to local variable i | -| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:20:18:20 | 1 | -| Initializers.cs:18:16:18:16 | exit H | Initializers.cs:18:16:18:16 | exit H (normal) | -| Initializers.cs:18:16:18:16 | exit H (normal) | Initializers.cs:18:16:18:20 | ... = ... | -| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | access to field H | -| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | enter H | -| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | call to method | +| Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:42:15:61 | Before object creation of type Initializers | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:16:18:20 | Before ... = ... | +| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:20:18:20 | 1 | +| Initializers.cs:18:16:18:20 | After ... = ... | Initializers.cs:18:16:18:20 | ... = ... | +| Initializers.cs:18:16:18:20 | Before ... = ... | Initializers.cs:3:7:3:18 | Entry | +| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | access to field H | +| Initializers.cs:20:11:20:23 | After call to constructor Object | Initializers.cs:20:11:20:23 | call to constructor Object | +| Initializers.cs:20:11:20:23 | After call to method | Initializers.cs:20:11:20:23 | call to method | +| Initializers.cs:20:11:20:23 | Before call to constructor Object | Initializers.cs:20:11:20:23 | After call to method | +| Initializers.cs:20:11:20:23 | Before call to method | Initializers.cs:20:11:20:23 | Entry | +| Initializers.cs:20:11:20:23 | Exit | Initializers.cs:20:11:20:23 | Normal Exit | +| Initializers.cs:20:11:20:23 | Exit | Initializers.cs:20:11:20:23 | Normal Exit | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | {...} | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:23:23:23:27 | After ... = ... | +| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | Before call to constructor Object | | Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | this access | -| Initializers.cs:20:11:20:23 | exit | Initializers.cs:20:11:20:23 | exit (normal) | -| Initializers.cs:20:11:20:23 | exit (normal) | Initializers.cs:23:23:23:27 | ... = ... | -| Initializers.cs:20:11:20:23 | exit NoConstructor | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | -| Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | {...} | -| Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | enter NoConstructor | -| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | call to constructor Object | -| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:27:22:27 | 0 | -| Initializers.cs:22:23:22:23 | this access | Initializers.cs:20:11:20:23 | enter | -| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:23:22:23 | access to field F | -| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | this access | -| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:27:23:27 | 1 | -| Initializers.cs:23:23:23:23 | this access | Initializers.cs:22:23:22:27 | ... = ... | -| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:23:23:23 | access to field G | -| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | this access | -| Initializers.cs:26:11:26:13 | exit | Initializers.cs:26:11:26:13 | exit (normal) | -| Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:28:13:28:17 | ... = ... | -| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:17:28:17 | 2 | -| Initializers.cs:28:13:28:13 | this access | Initializers.cs:26:11:26:13 | enter | -| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:13:28:13 | access to field H | -| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | this access | +| Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | Before call to method | +| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | After call to constructor Object | +| Initializers.cs:22:23:22:23 | After access to field F | Initializers.cs:22:23:22:23 | access to field F | +| Initializers.cs:22:23:22:23 | Before access to field F | Initializers.cs:22:23:22:27 | Before ... = ... | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:23 | this access | +| Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:23:22:23 | Before access to field F | +| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:27:22:27 | 0 | +| Initializers.cs:22:23:22:27 | After ... = ... | Initializers.cs:22:23:22:27 | ... = ... | +| Initializers.cs:22:23:22:27 | Before ... = ... | Initializers.cs:20:11:20:23 | Entry | +| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | After access to field F | +| Initializers.cs:23:23:23:23 | After access to field G | Initializers.cs:23:23:23:23 | access to field G | +| Initializers.cs:23:23:23:23 | Before access to field G | Initializers.cs:23:23:23:27 | Before ... = ... | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:23 | this access | +| Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:23:23:23 | Before access to field G | +| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:27:23:27 | 1 | +| Initializers.cs:23:23:23:27 | After ... = ... | Initializers.cs:23:23:23:27 | ... = ... | +| Initializers.cs:23:23:23:27 | Before ... = ... | Initializers.cs:22:23:22:27 | After ... = ... | +| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | After access to field G | +| Initializers.cs:26:11:26:13 | Exit | Initializers.cs:26:11:26:13 | Normal Exit | +| Initializers.cs:26:11:26:13 | Normal Exit | Initializers.cs:28:13:28:17 | After ... = ... | +| Initializers.cs:28:13:28:13 | After access to field H | Initializers.cs:28:13:28:13 | access to field H | +| Initializers.cs:28:13:28:13 | Before access to field H | Initializers.cs:28:13:28:17 | Before ... = ... | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:13 | this access | +| Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:13:28:13 | Before access to field H | +| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:17:28:17 | 2 | +| Initializers.cs:28:13:28:17 | After ... = ... | Initializers.cs:28:13:28:17 | ... = ... | +| Initializers.cs:28:13:28:17 | Before ... = ... | Initializers.cs:26:11:26:13 | Entry | +| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | After access to field H | +| Initializers.cs:31:9:31:11 | After call to method | Initializers.cs:31:9:31:11 | call to method | +| Initializers.cs:31:9:31:11 | Before call to method | Initializers.cs:31:9:31:11 | Entry | +| Initializers.cs:31:9:31:11 | Exit | Initializers.cs:31:9:31:11 | Normal Exit | +| Initializers.cs:31:9:31:11 | Normal Exit | Initializers.cs:31:24:31:33 | After {...} | | Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:9:31:11 | this access | -| Initializers.cs:31:9:31:11 | exit Sub | Initializers.cs:31:9:31:11 | exit Sub (normal) | -| Initializers.cs:31:9:31:11 | exit Sub (normal) | Initializers.cs:31:26:31:30 | ... = ... | -| Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | enter Sub | -| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:9:31:11 | call to method | -| Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | -| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:30:31:30 | 3 | -| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:26:31:31 | ...; | -| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:26:31:26 | access to field I | +| Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | Before call to method | +| Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | +| Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | Initializers.cs:31:9:31:11 | After call to method | +| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | +| Initializers.cs:31:24:31:33 | After {...} | Initializers.cs:31:26:31:31 | After ...; | +| Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | +| Initializers.cs:31:26:31:26 | After access to field I | Initializers.cs:31:26:31:26 | access to field I | +| Initializers.cs:31:26:31:26 | Before access to field I | Initializers.cs:31:26:31:30 | Before ... = ... | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:26 | this access | +| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:26:31:26 | Before access to field I | +| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:30:31:30 | 3 | +| Initializers.cs:31:26:31:30 | After ... = ... | Initializers.cs:31:26:31:30 | ... = ... | +| Initializers.cs:31:26:31:30 | Before ... = ... | Initializers.cs:31:26:31:31 | ...; | | Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:24:31:33 | {...} | -| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | this access | -| Initializers.cs:33:9:33:11 | exit Sub | Initializers.cs:33:9:33:11 | exit Sub (normal) | -| Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:31:33:35 | ... = ... | -| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:9:33:11 | enter Sub | -| Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:22:33:25 | call to constructor Sub | -| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:35:33:35 | access to parameter i | -| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:31:33:36 | ...; | -| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:31:33:31 | access to field I | +| Initializers.cs:31:26:31:31 | After ...; | Initializers.cs:31:26:31:30 | After ... = ... | +| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | After access to field I | +| Initializers.cs:33:9:33:11 | Exit | Initializers.cs:33:9:33:11 | Normal Exit | +| Initializers.cs:33:9:33:11 | Normal Exit | Initializers.cs:33:29:33:38 | After {...} | +| Initializers.cs:33:22:33:25 | After call to constructor Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | +| Initializers.cs:33:22:33:25 | Before call to constructor Sub | Initializers.cs:33:9:33:11 | Entry | +| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:22:33:25 | Before call to constructor Sub | +| Initializers.cs:33:29:33:38 | After {...} | Initializers.cs:33:31:33:36 | After ...; | +| Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:22:33:25 | After call to constructor Sub | +| Initializers.cs:33:31:33:31 | After access to field I | Initializers.cs:33:31:33:31 | access to field I | +| Initializers.cs:33:31:33:31 | Before access to field I | Initializers.cs:33:31:33:35 | Before ... = ... | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:31 | this access | +| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:31:33:31 | Before access to field I | +| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:35:33:35 | access to parameter i | +| Initializers.cs:33:31:33:35 | After ... = ... | Initializers.cs:33:31:33:35 | ... = ... | +| Initializers.cs:33:31:33:35 | Before ... = ... | Initializers.cs:33:31:33:36 | ...; | | Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:29:33:38 | {...} | -| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | this access | -| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | call to method | +| Initializers.cs:33:31:33:36 | After ...; | Initializers.cs:33:31:33:35 | After ... = ... | +| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | After access to field I | +| Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | +| Initializers.cs:35:9:35:11 | After call to method | Initializers.cs:35:9:35:11 | call to method | +| Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | Initializers.cs:35:9:35:11 | After call to method | +| Initializers.cs:35:9:35:11 | Before call to method | Initializers.cs:35:9:35:11 | Entry | +| Initializers.cs:35:9:35:11 | Exit | Initializers.cs:35:9:35:11 | Normal Exit | +| Initializers.cs:35:9:35:11 | Normal Exit | Initializers.cs:35:27:35:40 | After {...} | +| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | | Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | this access | -| Initializers.cs:35:9:35:11 | exit Sub | Initializers.cs:35:9:35:11 | exit Sub (normal) | -| Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:29:35:37 | ... = ... | -| Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | enter Sub | -| Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | -| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:33:35:37 | ... + ... | -| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:29:35:38 | ...; | -| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:29:35:29 | access to field I | +| Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | Before call to method | +| Initializers.cs:35:27:35:40 | After {...} | Initializers.cs:35:29:35:38 | After ...; | +| Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | +| Initializers.cs:35:29:35:29 | After access to field I | Initializers.cs:35:29:35:29 | access to field I | +| Initializers.cs:35:29:35:29 | Before access to field I | Initializers.cs:35:29:35:37 | Before ... = ... | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:29 | this access | +| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:29:35:29 | Before access to field I | +| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:33:35:37 | After ... + ... | +| Initializers.cs:35:29:35:37 | After ... = ... | Initializers.cs:35:29:35:37 | ... = ... | +| Initializers.cs:35:29:35:37 | Before ... = ... | Initializers.cs:35:29:35:38 | ...; | | Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:27:35:40 | {...} | -| Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:29:35:29 | this access | +| Initializers.cs:35:29:35:38 | After ...; | Initializers.cs:35:29:35:37 | After ... = ... | +| Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:33:35:37 | Before ... + ... | | Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:37:35:37 | access to parameter j | +| Initializers.cs:35:33:35:37 | After ... + ... | Initializers.cs:35:33:35:37 | ... + ... | +| Initializers.cs:35:33:35:37 | Before ... + ... | Initializers.cs:35:29:35:29 | After access to field I | | Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:33:35:33 | access to parameter i | -| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | call to method | +| Initializers.cs:39:7:39:23 | After call to constructor Object | Initializers.cs:39:7:39:23 | call to constructor Object | +| Initializers.cs:39:7:39:23 | After call to method | Initializers.cs:39:7:39:23 | call to method | +| Initializers.cs:39:7:39:23 | Before call to constructor Object | Initializers.cs:39:7:39:23 | After call to method | +| Initializers.cs:39:7:39:23 | Before call to method | Initializers.cs:39:7:39:23 | Entry | +| Initializers.cs:39:7:39:23 | Exit | Initializers.cs:39:7:39:23 | Normal Exit | +| Initializers.cs:39:7:39:23 | Normal Exit | Initializers.cs:39:7:39:23 | {...} | +| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | Before call to constructor Object | | Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | this access | -| Initializers.cs:39:7:39:23 | exit IndexInitializers | Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | -| Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | Initializers.cs:39:7:39:23 | {...} | -| Initializers.cs:39:7:39:23 | this access | Initializers.cs:39:7:39:23 | enter IndexInitializers | -| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | call to constructor Object | -| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | call to method | +| Initializers.cs:39:7:39:23 | this access | Initializers.cs:39:7:39:23 | Before call to method | +| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | After call to constructor Object | +| Initializers.cs:41:11:41:18 | After call to constructor Object | Initializers.cs:41:11:41:18 | call to constructor Object | +| Initializers.cs:41:11:41:18 | After call to method | Initializers.cs:41:11:41:18 | call to method | +| Initializers.cs:41:11:41:18 | Before call to constructor Object | Initializers.cs:41:11:41:18 | After call to method | +| Initializers.cs:41:11:41:18 | Before call to method | Initializers.cs:41:11:41:18 | Entry | +| Initializers.cs:41:11:41:18 | Exit | Initializers.cs:41:11:41:18 | Normal Exit | +| Initializers.cs:41:11:41:18 | Normal Exit | Initializers.cs:41:11:41:18 | {...} | +| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | Before call to constructor Object | | Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | this access | -| Initializers.cs:41:11:41:18 | exit Compound | Initializers.cs:41:11:41:18 | exit Compound (normal) | -| Initializers.cs:41:11:41:18 | exit Compound (normal) | Initializers.cs:41:11:41:18 | {...} | -| Initializers.cs:41:11:41:18 | this access | Initializers.cs:41:11:41:18 | enter Compound | -| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | call to constructor Object | -| Initializers.cs:51:10:51:13 | exit Test | Initializers.cs:51:10:51:13 | exit Test (normal) | -| Initializers.cs:51:10:51:13 | exit Test (normal) | Initializers.cs:57:13:65:9 | Compound compound = ... | -| Initializers.cs:52:5:66:5 | {...} | Initializers.cs:51:10:51:13 | enter Test | +| Initializers.cs:41:11:41:18 | this access | Initializers.cs:41:11:41:18 | Before call to method | +| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | After call to constructor Object | +| Initializers.cs:51:10:51:13 | Exit | Initializers.cs:51:10:51:13 | Normal Exit | +| Initializers.cs:51:10:51:13 | Normal Exit | Initializers.cs:52:5:66:5 | After {...} | +| Initializers.cs:52:5:66:5 | After {...} | Initializers.cs:57:9:65:10 | After ... ...; | +| Initializers.cs:52:5:66:5 | {...} | Initializers.cs:51:10:51:13 | Entry | | Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:52:5:66:5 | {...} | -| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:50:54:95 | { ..., ... } | -| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:9:54:96 | ... ...; | -| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:79:54:93 | ... = ... | -| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:58:54:63 | "Zero" | -| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:52:54:54 | access to indexer | -| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:20:54:95 | object creation of type Dictionary | -| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:53:54:53 | 0 | -| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:72:54:76 | "One" | -| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:66:54:68 | access to indexer | -| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:52:54:63 | ... = ... | -| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:67:54:67 | 1 | -| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:89:54:93 | "Two" | -| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:79:54:85 | access to indexer | -| Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:66:54:76 | ... = ... | +| Initializers.cs:54:9:54:96 | After ... ...; | Initializers.cs:54:13:54:95 | After Dictionary dict = ... | +| Initializers.cs:54:13:54:16 | access to local variable dict | Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | +| Initializers.cs:54:13:54:95 | After Dictionary dict = ... | Initializers.cs:54:13:54:95 | Dictionary dict = ... | +| Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | Initializers.cs:54:9:54:96 | ... ...; | +| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:20:54:95 | After object creation of type Dictionary | +| Initializers.cs:54:20:54:95 | After object creation of type Dictionary | Initializers.cs:54:50:54:95 | After { ..., ... } | +| Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | Initializers.cs:54:13:54:16 | access to local variable dict | +| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | +| Initializers.cs:54:50:54:95 | After { ..., ... } | Initializers.cs:54:50:54:95 | { ..., ... } | +| Initializers.cs:54:50:54:95 | Before { ..., ... } | Initializers.cs:54:20:54:95 | object creation of type Dictionary | +| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:79:54:93 | After ... = ... | +| Initializers.cs:54:52:54:54 | After access to indexer | Initializers.cs:54:52:54:54 | access to indexer | +| Initializers.cs:54:52:54:54 | Before access to indexer | Initializers.cs:54:52:54:63 | Before ... = ... | +| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:53:54:53 | 0 | +| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:58:54:63 | "Zero" | +| Initializers.cs:54:52:54:63 | After ... = ... | Initializers.cs:54:52:54:63 | ... = ... | +| Initializers.cs:54:52:54:63 | Before ... = ... | Initializers.cs:54:50:54:95 | Before { ..., ... } | +| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:52:54:54 | Before access to indexer | +| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:52:54:54 | After access to indexer | +| Initializers.cs:54:66:54:68 | After access to indexer | Initializers.cs:54:66:54:68 | access to indexer | +| Initializers.cs:54:66:54:68 | Before access to indexer | Initializers.cs:54:66:54:76 | Before ... = ... | +| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:67:54:67 | 1 | +| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:72:54:76 | "One" | +| Initializers.cs:54:66:54:76 | After ... = ... | Initializers.cs:54:66:54:76 | ... = ... | +| Initializers.cs:54:66:54:76 | Before ... = ... | Initializers.cs:54:52:54:63 | After ... = ... | +| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:66:54:68 | Before access to indexer | +| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:66:54:68 | After access to indexer | +| Initializers.cs:54:79:54:85 | After access to indexer | Initializers.cs:54:79:54:85 | access to indexer | +| Initializers.cs:54:79:54:85 | Before access to indexer | Initializers.cs:54:79:54:93 | Before ... = ... | +| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:80:54:84 | After ... + ... | +| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:89:54:93 | "Two" | +| Initializers.cs:54:79:54:93 | After ... = ... | Initializers.cs:54:79:54:93 | ... = ... | +| Initializers.cs:54:79:54:93 | Before ... = ... | Initializers.cs:54:66:54:76 | After ... = ... | +| Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:80:54:84 | Before ... + ... | | Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:84:54:84 | 2 | +| Initializers.cs:54:80:54:84 | After ... + ... | Initializers.cs:54:80:54:84 | ... + ... | +| Initializers.cs:54:80:54:84 | Before ... + ... | Initializers.cs:54:79:54:85 | Before access to indexer | | Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:80:54:80 | access to parameter i | -| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:80:54:84 | ... + ... | -| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:54:13:54:95 | Dictionary dict = ... | -| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:58:9:65:9 | { ..., ... } | -| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:57:9:65:10 | ... ...; | -| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:64:13:64:63 | ... = ... | -| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:31:59:76 | { ..., ... } | -| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:13:59:27 | access to field DictionaryField | -| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:60:59:74 | ... = ... | -| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:39:59:44 | "Zero" | -| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:33:59:35 | access to indexer | -| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:57:24:65:9 | object creation of type Compound | -| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:34:59:34 | 0 | -| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:53:59:57 | "One" | -| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:47:59:49 | access to indexer | -| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:33:59:44 | ... = ... | -| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:48:59:48 | 1 | -| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:70:59:74 | "Two" | -| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:60:59:66 | access to indexer | -| Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:47:59:57 | ... = ... | +| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:79:54:85 | After access to indexer | +| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:54:9:54:96 | After ... ...; | +| Initializers.cs:57:9:65:10 | After ... ...; | Initializers.cs:57:13:65:9 | After Compound compound = ... | +| Initializers.cs:57:13:57:20 | access to local variable compound | Initializers.cs:57:13:65:9 | Before Compound compound = ... | +| Initializers.cs:57:13:65:9 | After Compound compound = ... | Initializers.cs:57:13:65:9 | Compound compound = ... | +| Initializers.cs:57:13:65:9 | Before Compound compound = ... | Initializers.cs:57:9:65:10 | ... ...; | +| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:57:24:65:9 | After object creation of type Compound | +| Initializers.cs:57:24:65:9 | After object creation of type Compound | Initializers.cs:58:9:65:9 | After { ..., ... } | +| Initializers.cs:57:24:65:9 | Before object creation of type Compound | Initializers.cs:57:13:57:20 | access to local variable compound | +| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:57:24:65:9 | Before object creation of type Compound | +| Initializers.cs:58:9:65:9 | After { ..., ... } | Initializers.cs:58:9:65:9 | { ..., ... } | +| Initializers.cs:58:9:65:9 | Before { ..., ... } | Initializers.cs:57:24:65:9 | object creation of type Compound | +| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:64:13:64:63 | After ... = ... | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:13:59:76 | Before ... = ... | +| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:31:59:76 | After { ..., ... } | +| Initializers.cs:59:13:59:76 | After ... = ... | Initializers.cs:59:13:59:76 | ... = ... | +| Initializers.cs:59:13:59:76 | Before ... = ... | Initializers.cs:58:9:65:9 | Before { ..., ... } | +| Initializers.cs:59:31:59:76 | After { ..., ... } | Initializers.cs:59:31:59:76 | { ..., ... } | +| Initializers.cs:59:31:59:76 | Before { ..., ... } | Initializers.cs:59:13:59:27 | access to field DictionaryField | +| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:60:59:74 | After ... = ... | +| Initializers.cs:59:33:59:35 | After access to indexer | Initializers.cs:59:33:59:35 | access to indexer | +| Initializers.cs:59:33:59:35 | Before access to indexer | Initializers.cs:59:33:59:44 | Before ... = ... | +| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:34:59:34 | 0 | +| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:39:59:44 | "Zero" | +| Initializers.cs:59:33:59:44 | After ... = ... | Initializers.cs:59:33:59:44 | ... = ... | +| Initializers.cs:59:33:59:44 | Before ... = ... | Initializers.cs:59:31:59:76 | Before { ..., ... } | +| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:33:59:35 | Before access to indexer | +| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:33:59:35 | After access to indexer | +| Initializers.cs:59:47:59:49 | After access to indexer | Initializers.cs:59:47:59:49 | access to indexer | +| Initializers.cs:59:47:59:49 | Before access to indexer | Initializers.cs:59:47:59:57 | Before ... = ... | +| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:48:59:48 | 1 | +| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:53:59:57 | "One" | +| Initializers.cs:59:47:59:57 | After ... = ... | Initializers.cs:59:47:59:57 | ... = ... | +| Initializers.cs:59:47:59:57 | Before ... = ... | Initializers.cs:59:33:59:44 | After ... = ... | +| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:47:59:49 | Before access to indexer | +| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:47:59:49 | After access to indexer | +| Initializers.cs:59:60:59:66 | After access to indexer | Initializers.cs:59:60:59:66 | access to indexer | +| Initializers.cs:59:60:59:66 | Before access to indexer | Initializers.cs:59:60:59:74 | Before ... = ... | +| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:61:59:65 | After ... + ... | +| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:70:59:74 | "Two" | +| Initializers.cs:59:60:59:74 | After ... = ... | Initializers.cs:59:60:59:74 | ... = ... | +| Initializers.cs:59:60:59:74 | Before ... = ... | Initializers.cs:59:47:59:57 | After ... = ... | +| Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:61:59:65 | Before ... + ... | | Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:65:59:65 | 2 | +| Initializers.cs:59:61:59:65 | After ... + ... | Initializers.cs:59:61:59:65 | ... + ... | +| Initializers.cs:59:61:59:65 | Before ... + ... | Initializers.cs:59:60:59:66 | Before access to indexer | | Initializers.cs:59:65:59:65 | 2 | Initializers.cs:59:61:59:61 | access to parameter i | -| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:61:59:65 | ... + ... | -| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:34:60:80 | { ..., ... } | -| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | -| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:64:60:78 | ... = ... | -| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:42:60:48 | "Three" | -| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:36:60:38 | access to indexer | -| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:59:13:59:76 | ... = ... | -| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:37:60:37 | 3 | -| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:57:60:61 | "Two" | -| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:51:60:53 | access to indexer | -| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:36:60:48 | ... = ... | -| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:52:60:52 | 2 | -| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:74:60:78 | "One" | -| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:64:60:70 | access to indexer | -| Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:51:60:61 | ... = ... | +| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:60:59:66 | After access to indexer | +| Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | +| Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | Initializers.cs:60:13:60:80 | Before ... = ... | +| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | +| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:34:60:80 | After { ..., ... } | +| Initializers.cs:60:13:60:80 | After ... = ... | Initializers.cs:60:13:60:80 | ... = ... | +| Initializers.cs:60:13:60:80 | Before ... = ... | Initializers.cs:59:13:59:76 | After ... = ... | +| Initializers.cs:60:34:60:80 | After { ..., ... } | Initializers.cs:60:34:60:80 | { ..., ... } | +| Initializers.cs:60:34:60:80 | Before { ..., ... } | Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | +| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:64:60:78 | After ... = ... | +| Initializers.cs:60:36:60:38 | After access to indexer | Initializers.cs:60:36:60:38 | access to indexer | +| Initializers.cs:60:36:60:38 | Before access to indexer | Initializers.cs:60:36:60:48 | Before ... = ... | +| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:37:60:37 | 3 | +| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:42:60:48 | "Three" | +| Initializers.cs:60:36:60:48 | After ... = ... | Initializers.cs:60:36:60:48 | ... = ... | +| Initializers.cs:60:36:60:48 | Before ... = ... | Initializers.cs:60:34:60:80 | Before { ..., ... } | +| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:36:60:38 | Before access to indexer | +| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:36:60:38 | After access to indexer | +| Initializers.cs:60:51:60:53 | After access to indexer | Initializers.cs:60:51:60:53 | access to indexer | +| Initializers.cs:60:51:60:53 | Before access to indexer | Initializers.cs:60:51:60:61 | Before ... = ... | +| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:52:60:52 | 2 | +| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:57:60:61 | "Two" | +| Initializers.cs:60:51:60:61 | After ... = ... | Initializers.cs:60:51:60:61 | ... = ... | +| Initializers.cs:60:51:60:61 | Before ... = ... | Initializers.cs:60:36:60:48 | After ... = ... | +| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:51:60:53 | Before access to indexer | +| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:51:60:53 | After access to indexer | +| Initializers.cs:60:64:60:70 | After access to indexer | Initializers.cs:60:64:60:70 | access to indexer | +| Initializers.cs:60:64:60:70 | Before access to indexer | Initializers.cs:60:64:60:78 | Before ... = ... | +| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:65:60:69 | After ... + ... | +| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:74:60:78 | "One" | +| Initializers.cs:60:64:60:78 | After ... = ... | Initializers.cs:60:64:60:78 | ... = ... | +| Initializers.cs:60:64:60:78 | Before ... = ... | Initializers.cs:60:51:60:61 | After ... = ... | +| Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:65:60:69 | Before ... + ... | | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:69:60:69 | 1 | +| Initializers.cs:60:65:60:69 | After ... + ... | Initializers.cs:60:65:60:69 | ... + ... | +| Initializers.cs:60:65:60:69 | Before ... + ... | Initializers.cs:60:64:60:70 | Before access to indexer | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:65 | access to parameter i | -| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:65:60:69 | ... + ... | -| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:26:61:58 | { ..., ... } | -| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:13:61:22 | access to field ArrayField | -| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:42:61:56 | ... = ... | -| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:34:61:39 | "Zero" | -| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:28:61:30 | access to array element | -| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:60:13:60:80 | ... = ... | -| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:29:61:29 | 0 | -| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:52:61:56 | "One" | -| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:42:61:48 | access to array element | -| Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:28:61:39 | ... = ... | +| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:70 | After access to indexer | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:13:61:58 | Before ... = ... | +| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:26:61:58 | After { ..., ... } | +| Initializers.cs:61:13:61:58 | After ... = ... | Initializers.cs:61:13:61:58 | ... = ... | +| Initializers.cs:61:13:61:58 | Before ... = ... | Initializers.cs:60:13:60:80 | After ... = ... | +| Initializers.cs:61:26:61:58 | After { ..., ... } | Initializers.cs:61:26:61:58 | { ..., ... } | +| Initializers.cs:61:26:61:58 | Before { ..., ... } | Initializers.cs:61:13:61:22 | access to field ArrayField | +| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:42:61:56 | After ... = ... | +| Initializers.cs:61:28:61:30 | After access to array element | Initializers.cs:61:28:61:30 | access to array element | +| Initializers.cs:61:28:61:30 | Before access to array element | Initializers.cs:61:28:61:39 | Before ... = ... | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:29:61:29 | 0 | +| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:34:61:39 | "Zero" | +| Initializers.cs:61:28:61:39 | After ... = ... | Initializers.cs:61:28:61:39 | ... = ... | +| Initializers.cs:61:28:61:39 | Before ... = ... | Initializers.cs:61:26:61:58 | Before { ..., ... } | +| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:28:61:30 | Before access to array element | +| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:30 | After access to array element | +| Initializers.cs:61:42:61:48 | After access to array element | Initializers.cs:61:42:61:48 | access to array element | +| Initializers.cs:61:42:61:48 | Before access to array element | Initializers.cs:61:42:61:56 | Before ... = ... | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:43:61:47 | After ... + ... | +| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:52:61:56 | "One" | +| Initializers.cs:61:42:61:56 | After ... = ... | Initializers.cs:61:42:61:56 | ... = ... | +| Initializers.cs:61:42:61:56 | Before ... = ... | Initializers.cs:61:28:61:39 | After ... = ... | +| Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:43:61:47 | Before ... + ... | | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:47:61:47 | 1 | +| Initializers.cs:61:43:61:47 | After ... + ... | Initializers.cs:61:43:61:47 | ... + ... | +| Initializers.cs:61:43:61:47 | Before ... + ... | Initializers.cs:61:42:61:48 | Before access to array element | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:43 | access to parameter i | -| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:43:61:47 | ... + ... | -| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:27:62:60 | { ..., ... } | -| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:13:62:23 | access to field ArrayField2 | -| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:43:62:58 | ... = ... | -| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:38:62:40 | "i" | -| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:29:62:34 | access to array element | -| Initializers.cs:62:30:62:30 | 0 | Initializers.cs:61:13:61:58 | ... = ... | +| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:48 | After access to array element | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:13:62:60 | Before ... = ... | +| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:27:62:60 | After { ..., ... } | +| Initializers.cs:62:13:62:60 | After ... = ... | Initializers.cs:62:13:62:60 | ... = ... | +| Initializers.cs:62:13:62:60 | Before ... = ... | Initializers.cs:61:13:61:58 | After ... = ... | +| Initializers.cs:62:27:62:60 | After { ..., ... } | Initializers.cs:62:27:62:60 | { ..., ... } | +| Initializers.cs:62:27:62:60 | Before { ..., ... } | Initializers.cs:62:13:62:23 | access to field ArrayField2 | +| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:43:62:58 | After ... = ... | +| Initializers.cs:62:29:62:34 | After access to array element | Initializers.cs:62:29:62:34 | access to array element | +| Initializers.cs:62:29:62:34 | Before access to array element | Initializers.cs:62:29:62:40 | Before ... = ... | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:33:62:33 | 1 | +| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:38:62:40 | "i" | +| Initializers.cs:62:29:62:40 | After ... = ... | Initializers.cs:62:29:62:40 | ... = ... | +| Initializers.cs:62:29:62:40 | Before ... = ... | Initializers.cs:62:27:62:60 | Before { ..., ... } | +| Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:29:62:34 | Before access to array element | | Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:30:62:30 | 0 | -| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:33:62:33 | 1 | -| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:56:62:58 | "1" | -| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:43:62:52 | access to array element | -| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:29:62:40 | ... = ... | -| Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:44:62:44 | 1 | +| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:34 | After access to array element | +| Initializers.cs:62:43:62:52 | After access to array element | Initializers.cs:62:43:62:52 | access to array element | +| Initializers.cs:62:43:62:52 | Before access to array element | Initializers.cs:62:43:62:58 | Before ... = ... | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:47:62:51 | After ... + ... | +| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:56:62:58 | "1" | +| Initializers.cs:62:43:62:58 | After ... = ... | Initializers.cs:62:43:62:58 | ... = ... | +| Initializers.cs:62:43:62:58 | Before ... = ... | Initializers.cs:62:29:62:40 | After ... = ... | +| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:43:62:52 | Before access to array element | +| Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:47:62:51 | Before ... + ... | | Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:51:62:51 | 0 | +| Initializers.cs:62:47:62:51 | After ... + ... | Initializers.cs:62:47:62:51 | ... + ... | +| Initializers.cs:62:47:62:51 | Before ... + ... | Initializers.cs:62:44:62:44 | 1 | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:47:62:47 | access to parameter i | -| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:47:62:51 | ... + ... | -| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:29:63:60 | { ..., ... } | -| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:13:63:25 | access to property ArrayProperty | -| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:44:63:58 | ... = ... | -| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:37:63:41 | "One" | -| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:31:63:33 | access to array element | -| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:62:13:62:60 | ... = ... | -| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:32:63:32 | 1 | -| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:54:63:58 | "Two" | -| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:44:63:50 | access to array element | -| Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:31:63:41 | ... = ... | +| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:52 | After access to array element | +| Initializers.cs:63:13:63:25 | After access to property ArrayProperty | Initializers.cs:63:13:63:25 | access to property ArrayProperty | +| Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | Initializers.cs:63:13:63:60 | Before ... = ... | +| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | +| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:29:63:60 | After { ..., ... } | +| Initializers.cs:63:13:63:60 | After ... = ... | Initializers.cs:63:13:63:60 | ... = ... | +| Initializers.cs:63:13:63:60 | Before ... = ... | Initializers.cs:62:13:62:60 | After ... = ... | +| Initializers.cs:63:29:63:60 | After { ..., ... } | Initializers.cs:63:29:63:60 | { ..., ... } | +| Initializers.cs:63:29:63:60 | Before { ..., ... } | Initializers.cs:63:13:63:25 | After access to property ArrayProperty | +| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:44:63:58 | After ... = ... | +| Initializers.cs:63:31:63:33 | After access to array element | Initializers.cs:63:31:63:33 | access to array element | +| Initializers.cs:63:31:63:33 | Before access to array element | Initializers.cs:63:31:63:41 | Before ... = ... | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:32:63:32 | 1 | +| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:37:63:41 | "One" | +| Initializers.cs:63:31:63:41 | After ... = ... | Initializers.cs:63:31:63:41 | ... = ... | +| Initializers.cs:63:31:63:41 | Before ... = ... | Initializers.cs:63:29:63:60 | Before { ..., ... } | +| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:31:63:33 | Before access to array element | +| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:33 | After access to array element | +| Initializers.cs:63:44:63:50 | After access to array element | Initializers.cs:63:44:63:50 | access to array element | +| Initializers.cs:63:44:63:50 | Before access to array element | Initializers.cs:63:44:63:58 | Before ... = ... | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:45:63:49 | After ... + ... | +| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:54:63:58 | "Two" | +| Initializers.cs:63:44:63:58 | After ... = ... | Initializers.cs:63:44:63:58 | ... = ... | +| Initializers.cs:63:44:63:58 | Before ... = ... | Initializers.cs:63:31:63:41 | After ... = ... | +| Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:45:63:49 | Before ... + ... | | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:49:63:49 | 2 | +| Initializers.cs:63:45:63:49 | After ... + ... | Initializers.cs:63:45:63:49 | ... + ... | +| Initializers.cs:63:45:63:49 | Before ... + ... | Initializers.cs:63:44:63:50 | Before access to array element | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:45 | access to parameter i | -| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:45:63:49 | ... + ... | -| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:30:64:63 | { ..., ... } | -| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | -| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:46:64:61 | ... = ... | -| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:41:64:43 | "i" | -| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:32:64:37 | access to array element | -| Initializers.cs:64:33:64:33 | 0 | Initializers.cs:63:13:63:60 | ... = ... | +| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:50 | After access to array element | +| Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | +| Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | Initializers.cs:64:13:64:63 | Before ... = ... | +| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | +| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:30:64:63 | After { ..., ... } | +| Initializers.cs:64:13:64:63 | After ... = ... | Initializers.cs:64:13:64:63 | ... = ... | +| Initializers.cs:64:13:64:63 | Before ... = ... | Initializers.cs:63:13:63:60 | After ... = ... | +| Initializers.cs:64:30:64:63 | After { ..., ... } | Initializers.cs:64:30:64:63 | { ..., ... } | +| Initializers.cs:64:30:64:63 | Before { ..., ... } | Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | +| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:46:64:61 | After ... = ... | +| Initializers.cs:64:32:64:37 | After access to array element | Initializers.cs:64:32:64:37 | access to array element | +| Initializers.cs:64:32:64:37 | Before access to array element | Initializers.cs:64:32:64:43 | Before ... = ... | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:36:64:36 | 1 | +| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:41:64:43 | "i" | +| Initializers.cs:64:32:64:43 | After ... = ... | Initializers.cs:64:32:64:43 | ... = ... | +| Initializers.cs:64:32:64:43 | Before ... = ... | Initializers.cs:64:30:64:63 | Before { ..., ... } | +| Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:32:64:37 | Before access to array element | | Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:33:64:33 | 0 | -| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:36:64:36 | 1 | -| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:59:64:61 | "1" | -| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:46:64:55 | access to array element | -| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:32:64:43 | ... = ... | -| Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:47:64:47 | 1 | +| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:37 | After access to array element | +| Initializers.cs:64:46:64:55 | After access to array element | Initializers.cs:64:46:64:55 | access to array element | +| Initializers.cs:64:46:64:55 | Before access to array element | Initializers.cs:64:46:64:61 | Before ... = ... | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:50:64:54 | After ... + ... | +| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:59:64:61 | "1" | +| Initializers.cs:64:46:64:61 | After ... = ... | Initializers.cs:64:46:64:61 | ... = ... | +| Initializers.cs:64:46:64:61 | Before ... = ... | Initializers.cs:64:32:64:43 | After ... = ... | +| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:46:64:55 | Before access to array element | +| Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:50:64:54 | Before ... + ... | | Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:54:64:54 | 0 | +| Initializers.cs:64:50:64:54 | After ... + ... | Initializers.cs:64:50:64:54 | ... + ... | +| Initializers.cs:64:50:64:54 | Before ... + ... | Initializers.cs:64:47:64:47 | 1 | | Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:50:64:50 | access to parameter i | -| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:50:64:54 | ... + ... | -| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | call to method | +| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:55 | After access to array element | +| LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | +| LoopUnrolling.cs:5:7:5:19 | After call to method | LoopUnrolling.cs:5:7:5:19 | call to method | +| LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | LoopUnrolling.cs:5:7:5:19 | After call to method | +| LoopUnrolling.cs:5:7:5:19 | Before call to method | LoopUnrolling.cs:5:7:5:19 | Entry | +| LoopUnrolling.cs:5:7:5:19 | Exit | LoopUnrolling.cs:5:7:5:19 | Normal Exit | +| LoopUnrolling.cs:5:7:5:19 | Normal Exit | LoopUnrolling.cs:5:7:5:19 | {...} | +| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | | LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | this access | -| LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | -| LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | LoopUnrolling.cs:5:7:5:19 | {...} | -| LoopUnrolling.cs:5:7:5:19 | this access | LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | -| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | -| LoopUnrolling.cs:7:10:7:11 | exit M1 | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:7:10:7:11 | enter M1 | +| LoopUnrolling.cs:5:7:5:19 | this access | LoopUnrolling.cs:5:7:5:19 | Before call to method | +| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | +| LoopUnrolling.cs:7:10:7:11 | Exit | LoopUnrolling.cs:7:10:7:11 | Normal Exit | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:8:5:13:5 | After {...} | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:10:13:10:19 | return ...; | +| LoopUnrolling.cs:8:5:13:5 | After {...} | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:7:10:7:11 | Entry | +| LoopUnrolling.cs:9:9:10:19 | After if (...) ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | | LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:8:5:13:5 | {...} | -| LoopUnrolling.cs:9:13:9:16 | access to parameter args | LoopUnrolling.cs:9:9:10:19 | if (...) ... | +| LoopUnrolling.cs:9:13:9:16 | access to parameter args | LoopUnrolling.cs:9:13:9:23 | Before access to property Length | +| LoopUnrolling.cs:9:13:9:23 | After access to property Length | LoopUnrolling.cs:9:13:9:23 | access to property Length | +| LoopUnrolling.cs:9:13:9:23 | Before access to property Length | LoopUnrolling.cs:9:13:9:28 | Before ... == ... | | LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:9:13:9:16 | access to parameter args | | LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:28:9:28 | 0 | -| LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:9:13:9:23 | access to property Length | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | +| LoopUnrolling.cs:9:13:9:28 | Before ... == ... | LoopUnrolling.cs:9:9:10:19 | if (...) ... | +| LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:9:13:9:23 | After access to property Length | +| LoopUnrolling.cs:10:13:10:19 | Before return ...; | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | +| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | Before return ...; | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:12:13:12:35 | After ...; | +| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:9:9:10:19 | After if (...) ... | +| LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | +| LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | LoopUnrolling.cs:12:13:12:35 | ...; | | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | | LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:12:13:12:35 | ...; | -| LoopUnrolling.cs:15:10:15:11 | exit M2 | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:15:10:15:11 | enter M2 | +| LoopUnrolling.cs:12:13:12:35 | After ...; | LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | +| LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | +| LoopUnrolling.cs:15:10:15:11 | Exit | LoopUnrolling.cs:15:10:15:11 | Normal Exit | +| LoopUnrolling.cs:15:10:15:11 | Normal Exit | LoopUnrolling.cs:16:5:20:5 | After {...} | +| LoopUnrolling.cs:16:5:20:5 | After {...} | LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:15:10:15:11 | Entry | | LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:16:5:20:5 | {...} | -| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | -| LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:17:9:17:48 | ... ...; | +| LoopUnrolling.cs:17:9:17:48 | After ... ...; | LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | +| LoopUnrolling.cs:17:13:17:14 | access to local variable xs | LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | +| LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | +| LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | LoopUnrolling.cs:17:9:17:48 | ... ...; | +| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | +| LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | +| LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | +| LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | LoopUnrolling.cs:17:13:17:14 | access to local variable xs | | LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:18:17:47 | 3 | +| LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | +| LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:43:17:45 | "c" | -| LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | +| LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | | LoopUnrolling.cs:17:38:17:40 | "b" | LoopUnrolling.cs:17:33:17:35 | "a" | | LoopUnrolling.cs:17:43:17:45 | "c" | LoopUnrolling.cs:17:38:17:40 | "b" | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | -| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:19:13:19:33 | After ...; | +| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:17:9:17:48 | After ... ...; | +| LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | +| LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | LoopUnrolling.cs:19:13:19:33 | ...; | | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:19:31:19:31 | access to local variable x | | LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:18:22:18:22 | String x | -| LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:19:13:19:33 | ...; | -| LoopUnrolling.cs:22:10:22:11 | exit M3 | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:22:10:22:11 | enter M3 | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | access to parameter args | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:23:5:27:5 | {...} | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | access to parameter args | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | -| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:19:13:19:33 | After ...; | LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | +| LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | +| LoopUnrolling.cs:22:10:22:11 | Exit | LoopUnrolling.cs:22:10:22:11 | Normal Exit | +| LoopUnrolling.cs:22:10:22:11 | Normal Exit | LoopUnrolling.cs:23:5:27:5 | After {...} | +| LoopUnrolling.cs:23:5:27:5 | After {...} | LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:22:10:22:11 | Entry | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:23:5:27:5 | {...} | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:26:17:26:40 | After ...; | +| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | +| LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | LoopUnrolling.cs:26:17:26:40 | ...; | | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | | LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:25:26:25:29 | Char arg0 | -| LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:26:17:26:40 | ...; | -| LoopUnrolling.cs:29:10:29:11 | exit M4 | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:29:10:29:11 | enter M4 | +| LoopUnrolling.cs:26:17:26:40 | After ...; | LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | +| LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | +| LoopUnrolling.cs:29:10:29:11 | Exit | LoopUnrolling.cs:29:10:29:11 | Normal Exit | +| LoopUnrolling.cs:29:10:29:11 | Normal Exit | LoopUnrolling.cs:30:5:34:5 | After {...} | +| LoopUnrolling.cs:30:5:34:5 | After {...} | LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:29:10:29:11 | Entry | | LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:30:5:34:5 | {...} | -| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | +| LoopUnrolling.cs:31:9:31:31 | After ... ...; | LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | +| LoopUnrolling.cs:31:13:31:14 | access to local variable xs | LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | +| LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | +| LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | LoopUnrolling.cs:31:9:31:31 | ... ...; | +| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | +| LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | +| LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | LoopUnrolling.cs:31:13:31:14 | access to local variable xs | | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:29:31:29 | 0 | -| LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:31:9:31:31 | ... ...; | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | -| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | +| LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:33:13:33:33 | After ...; | +| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:31:9:31:31 | After ... ...; | +| LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | +| LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | LoopUnrolling.cs:33:13:33:33 | ...; | | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:33:31:33:31 | access to local variable x | | LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:32:22:32:22 | String x | -| LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:33:13:33:33 | ...; | -| LoopUnrolling.cs:36:10:36:11 | exit M5 | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:36:10:36:11 | enter M5 | +| LoopUnrolling.cs:33:13:33:33 | After ...; | LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | +| LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | +| LoopUnrolling.cs:36:10:36:11 | Exit | LoopUnrolling.cs:36:10:36:11 | Normal Exit | +| LoopUnrolling.cs:36:10:36:11 | Normal Exit | LoopUnrolling.cs:37:5:43:5 | After {...} | +| LoopUnrolling.cs:37:5:43:5 | After {...} | LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:36:10:36:11 | Entry | | LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:37:5:43:5 | {...} | -| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | -| LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:38:9:38:48 | ... ...; | +| LoopUnrolling.cs:38:9:38:48 | After ... ...; | LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | +| LoopUnrolling.cs:38:13:38:14 | access to local variable xs | LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | +| LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | +| LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | LoopUnrolling.cs:38:9:38:48 | ... ...; | +| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | +| LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | +| LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | +| LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | LoopUnrolling.cs:38:13:38:14 | access to local variable xs | | LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:18:38:47 | 3 | +| LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | +| LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:43:38:45 | "c" | -| LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | +| LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | | LoopUnrolling.cs:38:38:38:40 | "b" | LoopUnrolling.cs:38:33:38:35 | "a" | | LoopUnrolling.cs:38:43:38:45 | "c" | LoopUnrolling.cs:38:38:38:40 | "b" | -| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | -| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | -| LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:39:9:39:48 | ... ...; | +| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:38:9:38:48 | After ... ...; | +| LoopUnrolling.cs:39:9:39:48 | After ... ...; | LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | +| LoopUnrolling.cs:39:13:39:14 | access to local variable ys | LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | +| LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | +| LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | LoopUnrolling.cs:39:9:39:48 | ... ...; | +| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | +| LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | +| LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | +| LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | LoopUnrolling.cs:39:13:39:14 | access to local variable ys | | LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:18:39:47 | 3 | +| LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | +| LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:43:39:45 | "2" | -| LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | +| LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | | LoopUnrolling.cs:39:38:39:40 | "1" | LoopUnrolling.cs:39:33:39:35 | "0" | | LoopUnrolling.cs:39:43:39:45 | "2" | LoopUnrolling.cs:39:38:39:40 | "1" | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | -| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:42:35:42:39 | ... + ... | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:39:9:39:48 | After ... ...; | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:42:17:42:41 | After ...; | +| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | +| LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | +| LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | LoopUnrolling.cs:42:17:42:41 | ...; | +| LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:42:35:42:39 | After ... + ... | | LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:41:26:41:26 | String y | -| LoopUnrolling.cs:42:35:42:35 | access to local variable x | LoopUnrolling.cs:42:17:42:41 | ...; | +| LoopUnrolling.cs:42:17:42:41 | After ...; | LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | +| LoopUnrolling.cs:42:35:42:35 | access to local variable x | LoopUnrolling.cs:42:35:42:39 | Before ... + ... | | LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:42:39:42:39 | access to local variable y | +| LoopUnrolling.cs:42:35:42:39 | After ... + ... | LoopUnrolling.cs:42:35:42:39 | ... + ... | +| LoopUnrolling.cs:42:35:42:39 | Before ... + ... | LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | | LoopUnrolling.cs:42:39:42:39 | access to local variable y | LoopUnrolling.cs:42:35:42:35 | access to local variable x | -| LoopUnrolling.cs:45:10:45:11 | exit M6 | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:45:10:45:11 | enter M6 | +| LoopUnrolling.cs:45:10:45:11 | Exit | LoopUnrolling.cs:45:10:45:11 | Normal Exit | +| LoopUnrolling.cs:45:10:45:11 | Normal Exit | LoopUnrolling.cs:46:5:53:5 | After {...} | +| LoopUnrolling.cs:46:5:53:5 | After {...} | LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:45:10:45:11 | Entry | | LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:46:5:53:5 | {...} | -| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | -| LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:47:9:47:48 | ... ...; | +| LoopUnrolling.cs:47:9:47:48 | After ... ...; | LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | +| LoopUnrolling.cs:47:13:47:14 | access to local variable xs | LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | +| LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | +| LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | LoopUnrolling.cs:47:9:47:48 | ... ...; | +| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | +| LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | +| LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | +| LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | LoopUnrolling.cs:47:13:47:14 | access to local variable xs | | LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:18:47:47 | 3 | +| LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | +| LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:43:47:45 | "c" | -| LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | +| LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | | LoopUnrolling.cs:47:38:47:40 | "b" | LoopUnrolling.cs:47:33:47:35 | "a" | | LoopUnrolling.cs:47:43:47:45 | "c" | LoopUnrolling.cs:47:38:47:40 | "b" | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | -| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | +| LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:47:9:47:48 | After ... ...; | +| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | +| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | | LoopUnrolling.cs:49:9:52:9 | {...} | LoopUnrolling.cs:48:22:48:22 | String x | +| LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | +| LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | LoopUnrolling.cs:50:16:50:36 | ...; | | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:50:34:50:34 | access to local variable x | | LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:50:9:50:13 | Label: | -| LoopUnrolling.cs:50:34:50:34 | access to local variable x | LoopUnrolling.cs:50:16:50:36 | ...; | -| LoopUnrolling.cs:51:13:51:23 | goto ...; | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | -| LoopUnrolling.cs:55:10:55:11 | exit M7 | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:55:10:55:11 | enter M7 | +| LoopUnrolling.cs:50:16:50:36 | After ...; | LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | +| LoopUnrolling.cs:50:34:50:34 | access to local variable x | LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | +| LoopUnrolling.cs:51:13:51:23 | Before goto ...; | LoopUnrolling.cs:50:16:50:36 | After ...; | +| LoopUnrolling.cs:51:13:51:23 | goto ...; | LoopUnrolling.cs:51:13:51:23 | Before goto ...; | +| LoopUnrolling.cs:55:10:55:11 | Exit | LoopUnrolling.cs:55:10:55:11 | Normal Exit | +| LoopUnrolling.cs:55:10:55:11 | Normal Exit | LoopUnrolling.cs:56:5:65:5 | After {...} | +| LoopUnrolling.cs:56:5:65:5 | After {...} | LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:55:10:55:11 | Entry | | LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:56:5:65:5 | {...} | -| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | -| LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:57:9:57:48 | ... ...; | +| LoopUnrolling.cs:57:9:57:48 | After ... ...; | LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | +| LoopUnrolling.cs:57:13:57:14 | access to local variable xs | LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | +| LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | +| LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | LoopUnrolling.cs:57:9:57:48 | ... ...; | +| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | +| LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | +| LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | +| LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | LoopUnrolling.cs:57:13:57:14 | access to local variable xs | | LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:18:57:47 | 3 | +| LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | +| LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:43:57:45 | "c" | -| LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | +| LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | | LoopUnrolling.cs:57:38:57:40 | "b" | LoopUnrolling.cs:57:33:57:35 | "a" | | LoopUnrolling.cs:57:43:57:45 | "c" | LoopUnrolling.cs:57:38:57:40 | "b" | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:62:17:62:17 | access to parameter b | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | -| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:59:9:64:9 | After {...} | +| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:57:9:57:48 | After ... ...; | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:59:9:64:9 | After {...} | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | | LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:61:17:61:37 | After ...; | | LoopUnrolling.cs:60:13:61:37 | if (...) ... | LoopUnrolling.cs:59:9:64:9 | {...} | | LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:13:61:37 | if (...) ... | +| LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | +| LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | LoopUnrolling.cs:61:17:61:37 | ...; | | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | LoopUnrolling.cs:61:35:61:35 | access to local variable x | -| LoopUnrolling.cs:61:35:61:35 | access to local variable x | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:60:17:60:17 | access to parameter b | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | +| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:61:17:61:37 | After ...; | LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | +| LoopUnrolling.cs:61:35:61:35 | access to local variable x | LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:63:17:63:37 | After ...; | +| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | | LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:13:63:37 | if (...) ... | +| LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | +| LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | LoopUnrolling.cs:63:17:63:37 | ...; | | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | LoopUnrolling.cs:63:35:63:35 | access to local variable x | -| LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:67:10:67:11 | exit M8 | LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:70:13:70:19 | return ...; | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:67:10:67:11 | enter M8 | +| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:63:17:63:37 | After ...; | LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | +| LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | +| LoopUnrolling.cs:67:10:67:11 | Exit | LoopUnrolling.cs:67:10:67:11 | Normal Exit | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:68:5:74:5 | After {...} | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:70:13:70:19 | return ...; | +| LoopUnrolling.cs:68:5:74:5 | After {...} | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:67:10:67:11 | Entry | +| LoopUnrolling.cs:69:9:70:19 | After if (...) ... | LoopUnrolling.cs:69:13:69:23 | After !... [false] | | LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:68:5:74:5 | {...} | -| LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:69:9:70:19 | if (...) ... | +| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:9:70:19 | if (...) ... | +| LoopUnrolling.cs:69:13:69:23 | After !... [false] | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:69:13:69:23 | After !... [true] | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | +| LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:69:14:69:23 | Before call to method Any | +| LoopUnrolling.cs:69:14:69:23 | Before call to method Any | LoopUnrolling.cs:69:13:69:23 | !... | | LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:17 | access to parameter args | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:69:13:69:23 | [true] !... | -| LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:71:9:71:21 | ...; | +| LoopUnrolling.cs:70:13:70:19 | Before return ...; | LoopUnrolling.cs:69:13:69:23 | After !... [true] | +| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:70:13:70:19 | Before return ...; | +| LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | +| LoopUnrolling.cs:71:9:71:20 | After call to method Clear | LoopUnrolling.cs:71:9:71:20 | call to method Clear | +| LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | LoopUnrolling.cs:71:9:71:21 | ...; | | LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:71:9:71:12 | access to parameter args | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | access to parameter args | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | -| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:71:9:71:20 | call to method Clear | +| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:69:9:70:19 | After if (...) ... | +| LoopUnrolling.cs:71:9:71:21 | After ...; | LoopUnrolling.cs:71:9:71:20 | After call to method Clear | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:73:13:73:35 | After ...; | +| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:71:9:71:21 | After ...; | +| LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | +| LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | LoopUnrolling.cs:73:13:73:35 | ...; | | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | | LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:73:13:73:35 | ...; | -| LoopUnrolling.cs:76:10:76:11 | exit M9 | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:76:10:76:11 | enter M9 | +| LoopUnrolling.cs:73:13:73:35 | After ...; | LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | +| LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | +| LoopUnrolling.cs:76:10:76:11 | Exit | LoopUnrolling.cs:76:10:76:11 | Normal Exit | +| LoopUnrolling.cs:76:10:76:11 | Normal Exit | LoopUnrolling.cs:77:5:83:5 | After {...} | +| LoopUnrolling.cs:77:5:83:5 | After {...} | LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:76:10:76:11 | Entry | | LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:77:5:83:5 | {...} | -| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | +| LoopUnrolling.cs:78:9:78:34 | After ... ...; | LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | +| LoopUnrolling.cs:78:13:78:14 | access to local variable xs | LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | +| LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | +| LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | LoopUnrolling.cs:78:9:78:34 | ... ...; | +| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | +| LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | +| LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | LoopUnrolling.cs:78:13:78:14 | access to local variable xs | | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:32:78:32 | 0 | -| LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:78:9:78:34 | ... ...; | +| LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | | LoopUnrolling.cs:78:32:78:32 | 0 | LoopUnrolling.cs:78:29:78:29 | 2 | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | -| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:80:9:82:9 | After {...} | +| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:78:9:78:34 | After ... ...; | +| LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:80:9:82:9 | After {...} | LoopUnrolling.cs:81:13:81:33 | After ...; | | LoopUnrolling.cs:80:9:82:9 | {...} | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | +| LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | LoopUnrolling.cs:81:13:81:33 | ...; | | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | LoopUnrolling.cs:81:31:81:31 | access to local variable x | | LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:80:9:82:9 | {...} | -| LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:81:13:81:33 | ...; | -| LoopUnrolling.cs:85:10:85:12 | exit M10 | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:85:10:85:12 | enter M10 | +| LoopUnrolling.cs:81:13:81:33 | After ...; | LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | +| LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | +| LoopUnrolling.cs:85:10:85:12 | Exit | LoopUnrolling.cs:85:10:85:12 | Normal Exit | +| LoopUnrolling.cs:85:10:85:12 | Normal Exit | LoopUnrolling.cs:86:5:92:5 | After {...} | +| LoopUnrolling.cs:86:5:92:5 | After {...} | LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:85:10:85:12 | Entry | | LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:86:5:92:5 | {...} | -| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | +| LoopUnrolling.cs:87:9:87:34 | After ... ...; | LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | +| LoopUnrolling.cs:87:13:87:14 | access to local variable xs | LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | +| LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | +| LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | LoopUnrolling.cs:87:9:87:34 | ... ...; | +| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | +| LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | +| LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | LoopUnrolling.cs:87:13:87:14 | access to local variable xs | | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:32:87:32 | 2 | -| LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:87:9:87:34 | ... ...; | +| LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | | LoopUnrolling.cs:87:32:87:32 | 2 | LoopUnrolling.cs:87:29:87:29 | 0 | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | -| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:89:9:91:9 | After {...} | +| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:87:9:87:34 | After ... ...; | +| LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:89:9:91:9 | After {...} | LoopUnrolling.cs:90:13:90:33 | After ...; | | LoopUnrolling.cs:89:9:91:9 | {...} | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | +| LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | LoopUnrolling.cs:90:13:90:33 | ...; | | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | LoopUnrolling.cs:90:31:90:31 | access to local variable x | | LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:89:9:91:9 | {...} | -| LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:90:13:90:33 | ...; | -| LoopUnrolling.cs:94:10:94:12 | exit M11 | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:94:10:94:12 | enter M11 | +| LoopUnrolling.cs:90:13:90:33 | After ...; | LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | +| LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | +| LoopUnrolling.cs:94:10:94:12 | Exit | LoopUnrolling.cs:94:10:94:12 | Normal Exit | +| LoopUnrolling.cs:94:10:94:12 | Normal Exit | LoopUnrolling.cs:95:5:101:5 | After {...} | +| LoopUnrolling.cs:95:5:101:5 | After {...} | LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:94:10:94:12 | Entry | | LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:95:5:101:5 | {...} | -| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | +| LoopUnrolling.cs:96:9:96:34 | After ... ...; | LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | +| LoopUnrolling.cs:96:13:96:14 | access to local variable xs | LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | +| LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | +| LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | LoopUnrolling.cs:96:9:96:34 | ... ...; | +| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | +| LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | +| LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | LoopUnrolling.cs:96:13:96:14 | access to local variable xs | | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:32:96:32 | 2 | -| LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:96:9:96:34 | ... ...; | +| LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | | LoopUnrolling.cs:96:32:96:32 | 2 | LoopUnrolling.cs:96:29:96:29 | 2 | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | -| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:98:9:100:9 | After {...} | +| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:96:9:96:34 | After ... ...; | +| LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:98:9:100:9 | After {...} | LoopUnrolling.cs:99:13:99:33 | After ...; | | LoopUnrolling.cs:98:9:100:9 | {...} | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | +| LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | LoopUnrolling.cs:99:13:99:33 | ...; | | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | LoopUnrolling.cs:99:31:99:31 | access to local variable x | | LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:98:9:100:9 | {...} | -| LoopUnrolling.cs:99:31:99:31 | access to local variable x | LoopUnrolling.cs:99:13:99:33 | ...; | -| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | call to method | +| LoopUnrolling.cs:99:13:99:33 | After ...; | LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | +| LoopUnrolling.cs:99:31:99:31 | access to local variable x | LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | +| MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | +| MultiImplementationA.cs:4:7:4:8 | After call to method | MultiImplementationA.cs:4:7:4:8 | call to method | +| MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | MultiImplementationA.cs:4:7:4:8 | After call to method | +| MultiImplementationA.cs:4:7:4:8 | Exit | MultiImplementationA.cs:4:7:4:8 | Normal Exit | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | {...} | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationB.cs:1:7:1:8 | {...} | +| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | | MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | exit C1 | MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | {...} | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationB.cs:1:7:1:8 | {...} | -| MultiImplementationA.cs:4:7:4:8 | {...} | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 (abnormal) | MultiImplementationA.cs:6:22:6:31 | throw ... | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 (normal) | MultiImplementationB.cs:3:22:3:22 | 0 | +| MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | {...} | MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | +| MultiImplementationA.cs:6:22:6:31 | Exceptional Exit | MultiImplementationA.cs:6:22:6:31 | throw ... | +| MultiImplementationA.cs:6:22:6:31 | Normal Exit | MultiImplementationB.cs:3:22:3:22 | 0 | | MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:28:6:31 | null | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 (abnormal) | MultiImplementationA.cs:7:27:7:37 | throw ...; | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | MultiImplementationB.cs:4:27:4:35 | return ...; | +| MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:22:6:31 | Before throw ... | +| MultiImplementationA.cs:7:21:7:23 | Exceptional Exit | MultiImplementationA.cs:7:27:7:37 | throw ...; | +| MultiImplementationA.cs:7:21:7:23 | Normal Exit | MultiImplementationB.cs:4:27:4:35 | return ...; | +| MultiImplementationA.cs:7:27:7:37 | Before throw ...; | MultiImplementationA.cs:7:25:7:39 | {...} | | MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:33:7:36 | null | -| MultiImplementationA.cs:7:33:7:36 | null | MultiImplementationA.cs:7:25:7:39 | {...} | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 (abnormal) | MultiImplementationA.cs:7:47:7:57 | throw ...; | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | MultiImplementationB.cs:4:43:4:45 | {...} | +| MultiImplementationA.cs:7:33:7:36 | null | MultiImplementationA.cs:7:27:7:37 | Before throw ...; | +| MultiImplementationA.cs:7:41:7:43 | Exceptional Exit | MultiImplementationA.cs:7:47:7:57 | throw ...; | +| MultiImplementationA.cs:7:41:7:43 | Normal Exit | MultiImplementationB.cs:4:43:4:45 | {...} | +| MultiImplementationA.cs:7:47:7:57 | Before throw ...; | MultiImplementationA.cs:7:45:7:59 | {...} | | MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:53:7:56 | null | -| MultiImplementationA.cs:7:53:7:56 | null | MultiImplementationA.cs:7:45:7:59 | {...} | -| MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | MultiImplementationA.cs:8:23:8:32 | throw ... | -| MultiImplementationA.cs:8:16:8:16 | exit M (normal) | MultiImplementationB.cs:5:23:5:23 | 2 | +| MultiImplementationA.cs:7:53:7:56 | null | MultiImplementationA.cs:7:47:7:57 | Before throw ...; | +| MultiImplementationA.cs:8:16:8:16 | Exceptional Exit | MultiImplementationA.cs:8:23:8:32 | throw ... | +| MultiImplementationA.cs:8:16:8:16 | Normal Exit | MultiImplementationB.cs:5:23:5:23 | 2 | | MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:29:8:32 | null | -| MultiImplementationA.cs:11:7:11:8 | exit | MultiImplementationA.cs:11:7:11:8 | exit (normal) | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:24:32:24:34 | ... = ... | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationB.cs:22:32:22:34 | ... = ... | -| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:20:13:20 | 0 | -| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:16:13:16 | access to field F | -| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | this access | -| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | enter get_Item | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | MultiImplementationB.cs:12:31:12:40 | throw ... | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | MultiImplementationA.cs:14:31:14:31 | access to parameter i | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | MultiImplementationB.cs:13:42:13:52 | throw ...; | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item (normal) | MultiImplementationA.cs:15:42:15:50 | return ...; | -| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | enter get_Item | +| MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:23:8:32 | Before throw ... | +| MultiImplementationA.cs:11:7:11:8 | Exit | MultiImplementationA.cs:11:7:11:8 | Normal Exit | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:24:32:24:34 | After ... = ... | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationB.cs:22:32:22:34 | After ... = ... | +| MultiImplementationA.cs:13:16:13:16 | After access to field F | MultiImplementationA.cs:13:16:13:16 | access to field F | +| MultiImplementationA.cs:13:16:13:16 | Before access to field F | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:16 | this access | +| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:16:13:16 | Before access to field F | +| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:20:13:20 | 0 | +| MultiImplementationA.cs:13:16:13:20 | After ... = ... | MultiImplementationA.cs:13:16:13:20 | ... = ... | +| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | After access to field F | +| MultiImplementationA.cs:14:31:14:31 | Exceptional Exit | MultiImplementationB.cs:12:31:12:40 | throw ... | +| MultiImplementationA.cs:14:31:14:31 | Normal Exit | MultiImplementationA.cs:14:31:14:31 | access to parameter i | +| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | Entry | +| MultiImplementationA.cs:15:36:15:38 | Exceptional Exit | MultiImplementationB.cs:13:42:13:52 | throw ...; | +| MultiImplementationA.cs:15:36:15:38 | Normal Exit | MultiImplementationA.cs:15:42:15:50 | return ...; | +| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | Entry | +| MultiImplementationA.cs:15:42:15:50 | Before return ...; | MultiImplementationA.cs:15:40:15:52 | {...} | | MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:49:15:49 | access to parameter s | -| MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:40:15:52 | {...} | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item | MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationB.cs:13:60:13:62 | {...} | -| MultiImplementationA.cs:16:17:16:18 | exit M1 | MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:18:9:18:22 | M2(...) | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationB.cs:16:9:16:31 | M2(...) | +| MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:42:15:50 | Before return ...; | +| MultiImplementationA.cs:15:54:15:56 | Exit | MultiImplementationA.cs:15:54:15:56 | Normal Exit | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:58:15:60 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationB.cs:13:60:13:62 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Exit | MultiImplementationA.cs:16:17:16:18 | Normal Exit | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:17:5:19:5 | After {...} | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationB.cs:15:5:17:5 | After {...} | +| MultiImplementationA.cs:17:5:19:5 | After {...} | MultiImplementationA.cs:18:9:18:22 | M2(...) | +| MultiImplementationA.cs:18:9:18:22 | Exit | MultiImplementationA.cs:18:9:18:22 | Normal Exit | | MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:17:5:19:5 | {...} | -| MultiImplementationA.cs:18:9:18:22 | exit M2 | MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | -| MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | MultiImplementationA.cs:18:21:18:21 | 0 | -| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | enter M2 | -| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | call to method | +| MultiImplementationA.cs:18:9:18:22 | Normal Exit | MultiImplementationA.cs:18:21:18:21 | 0 | +| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | Entry | +| MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | +| MultiImplementationA.cs:20:12:20:13 | After call to method | MultiImplementationA.cs:20:12:20:13 | call to method | +| MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | MultiImplementationA.cs:20:12:20:13 | After call to method | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | Entry | +| MultiImplementationA.cs:20:12:20:13 | Exceptional Exit | MultiImplementationB.cs:18:24:18:34 | throw ...; | +| MultiImplementationA.cs:20:12:20:13 | Normal Exit | MultiImplementationA.cs:20:22:20:31 | After {...} | +| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | | MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | this access | -| MultiImplementationA.cs:20:12:20:13 | exit C2 (abnormal) | MultiImplementationB.cs:18:24:18:34 | throw ...; | -| MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | MultiImplementationA.cs:20:24:20:28 | ... = ... | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | enter C2 | -| MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | -| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:28:20:28 | access to parameter i | -| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:24:20:29 | ...; | -| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:24:20:24 | access to field F | +| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | Before call to method | +| MultiImplementationA.cs:20:22:20:31 | After {...} | MultiImplementationA.cs:20:24:20:29 | After ...; | +| MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | +| MultiImplementationA.cs:20:24:20:24 | After access to field F | MultiImplementationA.cs:20:24:20:24 | access to field F | +| MultiImplementationA.cs:20:24:20:24 | Before access to field F | MultiImplementationA.cs:20:24:20:28 | Before ... = ... | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:24 | this access | +| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:24:20:24 | Before access to field F | +| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:28:20:28 | access to parameter i | +| MultiImplementationA.cs:20:24:20:28 | After ... = ... | MultiImplementationA.cs:20:24:20:28 | ... = ... | +| MultiImplementationA.cs:20:24:20:28 | Before ... = ... | MultiImplementationA.cs:20:24:20:29 | ...; | | MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:22:20:31 | {...} | -| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | this access | -| MultiImplementationA.cs:21:12:21:13 | exit C2 | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:27:21:29 | {...} | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationB.cs:19:27:19:29 | {...} | +| MultiImplementationA.cs:20:24:20:29 | After ...; | MultiImplementationA.cs:20:24:20:28 | After ... = ... | +| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | After access to field F | +| MultiImplementationA.cs:21:12:21:13 | Exit | MultiImplementationA.cs:21:12:21:13 | Normal Exit | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:27:21:29 | {...} | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationB.cs:19:27:19:29 | {...} | +| MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:21:27:21:29 | {...} | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 (abnormal) | MultiImplementationB.cs:20:13:20:23 | throw ...; | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 (normal) | MultiImplementationA.cs:22:11:22:13 | {...} | -| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | enter ~C2 | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (abnormal) | MultiImplementationB.cs:21:50:21:59 | throw ... | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (normal) | MultiImplementationA.cs:23:50:23:53 | null | -| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | -| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:34:24:34 | 0 | -| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:13:16:13:20 | ... = ... | -| MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:24:16:24:16 | access to property P | -| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:16:24:16 | this access | -| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | call to method | +| MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:27:21:29 | {...} | MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | +| MultiImplementationA.cs:22:6:22:7 | Exceptional Exit | MultiImplementationB.cs:20:13:20:23 | throw ...; | +| MultiImplementationA.cs:22:6:22:7 | Normal Exit | MultiImplementationA.cs:22:11:22:13 | {...} | +| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | Entry | +| MultiImplementationA.cs:23:28:23:35 | Exceptional Exit | MultiImplementationB.cs:21:50:21:59 | throw ... | +| MultiImplementationA.cs:23:28:23:35 | Normal Exit | MultiImplementationA.cs:23:50:23:53 | null | +| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | Entry | +| MultiImplementationA.cs:24:16:24:16 | After access to property P | MultiImplementationA.cs:24:16:24:16 | access to property P | +| MultiImplementationA.cs:24:16:24:16 | Before access to property P | MultiImplementationA.cs:24:32:24:34 | Before ... = ... | +| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:16:24:16 | this access | +| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:24:16:24:16 | Before access to property P | +| MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:24:34:24:34 | 0 | +| MultiImplementationA.cs:24:32:24:34 | After ... = ... | MultiImplementationA.cs:24:32:24:34 | ... = ... | +| MultiImplementationA.cs:24:32:24:34 | Before ... = ... | MultiImplementationA.cs:13:16:13:20 | After ... = ... | +| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:16:24:16 | After access to property P | +| MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | +| MultiImplementationA.cs:28:7:28:8 | After call to method | MultiImplementationA.cs:28:7:28:8 | call to method | +| MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | MultiImplementationA.cs:28:7:28:8 | After call to method | +| MultiImplementationA.cs:28:7:28:8 | Exit | MultiImplementationA.cs:28:7:28:8 | Normal Exit | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | {...} | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationB.cs:25:7:25:8 | {...} | +| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | | MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | exit C3 | MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | {...} | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationB.cs:25:7:25:8 | {...} | -| MultiImplementationA.cs:28:7:28:8 | {...} | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | -| MultiImplementationA.cs:30:21:30:23 | exit get_P3 | MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | -| MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | MultiImplementationA.cs:30:28:30:37 | throw ... | +| MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | {...} | MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | +| MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | MultiImplementationA.cs:30:28:30:37 | throw ... | +| MultiImplementationA.cs:30:21:30:23 | Exit | MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | +| MultiImplementationA.cs:30:28:30:37 | Before throw ... | MultiImplementationA.cs:30:21:30:23 | Entry | | MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:34:30:37 | null | -| MultiImplementationA.cs:30:34:30:37 | null | MultiImplementationA.cs:30:21:30:23 | enter get_P3 | -| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | call to method | +| MultiImplementationA.cs:30:34:30:37 | null | MultiImplementationA.cs:30:28:30:37 | Before throw ... | +| MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | +| MultiImplementationA.cs:34:15:34:16 | After call to method | MultiImplementationA.cs:34:15:34:16 | call to method | +| MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | MultiImplementationA.cs:34:15:34:16 | After call to method | +| MultiImplementationA.cs:34:15:34:16 | Exit | MultiImplementationA.cs:34:15:34:16 | Normal Exit | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | {...} | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationB.cs:30:15:30:16 | {...} | +| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | | MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | exit C4 | MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | {...} | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationB.cs:30:15:30:16 | {...} | -| MultiImplementationA.cs:34:15:34:16 | {...} | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | -| MultiImplementationA.cs:36:9:36:10 | exit M1 (abnormal) | MultiImplementationA.cs:36:16:36:26 | throw ...; | -| MultiImplementationA.cs:36:9:36:10 | exit M1 (normal) | MultiImplementationB.cs:32:17:32:17 | 0 | +| MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | {...} | MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | +| MultiImplementationA.cs:36:9:36:10 | Exceptional Exit | MultiImplementationA.cs:36:16:36:26 | throw ...; | +| MultiImplementationA.cs:36:9:36:10 | Normal Exit | MultiImplementationB.cs:32:17:32:17 | 0 | +| MultiImplementationA.cs:36:16:36:26 | Before throw ...; | MultiImplementationA.cs:36:14:36:28 | {...} | | MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:22:36:25 | null | -| MultiImplementationA.cs:36:22:36:25 | null | MultiImplementationA.cs:36:14:36:28 | {...} | -| MultiImplementationA.cs:37:9:37:10 | exit M2 | MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | -| MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | MultiImplementationA.cs:37:16:37:26 | throw ...; | -| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:9:37:10 | enter M2 | +| MultiImplementationA.cs:36:22:36:25 | null | MultiImplementationA.cs:36:16:36:26 | Before throw ...; | +| MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | MultiImplementationA.cs:37:16:37:26 | throw ...; | +| MultiImplementationA.cs:37:9:37:10 | Exit | MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | +| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:9:37:10 | Entry | +| MultiImplementationA.cs:37:16:37:26 | Before throw ...; | MultiImplementationA.cs:37:14:37:28 | {...} | | MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:22:37:25 | null | -| MultiImplementationA.cs:37:22:37:25 | null | MultiImplementationA.cs:37:14:37:28 | {...} | -| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | call to method | +| MultiImplementationA.cs:37:22:37:25 | null | MultiImplementationA.cs:37:16:37:26 | Before throw ...; | +| MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | +| MultiImplementationB.cs:1:7:1:8 | After call to method | MultiImplementationB.cs:1:7:1:8 | call to method | +| MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | MultiImplementationB.cs:1:7:1:8 | After call to method | +| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | | MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationB.cs:1:7:1:8 | this access | -| MultiImplementationB.cs:1:7:1:8 | {...} | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | -| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | enter get_P1 | -| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | enter get_P2 | +| MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | Before call to method | +| MultiImplementationB.cs:1:7:1:8 | {...} | MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | +| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | Entry | +| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | Entry | +| MultiImplementationB.cs:4:27:4:35 | Before return ...; | MultiImplementationB.cs:4:25:4:37 | {...} | | MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationB.cs:4:34:4:34 | 1 | -| MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:25:4:37 | {...} | -| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | enter set_P2 | -| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | enter M | -| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:20:11:20 | 1 | -| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:16:11:16 | access to field F | -| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | this access | +| MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:27:4:35 | Before return ...; | +| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | Entry | +| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | Entry | +| MultiImplementationB.cs:11:16:11:16 | After access to field F | MultiImplementationB.cs:11:16:11:16 | access to field F | +| MultiImplementationB.cs:11:16:11:16 | Before access to field F | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:16 | this access | +| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:16:11:16 | Before access to field F | +| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:20:11:20 | 1 | +| MultiImplementationB.cs:11:16:11:20 | After ... = ... | MultiImplementationB.cs:11:16:11:20 | ... = ... | +| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | After access to field F | | MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationB.cs:12:37:12:40 | null | +| MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:31:12:40 | Before throw ... | +| MultiImplementationB.cs:13:42:13:52 | Before throw ...; | MultiImplementationB.cs:13:40:13:54 | {...} | | MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationB.cs:13:48:13:51 | null | -| MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationB.cs:13:40:13:54 | {...} | +| MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationB.cs:13:42:13:52 | Before throw ...; | +| MultiImplementationB.cs:15:5:17:5 | After {...} | MultiImplementationB.cs:16:9:16:31 | M2(...) | +| MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | MultiImplementationB.cs:16:21:16:30 | throw ... | +| MultiImplementationB.cs:16:9:16:31 | Exit | MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | | MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationB.cs:15:5:17:5 | {...} | -| MultiImplementationB.cs:16:9:16:31 | exit M2 | MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | -| MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | MultiImplementationB.cs:16:21:16:30 | throw ... | +| MultiImplementationB.cs:16:21:16:30 | Before throw ... | MultiImplementationB.cs:16:9:16:31 | Entry | | MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:27:16:30 | null | -| MultiImplementationB.cs:16:27:16:30 | null | MultiImplementationB.cs:16:9:16:31 | enter M2 | -| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:12:18:13 | call to method | +| MultiImplementationB.cs:16:27:16:30 | null | MultiImplementationB.cs:16:21:16:30 | Before throw ... | +| MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | +| MultiImplementationB.cs:18:12:18:13 | After call to method | MultiImplementationB.cs:18:12:18:13 | call to method | +| MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | MultiImplementationB.cs:18:12:18:13 | After call to method | +| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | | MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationB.cs:18:12:18:13 | this access | -| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | +| MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationB.cs:18:12:18:13 | Before call to method | +| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | +| MultiImplementationB.cs:18:24:18:34 | Before throw ...; | MultiImplementationB.cs:18:22:18:36 | {...} | | MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationB.cs:18:30:18:33 | null | -| MultiImplementationB.cs:18:30:18:33 | null | MultiImplementationB.cs:18:22:18:36 | {...} | +| MultiImplementationB.cs:18:30:18:33 | null | MultiImplementationB.cs:18:24:18:34 | Before throw ...; | +| MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationB.cs:19:24:19:24 | 1 | -| MultiImplementationB.cs:19:27:19:29 | {...} | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | +| MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | +| MultiImplementationB.cs:19:27:19:29 | {...} | MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | +| MultiImplementationB.cs:20:13:20:23 | Before throw ...; | MultiImplementationB.cs:20:11:20:25 | {...} | | MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationB.cs:20:19:20:22 | null | -| MultiImplementationB.cs:20:19:20:22 | null | MultiImplementationB.cs:20:11:20:25 | {...} | +| MultiImplementationB.cs:20:19:20:22 | null | MultiImplementationB.cs:20:13:20:23 | Before throw ...; | | MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationB.cs:21:56:21:59 | null | -| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:34:22:34 | 1 | -| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:11:16:11:20 | ... = ... | -| MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationB.cs:22:16:22:16 | access to property P | -| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:16:22:16 | this access | -| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | call to method | +| MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationB.cs:21:50:21:59 | Before throw ... | +| MultiImplementationB.cs:22:16:22:16 | After access to property P | MultiImplementationB.cs:22:16:22:16 | access to property P | +| MultiImplementationB.cs:22:16:22:16 | Before access to property P | MultiImplementationB.cs:22:32:22:34 | Before ... = ... | +| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:16:22:16 | this access | +| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:22:16:22:16 | Before access to property P | +| MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationB.cs:22:34:22:34 | 1 | +| MultiImplementationB.cs:22:32:22:34 | After ... = ... | MultiImplementationB.cs:22:32:22:34 | ... = ... | +| MultiImplementationB.cs:22:32:22:34 | Before ... = ... | MultiImplementationB.cs:11:16:11:20 | After ... = ... | +| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:16:22:16 | After access to property P | +| MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | +| MultiImplementationB.cs:25:7:25:8 | After call to method | MultiImplementationB.cs:25:7:25:8 | call to method | +| MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | MultiImplementationB.cs:25:7:25:8 | After call to method | +| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | | MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationB.cs:25:7:25:8 | {...} | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | -| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | call to method | +| MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | Before call to method | +| MultiImplementationB.cs:25:7:25:8 | {...} | MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | +| MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | +| MultiImplementationB.cs:30:15:30:16 | After call to method | MultiImplementationB.cs:30:15:30:16 | call to method | +| MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | MultiImplementationB.cs:30:15:30:16 | After call to method | +| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | | MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationB.cs:30:15:30:16 | this access | -| MultiImplementationB.cs:30:15:30:16 | {...} | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | -| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | enter M1 | -| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | call to method | +| MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | Before call to method | +| MultiImplementationB.cs:30:15:30:16 | {...} | MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | +| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | Entry | +| NullCoalescing.cs:1:7:1:20 | After call to constructor Object | NullCoalescing.cs:1:7:1:20 | call to constructor Object | +| NullCoalescing.cs:1:7:1:20 | After call to method | NullCoalescing.cs:1:7:1:20 | call to method | +| NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | NullCoalescing.cs:1:7:1:20 | After call to method | +| NullCoalescing.cs:1:7:1:20 | Before call to method | NullCoalescing.cs:1:7:1:20 | Entry | +| NullCoalescing.cs:1:7:1:20 | Exit | NullCoalescing.cs:1:7:1:20 | Normal Exit | +| NullCoalescing.cs:1:7:1:20 | Normal Exit | NullCoalescing.cs:1:7:1:20 | {...} | +| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | | NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | this access | -| NullCoalescing.cs:1:7:1:20 | exit NullCoalescing | NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | -| NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | NullCoalescing.cs:1:7:1:20 | {...} | -| NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | -| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | call to constructor Object | -| NullCoalescing.cs:3:9:3:10 | exit M1 | NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | -| NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | NullCoalescing.cs:3:23:3:28 | ... ?? ... | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:9:3:10 | enter M1 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:23 | access to parameter i | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:5:9:5:10 | exit M2 | NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | -| NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:9:5:10 | enter M2 | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:7:12:7:13 | exit M3 | NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | -| NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | NullCoalescing.cs:7:40:7:53 | ... ?? ... | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:12:7:13 | enter M3 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:9:12:9:13 | exit M4 | NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | -| NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | NullCoalescing.cs:9:36:9:58 | ... ?? ... | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:12:9:13 | enter M4 | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:11:9:11:10 | exit M5 | NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | -| NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:9:11:10 | enter M5 | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:13:10:13:11 | exit M6 | NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | -| NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | NullCoalescing.cs:17:9:17:24 | ... = ... | -| NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:13:10:13:11 | enter M6 | +| NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | Before call to method | +| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | After call to constructor Object | +| NullCoalescing.cs:3:9:3:10 | Exit | NullCoalescing.cs:3:9:3:10 | Normal Exit | +| NullCoalescing.cs:3:9:3:10 | Normal Exit | NullCoalescing.cs:3:23:3:28 | After ... ?? ... | +| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:28 | ... ?? ... | +| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | Entry | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:28:3:28 | 0 | +| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | +| NullCoalescing.cs:5:9:5:10 | Exit | NullCoalescing.cs:5:9:5:10 | Normal Exit | +| NullCoalescing.cs:5:9:5:10 | Normal Exit | NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | +| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | Entry | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:39:5:39 | 0 | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:43:5:43 | 1 | +| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | ... ?? ... | +| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:30:5:34 | After false [false] | +| NullCoalescing.cs:5:30:5:34 | After false [false] | NullCoalescing.cs:5:30:5:34 | false | +| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | +| NullCoalescing.cs:7:12:7:13 | Exit | NullCoalescing.cs:7:12:7:13 | Normal Exit | +| NullCoalescing.cs:7:12:7:13 | Normal Exit | NullCoalescing.cs:7:40:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:53 | ... ?? ... | +| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | Entry | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | +| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:52:7:53 | "" | +| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:9:12:9:13 | Exit | NullCoalescing.cs:9:12:9:13 | Normal Exit | +| NullCoalescing.cs:9:12:9:13 | Normal Exit | NullCoalescing.cs:9:36:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | Entry | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | +| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | +| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | +| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:58 | ... ?? ... | +| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:57:9:58 | "" | +| NullCoalescing.cs:9:57:9:58 | "" | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:11:9:11:10 | Exit | NullCoalescing.cs:11:9:11:10 | Normal Exit | +| NullCoalescing.cs:11:9:11:10 | Normal Exit | NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | +| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | Entry | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:64:11:64 | 0 | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:68:11:68 | 1 | +| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | ... ?? ... | +| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | ... && ... | +| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | +| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | +| NullCoalescing.cs:13:10:13:11 | Exit | NullCoalescing.cs:13:10:13:11 | Normal Exit | +| NullCoalescing.cs:13:10:13:11 | Normal Exit | NullCoalescing.cs:14:5:18:5 | After {...} | +| NullCoalescing.cs:14:5:18:5 | After {...} | NullCoalescing.cs:17:9:17:25 | After ...; | +| NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:13:10:13:11 | Entry | | NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:14:5:18:5 | {...} | -| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:17:15:31 | ... ?? ... | +| NullCoalescing.cs:15:9:15:32 | After ... ...; | NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | +| NullCoalescing.cs:15:13:15:13 | access to local variable j | NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | +| NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | +| NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | NullCoalescing.cs:15:9:15:32 | ... ...; | +| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | | NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:23:15:26 | null | -| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:9:15:32 | ... ...; | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:17:15:26 | (...) ... | -| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | -| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:9:16:26 | ... ...; | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:18 | "" | -| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:16:13:16:25 | String s = ... | +| NullCoalescing.cs:15:17:15:26 | Before (...) ... | NullCoalescing.cs:15:17:15:31 | ... ?? ... | +| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:13:15:13 | access to local variable j | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:31:15:31 | 0 | +| NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:17:15:26 | Before (...) ... | +| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:15:9:15:32 | After ... ...; | +| NullCoalescing.cs:16:9:16:26 | After ... ...; | NullCoalescing.cs:16:13:16:25 | After String s = ... | +| NullCoalescing.cs:16:13:16:13 | access to local variable s | NullCoalescing.cs:16:13:16:25 | Before String s = ... | +| NullCoalescing.cs:16:13:16:25 | After String s = ... | NullCoalescing.cs:16:13:16:25 | String s = ... | +| NullCoalescing.cs:16:13:16:25 | Before String s = ... | NullCoalescing.cs:16:9:16:26 | ... ...; | +| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | +| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:25 | ... ?? ... | +| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:13:16:13 | access to local variable s | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:23:16:25 | "a" | +| NullCoalescing.cs:16:23:16:25 | "a" | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:17:9:17:9 | access to local variable j | NullCoalescing.cs:17:9:17:24 | Before ... = ... | +| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | +| NullCoalescing.cs:17:9:17:24 | After ... = ... | NullCoalescing.cs:17:9:17:24 | ... = ... | +| NullCoalescing.cs:17:9:17:24 | Before ... = ... | NullCoalescing.cs:17:9:17:25 | ...; | +| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:16:9:16:26 | After ... ...; | +| NullCoalescing.cs:17:9:17:25 | After ...; | NullCoalescing.cs:17:9:17:24 | After ... = ... | | NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:19 | (...) ... | -| NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:9:17:25 | ...; | -| PartialImplementationA.cs:1:15:1:21 | exit | PartialImplementationA.cs:1:15:1:21 | exit (normal) | -| PartialImplementationA.cs:1:15:1:21 | exit (normal) | PartialImplementationB.cs:5:32:5:34 | ... = ... | -| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | call to method | +| NullCoalescing.cs:17:13:17:19 | Before (...) ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | +| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:9:17:9 | access to local variable j | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:24:17:24 | 1 | +| NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:13:17:19 | Before (...) ... | +| NullCoalescing.cs:17:24:17:24 | 1 | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| PartialImplementationA.cs:1:15:1:21 | Exit | PartialImplementationA.cs:1:15:1:21 | Normal Exit | +| PartialImplementationA.cs:1:15:1:21 | Normal Exit | PartialImplementationB.cs:5:32:5:34 | After ... = ... | +| PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | +| PartialImplementationA.cs:3:12:3:18 | After call to method | PartialImplementationA.cs:3:12:3:18 | call to method | +| PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | PartialImplementationA.cs:3:12:3:18 | After call to method | +| PartialImplementationA.cs:3:12:3:18 | Before call to method | PartialImplementationA.cs:3:12:3:18 | Entry | +| PartialImplementationA.cs:3:12:3:18 | Exit | PartialImplementationA.cs:3:12:3:18 | Normal Exit | +| PartialImplementationA.cs:3:12:3:18 | Normal Exit | PartialImplementationA.cs:3:27:3:29 | {...} | +| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | | PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | this access | -| PartialImplementationA.cs:3:12:3:18 | exit Partial | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | -| PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:27:3:29 | {...} | -| PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | enter Partial | -| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | -| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:20:3:20 | 0 | -| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationA.cs:1:15:1:21 | enter | -| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:16:3:16 | access to field F | -| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | this access | -| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | call to method | +| PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | Before call to method | +| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | +| PartialImplementationB.cs:3:16:3:16 | After access to field F | PartialImplementationB.cs:3:16:3:16 | access to field F | +| PartialImplementationB.cs:3:16:3:16 | Before access to field F | PartialImplementationB.cs:3:16:3:20 | Before ... = ... | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:16 | this access | +| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:16:3:16 | Before access to field F | +| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:20:3:20 | 0 | +| PartialImplementationB.cs:3:16:3:20 | After ... = ... | PartialImplementationB.cs:3:16:3:20 | ... = ... | +| PartialImplementationB.cs:3:16:3:20 | Before ... = ... | PartialImplementationA.cs:1:15:1:21 | Entry | +| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | After access to field F | +| PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | +| PartialImplementationB.cs:4:12:4:18 | After call to method | PartialImplementationB.cs:4:12:4:18 | call to method | +| PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | PartialImplementationB.cs:4:12:4:18 | After call to method | +| PartialImplementationB.cs:4:12:4:18 | Before call to method | PartialImplementationB.cs:4:12:4:18 | Entry | +| PartialImplementationB.cs:4:12:4:18 | Exit | PartialImplementationB.cs:4:12:4:18 | Normal Exit | +| PartialImplementationB.cs:4:12:4:18 | Normal Exit | PartialImplementationB.cs:4:22:4:24 | {...} | +| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | | PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | this access | -| PartialImplementationB.cs:4:12:4:18 | exit Partial | PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | -| PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | PartialImplementationB.cs:4:22:4:24 | {...} | -| PartialImplementationB.cs:4:12:4:18 | this access | PartialImplementationB.cs:4:12:4:18 | enter Partial | -| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | -| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:34:5:34 | 0 | -| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:3:16:3:20 | ... = ... | -| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationB.cs:5:16:5:16 | access to property P | -| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:16:5:16 | this access | -| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | call to method | +| PartialImplementationB.cs:4:12:4:18 | this access | PartialImplementationB.cs:4:12:4:18 | Before call to method | +| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | +| PartialImplementationB.cs:5:16:5:16 | After access to property P | PartialImplementationB.cs:5:16:5:16 | access to property P | +| PartialImplementationB.cs:5:16:5:16 | Before access to property P | PartialImplementationB.cs:5:32:5:34 | Before ... = ... | +| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:16:5:16 | this access | +| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:5:16:5:16 | Before access to property P | +| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationB.cs:5:34:5:34 | 0 | +| PartialImplementationB.cs:5:32:5:34 | After ... = ... | PartialImplementationB.cs:5:32:5:34 | ... = ... | +| PartialImplementationB.cs:5:32:5:34 | Before ... = ... | PartialImplementationB.cs:3:16:3:20 | After ... = ... | +| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:16:5:16 | After access to property P | +| Patterns.cs:3:7:3:14 | After call to constructor Object | Patterns.cs:3:7:3:14 | call to constructor Object | +| Patterns.cs:3:7:3:14 | After call to method | Patterns.cs:3:7:3:14 | call to method | +| Patterns.cs:3:7:3:14 | Before call to constructor Object | Patterns.cs:3:7:3:14 | After call to method | +| Patterns.cs:3:7:3:14 | Before call to method | Patterns.cs:3:7:3:14 | Entry | +| Patterns.cs:3:7:3:14 | Exit | Patterns.cs:3:7:3:14 | Normal Exit | +| Patterns.cs:3:7:3:14 | Normal Exit | Patterns.cs:3:7:3:14 | {...} | +| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | Before call to constructor Object | | Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | this access | -| Patterns.cs:3:7:3:14 | exit Patterns | Patterns.cs:3:7:3:14 | exit Patterns (normal) | -| Patterns.cs:3:7:3:14 | exit Patterns (normal) | Patterns.cs:3:7:3:14 | {...} | -| Patterns.cs:3:7:3:14 | this access | Patterns.cs:3:7:3:14 | enter Patterns | -| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | call to constructor Object | -| Patterns.cs:5:10:5:11 | exit M1 | Patterns.cs:5:10:5:11 | exit M1 (normal) | -| Patterns.cs:5:10:5:11 | exit M1 (normal) | Patterns.cs:40:17:40:17 | access to local variable o | -| Patterns.cs:6:5:43:5 | {...} | Patterns.cs:5:10:5:11 | enter M1 | +| Patterns.cs:3:7:3:14 | this access | Patterns.cs:3:7:3:14 | Before call to method | +| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | After call to constructor Object | +| Patterns.cs:5:10:5:11 | Exit | Patterns.cs:5:10:5:11 | Normal Exit | +| Patterns.cs:5:10:5:11 | Normal Exit | Patterns.cs:6:5:43:5 | After {...} | +| Patterns.cs:6:5:43:5 | After {...} | Patterns.cs:40:9:42:9 | After switch (...) {...} | +| Patterns.cs:6:5:43:5 | {...} | Patterns.cs:5:10:5:11 | Entry | | Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:6:5:43:5 | {...} | +| Patterns.cs:7:9:7:24 | After ... ...; | Patterns.cs:7:16:7:23 | After Object o = ... | +| Patterns.cs:7:16:7:16 | access to local variable o | Patterns.cs:7:16:7:23 | Before Object o = ... | +| Patterns.cs:7:16:7:23 | After Object o = ... | Patterns.cs:7:16:7:23 | Object o = ... | +| Patterns.cs:7:16:7:23 | Before Object o = ... | Patterns.cs:7:9:7:24 | ... ...; | | Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:7:20:7:23 | null | -| Patterns.cs:7:20:7:23 | null | Patterns.cs:7:9:7:24 | ... ...; | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:7:16:7:23 | Object o = ... | -| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:9:18:9 | if (...) ... | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:13 | access to local variable o | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:10:31:10:41 | $"..." | +| Patterns.cs:7:20:7:23 | null | Patterns.cs:7:16:7:16 | access to local variable o | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:9:9:11:9 | After {...} | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:7:9:7:24 | After ... ...; | +| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:13:8:23 | Before ... is ... | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:13 | access to local variable o | +| Patterns.cs:8:13:8:23 | After ... is ... [true] | Patterns.cs:8:18:8:23 | Int32 i1 | +| Patterns.cs:8:13:8:23 | Before ... is ... | Patterns.cs:8:9:18:9 | if (...) ... | +| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:9:9:11:9 | After {...} | Patterns.cs:10:13:10:43 | After ...; | +| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:8:13:8:23 | After ... is ... [true] | +| Patterns.cs:10:13:10:42 | After call to method WriteLine | Patterns.cs:10:13:10:42 | call to method WriteLine | +| Patterns.cs:10:13:10:42 | Before call to method WriteLine | Patterns.cs:10:13:10:43 | ...; | +| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:10:31:10:41 | After $"..." | | Patterns.cs:10:13:10:43 | ...; | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:37:10:40 | {...} | -| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:13:10:43 | ...; | +| Patterns.cs:10:13:10:43 | After ...; | Patterns.cs:10:13:10:42 | After call to method WriteLine | +| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:37:10:40 | After {...} | +| Patterns.cs:10:31:10:41 | After $"..." | Patterns.cs:10:31:10:41 | $"..." | +| Patterns.cs:10:31:10:41 | Before $"..." | Patterns.cs:10:13:10:42 | Before call to method WriteLine | +| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:31:10:41 | Before $"..." | +| Patterns.cs:10:37:10:40 | After {...} | Patterns.cs:10:37:10:40 | {...} | +| Patterns.cs:10:37:10:40 | Before {...} | Patterns.cs:10:33:10:36 | "int " | | Patterns.cs:10:37:10:40 | {...} | Patterns.cs:10:38:10:39 | access to local variable i1 | -| Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:10:33:10:36 | "int " | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:18 | access to local variable o | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:14:31:14:44 | $"..." | +| Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:10:37:10:40 | Before {...} | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:13:9:15:9 | After {...} | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:18:12:31 | Before ... is ... | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:18 | access to local variable o | +| Patterns.cs:12:18:12:31 | After ... is ... [true] | Patterns.cs:12:23:12:31 | String s1 | +| Patterns.cs:12:18:12:31 | Before ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | +| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:13:9:15:9 | After {...} | Patterns.cs:14:13:14:46 | After ...; | +| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:12:18:12:31 | After ... is ... [true] | +| Patterns.cs:14:13:14:45 | After call to method WriteLine | Patterns.cs:14:13:14:45 | call to method WriteLine | +| Patterns.cs:14:13:14:45 | Before call to method WriteLine | Patterns.cs:14:13:14:46 | ...; | +| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:14:31:14:44 | After $"..." | | Patterns.cs:14:13:14:46 | ...; | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:40:14:43 | {...} | -| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:13:14:46 | ...; | +| Patterns.cs:14:13:14:46 | After ...; | Patterns.cs:14:13:14:45 | After call to method WriteLine | +| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:40:14:43 | After {...} | +| Patterns.cs:14:31:14:44 | After $"..." | Patterns.cs:14:31:14:44 | $"..." | +| Patterns.cs:14:31:14:44 | Before $"..." | Patterns.cs:14:13:14:45 | Before call to method WriteLine | +| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:31:14:44 | Before $"..." | +| Patterns.cs:14:40:14:43 | After {...} | Patterns.cs:14:40:14:43 | {...} | +| Patterns.cs:14:40:14:43 | Before {...} | Patterns.cs:14:33:14:39 | "string " | | Patterns.cs:14:40:14:43 | {...} | Patterns.cs:14:41:14:42 | access to local variable s1 | -| Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:14:33:14:39 | "string " | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:18 | access to local variable o | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:10:13:10:42 | call to method WriteLine | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:14:13:14:45 | call to method WriteLine | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:17:9:18:9 | {...} | +| Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:14:40:14:43 | Before {...} | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:17:9:18:9 | {...} | +| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:18:16:28 | Before ... is ... | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:18 | access to local variable o | +| Patterns.cs:16:18:16:28 | After ... is ... [true] | Patterns.cs:16:23:16:28 | Object v1 | +| Patterns.cs:16:18:16:28 | Before ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | +| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:16:18:16:28 | After ... is ... [true] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:23:17:23:22 | break; | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:26:17:26:22 | break; | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:29:17:29:22 | break; | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:32:17:32:22 | break; | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:34:17:34:22 | break; | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:37:17:37:22 | break; | +| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:8:9:18:9 | After if (...) ... | | Patterns.cs:20:17:20:17 | access to local variable o | Patterns.cs:20:9:38:9 | switch (...) {...} | | Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:20:17:20:17 | access to local variable o | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:22:13:22:23 | case ...: | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:13:24:36 | case ...: | +| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:23:17:23:22 | Before break; | Patterns.cs:22:18:22:22 | "xyz" | +| Patterns.cs:23:17:23:22 | break; | Patterns.cs:23:17:23:22 | Before break; | +| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:30:24:35 | Before ... > ... | | Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:35:24:35 | 0 | +| Patterns.cs:24:30:24:35 | Before ... > ... | Patterns.cs:24:18:24:23 | Int32 i2 | | Patterns.cs:24:35:24:35 | 0 | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:25:35:25:50 | $"..." | -| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:46:25:49 | {...} | -| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:17:25:52 | ...; | +| Patterns.cs:25:17:25:51 | After call to method WriteLine | Patterns.cs:25:17:25:51 | call to method WriteLine | +| Patterns.cs:25:17:25:51 | Before call to method WriteLine | Patterns.cs:25:17:25:52 | ...; | +| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:25:35:25:50 | After $"..." | +| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:25:17:25:52 | After ...; | Patterns.cs:25:17:25:51 | After call to method WriteLine | +| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:46:25:49 | After {...} | +| Patterns.cs:25:35:25:50 | After $"..." | Patterns.cs:25:35:25:50 | $"..." | +| Patterns.cs:25:35:25:50 | Before $"..." | Patterns.cs:25:17:25:51 | Before call to method WriteLine | +| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:35:25:50 | Before $"..." | +| Patterns.cs:25:46:25:49 | After {...} | Patterns.cs:25:46:25:49 | {...} | +| Patterns.cs:25:46:25:49 | Before {...} | Patterns.cs:25:37:25:45 | "positive " | | Patterns.cs:25:46:25:49 | {...} | Patterns.cs:25:47:25:48 | access to local variable i2 | -| Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:25:37:25:45 | "positive " | -| Patterns.cs:26:17:26:22 | break; | Patterns.cs:25:17:25:51 | call to method WriteLine | -| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:28:35:28:45 | $"..." | -| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:41:28:44 | {...} | -| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:17:28:47 | ...; | +| Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:25:46:25:49 | Before {...} | +| Patterns.cs:26:17:26:22 | Before break; | Patterns.cs:25:17:25:52 | After ...; | +| Patterns.cs:26:17:26:22 | break; | Patterns.cs:26:17:26:22 | Before break; | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:28:17:28:46 | After call to method WriteLine | Patterns.cs:28:17:28:46 | call to method WriteLine | +| Patterns.cs:28:17:28:46 | Before call to method WriteLine | Patterns.cs:28:17:28:47 | ...; | +| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:28:35:28:45 | After $"..." | +| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:27:18:27:23 | Int32 i3 | +| Patterns.cs:28:17:28:47 | After ...; | Patterns.cs:28:17:28:46 | After call to method WriteLine | +| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:41:28:44 | After {...} | +| Patterns.cs:28:35:28:45 | After $"..." | Patterns.cs:28:35:28:45 | $"..." | +| Patterns.cs:28:35:28:45 | Before $"..." | Patterns.cs:28:17:28:46 | Before call to method WriteLine | +| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:35:28:45 | Before $"..." | +| Patterns.cs:28:41:28:44 | After {...} | Patterns.cs:28:41:28:44 | {...} | +| Patterns.cs:28:41:28:44 | Before {...} | Patterns.cs:28:37:28:40 | "int " | | Patterns.cs:28:41:28:44 | {...} | Patterns.cs:28:42:28:43 | access to local variable i3 | -| Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:28:37:28:40 | "int " | -| Patterns.cs:29:17:29:22 | break; | Patterns.cs:28:17:28:46 | call to method WriteLine | -| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:31:35:31:48 | $"..." | -| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:44:31:47 | {...} | -| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:17:31:50 | ...; | +| Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:28:41:28:44 | Before {...} | +| Patterns.cs:29:17:29:22 | Before break; | Patterns.cs:28:17:28:47 | After ...; | +| Patterns.cs:29:17:29:22 | break; | Patterns.cs:29:17:29:22 | Before break; | +| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:31:17:31:49 | After call to method WriteLine | Patterns.cs:31:17:31:49 | call to method WriteLine | +| Patterns.cs:31:17:31:49 | Before call to method WriteLine | Patterns.cs:31:17:31:50 | ...; | +| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:31:35:31:48 | After $"..." | +| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:30:18:30:26 | String s2 | +| Patterns.cs:31:17:31:50 | After ...; | Patterns.cs:31:17:31:49 | After call to method WriteLine | +| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:44:31:47 | After {...} | +| Patterns.cs:31:35:31:48 | After $"..." | Patterns.cs:31:35:31:48 | $"..." | +| Patterns.cs:31:35:31:48 | Before $"..." | Patterns.cs:31:17:31:49 | Before call to method WriteLine | +| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:35:31:48 | Before $"..." | +| Patterns.cs:31:44:31:47 | After {...} | Patterns.cs:31:44:31:47 | {...} | +| Patterns.cs:31:44:31:47 | Before {...} | Patterns.cs:31:37:31:43 | "string " | | Patterns.cs:31:44:31:47 | {...} | Patterns.cs:31:45:31:46 | access to local variable s2 | -| Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:31:37:31:43 | "string " | -| Patterns.cs:32:17:32:22 | break; | Patterns.cs:31:17:31:49 | call to method WriteLine | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:33:13:33:24 | case ...: | +| Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:31:44:31:47 | Before {...} | +| Patterns.cs:32:17:32:22 | Before break; | Patterns.cs:31:17:31:50 | After ...; | +| Patterns.cs:32:17:32:22 | break; | Patterns.cs:32:17:32:22 | Before break; | +| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:34:17:34:22 | Before break; | Patterns.cs:33:18:33:23 | Object v2 | +| Patterns.cs:34:17:34:22 | break; | Patterns.cs:34:17:34:22 | Before break; | +| Patterns.cs:35:13:35:20 | After default: [match] | Patterns.cs:35:13:35:20 | default: | +| Patterns.cs:35:13:35:20 | default: | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:36:17:36:51 | After call to method WriteLine | Patterns.cs:36:17:36:51 | call to method WriteLine | +| Patterns.cs:36:17:36:51 | Before call to method WriteLine | Patterns.cs:36:17:36:52 | ...; | | Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:36:35:36:50 | "Something else" | -| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:36:17:36:52 | ...; | -| Patterns.cs:37:17:37:22 | break; | Patterns.cs:36:17:36:51 | call to method WriteLine | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:26:17:26:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:29:17:29:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:32:17:32:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:37:17:37:22 | break; | +| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:35:13:35:20 | After default: [match] | +| Patterns.cs:36:17:36:52 | After ...; | Patterns.cs:36:17:36:51 | After call to method WriteLine | +| Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:36:17:36:51 | Before call to method WriteLine | +| Patterns.cs:37:17:37:22 | Before break; | Patterns.cs:36:17:36:52 | After ...; | +| Patterns.cs:37:17:37:22 | break; | Patterns.cs:37:17:37:22 | Before break; | +| Patterns.cs:40:9:42:9 | After switch (...) {...} | Patterns.cs:40:17:40:17 | access to local variable o | +| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:20:9:38:9 | After switch (...) {...} | | Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:40:9:42:9 | switch (...) {...} | -| Patterns.cs:47:24:47:25 | exit M2 | Patterns.cs:47:24:47:25 | exit M2 (normal) | -| Patterns.cs:47:24:47:25 | exit M2 (normal) | Patterns.cs:48:9:48:20 | ... is ... | -| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:47:24:47:25 | enter M2 | -| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:14:48:20 | not ... | +| Patterns.cs:47:24:47:25 | Exit | Patterns.cs:47:24:47:25 | Normal Exit | +| Patterns.cs:47:24:47:25 | Normal Exit | Patterns.cs:48:9:48:20 | After ... is ... | +| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:48:9:48:20 | Before ... is ... | +| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:9 | access to parameter c | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:48:9:48:20 | ... is ... | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:48:14:48:20 | After not ... | +| Patterns.cs:48:9:48:20 | Before ... is ... | Patterns.cs:47:24:47:25 | Entry | +| Patterns.cs:48:14:48:20 | After not ... | Patterns.cs:48:14:48:20 | not ... | +| Patterns.cs:48:14:48:20 | Before not ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | | Patterns.cs:48:14:48:20 | not ... | Patterns.cs:48:18:48:20 | a | -| Patterns.cs:48:18:48:20 | a | Patterns.cs:48:9:48:9 | access to parameter c | -| Patterns.cs:50:24:50:25 | exit M3 | Patterns.cs:50:24:50:25 | exit M3 (normal) | -| Patterns.cs:50:24:50:25 | exit M3 (normal) | Patterns.cs:51:9:51:39 | ... ? ... : ... | -| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:50:24:50:25 | enter M3 | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:25:51:30 | ... is ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:34:51:39 | ... is ... | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:9:51:9 | access to parameter c | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:30:51:30 | 1 | -| Patterns.cs:51:30:51:30 | 1 | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:39:51:39 | 2 | -| Patterns.cs:51:39:51:39 | 2 | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:53:24:53:25 | exit M4 | Patterns.cs:53:24:53:25 | exit M4 (normal) | -| Patterns.cs:53:24:53:25 | exit M4 (normal) | Patterns.cs:54:9:54:37 | ... is ... | -| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:53:24:53:25 | enter M4 | -| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:14:54:37 | not ... | -| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:18:54:37 | { ... } | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:9:54:9 | access to parameter c | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:18:54:37 | Patterns u | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:56:26:56:27 | exit M5 | Patterns.cs:56:26:56:27 | exit M5 (normal) | -| Patterns.cs:56:26:56:27 | exit M5 (normal) | Patterns.cs:58:9:62:10 | return ...; | -| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:56:26:56:27 | enter M5 | -| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:58:16:62:9 | ... switch { ... } | -| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:57:5:63:5 | {...} | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:60:13:60:28 | ... => ... | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:61:13:61:24 | ... => ... | -| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:58:16:58:16 | access to parameter i | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:61:18:61:24 | "other" | +| Patterns.cs:48:18:48:20 | a | Patterns.cs:48:14:48:20 | Before not ... | +| Patterns.cs:50:24:50:25 | Exit | Patterns.cs:50:24:50:25 | Normal Exit | +| Patterns.cs:50:24:50:25 | Normal Exit | Patterns.cs:51:9:51:39 | After ... ? ... : ... | +| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:9:51:21 | Before ... is ... | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:9 | access to parameter c | +| Patterns.cs:51:9:51:21 | After ... is ... [true] | Patterns.cs:51:14:51:21 | After not ... | +| Patterns.cs:51:9:51:21 | Before ... is ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | +| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | Entry | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:51:14:51:21 | After not ... | Patterns.cs:51:14:51:21 | not ... | +| Patterns.cs:51:14:51:21 | Before not ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:51:14:51:21 | not ... | Patterns.cs:51:18:51:21 | null | +| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | Before not ... | +| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:30 | Before ... is ... | +| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:25:51:30 | ... is ... | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:30:51:30 | 1 | +| Patterns.cs:51:25:51:30 | Before ... is ... | Patterns.cs:51:9:51:21 | After ... is ... [true] | +| Patterns.cs:51:30:51:30 | 1 | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:39 | Before ... is ... | +| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:34:51:39 | ... is ... | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:39:51:39 | 2 | +| Patterns.cs:51:34:51:39 | Before ... is ... | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:51:39:51:39 | 2 | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:53:24:53:25 | Exit | Patterns.cs:53:24:53:25 | Normal Exit | +| Patterns.cs:53:24:53:25 | Normal Exit | Patterns.cs:54:9:54:37 | After ... is ... | +| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:54:9:54:37 | Before ... is ... | +| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:9 | access to parameter c | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:54:9:54:37 | ... is ... | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:54:14:54:37 | After not ... | +| Patterns.cs:54:9:54:37 | Before ... is ... | Patterns.cs:53:24:53:25 | Entry | +| Patterns.cs:54:14:54:37 | After not ... | Patterns.cs:54:14:54:37 | not ... | +| Patterns.cs:54:14:54:37 | Before not ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | +| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:18:54:37 | After { ... } | +| Patterns.cs:54:18:54:25 | access to type Patterns | Patterns.cs:54:18:54:37 | Patterns u | +| Patterns.cs:54:18:54:37 | After { ... } | Patterns.cs:54:18:54:37 | { ... } | +| Patterns.cs:54:18:54:37 | Before { ... } | Patterns.cs:54:14:54:37 | Before not ... | +| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:37 | Before { ... } | +| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:27:54:35 | After { ... } | +| Patterns.cs:54:27:54:35 | After { ... } | Patterns.cs:54:27:54:35 | { ... } | +| Patterns.cs:54:27:54:35 | Before { ... } | Patterns.cs:54:18:54:25 | access to type Patterns | +| Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:54:33:54:33 | 1 | +| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | Before { ... } | +| Patterns.cs:56:26:56:27 | Exit | Patterns.cs:56:26:56:27 | Normal Exit | +| Patterns.cs:56:26:56:27 | Normal Exit | Patterns.cs:58:9:62:10 | return ...; | +| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:56:26:56:27 | Entry | +| Patterns.cs:58:9:62:10 | Before return ...; | Patterns.cs:57:5:63:5 | {...} | +| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:58:16:62:9 | After ... switch { ... } | +| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:58:16:62:9 | ... switch { ... } | +| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:9:62:10 | Before return ...; | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:60:22:60:28 | "not 1" | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:61:18:61:24 | "other" | +| Patterns.cs:60:13:60:17 | After not ... | Patterns.cs:60:13:60:17 | not ... | +| Patterns.cs:60:13:60:17 | Before not ... | Patterns.cs:60:13:60:28 | After ... => ... [match] | +| Patterns.cs:60:13:60:17 | not ... | Patterns.cs:60:17:60:17 | 1 | +| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:58:16:58:16 | access to parameter i | +| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | Before not ... | +| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:13:60:17 | After not ... | +| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:13:61:24 | After ... => ... [match] | +| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | +| Patterns.cs:61:13:61:24 | After ... => ... [match] | Patterns.cs:61:13:61:24 | ... => ... | | Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:65:26:65:27 | exit M6 | Patterns.cs:65:26:65:27 | exit M6 (normal) | -| Patterns.cs:65:26:65:27 | exit M6 (normal) | Patterns.cs:67:9:71:10 | return ...; | -| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:65:26:65:27 | enter M6 | -| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:67:16:71:9 | ... switch { ... } | -| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:66:5:72:5 | {...} | -| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:70:13:70:27 | ... => ... | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:69:17:69:17 | 2 | -| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:67:16:67:16 | 2 | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:69:13:69:17 | [no-match] not ... | -| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:18:70:27 | "possible" | +| Patterns.cs:65:26:65:27 | Exit | Patterns.cs:65:26:65:27 | Normal Exit | +| Patterns.cs:65:26:65:27 | Normal Exit | Patterns.cs:67:9:71:10 | return ...; | +| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:65:26:65:27 | Entry | +| Patterns.cs:67:9:71:10 | Before return ...; | Patterns.cs:66:5:72:5 | {...} | +| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:67:16:71:9 | After ... switch { ... } | +| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:67:16:71:9 | ... switch { ... } | +| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:9:71:10 | Before return ...; | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:69:22:69:33 | "impossible" | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:70:18:70:27 | "possible" | +| Patterns.cs:69:13:69:17 | After not ... | Patterns.cs:69:13:69:17 | not ... | +| Patterns.cs:69:13:69:17 | Before not ... | Patterns.cs:69:13:69:33 | After ... => ... [match] | +| Patterns.cs:69:13:69:17 | not ... | Patterns.cs:69:17:69:17 | 2 | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:67:16:67:16 | 2 | +| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:13:69:17 | Before not ... | +| Patterns.cs:69:22:69:33 | "impossible" | Patterns.cs:69:13:69:17 | After not ... | +| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | | Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:74:26:74:27 | exit M7 | Patterns.cs:74:26:74:27 | exit M7 (normal) | -| Patterns.cs:74:26:74:27 | exit M7 (normal) | Patterns.cs:76:9:82:10 | return ...; | -| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:74:26:74:27 | enter M7 | -| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:76:16:82:9 | ... switch { ... } | -| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:75:5:83:5 | {...} | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:78:13:78:24 | ... => ... | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:79:13:79:24 | ... => ... | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:80:13:80:20 | ... => ... | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:81:13:81:20 | ... => ... | +| Patterns.cs:74:26:74:27 | Exit | Patterns.cs:74:26:74:27 | Normal Exit | +| Patterns.cs:74:26:74:27 | Normal Exit | Patterns.cs:76:9:82:10 | return ...; | +| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:74:26:74:27 | Entry | +| Patterns.cs:76:9:82:10 | Before return ...; | Patterns.cs:75:5:83:5 | {...} | +| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:76:16:82:9 | After ... switch { ... } | +| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:76:16:82:9 | ... switch { ... } | +| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:9:82:10 | Before return ...; | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:78:20:78:24 | "> 1" | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:79:20:79:24 | "< 0" | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:80:18:80:20 | "1" | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:81:18:81:20 | "0" | | Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:15:78:15 | 1 | -| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:20:78:24 | "> 1" | -| Patterns.cs:78:15:78:15 | 1 | Patterns.cs:76:16:76:16 | access to parameter i | +| Patterns.cs:78:13:78:15 | After > ... | Patterns.cs:78:13:78:15 | > ... | +| Patterns.cs:78:13:78:15 | Before > ... | Patterns.cs:78:13:78:24 | After ... => ... [match] | +| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:76:16:76:16 | access to parameter i | +| Patterns.cs:78:15:78:15 | 1 | Patterns.cs:78:13:78:15 | Before > ... | +| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:13:78:15 | After > ... | | Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:15:79:15 | 0 | -| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:81:18:81:20 | "0" | +| Patterns.cs:79:13:79:15 | After < ... | Patterns.cs:79:13:79:15 | < ... | +| Patterns.cs:79:13:79:15 | Before < ... | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | +| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:13:79:15 | Before < ... | +| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:13:79:15 | After < ... | +| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:13:80:13 | 1 | +| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:13:81:20 | After ... => ... [match] | +| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:81:13:81:20 | After ... => ... [match] | Patterns.cs:81:13:81:20 | ... => ... | | Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:85:26:85:27 | exit M8 | Patterns.cs:85:26:85:27 | exit M8 (normal) | -| Patterns.cs:85:26:85:27 | exit M8 (normal) | Patterns.cs:85:39:85:69 | ... ? ... : ... | -| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:26:85:27 | enter M8 | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:39:85:39 | access to parameter i | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:87:26:87:27 | exit M9 | Patterns.cs:87:26:87:27 | exit M9 (normal) | -| Patterns.cs:87:26:87:27 | exit M9 (normal) | Patterns.cs:87:39:87:70 | ... ? ... : ... | -| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:26:87:27 | enter M9 | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:39:87:39 | access to parameter i | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:93:17:93:19 | exit M10 | Patterns.cs:93:17:93:19 | exit M10 (normal) | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:97:13:97:38 | call to method WriteLine | -| Patterns.cs:94:5:99:5 | {...} | Patterns.cs:93:17:93:19 | enter M10 | +| Patterns.cs:85:26:85:27 | Exit | Patterns.cs:85:26:85:27 | Normal Exit | +| Patterns.cs:85:26:85:27 | Normal Exit | Patterns.cs:85:39:85:69 | After ... ? ... : ... | +| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:39:85:53 | Before ... is ... | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:39 | access to parameter i | +| Patterns.cs:85:39:85:53 | After ... is ... [true] | Patterns.cs:85:44:85:53 | After ... or ... | +| Patterns.cs:85:39:85:53 | Before ... is ... | Patterns.cs:85:39:85:69 | ... ? ... : ... | +| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | Entry | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:57:85:63 | "not 2" | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:67:85:69 | "2" | +| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:44:85:53 | Before ... or ... | +| Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:49:85:53 | After not ... | +| Patterns.cs:85:44:85:53 | After ... or ... | Patterns.cs:85:44:85:53 | ... or ... | +| Patterns.cs:85:44:85:53 | Before ... or ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | +| Patterns.cs:85:49:85:53 | After not ... | Patterns.cs:85:49:85:53 | not ... | +| Patterns.cs:85:49:85:53 | Before not ... | Patterns.cs:85:44:85:44 | 1 | +| Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:53:85:53 | 2 | +| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | Before not ... | +| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:39:85:53 | After ... is ... [true] | +| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:39:85:53 | After ... is ... [false] | +| Patterns.cs:87:26:87:27 | Exit | Patterns.cs:87:26:87:27 | Normal Exit | +| Patterns.cs:87:26:87:27 | Normal Exit | Patterns.cs:87:39:87:70 | After ... ? ... : ... | +| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:39:87:54 | Before ... is ... | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:39 | access to parameter i | +| Patterns.cs:87:39:87:54 | After ... is ... [true] | Patterns.cs:87:44:87:54 | After ... and ... | +| Patterns.cs:87:39:87:54 | Before ... is ... | Patterns.cs:87:39:87:70 | ... ? ... : ... | +| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | Entry | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:58:87:60 | "1" | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:64:87:70 | "not 1" | +| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:44:87:54 | Before ... and ... | +| Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:50:87:54 | After not ... | +| Patterns.cs:87:44:87:54 | After ... and ... | Patterns.cs:87:44:87:54 | ... and ... | +| Patterns.cs:87:44:87:54 | Before ... and ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | +| Patterns.cs:87:50:87:54 | After not ... | Patterns.cs:87:50:87:54 | not ... | +| Patterns.cs:87:50:87:54 | Before not ... | Patterns.cs:87:44:87:44 | 1 | +| Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:54:87:54 | 2 | +| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | Before not ... | +| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:39:87:54 | After ... is ... [true] | +| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:39:87:54 | After ... is ... [false] | +| Patterns.cs:93:17:93:19 | Exit | Patterns.cs:93:17:93:19 | Normal Exit | +| Patterns.cs:93:17:93:19 | Normal Exit | Patterns.cs:94:5:99:5 | After {...} | +| Patterns.cs:94:5:99:5 | After {...} | Patterns.cs:95:9:98:9 | After if (...) ... | +| Patterns.cs:94:5:99:5 | {...} | Patterns.cs:93:17:93:19 | Entry | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:95:13:95:40 | After ... is ... [false] | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:96:9:98:9 | After {...} | | Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:94:5:99:5 | {...} | -| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:9:98:9 | if (...) ... | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:13:95:16 | this access | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:95:13:95:40 | [true] ... is ... | +| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:13:95:40 | Before ... is ... | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:16 | this access | +| Patterns.cs:95:13:95:40 | After ... is ... [true] | Patterns.cs:95:21:95:40 | After { ... } | +| Patterns.cs:95:13:95:40 | Before ... is ... | Patterns.cs:95:9:98:9 | if (...) ... | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:21:95:40 | { ... } | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:21:95:40 | { ... } | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:95:21:95:40 | Before { ... } | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | After { ... } | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:29:95:38 | After ... or ... | +| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:29:95:38 | Before ... or ... | +| Patterns.cs:95:29:95:38 | ... or ... | Patterns.cs:95:36:95:38 | access to constant B | +| Patterns.cs:95:29:95:38 | After ... or ... | Patterns.cs:95:29:95:38 | ... or ... | +| Patterns.cs:95:29:95:38 | Before ... or ... | Patterns.cs:95:21:95:40 | Before { ... } | +| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:31 | access to constant A | +| Patterns.cs:96:9:98:9 | After {...} | Patterns.cs:97:13:97:39 | After ...; | +| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:95:13:95:40 | After ... is ... [true] | +| Patterns.cs:97:13:97:38 | After call to method WriteLine | Patterns.cs:97:13:97:38 | call to method WriteLine | +| Patterns.cs:97:13:97:38 | Before call to method WriteLine | Patterns.cs:97:13:97:39 | ...; | | Patterns.cs:97:13:97:38 | call to method WriteLine | Patterns.cs:97:31:97:37 | "not C" | | Patterns.cs:97:13:97:39 | ...; | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:97:31:97:37 | "not C" | Patterns.cs:97:13:97:39 | ...; | -| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | call to method | +| Patterns.cs:97:13:97:39 | After ...; | Patterns.cs:97:13:97:38 | After call to method WriteLine | +| Patterns.cs:97:31:97:37 | "not C" | Patterns.cs:97:13:97:38 | Before call to method WriteLine | +| PostDominance.cs:3:7:3:19 | After call to constructor Object | PostDominance.cs:3:7:3:19 | call to constructor Object | +| PostDominance.cs:3:7:3:19 | After call to method | PostDominance.cs:3:7:3:19 | call to method | +| PostDominance.cs:3:7:3:19 | Before call to constructor Object | PostDominance.cs:3:7:3:19 | After call to method | +| PostDominance.cs:3:7:3:19 | Before call to method | PostDominance.cs:3:7:3:19 | Entry | +| PostDominance.cs:3:7:3:19 | Exit | PostDominance.cs:3:7:3:19 | Normal Exit | +| PostDominance.cs:3:7:3:19 | Normal Exit | PostDominance.cs:3:7:3:19 | {...} | +| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | Before call to constructor Object | | PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | this access | -| PostDominance.cs:3:7:3:19 | exit PostDominance | PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | -| PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | PostDominance.cs:3:7:3:19 | {...} | -| PostDominance.cs:3:7:3:19 | this access | PostDominance.cs:3:7:3:19 | enter PostDominance | -| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | call to constructor Object | -| PostDominance.cs:5:10:5:11 | exit M1 | PostDominance.cs:5:10:5:11 | exit M1 (normal) | -| PostDominance.cs:5:10:5:11 | exit M1 (normal) | PostDominance.cs:7:9:7:28 | call to method WriteLine | -| PostDominance.cs:6:5:8:5 | {...} | PostDominance.cs:5:10:5:11 | enter M1 | +| PostDominance.cs:3:7:3:19 | this access | PostDominance.cs:3:7:3:19 | Before call to method | +| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | After call to constructor Object | +| PostDominance.cs:5:10:5:11 | Exit | PostDominance.cs:5:10:5:11 | Normal Exit | +| PostDominance.cs:5:10:5:11 | Normal Exit | PostDominance.cs:6:5:8:5 | After {...} | +| PostDominance.cs:6:5:8:5 | After {...} | PostDominance.cs:7:9:7:29 | After ...; | +| PostDominance.cs:6:5:8:5 | {...} | PostDominance.cs:5:10:5:11 | Entry | +| PostDominance.cs:7:9:7:28 | After call to method WriteLine | PostDominance.cs:7:9:7:28 | call to method WriteLine | +| PostDominance.cs:7:9:7:28 | Before call to method WriteLine | PostDominance.cs:7:9:7:29 | ...; | | PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:7:27:7:27 | access to parameter s | | PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:6:5:8:5 | {...} | -| PostDominance.cs:7:27:7:27 | access to parameter s | PostDominance.cs:7:9:7:29 | ...; | -| PostDominance.cs:10:10:10:11 | exit M2 | PostDominance.cs:10:10:10:11 | exit M2 (normal) | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:14:9:14:28 | call to method WriteLine | -| PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:10:10:10:11 | enter M2 | +| PostDominance.cs:7:9:7:29 | After ...; | PostDominance.cs:7:9:7:28 | After call to method WriteLine | +| PostDominance.cs:7:27:7:27 | access to parameter s | PostDominance.cs:7:9:7:28 | Before call to method WriteLine | +| PostDominance.cs:10:10:10:11 | Exit | PostDominance.cs:10:10:10:11 | Normal Exit | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:11:5:15:5 | After {...} | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:13:13:13:19 | return ...; | +| PostDominance.cs:11:5:15:5 | After {...} | PostDominance.cs:14:9:14:29 | After ...; | +| PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:10:10:10:11 | Entry | +| PostDominance.cs:12:9:13:19 | After if (...) ... | PostDominance.cs:12:13:12:21 | After ... is ... [false] | | PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:11:5:15:5 | {...} | -| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:9:13:19 | if (...) ... | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:13 | access to parameter s | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:12:13:12:21 | [true] ... is ... | +| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:13:12:21 | Before ... is ... | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:13 | access to parameter s | +| PostDominance.cs:12:13:12:21 | After ... is ... [true] | PostDominance.cs:12:18:12:21 | null | +| PostDominance.cs:12:13:12:21 | Before ... is ... | PostDominance.cs:12:9:13:19 | if (...) ... | +| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | +| PostDominance.cs:13:13:13:19 | Before return ...; | PostDominance.cs:12:13:12:21 | After ... is ... [true] | +| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:13:13:13:19 | Before return ...; | +| PostDominance.cs:14:9:14:28 | After call to method WriteLine | PostDominance.cs:14:9:14:28 | call to method WriteLine | +| PostDominance.cs:14:9:14:28 | Before call to method WriteLine | PostDominance.cs:14:9:14:29 | ...; | | PostDominance.cs:14:9:14:28 | call to method WriteLine | PostDominance.cs:14:27:14:27 | access to parameter s | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:14:27:14:27 | access to parameter s | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:17:10:17:11 | exit M3 (abnormal) | PostDominance.cs:20:13:20:55 | throw ...; | -| PostDominance.cs:17:10:17:11 | exit M3 (normal) | PostDominance.cs:21:9:21:28 | call to method WriteLine | -| PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:17:10:17:11 | enter M3 | +| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:12:9:13:19 | After if (...) ... | +| PostDominance.cs:14:9:14:29 | After ...; | PostDominance.cs:14:9:14:28 | After call to method WriteLine | +| PostDominance.cs:14:27:14:27 | access to parameter s | PostDominance.cs:14:9:14:28 | Before call to method WriteLine | +| PostDominance.cs:17:10:17:11 | Exceptional Exit | PostDominance.cs:20:13:20:55 | throw ...; | +| PostDominance.cs:17:10:17:11 | Normal Exit | PostDominance.cs:18:5:22:5 | After {...} | +| PostDominance.cs:18:5:22:5 | After {...} | PostDominance.cs:21:9:21:29 | After ...; | +| PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:17:10:17:11 | Entry | +| PostDominance.cs:19:9:20:55 | After if (...) ... | PostDominance.cs:19:13:19:21 | After ... is ... [false] | | PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:18:5:22:5 | {...} | -| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:9:20:55 | if (...) ... | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:19:18:19:21 | null | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:13 | access to parameter s | -| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | +| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:13:19:21 | Before ... is ... | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:13 | access to parameter s | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:19:13:19:21 | ... is ... | +| PostDominance.cs:19:13:19:21 | After ... is ... [true] | PostDominance.cs:19:18:19:21 | null | +| PostDominance.cs:19:13:19:21 | Before ... is ... | PostDominance.cs:19:9:20:55 | if (...) ... | +| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | +| PostDominance.cs:20:13:20:55 | Before throw ...; | PostDominance.cs:19:13:19:21 | After ... is ... [true] | +| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | +| PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | +| PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | PostDominance.cs:20:13:20:55 | Before throw ...; | | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:45:20:53 | nameof(...) | +| PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | +| PostDominance.cs:21:9:21:28 | After call to method WriteLine | PostDominance.cs:21:9:21:28 | call to method WriteLine | +| PostDominance.cs:21:9:21:28 | Before call to method WriteLine | PostDominance.cs:21:9:21:29 | ...; | | PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:21:27:21:27 | access to parameter s | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:19:13:19:21 | [false] ... is ... | -| PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:21:9:21:29 | ...; | -| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | call to method | +| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:19:9:20:55 | After if (...) ... | +| PostDominance.cs:21:9:21:29 | After ...; | PostDominance.cs:21:9:21:28 | After call to method WriteLine | +| PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:21:9:21:28 | Before call to method WriteLine | +| Qualifiers.cs:1:7:1:16 | After call to constructor Object | Qualifiers.cs:1:7:1:16 | call to constructor Object | +| Qualifiers.cs:1:7:1:16 | After call to method | Qualifiers.cs:1:7:1:16 | call to method | +| Qualifiers.cs:1:7:1:16 | Before call to constructor Object | Qualifiers.cs:1:7:1:16 | After call to method | +| Qualifiers.cs:1:7:1:16 | Before call to method | Qualifiers.cs:1:7:1:16 | Entry | +| Qualifiers.cs:1:7:1:16 | Exit | Qualifiers.cs:1:7:1:16 | Normal Exit | +| Qualifiers.cs:1:7:1:16 | Normal Exit | Qualifiers.cs:1:7:1:16 | {...} | +| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | Before call to constructor Object | | Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | this access | -| Qualifiers.cs:1:7:1:16 | exit Qualifiers | Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | -| Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | Qualifiers.cs:1:7:1:16 | {...} | -| Qualifiers.cs:1:7:1:16 | this access | Qualifiers.cs:1:7:1:16 | enter Qualifiers | -| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | call to constructor Object | -| Qualifiers.cs:7:16:7:21 | exit Method | Qualifiers.cs:7:16:7:21 | exit Method (normal) | -| Qualifiers.cs:7:16:7:21 | exit Method (normal) | Qualifiers.cs:7:28:7:31 | null | -| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | enter Method | -| Qualifiers.cs:8:23:8:34 | exit StaticMethod | Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | -| Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | Qualifiers.cs:8:41:8:44 | null | -| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | enter StaticMethod | -| Qualifiers.cs:10:10:10:10 | exit M | Qualifiers.cs:10:10:10:10 | exit M (normal) | -| Qualifiers.cs:10:10:10:10 | exit M (normal) | Qualifiers.cs:30:9:30:46 | ... = ... | -| Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:10:10:10:10 | enter M | +| Qualifiers.cs:1:7:1:16 | this access | Qualifiers.cs:1:7:1:16 | Before call to method | +| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | After call to constructor Object | +| Qualifiers.cs:7:16:7:21 | Exit | Qualifiers.cs:7:16:7:21 | Normal Exit | +| Qualifiers.cs:7:16:7:21 | Normal Exit | Qualifiers.cs:7:28:7:31 | null | +| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | Entry | +| Qualifiers.cs:8:23:8:34 | Exit | Qualifiers.cs:8:23:8:34 | Normal Exit | +| Qualifiers.cs:8:23:8:34 | Normal Exit | Qualifiers.cs:8:41:8:44 | null | +| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | Entry | +| Qualifiers.cs:10:10:10:10 | Exit | Qualifiers.cs:10:10:10:10 | Normal Exit | +| Qualifiers.cs:10:10:10:10 | Normal Exit | Qualifiers.cs:11:5:31:5 | After {...} | +| Qualifiers.cs:11:5:31:5 | After {...} | Qualifiers.cs:30:9:30:47 | After ...; | +| Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:10:10:10:10 | Entry | | Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:11:5:31:5 | {...} | -| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:17:12:21 | access to field Field | +| Qualifiers.cs:12:9:12:22 | After ... ...; | Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | +| Qualifiers.cs:12:13:12:13 | access to local variable q | Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | +| Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | +| Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | Qualifiers.cs:12:9:12:22 | ... ...; | +| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:17:12:21 | After access to field Field | +| Qualifiers.cs:12:17:12:21 | After access to field Field | Qualifiers.cs:12:17:12:21 | access to field Field | +| Qualifiers.cs:12:17:12:21 | Before access to field Field | Qualifiers.cs:12:13:12:13 | access to local variable q | | Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:17:12:21 | this access | -| Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:9:12:22 | ... ...; | -| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:13:13:20 | access to property Property | -| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | +| Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:17:12:21 | Before access to field Field | +| Qualifiers.cs:13:9:13:9 | access to local variable q | Qualifiers.cs:13:9:13:20 | Before ... = ... | +| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:13:13:20 | After access to property Property | +| Qualifiers.cs:13:9:13:20 | After ... = ... | Qualifiers.cs:13:9:13:20 | ... = ... | +| Qualifiers.cs:13:9:13:20 | Before ... = ... | Qualifiers.cs:13:9:13:21 | ...; | +| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:12:9:12:22 | After ... ...; | +| Qualifiers.cs:13:9:13:21 | After ...; | Qualifiers.cs:13:9:13:20 | After ... = ... | +| Qualifiers.cs:13:13:13:20 | After access to property Property | Qualifiers.cs:13:13:13:20 | access to property Property | +| Qualifiers.cs:13:13:13:20 | Before access to property Property | Qualifiers.cs:13:9:13:9 | access to local variable q | | Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:13:13:20 | this access | -| Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:9:13:21 | ...; | -| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:13:14:20 | call to method Method | -| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:13:9:13:20 | ... = ... | +| Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:13:13:20 | Before access to property Property | +| Qualifiers.cs:14:9:14:9 | access to local variable q | Qualifiers.cs:14:9:14:20 | Before ... = ... | +| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:13:14:20 | After call to method Method | +| Qualifiers.cs:14:9:14:20 | After ... = ... | Qualifiers.cs:14:9:14:20 | ... = ... | +| Qualifiers.cs:14:9:14:20 | Before ... = ... | Qualifiers.cs:14:9:14:21 | ...; | +| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:13:9:13:21 | After ...; | +| Qualifiers.cs:14:9:14:21 | After ...; | Qualifiers.cs:14:9:14:20 | After ... = ... | +| Qualifiers.cs:14:13:14:20 | After call to method Method | Qualifiers.cs:14:13:14:20 | call to method Method | +| Qualifiers.cs:14:13:14:20 | Before call to method Method | Qualifiers.cs:14:9:14:9 | access to local variable q | | Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:13:14:20 | this access | -| Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:9:14:21 | ...; | -| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:13:16:22 | access to field Field | -| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:14:9:14:20 | ... = ... | -| Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:9:16:23 | ...; | +| Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:13:14:20 | Before call to method Method | +| Qualifiers.cs:16:9:16:9 | access to local variable q | Qualifiers.cs:16:9:16:22 | Before ... = ... | +| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:13:16:22 | After access to field Field | +| Qualifiers.cs:16:9:16:22 | After ... = ... | Qualifiers.cs:16:9:16:22 | ... = ... | +| Qualifiers.cs:16:9:16:22 | Before ... = ... | Qualifiers.cs:16:9:16:23 | ...; | +| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:14:9:14:21 | After ...; | +| Qualifiers.cs:16:9:16:23 | After ...; | Qualifiers.cs:16:9:16:22 | After ... = ... | +| Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:13:16:22 | Before access to field Field | +| Qualifiers.cs:16:13:16:22 | After access to field Field | Qualifiers.cs:16:13:16:22 | access to field Field | +| Qualifiers.cs:16:13:16:22 | Before access to field Field | Qualifiers.cs:16:9:16:9 | access to local variable q | | Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:13:16:16 | this access | -| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:13:17:25 | access to property Property | -| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:16:9:16:22 | ... = ... | -| Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:9:17:26 | ...; | +| Qualifiers.cs:17:9:17:9 | access to local variable q | Qualifiers.cs:17:9:17:25 | Before ... = ... | +| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:13:17:25 | After access to property Property | +| Qualifiers.cs:17:9:17:25 | After ... = ... | Qualifiers.cs:17:9:17:25 | ... = ... | +| Qualifiers.cs:17:9:17:25 | Before ... = ... | Qualifiers.cs:17:9:17:26 | ...; | +| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:16:9:16:23 | After ...; | +| Qualifiers.cs:17:9:17:26 | After ...; | Qualifiers.cs:17:9:17:25 | After ... = ... | +| Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:13:17:25 | Before access to property Property | +| Qualifiers.cs:17:13:17:25 | After access to property Property | Qualifiers.cs:17:13:17:25 | access to property Property | +| Qualifiers.cs:17:13:17:25 | Before access to property Property | Qualifiers.cs:17:9:17:9 | access to local variable q | | Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:13:17:16 | this access | -| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:13:18:25 | call to method Method | -| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:17:9:17:25 | ... = ... | -| Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:9:18:26 | ...; | +| Qualifiers.cs:18:9:18:9 | access to local variable q | Qualifiers.cs:18:9:18:25 | Before ... = ... | +| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:13:18:25 | After call to method Method | +| Qualifiers.cs:18:9:18:25 | After ... = ... | Qualifiers.cs:18:9:18:25 | ... = ... | +| Qualifiers.cs:18:9:18:25 | Before ... = ... | Qualifiers.cs:18:9:18:26 | ...; | +| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:17:9:17:26 | After ...; | +| Qualifiers.cs:18:9:18:26 | After ...; | Qualifiers.cs:18:9:18:25 | After ... = ... | +| Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:13:18:25 | Before call to method Method | +| Qualifiers.cs:18:13:18:25 | After call to method Method | Qualifiers.cs:18:13:18:25 | call to method Method | +| Qualifiers.cs:18:13:18:25 | Before call to method Method | Qualifiers.cs:18:9:18:9 | access to local variable q | | Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:13:18:16 | this access | +| Qualifiers.cs:20:9:20:9 | access to local variable q | Qualifiers.cs:20:9:20:23 | Before ... = ... | | Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:20:13:20:23 | access to field StaticField | -| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:18:9:18:25 | ... = ... | -| Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:9:20:24 | ...; | -| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | -| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:20:9:20:23 | ... = ... | -| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:9:21:27 | ...; | -| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | -| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:21:9:21:26 | ... = ... | -| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:9:22:27 | ...; | +| Qualifiers.cs:20:9:20:23 | After ... = ... | Qualifiers.cs:20:9:20:23 | ... = ... | +| Qualifiers.cs:20:9:20:23 | Before ... = ... | Qualifiers.cs:20:9:20:24 | ...; | +| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:18:9:18:26 | After ...; | +| Qualifiers.cs:20:9:20:24 | After ...; | Qualifiers.cs:20:9:20:23 | After ... = ... | +| Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:9:20:9 | access to local variable q | +| Qualifiers.cs:21:9:21:9 | access to local variable q | Qualifiers.cs:21:9:21:26 | Before ... = ... | +| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | +| Qualifiers.cs:21:9:21:26 | After ... = ... | Qualifiers.cs:21:9:21:26 | ... = ... | +| Qualifiers.cs:21:9:21:26 | Before ... = ... | Qualifiers.cs:21:9:21:27 | ...; | +| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:20:9:20:24 | After ...; | +| Qualifiers.cs:21:9:21:27 | After ...; | Qualifiers.cs:21:9:21:26 | After ... = ... | +| Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | +| Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | Qualifiers.cs:21:9:21:9 | access to local variable q | +| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | +| Qualifiers.cs:22:9:22:9 | access to local variable q | Qualifiers.cs:22:9:22:26 | Before ... = ... | +| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | +| Qualifiers.cs:22:9:22:26 | After ... = ... | Qualifiers.cs:22:9:22:26 | ... = ... | +| Qualifiers.cs:22:9:22:26 | Before ... = ... | Qualifiers.cs:22:9:22:27 | ...; | +| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:21:9:21:27 | After ...; | +| Qualifiers.cs:22:9:22:27 | After ...; | Qualifiers.cs:22:9:22:26 | After ... = ... | +| Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | +| Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | Qualifiers.cs:22:9:22:9 | access to local variable q | +| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | +| Qualifiers.cs:24:9:24:9 | access to local variable q | Qualifiers.cs:24:9:24:34 | Before ... = ... | | Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:24:13:24:34 | access to field StaticField | -| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:22:9:22:26 | ... = ... | -| Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:9:24:35 | ...; | -| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | -| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:24:9:24:34 | ... = ... | -| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:9:25:38 | ...; | -| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | -| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:25:9:25:37 | ... = ... | -| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:9:26:38 | ...; | -| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:13:28:40 | access to field Field | -| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:26:9:26:37 | ... = ... | -| Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:9:28:41 | ...; | +| Qualifiers.cs:24:9:24:34 | After ... = ... | Qualifiers.cs:24:9:24:34 | ... = ... | +| Qualifiers.cs:24:9:24:34 | Before ... = ... | Qualifiers.cs:24:9:24:35 | ...; | +| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:22:9:22:27 | After ...; | +| Qualifiers.cs:24:9:24:35 | After ...; | Qualifiers.cs:24:9:24:34 | After ... = ... | +| Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:9:24:9 | access to local variable q | +| Qualifiers.cs:25:9:25:9 | access to local variable q | Qualifiers.cs:25:9:25:37 | Before ... = ... | +| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | +| Qualifiers.cs:25:9:25:37 | After ... = ... | Qualifiers.cs:25:9:25:37 | ... = ... | +| Qualifiers.cs:25:9:25:37 | Before ... = ... | Qualifiers.cs:25:9:25:38 | ...; | +| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:24:9:24:35 | After ...; | +| Qualifiers.cs:25:9:25:38 | After ...; | Qualifiers.cs:25:9:25:37 | After ... = ... | +| Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | +| Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | Qualifiers.cs:25:9:25:9 | access to local variable q | +| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | +| Qualifiers.cs:26:9:26:9 | access to local variable q | Qualifiers.cs:26:9:26:37 | Before ... = ... | +| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | +| Qualifiers.cs:26:9:26:37 | After ... = ... | Qualifiers.cs:26:9:26:37 | ... = ... | +| Qualifiers.cs:26:9:26:37 | Before ... = ... | Qualifiers.cs:26:9:26:38 | ...; | +| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:25:9:25:38 | After ...; | +| Qualifiers.cs:26:9:26:38 | After ...; | Qualifiers.cs:26:9:26:37 | After ... = ... | +| Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | +| Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | Qualifiers.cs:26:9:26:9 | access to local variable q | +| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | +| Qualifiers.cs:28:9:28:9 | access to local variable q | Qualifiers.cs:28:9:28:40 | Before ... = ... | +| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:13:28:40 | After access to field Field | +| Qualifiers.cs:28:9:28:40 | After ... = ... | Qualifiers.cs:28:9:28:40 | ... = ... | +| Qualifiers.cs:28:9:28:40 | Before ... = ... | Qualifiers.cs:28:9:28:41 | ...; | +| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:26:9:26:38 | After ...; | +| Qualifiers.cs:28:9:28:41 | After ...; | Qualifiers.cs:28:9:28:40 | After ... = ... | +| Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:13:28:40 | Before access to field Field | +| Qualifiers.cs:28:13:28:40 | After access to field Field | Qualifiers.cs:28:13:28:40 | access to field Field | +| Qualifiers.cs:28:13:28:40 | Before access to field Field | Qualifiers.cs:28:9:28:9 | access to local variable q | | Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:13:28:34 | access to field StaticField | -| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:13:29:46 | access to property Property | -| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:28:9:28:40 | ... = ... | -| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:9:29:47 | ...; | -| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | -| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:13:30:46 | call to method Method | -| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:29:9:29:46 | ... = ... | -| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:9:30:47 | ...; | -| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | -| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | call to method | +| Qualifiers.cs:29:9:29:9 | access to local variable q | Qualifiers.cs:29:9:29:46 | Before ... = ... | +| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:13:29:46 | After access to property Property | +| Qualifiers.cs:29:9:29:46 | After ... = ... | Qualifiers.cs:29:9:29:46 | ... = ... | +| Qualifiers.cs:29:9:29:46 | Before ... = ... | Qualifiers.cs:29:9:29:47 | ...; | +| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:28:9:28:41 | After ...; | +| Qualifiers.cs:29:9:29:47 | After ...; | Qualifiers.cs:29:9:29:46 | After ... = ... | +| Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | +| Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | Qualifiers.cs:29:13:29:46 | Before access to property Property | +| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | +| Qualifiers.cs:29:13:29:46 | After access to property Property | Qualifiers.cs:29:13:29:46 | access to property Property | +| Qualifiers.cs:29:13:29:46 | Before access to property Property | Qualifiers.cs:29:9:29:9 | access to local variable q | +| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | +| Qualifiers.cs:30:9:30:9 | access to local variable q | Qualifiers.cs:30:9:30:46 | Before ... = ... | +| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:13:30:46 | After call to method Method | +| Qualifiers.cs:30:9:30:46 | After ... = ... | Qualifiers.cs:30:9:30:46 | ... = ... | +| Qualifiers.cs:30:9:30:46 | Before ... = ... | Qualifiers.cs:30:9:30:47 | ...; | +| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:29:9:29:47 | After ...; | +| Qualifiers.cs:30:9:30:47 | After ...; | Qualifiers.cs:30:9:30:46 | After ... = ... | +| Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | +| Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | Qualifiers.cs:30:13:30:46 | Before call to method Method | +| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | +| Qualifiers.cs:30:13:30:46 | After call to method Method | Qualifiers.cs:30:13:30:46 | call to method Method | +| Qualifiers.cs:30:13:30:46 | Before call to method Method | Qualifiers.cs:30:9:30:9 | access to local variable q | +| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | +| Switch.cs:3:7:3:12 | After call to constructor Object | Switch.cs:3:7:3:12 | call to constructor Object | +| Switch.cs:3:7:3:12 | After call to method | Switch.cs:3:7:3:12 | call to method | +| Switch.cs:3:7:3:12 | Before call to constructor Object | Switch.cs:3:7:3:12 | After call to method | +| Switch.cs:3:7:3:12 | Before call to method | Switch.cs:3:7:3:12 | Entry | +| Switch.cs:3:7:3:12 | Exit | Switch.cs:3:7:3:12 | Normal Exit | +| Switch.cs:3:7:3:12 | Normal Exit | Switch.cs:3:7:3:12 | {...} | +| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | Before call to constructor Object | | Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | this access | -| Switch.cs:3:7:3:12 | exit Switch | Switch.cs:3:7:3:12 | exit Switch (normal) | -| Switch.cs:3:7:3:12 | exit Switch (normal) | Switch.cs:3:7:3:12 | {...} | -| Switch.cs:3:7:3:12 | this access | Switch.cs:3:7:3:12 | enter Switch | -| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | call to constructor Object | -| Switch.cs:5:10:5:11 | exit M1 | Switch.cs:5:10:5:11 | exit M1 (normal) | -| Switch.cs:5:10:5:11 | exit M1 (normal) | Switch.cs:7:17:7:17 | access to parameter o | -| Switch.cs:6:5:8:5 | {...} | Switch.cs:5:10:5:11 | enter M1 | +| Switch.cs:3:7:3:12 | this access | Switch.cs:3:7:3:12 | Before call to method | +| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | After call to constructor Object | +| Switch.cs:5:10:5:11 | Exit | Switch.cs:5:10:5:11 | Normal Exit | +| Switch.cs:5:10:5:11 | Normal Exit | Switch.cs:6:5:8:5 | After {...} | +| Switch.cs:6:5:8:5 | After {...} | Switch.cs:7:9:7:22 | After switch (...) {...} | +| Switch.cs:6:5:8:5 | {...} | Switch.cs:5:10:5:11 | Entry | +| Switch.cs:7:9:7:22 | After switch (...) {...} | Switch.cs:7:17:7:17 | access to parameter o | | Switch.cs:7:9:7:22 | switch (...) {...} | Switch.cs:6:5:8:5 | {...} | | Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:7:9:7:22 | switch (...) {...} | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:15:17:15:23 | return ...; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:26:17:26:23 | return ...; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:29:17:29:23 | return ...; | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:10:10:10:11 | enter M2 | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:15:17:15:23 | return ...; | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:22:21:22:27 | return ...; | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:26:17:26:23 | return ...; | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:29:17:29:23 | return ...; | +| Switch.cs:11:5:33:5 | {...} | Switch.cs:10:10:10:11 | Entry | | Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:11:5:33:5 | {...} | | Switch.cs:12:17:12:17 | access to parameter o | Switch.cs:12:9:32:9 | switch (...) {...} | | Switch.cs:14:13:14:21 | case ...: | Switch.cs:12:17:12:17 | access to parameter o | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:14:13:14:21 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:23:17:23:28 | goto case ...; | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:17:17:17:38 | throw ...; | Switch.cs:17:23:17:37 | object creation of type Exception | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:16:18:16:18 | 0 | -| Switch.cs:18:18:18:21 | null | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:21:17:22:27 | if (...) ... | +| Switch.cs:14:18:14:20 | "a" | Switch.cs:14:13:14:21 | After case ...: [match] | +| Switch.cs:15:17:15:23 | Before return ...; | Switch.cs:14:18:14:20 | "a" | +| Switch.cs:15:17:15:23 | return ...; | Switch.cs:15:17:15:23 | Before return ...; | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:16:13:16:19 | case ...: | +| Switch.cs:16:13:16:19 | case ...: | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:16:18:16:18 | 0 | Switch.cs:16:13:16:19 | After case ...: [match] | +| Switch.cs:17:17:17:38 | Before throw ...; | Switch.cs:16:18:16:18 | 0 | +| Switch.cs:17:17:17:38 | throw ...; | Switch.cs:17:23:17:37 | After object creation of type Exception | +| Switch.cs:17:23:17:37 | After object creation of type Exception | Switch.cs:17:23:17:37 | object creation of type Exception | +| Switch.cs:17:23:17:37 | Before object creation of type Exception | Switch.cs:17:17:17:38 | Before throw ...; | +| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:23:17:37 | Before object creation of type Exception | +| Switch.cs:18:13:18:22 | case ...: | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:18:18:18:21 | null | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:19:17:19:29 | Before goto default; | Switch.cs:18:18:18:21 | null | +| Switch.cs:19:17:19:29 | goto default; | Switch.cs:19:17:19:29 | Before goto default; | +| Switch.cs:20:13:20:23 | case ...: | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:21:17:22:27 | After if (...) ... | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:20:18:20:22 | Int32 i | +| Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:21:21:21:29 | Before ... == ... | | Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:26:21:29 | null | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:21:21:21:29 | ... == ... | +| Switch.cs:21:21:21:29 | Before ... == ... | Switch.cs:21:17:22:27 | if (...) ... | | Switch.cs:21:26:21:29 | null | Switch.cs:21:21:21:21 | access to parameter o | +| Switch.cs:22:21:22:27 | Before return ...; | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:22:21:22:27 | return ...; | Switch.cs:22:21:22:27 | Before return ...; | +| Switch.cs:23:17:23:28 | Before goto case ...; | Switch.cs:21:17:22:27 | After if (...) ... | | Switch.cs:23:17:23:28 | goto case ...; | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:24:18:24:25 | String s | Switch.cs:24:13:24:56 | case ...: | +| Switch.cs:23:27:23:27 | 0 | Switch.cs:23:17:23:28 | Before goto case ...; | +| Switch.cs:24:13:24:56 | case ...: | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:24:18:24:25 | String s | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:39 | Before access to property Length | +| Switch.cs:24:32:24:39 | After access to property Length | Switch.cs:24:32:24:39 | access to property Length | +| Switch.cs:24:32:24:39 | Before access to property Length | Switch.cs:24:32:24:43 | Before ... > ... | | Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:32:24:32 | access to local variable s | | Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:43:24:43 | 0 | -| Switch.cs:24:43:24:43 | 0 | Switch.cs:24:32:24:39 | access to property Length | +| Switch.cs:24:32:24:43 | Before ... > ... | Switch.cs:24:32:24:55 | ... && ... | +| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:18:24:25 | String s | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:32:24:55 | After ... && ... [true] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:24:43:24:43 | 0 | Switch.cs:24:32:24:39 | After access to property Length | +| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:48:24:55 | Before ... != ... | | Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:53:24:55 | "a" | +| Switch.cs:24:48:24:55 | Before ... != ... | Switch.cs:24:32:24:43 | After ... > ... [true] | | Switch.cs:24:53:24:55 | "a" | Switch.cs:24:48:24:48 | access to local variable s | +| Switch.cs:25:17:25:36 | After call to method WriteLine | Switch.cs:25:17:25:36 | call to method WriteLine | +| Switch.cs:25:17:25:36 | Before call to method WriteLine | Switch.cs:25:17:25:37 | ...; | | Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:25:35:25:35 | access to local variable s | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:26:17:26:23 | return ...; | Switch.cs:25:17:25:36 | call to method WriteLine | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:25:17:25:37 | ...; | Switch.cs:24:32:24:55 | After ... && ... [true] | +| Switch.cs:25:17:25:37 | After ...; | Switch.cs:25:17:25:36 | After call to method WriteLine | +| Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:25:17:25:36 | Before call to method WriteLine | +| Switch.cs:26:17:26:23 | Before return ...; | Switch.cs:25:17:25:37 | After ...; | +| Switch.cs:26:17:26:23 | return ...; | Switch.cs:26:17:26:23 | Before return ...; | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:27:32:27:38 | Before call to method Throw | Switch.cs:27:18:27:25 | Double d | +| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:27:32:27:38 | Before call to method Throw | | Switch.cs:28:13:28:17 | Label: | Switch.cs:31:17:31:27 | goto ...; | -| Switch.cs:29:17:29:23 | return ...; | Switch.cs:28:13:28:17 | Label: | -| Switch.cs:30:13:30:20 | default: | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:30:13:30:20 | default: | Switch.cs:27:18:27:25 | Double d | -| Switch.cs:31:17:31:27 | goto ...; | Switch.cs:30:13:30:20 | default: | -| Switch.cs:35:10:35:11 | exit M3 | Switch.cs:35:10:35:11 | exit M3 (abnormal) | -| Switch.cs:35:10:35:11 | exit M3 (abnormal) | Switch.cs:37:17:37:23 | call to method Throw | -| Switch.cs:36:5:42:5 | {...} | Switch.cs:35:10:35:11 | enter M3 | +| Switch.cs:29:17:29:23 | Before return ...; | Switch.cs:28:13:28:17 | Label: | +| Switch.cs:29:17:29:23 | return ...; | Switch.cs:29:17:29:23 | Before return ...; | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:19:17:19:29 | goto default; | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:30:13:30:20 | default: | +| Switch.cs:30:13:30:20 | default: | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:31:17:31:27 | Before goto ...; | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:31:17:31:27 | goto ...; | Switch.cs:31:17:31:27 | Before goto ...; | +| Switch.cs:35:10:35:11 | Exceptional Exit | Switch.cs:37:17:37:23 | call to method Throw | +| Switch.cs:35:10:35:11 | Exit | Switch.cs:35:10:35:11 | Exceptional Exit | +| Switch.cs:36:5:42:5 | {...} | Switch.cs:35:10:35:11 | Entry | | Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:36:5:42:5 | {...} | -| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:37:9:41:9 | switch (...) {...} | -| Switch.cs:44:10:44:11 | exit M4 | Switch.cs:44:10:44:11 | exit M4 (normal) | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:49:17:49:22 | break; | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:50:18:50:21 | access to type Boolean | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:50:30:50:38 | ... != ... | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:51:17:51:22 | break; | -| Switch.cs:45:5:53:5 | {...} | Switch.cs:44:10:44:11 | enter M4 | +| Switch.cs:37:17:37:23 | Before call to method Throw | Switch.cs:37:9:41:9 | switch (...) {...} | +| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:37:17:37:23 | Before call to method Throw | +| Switch.cs:44:10:44:11 | Exit | Switch.cs:44:10:44:11 | Normal Exit | +| Switch.cs:44:10:44:11 | Normal Exit | Switch.cs:45:5:53:5 | After {...} | +| Switch.cs:45:5:53:5 | After {...} | Switch.cs:46:9:52:9 | After switch (...) {...} | +| Switch.cs:45:5:53:5 | {...} | Switch.cs:44:10:44:11 | Entry | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:49:17:49:22 | break; | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:51:17:51:22 | break; | | Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:45:5:53:5 | {...} | | Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:46:9:52:9 | switch (...) {...} | | Switch.cs:48:13:48:23 | case ...: | Switch.cs:46:17:46:17 | access to parameter o | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:48:13:48:23 | case ...: | -| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:13:50:39 | case ...: | +| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:48:13:48:23 | After case ...: [match] | +| Switch.cs:49:17:49:22 | Before break; | Switch.cs:48:18:48:20 | access to type Int32 | +| Switch.cs:49:17:49:22 | break; | Switch.cs:49:17:49:22 | Before break; | +| Switch.cs:50:13:50:39 | case ...: | Switch.cs:48:13:48:23 | After case ...: [no-match] | +| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:30:50:38 | Before ... != ... | | Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:35:50:38 | null | +| Switch.cs:50:30:50:38 | Before ... != ... | Switch.cs:50:18:50:21 | access to type Boolean | | Switch.cs:50:35:50:38 | null | Switch.cs:50:30:50:30 | access to parameter o | -| Switch.cs:55:10:55:11 | exit M5 | Switch.cs:55:10:55:11 | exit M5 (normal) | -| Switch.cs:55:10:55:11 | exit M5 (normal) | Switch.cs:62:17:62:22 | break; | -| Switch.cs:56:5:64:5 | {...} | Switch.cs:55:10:55:11 | enter M5 | +| Switch.cs:51:17:51:22 | Before break; | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:51:17:51:22 | break; | Switch.cs:51:17:51:22 | Before break; | +| Switch.cs:55:10:55:11 | Exit | Switch.cs:55:10:55:11 | Normal Exit | +| Switch.cs:55:10:55:11 | Normal Exit | Switch.cs:56:5:64:5 | After {...} | +| Switch.cs:56:5:64:5 | After {...} | Switch.cs:57:9:63:9 | After switch (...) {...} | +| Switch.cs:56:5:64:5 | {...} | Switch.cs:55:10:55:11 | Entry | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:60:17:60:22 | break; | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:62:17:62:22 | break; | | Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:56:5:64:5 | {...} | -| Switch.cs:57:17:57:17 | 1 | Switch.cs:57:9:63:9 | switch (...) {...} | +| Switch.cs:57:17:57:17 | 1 | Switch.cs:57:17:57:21 | Before ... + ... | | Switch.cs:57:17:57:21 | ... + ... | Switch.cs:57:21:57:21 | 2 | +| Switch.cs:57:17:57:21 | After ... + ... | Switch.cs:57:17:57:21 | ... + ... | +| Switch.cs:57:17:57:21 | Before ... + ... | Switch.cs:57:9:63:9 | switch (...) {...} | | Switch.cs:57:21:57:21 | 2 | Switch.cs:57:17:57:17 | 1 | -| Switch.cs:59:13:59:19 | case ...: | Switch.cs:57:17:57:21 | ... + ... | -| Switch.cs:59:18:59:18 | 2 | Switch.cs:59:13:59:19 | case ...: | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:59:18:59:18 | 2 | -| Switch.cs:61:18:61:18 | 3 | Switch.cs:61:13:61:19 | case ...: | -| Switch.cs:62:17:62:22 | break; | Switch.cs:61:18:61:18 | 3 | -| Switch.cs:66:10:66:11 | exit M6 | Switch.cs:66:10:66:11 | exit M6 (normal) | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:72:18:72:19 | "" | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:73:17:73:22 | break; | -| Switch.cs:67:5:75:5 | {...} | Switch.cs:66:10:66:11 | enter M6 | +| Switch.cs:59:13:59:19 | case ...: | Switch.cs:57:17:57:21 | After ... + ... | +| Switch.cs:59:18:59:18 | 2 | Switch.cs:59:13:59:19 | After case ...: [match] | +| Switch.cs:60:17:60:22 | Before break; | Switch.cs:59:18:59:18 | 2 | +| Switch.cs:60:17:60:22 | break; | Switch.cs:60:17:60:22 | Before break; | +| Switch.cs:61:13:61:19 | case ...: | Switch.cs:59:13:59:19 | After case ...: [no-match] | +| Switch.cs:61:18:61:18 | 3 | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:62:17:62:22 | Before break; | Switch.cs:61:18:61:18 | 3 | +| Switch.cs:62:17:62:22 | break; | Switch.cs:62:17:62:22 | Before break; | +| Switch.cs:66:10:66:11 | Exit | Switch.cs:66:10:66:11 | Normal Exit | +| Switch.cs:66:10:66:11 | Normal Exit | Switch.cs:67:5:75:5 | After {...} | +| Switch.cs:67:5:75:5 | After {...} | Switch.cs:68:9:74:9 | After switch (...) {...} | +| Switch.cs:67:5:75:5 | {...} | Switch.cs:66:10:66:11 | Entry | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:71:17:71:22 | break; | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:73:17:73:22 | break; | | Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:67:5:75:5 | {...} | | Switch.cs:68:17:68:25 | (...) ... | Switch.cs:68:25:68:25 | access to parameter s | -| Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:68:9:74:9 | switch (...) {...} | -| Switch.cs:70:13:70:23 | case ...: | Switch.cs:68:17:68:25 | (...) ... | -| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:70:13:70:23 | case ...: | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:70:18:70:20 | access to type Int32 | -| Switch.cs:72:18:72:19 | "" | Switch.cs:72:13:72:20 | case ...: | -| Switch.cs:77:10:77:11 | exit M7 | Switch.cs:77:10:77:11 | exit M7 (normal) | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:82:17:82:28 | return ...; | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:86:17:86:28 | return ...; | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:88:9:88:21 | return ...; | -| Switch.cs:78:5:89:5 | {...} | Switch.cs:77:10:77:11 | enter M7 | +| Switch.cs:68:17:68:25 | After (...) ... | Switch.cs:68:17:68:25 | (...) ... | +| Switch.cs:68:17:68:25 | Before (...) ... | Switch.cs:68:9:74:9 | switch (...) {...} | +| Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:68:17:68:25 | Before (...) ... | +| Switch.cs:70:13:70:23 | case ...: | Switch.cs:68:17:68:25 | After (...) ... | +| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:70:13:70:23 | After case ...: [match] | +| Switch.cs:71:17:71:22 | Before break; | Switch.cs:70:18:70:20 | access to type Int32 | +| Switch.cs:71:17:71:22 | break; | Switch.cs:71:17:71:22 | Before break; | +| Switch.cs:72:13:72:20 | case ...: | Switch.cs:70:13:70:23 | After case ...: [no-match] | +| Switch.cs:72:18:72:19 | "" | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:73:17:73:22 | Before break; | Switch.cs:72:18:72:19 | "" | +| Switch.cs:73:17:73:22 | break; | Switch.cs:73:17:73:22 | Before break; | +| Switch.cs:77:10:77:11 | Exit | Switch.cs:77:10:77:11 | Normal Exit | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:82:17:82:28 | return ...; | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:86:17:86:28 | return ...; | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:88:9:88:21 | return ...; | +| Switch.cs:78:5:89:5 | {...} | Switch.cs:77:10:77:11 | Entry | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:85:21:85:26 | break; | | Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:78:5:89:5 | {...} | | Switch.cs:79:17:79:17 | access to parameter i | Switch.cs:79:9:87:9 | switch (...) {...} | | Switch.cs:81:13:81:19 | case ...: | Switch.cs:79:17:79:17 | access to parameter i | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:81:13:81:19 | case ...: | +| Switch.cs:81:18:81:18 | 1 | Switch.cs:81:13:81:19 | After case ...: [match] | +| Switch.cs:82:17:82:28 | Before return ...; | Switch.cs:81:18:81:18 | 1 | | Switch.cs:82:17:82:28 | return ...; | Switch.cs:82:24:82:27 | true | -| Switch.cs:83:18:83:18 | 2 | Switch.cs:83:13:83:19 | case ...: | -| Switch.cs:84:21:84:21 | access to parameter j | Switch.cs:84:17:85:26 | if (...) ... | +| Switch.cs:82:24:82:27 | true | Switch.cs:82:17:82:28 | Before return ...; | +| Switch.cs:83:13:83:19 | case ...: | Switch.cs:81:13:81:19 | After case ...: [no-match] | +| Switch.cs:83:18:83:18 | 2 | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:84:17:85:26 | After if (...) ... | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:83:18:83:18 | 2 | +| Switch.cs:84:21:84:21 | access to parameter j | Switch.cs:84:21:84:25 | Before ... > ... | | Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:25:84:25 | 2 | +| Switch.cs:84:21:84:25 | Before ... > ... | Switch.cs:84:17:85:26 | if (...) ... | | Switch.cs:84:25:84:25 | 2 | Switch.cs:84:21:84:21 | access to parameter j | +| Switch.cs:85:21:85:26 | Before break; | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:85:21:85:26 | break; | Switch.cs:85:21:85:26 | Before break; | +| Switch.cs:86:17:86:28 | Before return ...; | Switch.cs:84:17:85:26 | After if (...) ... | | Switch.cs:86:17:86:28 | return ...; | Switch.cs:86:24:86:27 | true | +| Switch.cs:86:24:86:27 | true | Switch.cs:86:17:86:28 | Before return ...; | +| Switch.cs:88:9:88:21 | Before return ...; | Switch.cs:79:9:87:9 | After switch (...) {...} | | Switch.cs:88:9:88:21 | return ...; | Switch.cs:88:16:88:20 | false | -| Switch.cs:88:16:88:20 | false | Switch.cs:85:21:85:26 | break; | -| Switch.cs:91:10:91:11 | exit M8 | Switch.cs:91:10:91:11 | exit M8 (normal) | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:96:17:96:28 | return ...; | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:98:9:98:21 | return ...; | -| Switch.cs:92:5:99:5 | {...} | Switch.cs:91:10:91:11 | enter M8 | +| Switch.cs:88:16:88:20 | false | Switch.cs:88:9:88:21 | Before return ...; | +| Switch.cs:91:10:91:11 | Exit | Switch.cs:91:10:91:11 | Normal Exit | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:96:17:96:28 | return ...; | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:98:9:98:21 | return ...; | +| Switch.cs:92:5:99:5 | {...} | Switch.cs:91:10:91:11 | Entry | +| Switch.cs:93:9:97:9 | After switch (...) {...} | Switch.cs:95:13:95:23 | After case ...: [no-match] | | Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:92:5:99:5 | {...} | | Switch.cs:93:17:93:17 | access to parameter o | Switch.cs:93:9:97:9 | switch (...) {...} | | Switch.cs:95:13:95:23 | case ...: | Switch.cs:93:17:93:17 | access to parameter o | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:95:13:95:23 | case ...: | +| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:95:13:95:23 | After case ...: [match] | +| Switch.cs:96:17:96:28 | Before return ...; | Switch.cs:95:18:95:20 | access to type Int32 | | Switch.cs:96:17:96:28 | return ...; | Switch.cs:96:24:96:27 | true | +| Switch.cs:96:24:96:27 | true | Switch.cs:96:17:96:28 | Before return ...; | +| Switch.cs:98:9:98:21 | Before return ...; | Switch.cs:93:9:97:9 | After switch (...) {...} | | Switch.cs:98:9:98:21 | return ...; | Switch.cs:98:16:98:20 | false | -| Switch.cs:101:9:101:10 | exit M9 | Switch.cs:101:9:101:10 | exit M9 (normal) | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:105:21:105:29 | return ...; | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:106:21:106:29 | return ...; | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:108:9:108:18 | return ...; | -| Switch.cs:102:5:109:5 | {...} | Switch.cs:101:9:101:10 | enter M9 | +| Switch.cs:98:16:98:20 | false | Switch.cs:98:9:98:21 | Before return ...; | +| Switch.cs:101:9:101:10 | Exit | Switch.cs:101:9:101:10 | Normal Exit | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:105:21:105:29 | return ...; | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:106:21:106:29 | return ...; | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:108:9:108:18 | return ...; | +| Switch.cs:102:5:109:5 | {...} | Switch.cs:101:9:101:10 | Entry | +| Switch.cs:103:9:107:9 | After switch (...) {...} | Switch.cs:106:13:106:19 | After case ...: [no-match] | | Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:102:5:109:5 | {...} | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:9:107:9 | switch (...) {...} | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:103:17:103:17 | access to parameter s | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:13:105:19 | case ...: | +| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:25 | Before access to property Length | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:103:17:103:25 | access to property Length | +| Switch.cs:103:17:103:25 | Before access to property Length | Switch.cs:103:9:107:9 | switch (...) {...} | +| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:105:13:105:19 | case ...: | Switch.cs:103:17:103:25 | After access to property Length | +| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:105:21:105:29 | Before return ...; | Switch.cs:105:18:105:18 | 0 | | Switch.cs:105:21:105:29 | return ...; | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:13:106:19 | case ...: | +| Switch.cs:105:28:105:28 | 0 | Switch.cs:105:21:105:29 | Before return ...; | +| Switch.cs:106:13:106:19 | case ...: | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:106:21:106:29 | Before return ...; | Switch.cs:106:18:106:18 | 1 | | Switch.cs:106:21:106:29 | return ...; | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:108:9:108:18 | return ...; | Switch.cs:108:16:108:17 | -... | +| Switch.cs:106:28:106:28 | 1 | Switch.cs:106:21:106:29 | Before return ...; | +| Switch.cs:108:9:108:18 | Before return ...; | Switch.cs:103:9:107:9 | After switch (...) {...} | +| Switch.cs:108:9:108:18 | return ...; | Switch.cs:108:16:108:17 | After -... | | Switch.cs:108:16:108:17 | -... | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:111:17:111:21 | exit Throw | Switch.cs:111:17:111:21 | exit Throw (abnormal) | -| Switch.cs:111:17:111:21 | exit Throw (abnormal) | Switch.cs:111:28:111:48 | throw ... | -| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:34:111:48 | object creation of type Exception | -| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:17:111:21 | enter Throw | -| Switch.cs:113:9:113:11 | exit M10 | Switch.cs:113:9:113:11 | exit M10 (normal) | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:117:37:117:45 | return ...; | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:118:36:118:44 | return ...; | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:120:9:120:18 | return ...; | -| Switch.cs:114:5:121:5 | {...} | Switch.cs:113:9:113:11 | enter M10 | +| Switch.cs:108:16:108:17 | After -... | Switch.cs:108:16:108:17 | -... | +| Switch.cs:108:16:108:17 | Before -... | Switch.cs:108:9:108:18 | Before return ...; | +| Switch.cs:108:17:108:17 | 1 | Switch.cs:108:16:108:17 | Before -... | +| Switch.cs:111:17:111:21 | Exceptional Exit | Switch.cs:111:28:111:48 | throw ... | +| Switch.cs:111:17:111:21 | Exit | Switch.cs:111:17:111:21 | Exceptional Exit | +| Switch.cs:111:28:111:48 | Before throw ... | Switch.cs:111:17:111:21 | Entry | +| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:34:111:48 | After object creation of type Exception | +| Switch.cs:111:34:111:48 | After object creation of type Exception | Switch.cs:111:34:111:48 | object creation of type Exception | +| Switch.cs:111:34:111:48 | Before object creation of type Exception | Switch.cs:111:28:111:48 | Before throw ... | +| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:34:111:48 | Before object creation of type Exception | +| Switch.cs:113:9:113:11 | Exit | Switch.cs:113:9:113:11 | Normal Exit | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:117:37:117:45 | return ...; | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:118:36:118:44 | return ...; | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:120:9:120:18 | return ...; | +| Switch.cs:114:5:121:5 | {...} | Switch.cs:113:9:113:11 | Entry | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:118:25:118:33 | After ... == ... [false] | | Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:114:5:121:5 | {...} | -| Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:115:9:119:9 | switch (...) {...} | +| Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:115:17:115:24 | Before access to property Length | +| Switch.cs:115:17:115:24 | After access to property Length | Switch.cs:115:17:115:24 | access to property Length | +| Switch.cs:115:17:115:24 | Before access to property Length | Switch.cs:115:9:119:9 | switch (...) {...} | | Switch.cs:115:17:115:24 | access to property Length | Switch.cs:115:17:115:17 | access to parameter s | -| Switch.cs:117:13:117:35 | case ...: | Switch.cs:115:17:115:24 | access to property Length | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:13:117:35 | case ...: | +| Switch.cs:117:13:117:35 | case ...: | Switch.cs:115:17:115:24 | After access to property Length | +| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:13:117:35 | After case ...: [match] | +| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:25:117:34 | Before ... == ... | | Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:30:117:34 | "foo" | +| Switch.cs:117:25:117:34 | Before ... == ... | Switch.cs:117:18:117:18 | 3 | | Switch.cs:117:30:117:34 | "foo" | Switch.cs:117:25:117:25 | access to parameter s | +| Switch.cs:117:37:117:45 | Before return ...; | Switch.cs:117:25:117:34 | After ... == ... [true] | | Switch.cs:117:37:117:45 | return ...; | Switch.cs:117:44:117:44 | 1 | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:13:118:34 | case ...: | +| Switch.cs:117:44:117:44 | 1 | Switch.cs:117:37:117:45 | Before return ...; | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:25:118:33 | Before ... == ... | | Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:30:118:33 | "fu" | +| Switch.cs:118:25:118:33 | Before ... == ... | Switch.cs:118:18:118:18 | 2 | | Switch.cs:118:30:118:33 | "fu" | Switch.cs:118:25:118:25 | access to parameter s | +| Switch.cs:118:36:118:44 | Before return ...; | Switch.cs:118:25:118:33 | After ... == ... [true] | | Switch.cs:118:36:118:44 | return ...; | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:120:9:120:18 | return ...; | Switch.cs:120:16:120:17 | -... | +| Switch.cs:118:43:118:43 | 2 | Switch.cs:118:36:118:44 | Before return ...; | +| Switch.cs:120:9:120:18 | Before return ...; | Switch.cs:115:9:119:9 | After switch (...) {...} | +| Switch.cs:120:9:120:18 | return ...; | Switch.cs:120:16:120:17 | After -... | | Switch.cs:120:16:120:17 | -... | Switch.cs:120:17:120:17 | 1 | -| Switch.cs:123:10:123:12 | exit M11 | Switch.cs:123:10:123:12 | exit M11 (normal) | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:13:125:48 | [false] ... switch { ... } | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:124:5:127:5 | {...} | Switch.cs:123:10:123:12 | enter M11 | +| Switch.cs:120:16:120:17 | After -... | Switch.cs:120:16:120:17 | -... | +| Switch.cs:120:16:120:17 | Before -... | Switch.cs:120:9:120:18 | Before return ...; | +| Switch.cs:120:17:120:17 | 1 | Switch.cs:120:16:120:17 | Before -... | +| Switch.cs:123:10:123:12 | Exit | Switch.cs:123:10:123:12 | Normal Exit | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:124:5:127:5 | After {...} | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:126:13:126:19 | return ...; | +| Switch.cs:124:5:127:5 | After {...} | Switch.cs:125:9:126:19 | After if (...) ... | +| Switch.cs:124:5:127:5 | {...} | Switch.cs:123:10:123:12 | Entry | +| Switch.cs:125:9:126:19 | After if (...) ... | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | | Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:124:5:127:5 | {...} | -| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:9:126:19 | if (...) ... | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:13:125:13 | access to parameter o | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:42:125:46 | false | +| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:13:125:48 | ... switch { ... } | +| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:9:126:19 | if (...) ... | +| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:24:125:34 | After ... => ... [match] | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:13:125:13 | access to parameter o | +| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:29 | Boolean b | +| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:46 | After ... => ... [match] | +| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:24:125:34 | After ... => ... [no-match] | +| Switch.cs:125:37:125:46 | After ... => ... [match] | Switch.cs:125:37:125:46 | ... => ... | | Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:37 | _ | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:129:12:129:14 | exit M12 | Switch.cs:129:12:129:14 | exit M12 (normal) | -| Switch.cs:129:12:129:14 | exit M12 (normal) | Switch.cs:131:9:131:67 | return ...; | -| Switch.cs:130:5:132:5 | {...} | Switch.cs:129:12:129:14 | enter M12 | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:17:131:53 | [null] ... switch { ... } | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:130:5:132:5 | {...} | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:28:131:35 | String s | Switch.cs:131:17:131:17 | access to parameter o | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:48:131:51 | null | +| Switch.cs:126:13:126:19 | Before return ...; | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | +| Switch.cs:126:13:126:19 | return ...; | Switch.cs:126:13:126:19 | Before return ...; | +| Switch.cs:129:12:129:14 | Exit | Switch.cs:129:12:129:14 | Normal Exit | +| Switch.cs:129:12:129:14 | Normal Exit | Switch.cs:131:9:131:67 | return ...; | +| Switch.cs:130:5:132:5 | {...} | Switch.cs:129:12:129:14 | Entry | +| Switch.cs:131:9:131:67 | Before return ...; | Switch.cs:130:5:132:5 | {...} | +| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:16:131:66 | After call to method ToString | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:16:131:66 | call to method ToString | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | +| Switch.cs:131:16:131:66 | Before call to method ToString | Switch.cs:131:9:131:67 | Before return ...; | +| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | +| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:17:131:53 | ... switch { ... } | +| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:16:131:66 | Before call to method ToString | +| Switch.cs:131:28:131:35 | String s | Switch.cs:131:28:131:40 | After ... => ... [match] | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:17:131:17 | access to parameter o | +| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:35 | String s | +| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:51 | After ... => ... [match] | +| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:28:131:40 | After ... => ... [no-match] | +| Switch.cs:131:43:131:51 | After ... => ... [match] | Switch.cs:131:43:131:51 | ... => ... | | Switch.cs:131:48:131:51 | null | Switch.cs:131:43:131:43 | _ | -| Switch.cs:134:9:134:11 | exit M13 | Switch.cs:134:9:134:11 | exit M13 (normal) | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:138:22:138:31 | return ...; | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:139:21:139:29 | return ...; | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:140:21:140:29 | return ...; | -| Switch.cs:135:5:142:5 | {...} | Switch.cs:134:9:134:11 | enter M13 | +| Switch.cs:134:9:134:11 | Exit | Switch.cs:134:9:134:11 | Normal Exit | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:138:22:138:31 | return ...; | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:139:21:139:29 | return ...; | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:140:21:140:29 | return ...; | +| Switch.cs:135:5:142:5 | {...} | Switch.cs:134:9:134:11 | Entry | | Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:135:5:142:5 | {...} | | Switch.cs:136:17:136:17 | access to parameter i | Switch.cs:136:9:141:9 | switch (...) {...} | -| Switch.cs:138:22:138:31 | return ...; | Switch.cs:138:29:138:30 | -... | +| Switch.cs:138:13:138:20 | After default: [match] | Switch.cs:138:13:138:20 | default: | +| Switch.cs:138:13:138:20 | default: | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:138:22:138:31 | Before return ...; | Switch.cs:138:13:138:20 | After default: [match] | +| Switch.cs:138:22:138:31 | return ...; | Switch.cs:138:29:138:30 | After -... | | Switch.cs:138:29:138:30 | -... | Switch.cs:138:30:138:30 | 1 | -| Switch.cs:138:30:138:30 | 1 | Switch.cs:138:13:138:20 | default: | +| Switch.cs:138:29:138:30 | After -... | Switch.cs:138:29:138:30 | -... | +| Switch.cs:138:29:138:30 | Before -... | Switch.cs:138:22:138:31 | Before return ...; | +| Switch.cs:138:30:138:30 | 1 | Switch.cs:138:29:138:30 | Before -... | | Switch.cs:139:13:139:19 | case ...: | Switch.cs:136:17:136:17 | access to parameter i | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:13:139:19 | case ...: | +| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:13:139:19 | After case ...: [match] | +| Switch.cs:139:21:139:29 | Before return ...; | Switch.cs:139:18:139:18 | 1 | | Switch.cs:139:21:139:29 | return ...; | Switch.cs:139:28:139:28 | 1 | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:13:140:19 | case ...: | +| Switch.cs:139:28:139:28 | 1 | Switch.cs:139:21:139:29 | Before return ...; | +| Switch.cs:140:13:140:19 | case ...: | Switch.cs:139:13:139:19 | After case ...: [no-match] | +| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:140:21:140:29 | Before return ...; | Switch.cs:140:18:140:18 | 2 | | Switch.cs:140:21:140:29 | return ...; | Switch.cs:140:28:140:28 | 2 | -| Switch.cs:144:9:144:11 | exit M14 | Switch.cs:144:9:144:11 | exit M14 (normal) | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:148:21:148:29 | return ...; | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:149:22:149:31 | return ...; | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:150:21:150:29 | return ...; | -| Switch.cs:145:5:152:5 | {...} | Switch.cs:144:9:144:11 | enter M14 | +| Switch.cs:140:28:140:28 | 2 | Switch.cs:140:21:140:29 | Before return ...; | +| Switch.cs:144:9:144:11 | Exit | Switch.cs:144:9:144:11 | Normal Exit | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:148:21:148:29 | return ...; | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:149:22:149:31 | return ...; | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:150:21:150:29 | return ...; | +| Switch.cs:145:5:152:5 | {...} | Switch.cs:144:9:144:11 | Entry | | Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:145:5:152:5 | {...} | | Switch.cs:146:17:146:17 | access to parameter i | Switch.cs:146:9:151:9 | switch (...) {...} | | Switch.cs:148:13:148:19 | case ...: | Switch.cs:146:17:146:17 | access to parameter i | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:13:148:19 | case ...: | +| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:13:148:19 | After case ...: [match] | +| Switch.cs:148:21:148:29 | Before return ...; | Switch.cs:148:18:148:18 | 1 | | Switch.cs:148:21:148:29 | return ...; | Switch.cs:148:28:148:28 | 1 | -| Switch.cs:149:22:149:31 | return ...; | Switch.cs:149:29:149:30 | -... | +| Switch.cs:148:28:148:28 | 1 | Switch.cs:148:21:148:29 | Before return ...; | +| Switch.cs:149:13:149:20 | After default: [match] | Switch.cs:149:13:149:20 | default: | +| Switch.cs:149:13:149:20 | default: | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:149:22:149:31 | Before return ...; | Switch.cs:149:13:149:20 | After default: [match] | +| Switch.cs:149:22:149:31 | return ...; | Switch.cs:149:29:149:30 | After -... | | Switch.cs:149:29:149:30 | -... | Switch.cs:149:30:149:30 | 1 | -| Switch.cs:149:30:149:30 | 1 | Switch.cs:149:13:149:20 | default: | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:13:150:19 | case ...: | +| Switch.cs:149:29:149:30 | After -... | Switch.cs:149:29:149:30 | -... | +| Switch.cs:149:29:149:30 | Before -... | Switch.cs:149:22:149:31 | Before return ...; | +| Switch.cs:149:30:149:30 | 1 | Switch.cs:149:29:149:30 | Before -... | +| Switch.cs:150:13:150:19 | case ...: | Switch.cs:148:13:148:19 | After case ...: [no-match] | +| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:150:21:150:29 | Before return ...; | Switch.cs:150:18:150:18 | 2 | | Switch.cs:150:21:150:29 | return ...; | Switch.cs:150:28:150:28 | 2 | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:158:13:158:48 | call to method WriteLine | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:160:13:160:48 | call to method WriteLine | -| Switch.cs:155:5:161:5 | {...} | Switch.cs:154:10:154:12 | enter M15 | +| Switch.cs:150:28:150:28 | 2 | Switch.cs:150:21:150:29 | Before return ...; | +| Switch.cs:154:10:154:12 | Exit | Switch.cs:154:10:154:12 | Normal Exit | +| Switch.cs:154:10:154:12 | Normal Exit | Switch.cs:155:5:161:5 | After {...} | +| Switch.cs:155:5:161:5 | After {...} | Switch.cs:157:9:160:49 | After if (...) ... | +| Switch.cs:155:5:161:5 | {...} | Switch.cs:154:10:154:12 | Entry | | Switch.cs:156:9:156:55 | ... ...; | Switch.cs:155:5:161:5 | {...} | -| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:17:156:54 | ... switch { ... } | -| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:9:156:55 | ... ...; | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:28:156:38 | ... => ... | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:41:156:52 | ... => ... | -| Switch.cs:156:28:156:31 | true | Switch.cs:156:17:156:17 | access to parameter b | -| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:50:156:52 | "b" | +| Switch.cs:156:9:156:55 | After ... ...; | Switch.cs:156:13:156:54 | After String s = ... | +| Switch.cs:156:13:156:13 | access to local variable s | Switch.cs:156:13:156:54 | Before String s = ... | +| Switch.cs:156:13:156:54 | After String s = ... | Switch.cs:156:13:156:54 | String s = ... | +| Switch.cs:156:13:156:54 | Before String s = ... | Switch.cs:156:9:156:55 | ... ...; | +| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:17:156:54 | After ... switch { ... } | +| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:17:156:54 | ... switch { ... } | +| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:13:156:13 | access to local variable s | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:36:156:38 | "a" | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:50:156:52 | "b" | +| Switch.cs:156:28:156:31 | true | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:17:156:17 | access to parameter b | +| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:28:156:31 | true | +| Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:28:156:38 | After ... => ... [no-match] | | Switch.cs:156:50:156:52 | "b" | Switch.cs:156:41:156:45 | false | -| Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:156:13:156:54 | String s = ... | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:158:13:158:49 | After ...; | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:160:13:160:49 | After ...; | +| Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:156:9:156:55 | After ... ...; | | Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:9:160:49 | if (...) ... | -| Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:158:38:158:47 | $"..." | -| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:44:158:46 | {...} | -| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:13:158:49 | ...; | +| Switch.cs:158:13:158:48 | After call to method WriteLine | Switch.cs:158:13:158:48 | call to method WriteLine | +| Switch.cs:158:13:158:48 | Before call to method WriteLine | Switch.cs:158:13:158:49 | ...; | +| Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:158:38:158:47 | After $"..." | +| Switch.cs:158:13:158:49 | ...; | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:158:13:158:49 | After ...; | Switch.cs:158:13:158:48 | After call to method WriteLine | +| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:44:158:46 | After {...} | +| Switch.cs:158:38:158:47 | After $"..." | Switch.cs:158:38:158:47 | $"..." | +| Switch.cs:158:38:158:47 | Before $"..." | Switch.cs:158:13:158:48 | Before call to method WriteLine | +| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:38:158:47 | Before $"..." | +| Switch.cs:158:44:158:46 | After {...} | Switch.cs:158:44:158:46 | {...} | +| Switch.cs:158:44:158:46 | Before {...} | Switch.cs:158:40:158:43 | "a = " | | Switch.cs:158:44:158:46 | {...} | Switch.cs:158:45:158:45 | access to local variable s | -| Switch.cs:158:45:158:45 | access to local variable s | Switch.cs:158:40:158:43 | "a = " | -| Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:160:38:160:47 | $"..." | -| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:44:160:46 | {...} | -| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:13:160:49 | ...; | +| Switch.cs:158:45:158:45 | access to local variable s | Switch.cs:158:44:158:46 | Before {...} | +| Switch.cs:160:13:160:48 | After call to method WriteLine | Switch.cs:160:13:160:48 | call to method WriteLine | +| Switch.cs:160:13:160:48 | Before call to method WriteLine | Switch.cs:160:13:160:49 | ...; | +| Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:160:38:160:47 | After $"..." | +| Switch.cs:160:13:160:49 | ...; | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:160:13:160:49 | After ...; | Switch.cs:160:13:160:48 | After call to method WriteLine | +| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:44:160:46 | After {...} | +| Switch.cs:160:38:160:47 | After $"..." | Switch.cs:160:38:160:47 | $"..." | +| Switch.cs:160:38:160:47 | Before $"..." | Switch.cs:160:13:160:48 | Before call to method WriteLine | +| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:38:160:47 | Before $"..." | +| Switch.cs:160:44:160:46 | After {...} | Switch.cs:160:44:160:46 | {...} | +| Switch.cs:160:44:160:46 | Before {...} | Switch.cs:160:40:160:43 | "b = " | | Switch.cs:160:44:160:46 | {...} | Switch.cs:160:45:160:45 | access to local variable s | -| Switch.cs:160:45:160:45 | access to local variable s | Switch.cs:160:40:160:43 | "b = " | -| Switch.cs:163:10:163:12 | exit M16 | Switch.cs:163:10:163:12 | exit M16 (normal) | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:170:17:170:22 | break; | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:173:17:173:22 | break; | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:176:17:176:22 | break; | -| Switch.cs:164:5:178:5 | {...} | Switch.cs:163:10:163:12 | enter M16 | +| Switch.cs:160:45:160:45 | access to local variable s | Switch.cs:160:44:160:46 | Before {...} | +| Switch.cs:163:10:163:12 | Exit | Switch.cs:163:10:163:12 | Normal Exit | +| Switch.cs:163:10:163:12 | Normal Exit | Switch.cs:164:5:178:5 | After {...} | +| Switch.cs:164:5:178:5 | After {...} | Switch.cs:165:9:177:9 | After switch (...) {...} | +| Switch.cs:164:5:178:5 | {...} | Switch.cs:163:10:163:12 | Entry | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:170:17:170:22 | break; | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:173:17:173:22 | break; | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:176:17:176:22 | break; | | Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:164:5:178:5 | {...} | | Switch.cs:165:17:165:17 | access to parameter i | Switch.cs:165:9:177:9 | switch (...) {...} | | Switch.cs:167:13:167:19 | case ...: | Switch.cs:165:17:165:17 | access to parameter i | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:167:13:167:19 | case ...: | -| Switch.cs:168:18:168:18 | 2 | Switch.cs:168:13:168:19 | case ...: | +| Switch.cs:167:18:167:18 | 1 | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:168:13:168:19 | case ...: | Switch.cs:167:13:167:19 | After case ...: [no-match] | +| Switch.cs:168:18:168:18 | 2 | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:169:17:169:50 | After call to method WriteLine | Switch.cs:169:17:169:50 | call to method WriteLine | +| Switch.cs:169:17:169:50 | Before call to method WriteLine | Switch.cs:169:17:169:51 | ...; | | Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:169:42:169:49 | "1 or 2" | -| Switch.cs:169:42:169:49 | "1 or 2" | Switch.cs:169:17:169:51 | ...; | -| Switch.cs:170:17:170:22 | break; | Switch.cs:169:17:169:50 | call to method WriteLine | -| Switch.cs:171:18:171:18 | 3 | Switch.cs:171:13:171:19 | case ...: | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:167:18:167:18 | 1 | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:168:18:168:18 | 2 | +| Switch.cs:169:17:169:51 | After ...; | Switch.cs:169:17:169:50 | After call to method WriteLine | +| Switch.cs:169:42:169:49 | "1 or 2" | Switch.cs:169:17:169:50 | Before call to method WriteLine | +| Switch.cs:170:17:170:22 | Before break; | Switch.cs:169:17:169:51 | After ...; | +| Switch.cs:170:17:170:22 | break; | Switch.cs:170:17:170:22 | Before break; | +| Switch.cs:171:13:171:19 | case ...: | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:171:18:171:18 | 3 | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:172:17:172:45 | After call to method WriteLine | Switch.cs:172:17:172:45 | call to method WriteLine | +| Switch.cs:172:17:172:45 | Before call to method WriteLine | Switch.cs:172:17:172:46 | ...; | | Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:172:42:172:44 | "3" | -| Switch.cs:172:42:172:44 | "3" | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:173:17:173:22 | break; | Switch.cs:172:17:172:45 | call to method WriteLine | +| Switch.cs:172:17:172:46 | ...; | Switch.cs:171:18:171:18 | 3 | +| Switch.cs:172:17:172:46 | After ...; | Switch.cs:172:17:172:45 | After call to method WriteLine | +| Switch.cs:172:42:172:44 | "3" | Switch.cs:172:17:172:45 | Before call to method WriteLine | +| Switch.cs:173:17:173:22 | Before break; | Switch.cs:172:17:172:46 | After ...; | +| Switch.cs:173:17:173:22 | break; | Switch.cs:173:17:173:22 | Before break; | +| Switch.cs:174:13:174:20 | After default: [match] | Switch.cs:174:13:174:20 | default: | +| Switch.cs:174:13:174:20 | default: | Switch.cs:171:13:171:19 | After case ...: [no-match] | +| Switch.cs:175:17:175:47 | After call to method WriteLine | Switch.cs:175:17:175:47 | call to method WriteLine | +| Switch.cs:175:17:175:47 | Before call to method WriteLine | Switch.cs:175:17:175:48 | ...; | | Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:175:42:175:46 | "def" | -| Switch.cs:175:17:175:48 | ...; | Switch.cs:174:13:174:20 | default: | -| Switch.cs:175:42:175:46 | "def" | Switch.cs:175:17:175:48 | ...; | -| Switch.cs:176:17:176:22 | break; | Switch.cs:175:17:175:47 | call to method WriteLine | -| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | call to method | +| Switch.cs:175:17:175:48 | ...; | Switch.cs:174:13:174:20 | After default: [match] | +| Switch.cs:175:17:175:48 | After ...; | Switch.cs:175:17:175:47 | After call to method WriteLine | +| Switch.cs:175:42:175:46 | "def" | Switch.cs:175:17:175:47 | Before call to method WriteLine | +| Switch.cs:176:17:176:22 | Before break; | Switch.cs:175:17:175:48 | After ...; | +| Switch.cs:176:17:176:22 | break; | Switch.cs:176:17:176:22 | Before break; | +| TypeAccesses.cs:1:7:1:18 | After call to constructor Object | TypeAccesses.cs:1:7:1:18 | call to constructor Object | +| TypeAccesses.cs:1:7:1:18 | After call to method | TypeAccesses.cs:1:7:1:18 | call to method | +| TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | TypeAccesses.cs:1:7:1:18 | After call to method | +| TypeAccesses.cs:1:7:1:18 | Before call to method | TypeAccesses.cs:1:7:1:18 | Entry | +| TypeAccesses.cs:1:7:1:18 | Exit | TypeAccesses.cs:1:7:1:18 | Normal Exit | +| TypeAccesses.cs:1:7:1:18 | Normal Exit | TypeAccesses.cs:1:7:1:18 | {...} | +| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | | TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | this access | -| TypeAccesses.cs:1:7:1:18 | exit TypeAccesses | TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | -| TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | TypeAccesses.cs:1:7:1:18 | {...} | -| TypeAccesses.cs:1:7:1:18 | this access | TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | -| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | call to constructor Object | -| TypeAccesses.cs:3:10:3:10 | exit M | TypeAccesses.cs:3:10:3:10 | exit M (normal) | -| TypeAccesses.cs:3:10:3:10 | exit M (normal) | TypeAccesses.cs:8:13:8:27 | Type t = ... | -| TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:3:10:3:10 | enter M | +| TypeAccesses.cs:1:7:1:18 | this access | TypeAccesses.cs:1:7:1:18 | Before call to method | +| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | After call to constructor Object | +| TypeAccesses.cs:3:10:3:10 | Exit | TypeAccesses.cs:3:10:3:10 | Normal Exit | +| TypeAccesses.cs:3:10:3:10 | Normal Exit | TypeAccesses.cs:4:5:9:5 | After {...} | +| TypeAccesses.cs:4:5:9:5 | After {...} | TypeAccesses.cs:8:9:8:28 | After ... ...; | +| TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:3:10:3:10 | Entry | | TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:4:5:9:5 | {...} | -| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:17:5:25 | (...) ... | +| TypeAccesses.cs:5:9:5:26 | After ... ...; | TypeAccesses.cs:5:13:5:25 | After String s = ... | +| TypeAccesses.cs:5:13:5:13 | access to local variable s | TypeAccesses.cs:5:13:5:25 | Before String s = ... | +| TypeAccesses.cs:5:13:5:25 | After String s = ... | TypeAccesses.cs:5:13:5:25 | String s = ... | +| TypeAccesses.cs:5:13:5:25 | Before String s = ... | TypeAccesses.cs:5:9:5:26 | ... ...; | +| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:17:5:25 | After (...) ... | | TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:25:5:25 | access to parameter o | -| TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:9:5:26 | ... ...; | -| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:13:6:23 | ... as ... | -| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:5:13:5:25 | String s = ... | -| TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:9:6:24 | ...; | +| TypeAccesses.cs:5:17:5:25 | After (...) ... | TypeAccesses.cs:5:17:5:25 | (...) ... | +| TypeAccesses.cs:5:17:5:25 | Before (...) ... | TypeAccesses.cs:5:13:5:13 | access to local variable s | +| TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:17:5:25 | Before (...) ... | +| TypeAccesses.cs:6:9:6:9 | access to local variable s | TypeAccesses.cs:6:9:6:23 | Before ... = ... | +| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:13:6:23 | After ... as ... | +| TypeAccesses.cs:6:9:6:23 | After ... = ... | TypeAccesses.cs:6:9:6:23 | ... = ... | +| TypeAccesses.cs:6:9:6:23 | Before ... = ... | TypeAccesses.cs:6:9:6:24 | ...; | +| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:5:9:5:26 | After ... ...; | +| TypeAccesses.cs:6:9:6:24 | After ...; | TypeAccesses.cs:6:9:6:23 | After ... = ... | +| TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:13:6:23 | Before ... as ... | | TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:13:6:13 | access to parameter o | -| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:6:9:6:23 | ... = ... | -| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:9:7:25 | if (...) ... | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:13 | access to parameter o | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:7:25:7:25 | ; | +| TypeAccesses.cs:6:13:6:23 | After ... as ... | TypeAccesses.cs:6:13:6:23 | ... as ... | +| TypeAccesses.cs:6:13:6:23 | Before ... as ... | TypeAccesses.cs:6:9:6:9 | access to local variable s | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:7:25:7:25 | ; | +| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:6:9:6:24 | After ...; | +| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:13:7:22 | Before ... is ... | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:13 | access to parameter o | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | TypeAccesses.cs:7:18:7:22 | Int32 j | +| TypeAccesses.cs:7:13:7:22 | Before ... is ... | TypeAccesses.cs:7:9:7:25 | if (...) ... | +| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | +| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | +| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:7:9:7:25 | After if (...) ... | +| TypeAccesses.cs:8:9:8:28 | After ... ...; | TypeAccesses.cs:8:13:8:27 | After Type t = ... | +| TypeAccesses.cs:8:13:8:13 | access to local variable t | TypeAccesses.cs:8:13:8:27 | Before Type t = ... | +| TypeAccesses.cs:8:13:8:27 | After Type t = ... | TypeAccesses.cs:8:13:8:27 | Type t = ... | +| TypeAccesses.cs:8:13:8:27 | Before Type t = ... | TypeAccesses.cs:8:9:8:28 | ... ...; | | TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:8:17:8:27 | typeof(...) | -| TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:9:8:28 | ... ...; | -| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | call to method | +| TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:13:8:13 | access to local variable t | +| VarDecls.cs:3:7:3:14 | After call to constructor Object | VarDecls.cs:3:7:3:14 | call to constructor Object | +| VarDecls.cs:3:7:3:14 | After call to method | VarDecls.cs:3:7:3:14 | call to method | +| VarDecls.cs:3:7:3:14 | Before call to constructor Object | VarDecls.cs:3:7:3:14 | After call to method | +| VarDecls.cs:3:7:3:14 | Before call to method | VarDecls.cs:3:7:3:14 | Entry | +| VarDecls.cs:3:7:3:14 | Exit | VarDecls.cs:3:7:3:14 | Normal Exit | +| VarDecls.cs:3:7:3:14 | Normal Exit | VarDecls.cs:3:7:3:14 | {...} | +| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | Before call to constructor Object | | VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | this access | -| VarDecls.cs:3:7:3:14 | exit VarDecls | VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | -| VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | VarDecls.cs:3:7:3:14 | {...} | -| VarDecls.cs:3:7:3:14 | this access | VarDecls.cs:3:7:3:14 | enter VarDecls | -| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | call to constructor Object | -| VarDecls.cs:5:18:5:19 | exit M1 | VarDecls.cs:5:18:5:19 | exit M1 (normal) | -| VarDecls.cs:5:18:5:19 | exit M1 (normal) | VarDecls.cs:9:13:9:29 | return ...; | -| VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:5:18:5:19 | enter M1 | +| VarDecls.cs:3:7:3:14 | this access | VarDecls.cs:3:7:3:14 | Before call to method | +| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | After call to constructor Object | +| VarDecls.cs:5:18:5:19 | Exit | VarDecls.cs:5:18:5:19 | Normal Exit | +| VarDecls.cs:5:18:5:19 | Normal Exit | VarDecls.cs:9:13:9:29 | return ...; | +| VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:5:18:5:19 | Entry | | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:6:5:11:5 | {...} | -| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:27:7:36 | (...) ... | -| VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | -| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:27:7:36 | access to array element | +| VarDecls.cs:7:22:7:23 | access to local variable c1 | VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | +| VarDecls.cs:7:22:7:36 | After Char* c1 = ... | VarDecls.cs:7:22:7:36 | Char* c1 = ... | +| VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | +| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:27:7:36 | After (...) ... | +| VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:27:7:36 | Before access to array element | +| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:27:7:36 | After access to array element | +| VarDecls.cs:7:27:7:36 | After (...) ... | VarDecls.cs:7:27:7:36 | (...) ... | +| VarDecls.cs:7:27:7:36 | After access to array element | VarDecls.cs:7:27:7:36 | access to array element | +| VarDecls.cs:7:27:7:36 | Before (...) ... | VarDecls.cs:7:22:7:23 | access to local variable c1 | +| VarDecls.cs:7:27:7:36 | Before access to array element | VarDecls.cs:7:27:7:36 | Before (...) ... | | VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:35:7:35 | 0 | | VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:7:27:7:33 | access to parameter strings | -| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:44:7:53 | (...) ... | -| VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:22:7:36 | Char* c1 = ... | -| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:44:7:53 | access to array element | +| VarDecls.cs:7:39:7:40 | access to local variable c2 | VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | +| VarDecls.cs:7:39:7:53 | After Char* c2 = ... | VarDecls.cs:7:39:7:53 | Char* c2 = ... | +| VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | VarDecls.cs:7:22:7:36 | After Char* c1 = ... | +| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:44:7:53 | After (...) ... | +| VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:44:7:53 | Before access to array element | +| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:44:7:53 | After access to array element | +| VarDecls.cs:7:44:7:53 | After (...) ... | VarDecls.cs:7:44:7:53 | (...) ... | +| VarDecls.cs:7:44:7:53 | After access to array element | VarDecls.cs:7:44:7:53 | access to array element | +| VarDecls.cs:7:44:7:53 | Before (...) ... | VarDecls.cs:7:39:7:40 | access to local variable c2 | +| VarDecls.cs:7:44:7:53 | Before access to array element | VarDecls.cs:7:44:7:53 | Before (...) ... | | VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:52:7:52 | 1 | | VarDecls.cs:7:52:7:52 | 1 | VarDecls.cs:7:44:7:50 | access to parameter strings | -| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:7:39:7:53 | Char* c2 = ... | -| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:9:20:9:28 | (...) ... | +| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:7:39:7:53 | After Char* c2 = ... | +| VarDecls.cs:9:13:9:29 | Before return ...; | VarDecls.cs:8:9:10:9 | {...} | +| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:9:20:9:28 | After (...) ... | | VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:27:9:28 | access to local variable c1 | -| VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:8:9:10:9 | {...} | -| VarDecls.cs:13:12:13:13 | exit M2 | VarDecls.cs:13:12:13:13 | exit M2 (normal) | -| VarDecls.cs:13:12:13:13 | exit M2 (normal) | VarDecls.cs:16:9:16:23 | return ...; | -| VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:13:12:13:13 | enter M2 | +| VarDecls.cs:9:20:9:28 | After (...) ... | VarDecls.cs:9:20:9:28 | (...) ... | +| VarDecls.cs:9:20:9:28 | Before (...) ... | VarDecls.cs:9:13:9:29 | Before return ...; | +| VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:9:20:9:28 | Before (...) ... | +| VarDecls.cs:13:12:13:13 | Exit | VarDecls.cs:13:12:13:13 | Normal Exit | +| VarDecls.cs:13:12:13:13 | Normal Exit | VarDecls.cs:16:9:16:23 | return ...; | +| VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:13:12:13:13 | Entry | | VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:14:5:17:5 | {...} | +| VarDecls.cs:15:9:15:30 | After ... ...; | VarDecls.cs:15:24:15:29 | After String s2 = ... | +| VarDecls.cs:15:16:15:17 | access to local variable s1 | VarDecls.cs:15:16:15:21 | Before String s1 = ... | +| VarDecls.cs:15:16:15:21 | After String s1 = ... | VarDecls.cs:15:16:15:21 | String s1 = ... | +| VarDecls.cs:15:16:15:21 | Before String s1 = ... | VarDecls.cs:15:9:15:30 | ... ...; | | VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:21:15:21 | access to parameter s | -| VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:9:15:30 | ... ...; | +| VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:16:15:17 | access to local variable s1 | +| VarDecls.cs:15:24:15:25 | access to local variable s2 | VarDecls.cs:15:24:15:29 | Before String s2 = ... | +| VarDecls.cs:15:24:15:29 | After String s2 = ... | VarDecls.cs:15:24:15:29 | String s2 = ... | +| VarDecls.cs:15:24:15:29 | Before String s2 = ... | VarDecls.cs:15:16:15:21 | After String s1 = ... | | VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:15:29:15:29 | access to parameter s | -| VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:16:15:21 | String s1 = ... | -| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:16:16:16:22 | ... + ... | -| VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:15:24:15:29 | String s2 = ... | +| VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:24:15:25 | access to local variable s2 | +| VarDecls.cs:16:9:16:23 | Before return ...; | VarDecls.cs:15:9:15:30 | After ... ...; | +| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:16:16:16:22 | After ... + ... | +| VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:16:16:16:22 | Before ... + ... | | VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:21:16:22 | access to local variable s2 | +| VarDecls.cs:16:16:16:22 | After ... + ... | VarDecls.cs:16:16:16:22 | ... + ... | +| VarDecls.cs:16:16:16:22 | Before ... + ... | VarDecls.cs:16:9:16:23 | Before return ...; | | VarDecls.cs:16:21:16:22 | access to local variable s2 | VarDecls.cs:16:16:16:17 | access to local variable s1 | -| VarDecls.cs:19:7:19:8 | exit M3 | VarDecls.cs:19:7:19:8 | exit M3 (normal) | -| VarDecls.cs:19:7:19:8 | exit M3 (normal) | VarDecls.cs:25:13:25:29 | return ...; | -| VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:19:7:19:8 | enter M3 | +| VarDecls.cs:19:7:19:8 | Exit | VarDecls.cs:19:7:19:8 | Normal Exit | +| VarDecls.cs:19:7:19:8 | Normal Exit | VarDecls.cs:25:13:25:29 | return ...; | +| VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:19:7:19:8 | Entry | +| VarDecls.cs:21:9:22:13 | After using (...) {...} | VarDecls.cs:22:13:22:13 | ; | | VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:20:5:26:5 | {...} | -| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:21:9:22:13 | using (...) {...} | -| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:21:16:21:22 | object creation of type C | -| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:22:13:22:13 | ; | -| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:22:24:28 | object creation of type C | -| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:9:25:29 | using (...) {...} | -| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:35:24:41 | object creation of type C | -| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:18:24:28 | C x = ... | -| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:25:20:25:28 | ... ? ... : ... | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:24:31:24:41 | C y = ... | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:24:25:24 | access to local variable x | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:28:25:28 | access to local variable y | -| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | call to method | +| VarDecls.cs:21:16:21:22 | After object creation of type C | VarDecls.cs:21:16:21:22 | object creation of type C | +| VarDecls.cs:21:16:21:22 | Before object creation of type C | VarDecls.cs:21:9:22:13 | using (...) {...} | +| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:21:16:21:22 | Before object creation of type C | +| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:21:16:21:22 | After object creation of type C | +| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:21:9:22:13 | After using (...) {...} | +| VarDecls.cs:24:18:24:18 | access to local variable x | VarDecls.cs:24:18:24:28 | Before C x = ... | +| VarDecls.cs:24:18:24:28 | After C x = ... | VarDecls.cs:24:18:24:28 | C x = ... | +| VarDecls.cs:24:18:24:28 | Before C x = ... | VarDecls.cs:24:9:25:29 | using (...) {...} | +| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:22:24:28 | After object creation of type C | +| VarDecls.cs:24:22:24:28 | After object creation of type C | VarDecls.cs:24:22:24:28 | object creation of type C | +| VarDecls.cs:24:22:24:28 | Before object creation of type C | VarDecls.cs:24:18:24:18 | access to local variable x | +| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:22:24:28 | Before object creation of type C | +| VarDecls.cs:24:31:24:31 | access to local variable y | VarDecls.cs:24:31:24:41 | Before C y = ... | +| VarDecls.cs:24:31:24:41 | After C y = ... | VarDecls.cs:24:31:24:41 | C y = ... | +| VarDecls.cs:24:31:24:41 | Before C y = ... | VarDecls.cs:24:18:24:28 | After C x = ... | +| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:35:24:41 | After object creation of type C | +| VarDecls.cs:24:35:24:41 | After object creation of type C | VarDecls.cs:24:35:24:41 | object creation of type C | +| VarDecls.cs:24:35:24:41 | Before object creation of type C | VarDecls.cs:24:31:24:31 | access to local variable y | +| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:35:24:41 | Before object creation of type C | +| VarDecls.cs:25:13:25:29 | Before return ...; | VarDecls.cs:24:31:24:41 | After C y = ... | +| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:25:20:25:28 | After ... ? ... : ... | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:28 | ... ? ... : ... | +| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:13:25:29 | Before return ...; | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:24:25:24 | access to local variable x | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:28:25:28 | access to local variable y | +| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | +| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | +| VarDecls.cs:28:11:28:11 | After call to constructor Object | VarDecls.cs:28:11:28:11 | call to constructor Object | +| VarDecls.cs:28:11:28:11 | After call to method | VarDecls.cs:28:11:28:11 | call to method | +| VarDecls.cs:28:11:28:11 | Before call to constructor Object | VarDecls.cs:28:11:28:11 | After call to method | +| VarDecls.cs:28:11:28:11 | Before call to method | VarDecls.cs:28:11:28:11 | Entry | +| VarDecls.cs:28:11:28:11 | Exit | VarDecls.cs:28:11:28:11 | Normal Exit | +| VarDecls.cs:28:11:28:11 | Normal Exit | VarDecls.cs:28:11:28:11 | {...} | +| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | Before call to constructor Object | | VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | this access | -| VarDecls.cs:28:11:28:11 | exit C | VarDecls.cs:28:11:28:11 | exit C (normal) | -| VarDecls.cs:28:11:28:11 | exit C (normal) | VarDecls.cs:28:11:28:11 | {...} | -| VarDecls.cs:28:11:28:11 | this access | VarDecls.cs:28:11:28:11 | enter C | -| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | call to constructor Object | -| VarDecls.cs:28:41:28:47 | exit Dispose | VarDecls.cs:28:41:28:47 | exit Dispose (normal) | -| VarDecls.cs:28:41:28:47 | exit Dispose (normal) | VarDecls.cs:28:51:28:53 | {...} | -| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | enter Dispose | -| cflow.cs:5:17:5:20 | exit Main | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:24:25:24:31 | ... <= ... | -| cflow.cs:6:5:35:5 | {...} | cflow.cs:5:17:5:20 | enter Main | +| VarDecls.cs:28:11:28:11 | this access | VarDecls.cs:28:11:28:11 | Before call to method | +| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | After call to constructor Object | +| VarDecls.cs:28:41:28:47 | Exit | VarDecls.cs:28:41:28:47 | Normal Exit | +| VarDecls.cs:28:41:28:47 | Normal Exit | VarDecls.cs:28:51:28:53 | {...} | +| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | Entry | +| cflow.cs:5:17:5:20 | Exit | cflow.cs:5:17:5:20 | Normal Exit | +| cflow.cs:5:17:5:20 | Normal Exit | cflow.cs:6:5:35:5 | After {...} | +| cflow.cs:6:5:35:5 | After {...} | cflow.cs:24:9:34:9 | After for (...;...;...) ... | +| cflow.cs:6:5:35:5 | {...} | cflow.cs:5:17:5:20 | Entry | | cflow.cs:7:9:7:28 | ... ...; | cflow.cs:6:5:35:5 | {...} | -| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:17:7:27 | access to property Length | -| cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:9:7:28 | ... ...; | +| cflow.cs:7:9:7:28 | After ... ...; | cflow.cs:7:13:7:27 | After Int32 a = ... | +| cflow.cs:7:13:7:13 | access to local variable a | cflow.cs:7:13:7:27 | Before Int32 a = ... | +| cflow.cs:7:13:7:27 | After Int32 a = ... | cflow.cs:7:13:7:27 | Int32 a = ... | +| cflow.cs:7:13:7:27 | Before Int32 a = ... | cflow.cs:7:9:7:28 | ... ...; | +| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:17:7:27 | After access to property Length | +| cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:17:7:27 | Before access to property Length | +| cflow.cs:7:17:7:27 | After access to property Length | cflow.cs:7:17:7:27 | access to property Length | +| cflow.cs:7:17:7:27 | Before access to property Length | cflow.cs:7:13:7:13 | access to local variable a | | cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:17:7:20 | access to parameter args | -| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:13:9:39 | call to method Switch | -| cflow.cs:9:9:9:40 | ...; | cflow.cs:7:13:7:27 | Int32 a = ... | -| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:9:9:40 | ...; | +| cflow.cs:9:9:9:9 | access to local variable a | cflow.cs:9:9:9:39 | Before ... = ... | +| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:13:9:39 | After call to method Switch | +| cflow.cs:9:9:9:39 | After ... = ... | cflow.cs:9:9:9:39 | ... = ... | +| cflow.cs:9:9:9:39 | Before ... = ... | cflow.cs:9:9:9:40 | ...; | +| cflow.cs:9:9:9:40 | ...; | cflow.cs:7:9:7:28 | After ... ...; | +| cflow.cs:9:9:9:40 | After ...; | cflow.cs:9:9:9:39 | After ... = ... | +| cflow.cs:9:13:9:29 | After object creation of type ControlFlow | cflow.cs:9:13:9:29 | object creation of type ControlFlow | +| cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | cflow.cs:9:13:9:39 | Before call to method Switch | +| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | +| cflow.cs:9:13:9:39 | After call to method Switch | cflow.cs:9:13:9:39 | call to method Switch | +| cflow.cs:9:13:9:39 | Before call to method Switch | cflow.cs:9:9:9:9 | access to local variable a | | cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:38:9:38 | access to local variable a | -| cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:9:13:9:29 | object creation of type ControlFlow | -| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:9:9:9:39 | ... = ... | -| cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:11:9:12:49 | if (...) ... | +| cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:9:13:9:29 | After object creation of type ControlFlow | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:12:13:12:49 | After ...; | +| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:9:9:9:40 | After ...; | +| cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:11:13:11:17 | Before ... > ... | | cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:17:11:17 | 3 | +| cflow.cs:11:13:11:17 | Before ... > ... | cflow.cs:11:9:12:49 | if (...) ... | | cflow.cs:11:17:11:17 | 3 | cflow.cs:11:13:11:13 | access to local variable a | +| cflow.cs:12:13:12:48 | After call to method WriteLine | cflow.cs:12:13:12:48 | call to method WriteLine | +| cflow.cs:12:13:12:48 | Before call to method WriteLine | cflow.cs:12:13:12:49 | ...; | | cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:12:31:12:47 | "more than a few" | -| cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:11:13:11:17 | ... > ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:12:13:12:48 | call to method WriteLine | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:16:13:16:40 | call to method WriteLine | +| cflow.cs:12:13:12:49 | ...; | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:12:13:12:49 | After ...; | cflow.cs:12:13:12:48 | After call to method WriteLine | +| cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:12:13:12:48 | Before call to method WriteLine | +| cflow.cs:14:9:17:9 | After while (...) ... | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:9:17:9 | while (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:15:9:17:9 | After {...} | +| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:16:14:20 | Before ... > ... | | cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:20:14:20 | 0 | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:16:14:20 | ... > ... | +| cflow.cs:14:16:14:20 | Before ... > ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | | cflow.cs:14:20:14:20 | 0 | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:16:31:16:39 | ... * ... | +| cflow.cs:15:9:17:9 | After {...} | cflow.cs:16:13:16:41 | After ...; | +| cflow.cs:15:9:17:9 | {...} | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:16:13:16:40 | After call to method WriteLine | cflow.cs:16:13:16:40 | call to method WriteLine | +| cflow.cs:16:13:16:40 | Before call to method WriteLine | cflow.cs:16:13:16:41 | ...; | +| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:16:31:16:39 | After ... * ... | | cflow.cs:16:13:16:41 | ...; | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:16:13:16:41 | ...; | +| cflow.cs:16:13:16:41 | After ...; | cflow.cs:16:13:16:40 | After call to method WriteLine | +| cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:16:31:16:33 | Before ...-- | | cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:31:16:31 | access to local variable a | +| cflow.cs:16:31:16:33 | After ...-- | cflow.cs:16:31:16:33 | ...-- | +| cflow.cs:16:31:16:33 | Before ...-- | cflow.cs:16:31:16:39 | Before ... * ... | | cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:37:16:39 | 100 | -| cflow.cs:16:37:16:39 | 100 | cflow.cs:16:31:16:33 | ...-- | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:14:16:14:20 | ... > ... | +| cflow.cs:16:31:16:39 | After ... * ... | cflow.cs:16:31:16:39 | ... * ... | +| cflow.cs:16:31:16:39 | Before ... * ... | cflow.cs:16:13:16:40 | Before call to method WriteLine | +| cflow.cs:16:37:16:39 | 100 | cflow.cs:16:31:16:33 | After ...-- | +| cflow.cs:19:9:22:25 | After do ... while (...); | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | cflow.cs:20:9:22:9 | After {...} | +| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:14:9:17:9 | After while (...) ... | +| cflow.cs:20:9:22:9 | After {...} | cflow.cs:21:13:21:36 | After ...; | | cflow.cs:20:9:22:9 | {...} | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:21:31:21:34 | -... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:21:13:21:35 | After call to method WriteLine | cflow.cs:21:13:21:35 | call to method WriteLine | +| cflow.cs:21:13:21:35 | Before call to method WriteLine | cflow.cs:21:13:21:36 | ...; | +| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:21:31:21:34 | After -... | | cflow.cs:21:13:21:36 | ...; | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:21:31:21:34 | -... | cflow.cs:21:32:21:34 | ...++ | -| cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:21:13:21:36 | ...; | +| cflow.cs:21:13:21:36 | After ...; | cflow.cs:21:13:21:35 | After call to method WriteLine | +| cflow.cs:21:31:21:34 | -... | cflow.cs:21:32:21:34 | After ...++ | +| cflow.cs:21:31:21:34 | After -... | cflow.cs:21:31:21:34 | -... | +| cflow.cs:21:31:21:34 | Before -... | cflow.cs:21:13:21:35 | Before call to method WriteLine | +| cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:21:32:21:34 | Before ...++ | | cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:32:21:32 | access to local variable a | -| cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:21:13:21:35 | call to method WriteLine | +| cflow.cs:21:32:21:34 | After ...++ | cflow.cs:21:32:21:34 | ...++ | +| cflow.cs:21:32:21:34 | Before ...++ | cflow.cs:21:31:21:34 | Before -... | +| cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:22:18:22:23 | Before ... < ... | | cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:22:22:23 | 10 | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:22:18:22:23 | ... < ... | +| cflow.cs:22:18:22:23 | Before ... < ... | cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | | cflow.cs:22:22:22:23 | 10 | cflow.cs:22:18:22:18 | access to local variable a | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:22:18:22:23 | ... < ... | +| cflow.cs:24:9:34:9 | After for (...;...;...) ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:25:9:34:9 | After {...} | +| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:19:9:22:25 | After do ... while (...); | +| cflow.cs:24:18:24:18 | access to local variable i | cflow.cs:24:18:24:22 | Before Int32 i = ... | +| cflow.cs:24:18:24:22 | After Int32 i = ... | cflow.cs:24:18:24:22 | Int32 i = ... | +| cflow.cs:24:18:24:22 | Before Int32 i = ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | | cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:22:24:22 | 1 | -| cflow.cs:24:22:24:22 | 1 | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:18:24:22 | Int32 i = ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:34:24:36 | ...++ | +| cflow.cs:24:22:24:22 | 1 | cflow.cs:24:18:24:18 | access to local variable i | +| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:25:24:31 | Before ... <= ... | | cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:30:24:31 | 20 | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:25:24:31 | ... <= ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:18:24:22 | After Int32 i = ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:34:24:36 | After ...++ | | cflow.cs:24:30:24:31 | 20 | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:27:17:27:45 | call to method WriteLine | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:29:17:29:41 | call to method WriteLine | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:31:17:31:41 | call to method WriteLine | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:33:17:33:36 | call to method WriteLine | +| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:36 | Before ...++ | | cflow.cs:24:34:24:36 | ...++ | cflow.cs:24:34:24:34 | access to local variable i | +| cflow.cs:24:34:24:36 | After ...++ | cflow.cs:24:34:24:36 | ...++ | +| cflow.cs:24:34:24:36 | Before ...++ | cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:25:9:34:9 | After {...} | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:25:9:34:9 | {...} | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:27:17:27:46 | After ...; | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | | cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:13:33:37 | if (...) ... | +| cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:17:26:21 | Before ... % ... | | cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:21:26:21 | 3 | +| cflow.cs:26:17:26:21 | After ... % ... | cflow.cs:26:17:26:21 | ... % ... | +| cflow.cs:26:17:26:21 | Before ... % ... | cflow.cs:26:17:26:26 | Before ... == ... | | cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:26:26:26 | 0 | +| cflow.cs:26:17:26:26 | Before ... == ... | cflow.cs:26:17:26:40 | ... && ... | +| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:13:33:37 | if (...) ... | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | | cflow.cs:26:21:26:21 | 3 | cflow.cs:26:17:26:17 | access to local variable i | -| cflow.cs:26:26:26:26 | 0 | cflow.cs:26:17:26:21 | ... % ... | +| cflow.cs:26:26:26:26 | 0 | cflow.cs:26:17:26:21 | After ... % ... | +| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:31:26:35 | Before ... % ... | | cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:35:26:35 | 5 | +| cflow.cs:26:31:26:35 | After ... % ... | cflow.cs:26:31:26:35 | ... % ... | +| cflow.cs:26:31:26:35 | Before ... % ... | cflow.cs:26:31:26:40 | Before ... == ... | | cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:40:26:40 | 0 | +| cflow.cs:26:31:26:40 | Before ... == ... | cflow.cs:26:17:26:26 | After ... == ... [true] | | cflow.cs:26:35:26:35 | 5 | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:26:40:26:40 | 0 | cflow.cs:26:31:26:35 | ... % ... | +| cflow.cs:26:40:26:40 | 0 | cflow.cs:26:31:26:35 | After ... % ... | +| cflow.cs:27:17:27:45 | After call to method WriteLine | cflow.cs:27:17:27:45 | call to method WriteLine | +| cflow.cs:27:17:27:45 | Before call to method WriteLine | cflow.cs:27:17:27:46 | ...; | | cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:27:35:27:44 | "FizzBuzz" | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:28:18:33:37 | if (...) ... | +| cflow.cs:27:17:27:46 | ...; | cflow.cs:26:17:26:40 | After ... && ... [true] | +| cflow.cs:27:17:27:46 | After ...; | cflow.cs:27:17:27:45 | After call to method WriteLine | +| cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:27:17:27:45 | Before call to method WriteLine | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:29:17:29:42 | After ...; | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:28:22:28:26 | Before ... % ... | | cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:26:28:26 | 3 | +| cflow.cs:28:22:28:26 | After ... % ... | cflow.cs:28:22:28:26 | ... % ... | +| cflow.cs:28:22:28:26 | Before ... % ... | cflow.cs:28:22:28:31 | Before ... == ... | | cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:31:28:31 | 0 | +| cflow.cs:28:22:28:31 | Before ... == ... | cflow.cs:28:18:33:37 | if (...) ... | | cflow.cs:28:26:28:26 | 3 | cflow.cs:28:22:28:22 | access to local variable i | -| cflow.cs:28:31:28:31 | 0 | cflow.cs:28:22:28:26 | ... % ... | +| cflow.cs:28:31:28:31 | 0 | cflow.cs:28:22:28:26 | After ... % ... | +| cflow.cs:29:17:29:41 | After call to method WriteLine | cflow.cs:29:17:29:41 | call to method WriteLine | +| cflow.cs:29:17:29:41 | Before call to method WriteLine | cflow.cs:29:17:29:42 | ...; | | cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:29:35:29:40 | "Fizz" | -| cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:30:18:33:37 | if (...) ... | +| cflow.cs:29:17:29:42 | ...; | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:29:17:29:42 | After ...; | cflow.cs:29:17:29:41 | After call to method WriteLine | +| cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:29:17:29:41 | Before call to method WriteLine | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:31:17:31:42 | After ...; | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:33:17:33:37 | After ...; | +| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:30:22:30:26 | Before ... % ... | | cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:26:30:26 | 5 | +| cflow.cs:30:22:30:26 | After ... % ... | cflow.cs:30:22:30:26 | ... % ... | +| cflow.cs:30:22:30:26 | Before ... % ... | cflow.cs:30:22:30:31 | Before ... == ... | | cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:31:30:31 | 0 | +| cflow.cs:30:22:30:31 | Before ... == ... | cflow.cs:30:18:33:37 | if (...) ... | | cflow.cs:30:26:30:26 | 5 | cflow.cs:30:22:30:22 | access to local variable i | -| cflow.cs:30:31:30:31 | 0 | cflow.cs:30:22:30:26 | ... % ... | +| cflow.cs:30:31:30:31 | 0 | cflow.cs:30:22:30:26 | After ... % ... | +| cflow.cs:31:17:31:41 | After call to method WriteLine | cflow.cs:31:17:31:41 | call to method WriteLine | +| cflow.cs:31:17:31:41 | Before call to method WriteLine | cflow.cs:31:17:31:42 | ...; | | cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:31:35:31:40 | "Buzz" | -| cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:31:17:31:42 | ...; | +| cflow.cs:31:17:31:42 | ...; | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:31:17:31:42 | After ...; | cflow.cs:31:17:31:41 | After call to method WriteLine | +| cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:31:17:31:41 | Before call to method WriteLine | +| cflow.cs:33:17:33:36 | After call to method WriteLine | cflow.cs:33:17:33:36 | call to method WriteLine | +| cflow.cs:33:17:33:36 | Before call to method WriteLine | cflow.cs:33:17:33:37 | ...; | | cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:33:35:33:35 | access to local variable i | -| cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:37:17:37:22 | exit Switch (abnormal) | cflow.cs:64:21:64:55 | throw ...; | -| cflow.cs:37:17:37:22 | exit Switch (normal) | cflow.cs:67:9:67:17 | return ...; | -| cflow.cs:38:5:68:5 | {...} | cflow.cs:37:17:37:22 | enter Switch | +| cflow.cs:33:17:33:37 | ...; | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:33:17:33:37 | After ...; | cflow.cs:33:17:33:36 | After call to method WriteLine | +| cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:33:17:33:36 | Before call to method WriteLine | +| cflow.cs:37:17:37:22 | Exceptional Exit | cflow.cs:64:21:64:55 | throw ...; | +| cflow.cs:37:17:37:22 | Normal Exit | cflow.cs:67:9:67:17 | return ...; | +| cflow.cs:38:5:68:5 | {...} | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:49:17:49:22 | break; | | cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:38:5:68:5 | {...} | | cflow.cs:39:17:39:17 | access to parameter a | cflow.cs:39:9:50:9 | switch (...) {...} | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:41:13:41:19 | case ...: | | cflow.cs:41:13:41:19 | case ...: | cflow.cs:39:17:39:17 | access to parameter a | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:46:17:46:28 | goto case ...; | -| cflow.cs:41:18:41:18 | 1 | cflow.cs:41:13:41:19 | case ...: | +| cflow.cs:41:18:41:18 | 1 | cflow.cs:41:13:41:19 | After case ...: [match] | +| cflow.cs:42:17:42:38 | After call to method WriteLine | cflow.cs:42:17:42:38 | call to method WriteLine | +| cflow.cs:42:17:42:38 | Before call to method WriteLine | cflow.cs:42:17:42:39 | ...; | | cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:42:35:42:37 | "1" | -| cflow.cs:42:35:42:37 | "1" | cflow.cs:42:17:42:39 | ...; | +| cflow.cs:42:17:42:39 | ...; | cflow.cs:41:18:41:18 | 1 | +| cflow.cs:42:17:42:39 | After ...; | cflow.cs:42:17:42:38 | After call to method WriteLine | +| cflow.cs:42:35:42:37 | "1" | cflow.cs:42:17:42:38 | Before call to method WriteLine | +| cflow.cs:43:17:43:28 | Before goto case ...; | cflow.cs:42:17:42:39 | After ...; | | cflow.cs:43:17:43:28 | goto case ...; | cflow.cs:43:27:43:27 | 2 | -| cflow.cs:43:27:43:27 | 2 | cflow.cs:42:17:42:38 | call to method WriteLine | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:41:18:41:18 | 1 | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:43:17:43:28 | goto case ...; | -| cflow.cs:44:18:44:18 | 2 | cflow.cs:44:13:44:19 | case ...: | +| cflow.cs:43:27:43:27 | 2 | cflow.cs:43:17:43:28 | Before goto case ...; | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | case ...: | +| cflow.cs:44:13:44:19 | case ...: | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:44:18:44:18 | 2 | cflow.cs:44:13:44:19 | After case ...: [match] | +| cflow.cs:45:17:45:38 | After call to method WriteLine | cflow.cs:45:17:45:38 | call to method WriteLine | +| cflow.cs:45:17:45:38 | Before call to method WriteLine | cflow.cs:45:17:45:39 | ...; | | cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:45:35:45:37 | "2" | -| cflow.cs:45:35:45:37 | "2" | cflow.cs:45:17:45:39 | ...; | +| cflow.cs:45:17:45:39 | ...; | cflow.cs:44:18:44:18 | 2 | +| cflow.cs:45:17:45:39 | After ...; | cflow.cs:45:17:45:38 | After call to method WriteLine | +| cflow.cs:45:35:45:37 | "2" | cflow.cs:45:17:45:38 | Before call to method WriteLine | +| cflow.cs:46:17:46:28 | Before goto case ...; | cflow.cs:45:17:45:39 | After ...; | | cflow.cs:46:17:46:28 | goto case ...; | cflow.cs:46:27:46:27 | 1 | -| cflow.cs:46:27:46:27 | 1 | cflow.cs:45:17:45:38 | call to method WriteLine | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:44:18:44:18 | 2 | -| cflow.cs:47:18:47:18 | 3 | cflow.cs:47:13:47:19 | case ...: | +| cflow.cs:46:27:46:27 | 1 | cflow.cs:46:17:46:28 | Before goto case ...; | +| cflow.cs:47:13:47:19 | case ...: | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:47:18:47:18 | 3 | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:48:17:48:38 | After call to method WriteLine | cflow.cs:48:17:48:38 | call to method WriteLine | +| cflow.cs:48:17:48:38 | Before call to method WriteLine | cflow.cs:48:17:48:39 | ...; | | cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:48:35:48:37 | "3" | -| cflow.cs:48:35:48:37 | "3" | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:49:17:49:22 | break; | cflow.cs:48:17:48:38 | call to method WriteLine | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:47:18:47:18 | 3 | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:49:17:49:22 | break; | +| cflow.cs:48:17:48:39 | ...; | cflow.cs:47:18:47:18 | 3 | +| cflow.cs:48:17:48:39 | After ...; | cflow.cs:48:17:48:38 | After call to method WriteLine | +| cflow.cs:48:35:48:37 | "3" | cflow.cs:48:17:48:38 | Before call to method WriteLine | +| cflow.cs:49:17:49:22 | Before break; | cflow.cs:48:17:48:39 | After ...; | +| cflow.cs:49:17:49:22 | break; | cflow.cs:49:17:49:22 | Before break; | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:55:17:55:22 | break; | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:58:17:58:22 | break; | +| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:39:9:50:9 | After switch (...) {...} | | cflow.cs:51:17:51:17 | access to parameter a | cflow.cs:51:9:59:9 | switch (...) {...} | | cflow.cs:53:13:53:20 | case ...: | cflow.cs:51:17:51:17 | access to parameter a | -| cflow.cs:53:18:53:19 | 42 | cflow.cs:53:13:53:20 | case ...: | +| cflow.cs:53:18:53:19 | 42 | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:54:17:54:47 | After call to method WriteLine | cflow.cs:54:17:54:47 | call to method WriteLine | +| cflow.cs:54:17:54:47 | Before call to method WriteLine | cflow.cs:54:17:54:48 | ...; | | cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:54:35:54:46 | "The answer" | -| cflow.cs:54:35:54:46 | "The answer" | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:55:17:55:22 | break; | cflow.cs:54:17:54:47 | call to method WriteLine | +| cflow.cs:54:17:54:48 | ...; | cflow.cs:53:18:53:19 | 42 | +| cflow.cs:54:17:54:48 | After ...; | cflow.cs:54:17:54:47 | After call to method WriteLine | +| cflow.cs:54:35:54:46 | "The answer" | cflow.cs:54:17:54:47 | Before call to method WriteLine | +| cflow.cs:55:17:55:22 | Before break; | cflow.cs:54:17:54:48 | After ...; | +| cflow.cs:55:17:55:22 | break; | cflow.cs:55:17:55:22 | Before break; | +| cflow.cs:56:13:56:20 | After default: [match] | cflow.cs:56:13:56:20 | default: | +| cflow.cs:56:13:56:20 | default: | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:57:17:57:51 | After call to method WriteLine | cflow.cs:57:17:57:51 | call to method WriteLine | +| cflow.cs:57:17:57:51 | Before call to method WriteLine | cflow.cs:57:17:57:52 | ...; | | cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:57:35:57:50 | "Not the answer" | -| cflow.cs:57:17:57:52 | ...; | cflow.cs:56:13:56:20 | default: | -| cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:57:17:57:52 | ...; | -| cflow.cs:58:17:58:22 | break; | cflow.cs:57:17:57:51 | call to method WriteLine | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:55:17:55:22 | break; | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:58:17:58:22 | break; | -| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:60:27:60:31 | access to field Field | +| cflow.cs:57:17:57:52 | ...; | cflow.cs:56:13:56:20 | After default: [match] | +| cflow.cs:57:17:57:52 | After ...; | cflow.cs:57:17:57:51 | After call to method WriteLine | +| cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:57:17:57:51 | Before call to method WriteLine | +| cflow.cs:58:17:58:22 | Before break; | cflow.cs:57:17:57:52 | After ...; | +| cflow.cs:58:17:58:22 | break; | cflow.cs:58:17:58:22 | Before break; | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:65:17:65:22 | break; | +| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:60:17:60:32 | After call to method Parse | cflow.cs:60:17:60:32 | call to method Parse | +| cflow.cs:60:17:60:32 | Before call to method Parse | cflow.cs:60:9:66:9 | switch (...) {...} | +| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:60:27:60:31 | After access to field Field | +| cflow.cs:60:27:60:31 | After access to field Field | cflow.cs:60:27:60:31 | access to field Field | +| cflow.cs:60:27:60:31 | Before access to field Field | cflow.cs:60:17:60:32 | Before call to method Parse | | cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:27:60:31 | this access | -| cflow.cs:60:27:60:31 | this access | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:62:13:62:19 | case ...: | cflow.cs:60:17:60:32 | call to method Parse | -| cflow.cs:62:18:62:18 | 0 | cflow.cs:62:13:62:19 | case ...: | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:63:23:63:33 | ... == ... | +| cflow.cs:60:27:60:31 | this access | cflow.cs:60:27:60:31 | Before access to field Field | +| cflow.cs:62:13:62:19 | case ...: | cflow.cs:60:17:60:32 | After call to method Parse | +| cflow.cs:62:18:62:18 | 0 | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:63:17:64:55 | After if (...) ... | cflow.cs:63:21:63:34 | After !... [false] | +| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:62:18:62:18 | 0 | +| cflow.cs:63:21:63:34 | !... | cflow.cs:63:17:64:55 | if (...) ... | +| cflow.cs:63:21:63:34 | After !... [false] | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:63:21:63:34 | After !... [true] | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:63:23:63:27 | After access to field Field | cflow.cs:63:23:63:27 | access to field Field | +| cflow.cs:63:23:63:27 | Before access to field Field | cflow.cs:63:23:63:33 | Before ... == ... | | cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:23:63:27 | this access | -| cflow.cs:63:23:63:27 | this access | cflow.cs:63:17:64:55 | if (...) ... | +| cflow.cs:63:23:63:27 | this access | cflow.cs:63:23:63:27 | Before access to field Field | | cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:32:63:33 | "" | -| cflow.cs:63:32:63:33 | "" | cflow.cs:63:23:63:27 | access to field Field | -| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:65:17:65:22 | break; | cflow.cs:63:21:63:34 | [false] !... | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:63:23:63:33 | ... == ... | +| cflow.cs:63:23:63:33 | Before ... == ... | cflow.cs:63:21:63:34 | !... | +| cflow.cs:63:32:63:33 | "" | cflow.cs:63:23:63:27 | After access to field Field | +| cflow.cs:64:21:64:55 | Before throw ...; | cflow.cs:63:21:63:34 | After !... [true] | +| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | +| cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | +| cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | cflow.cs:64:21:64:55 | Before throw ...; | +| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | +| cflow.cs:65:17:65:22 | Before break; | cflow.cs:63:17:64:55 | After if (...) ... | +| cflow.cs:65:17:65:22 | break; | cflow.cs:65:17:65:22 | Before break; | +| cflow.cs:67:9:67:17 | Before return ...; | cflow.cs:60:9:66:9 | After switch (...) {...} | | cflow.cs:67:9:67:17 | return ...; | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:62:18:62:18 | 0 | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:65:17:65:22 | break; | -| cflow.cs:70:18:70:18 | exit M | cflow.cs:70:18:70:18 | exit M (normal) | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:73:13:73:19 | return ...; | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:76:13:76:32 | call to method WriteLine | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:80:13:80:47 | call to method WriteLine | -| cflow.cs:71:5:82:5 | {...} | cflow.cs:70:18:70:18 | enter M | +| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:9:67:17 | Before return ...; | +| cflow.cs:70:18:70:18 | Exit | cflow.cs:70:18:70:18 | Normal Exit | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:71:5:82:5 | After {...} | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:73:13:73:19 | return ...; | +| cflow.cs:71:5:82:5 | After {...} | cflow.cs:74:9:81:9 | After if (...) ... | +| cflow.cs:71:5:82:5 | {...} | cflow.cs:70:18:70:18 | Entry | +| cflow.cs:72:9:73:19 | After if (...) ... | cflow.cs:72:13:72:21 | After ... == ... [false] | | cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:71:5:82:5 | {...} | -| cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:72:9:73:19 | if (...) ... | +| cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:72:13:72:21 | Before ... == ... | | cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:18:72:21 | null | +| cflow.cs:72:13:72:21 | Before ... == ... | cflow.cs:72:9:73:19 | if (...) ... | | cflow.cs:72:18:72:21 | null | cflow.cs:72:13:72:13 | access to parameter s | -| cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:74:9:81:9 | if (...) ... | +| cflow.cs:73:13:73:19 | Before return ...; | cflow.cs:72:13:72:21 | After ... == ... [true] | +| cflow.cs:73:13:73:19 | return ...; | cflow.cs:73:13:73:19 | Before return ...; | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:75:9:77:9 | After {...} | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:79:9:81:9 | After {...} | +| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:72:9:73:19 | After if (...) ... | +| cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:74:13:74:20 | Before access to property Length | +| cflow.cs:74:13:74:20 | After access to property Length | cflow.cs:74:13:74:20 | access to property Length | +| cflow.cs:74:13:74:20 | Before access to property Length | cflow.cs:74:13:74:24 | Before ... > ... | | cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:13:74:13 | access to parameter s | | cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:24:74:24 | 0 | -| cflow.cs:74:24:74:24 | 0 | cflow.cs:74:13:74:20 | access to property Length | +| cflow.cs:74:13:74:24 | Before ... > ... | cflow.cs:74:9:81:9 | if (...) ... | +| cflow.cs:74:24:74:24 | 0 | cflow.cs:74:13:74:20 | After access to property Length | +| cflow.cs:75:9:77:9 | After {...} | cflow.cs:76:13:76:33 | After ...; | +| cflow.cs:75:9:77:9 | {...} | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:76:13:76:32 | After call to method WriteLine | cflow.cs:76:13:76:32 | call to method WriteLine | +| cflow.cs:76:13:76:32 | Before call to method WriteLine | cflow.cs:76:13:76:33 | ...; | | cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:76:31:76:31 | access to parameter s | | cflow.cs:76:13:76:33 | ...; | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:76:13:76:33 | ...; | +| cflow.cs:76:13:76:33 | After ...; | cflow.cs:76:13:76:32 | After call to method WriteLine | +| cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:76:13:76:32 | Before call to method WriteLine | +| cflow.cs:79:9:81:9 | After {...} | cflow.cs:80:13:80:48 | After ...; | +| cflow.cs:79:9:81:9 | {...} | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:80:13:80:47 | After call to method WriteLine | cflow.cs:80:13:80:47 | call to method WriteLine | +| cflow.cs:80:13:80:47 | Before call to method WriteLine | cflow.cs:80:13:80:48 | ...; | | cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:80:31:80:46 | "" | | cflow.cs:80:13:80:48 | ...; | cflow.cs:79:9:81:9 | {...} | -| cflow.cs:80:31:80:46 | "" | cflow.cs:80:13:80:48 | ...; | -| cflow.cs:84:18:84:19 | exit M2 | cflow.cs:84:18:84:19 | exit M2 (normal) | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:86:13:86:37 | [false] ... && ... | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:87:13:87:32 | call to method WriteLine | -| cflow.cs:85:5:88:5 | {...} | cflow.cs:84:18:84:19 | enter M2 | +| cflow.cs:80:13:80:48 | After ...; | cflow.cs:80:13:80:47 | After call to method WriteLine | +| cflow.cs:80:31:80:46 | "" | cflow.cs:80:13:80:47 | Before call to method WriteLine | +| cflow.cs:84:18:84:19 | Exit | cflow.cs:84:18:84:19 | Normal Exit | +| cflow.cs:84:18:84:19 | Normal Exit | cflow.cs:85:5:88:5 | After {...} | +| cflow.cs:85:5:88:5 | After {...} | cflow.cs:86:9:87:33 | After if (...) ... | +| cflow.cs:85:5:88:5 | {...} | cflow.cs:84:18:84:19 | Entry | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:13:86:37 | After ... && ... [false] | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:87:13:87:33 | After ...; | | cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:85:5:88:5 | {...} | -| cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:9:87:33 | if (...) ... | +| cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:13:86:21 | Before ... != ... | | cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:18:86:21 | null | +| cflow.cs:86:13:86:21 | Before ... != ... | cflow.cs:86:13:86:37 | ... && ... | +| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:9:87:33 | if (...) ... | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:13:86:37 | After ... && ... [true] | cflow.cs:86:26:86:37 | After ... > ... [true] | | cflow.cs:86:18:86:21 | null | cflow.cs:86:13:86:13 | access to parameter s | +| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:33 | Before access to property Length | +| cflow.cs:86:26:86:33 | After access to property Length | cflow.cs:86:26:86:33 | access to property Length | +| cflow.cs:86:26:86:33 | Before access to property Length | cflow.cs:86:26:86:37 | Before ... > ... | | cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:26:86:26 | access to parameter s | | cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:37:86:37 | 0 | -| cflow.cs:86:37:86:37 | 0 | cflow.cs:86:26:86:33 | access to property Length | +| cflow.cs:86:26:86:37 | Before ... > ... | cflow.cs:86:13:86:21 | After ... != ... [true] | +| cflow.cs:86:37:86:37 | 0 | cflow.cs:86:26:86:33 | After access to property Length | +| cflow.cs:87:13:87:32 | After call to method WriteLine | cflow.cs:87:13:87:32 | call to method WriteLine | +| cflow.cs:87:13:87:32 | Before call to method WriteLine | cflow.cs:87:13:87:33 | ...; | | cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:87:31:87:31 | access to parameter s | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:90:18:90:19 | exit M3 (abnormal) | cflow.cs:93:13:93:49 | throw ...; | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:102:13:102:29 | ... != ... | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:103:13:103:35 | call to method WriteLine | -| cflow.cs:91:5:104:5 | {...} | cflow.cs:90:18:90:19 | enter M3 | +| cflow.cs:87:13:87:33 | ...; | cflow.cs:86:13:86:37 | After ... && ... [true] | +| cflow.cs:87:13:87:33 | After ...; | cflow.cs:87:13:87:32 | After call to method WriteLine | +| cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:87:13:87:32 | Before call to method WriteLine | +| cflow.cs:90:18:90:19 | Exceptional Exit | cflow.cs:93:13:93:49 | throw ...; | +| cflow.cs:90:18:90:19 | Normal Exit | cflow.cs:91:5:104:5 | After {...} | +| cflow.cs:91:5:104:5 | After {...} | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:91:5:104:5 | {...} | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:92:9:93:49 | After if (...) ... | cflow.cs:92:13:92:27 | After call to method Equals [false] | | cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:91:5:104:5 | {...} | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:92:13:92:27 | call to method Equals | +| cflow.cs:92:13:92:27 | Before call to method Equals | cflow.cs:92:9:93:49 | if (...) ... | | cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:23:92:26 | null | -| cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:92:9:93:49 | if (...) ... | +| cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:92:13:92:27 | Before call to method Equals | | cflow.cs:92:23:92:26 | null | cflow.cs:92:20:92:20 | access to parameter s | -| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | +| cflow.cs:93:13:93:49 | Before throw ...; | cflow.cs:92:13:92:27 | After call to method Equals [true] | +| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | +| cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | +| cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | cflow.cs:93:13:93:49 | Before throw ...; | | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:45:93:47 | "s" | +| cflow.cs:93:45:93:47 | "s" | cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | +| cflow.cs:94:9:94:28 | After call to method WriteLine | cflow.cs:94:9:94:28 | call to method WriteLine | +| cflow.cs:94:9:94:28 | Before call to method WriteLine | cflow.cs:94:9:94:29 | ...; | | cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:94:27:94:27 | access to parameter s | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:92:13:92:27 | call to method Equals | -| cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:94:9:94:28 | call to method WriteLine | +| cflow.cs:94:9:94:29 | ...; | cflow.cs:92:9:93:49 | After if (...) ... | +| cflow.cs:94:9:94:29 | After ...; | cflow.cs:94:9:94:28 | After call to method WriteLine | +| cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:94:9:94:28 | Before call to method WriteLine | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:97:13:97:55 | After ...; | +| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:94:9:94:29 | After ...; | +| cflow.cs:96:13:96:17 | After access to field Field | cflow.cs:96:13:96:17 | access to field Field | +| cflow.cs:96:13:96:17 | Before access to field Field | cflow.cs:96:13:96:25 | Before ... != ... | | cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:13:96:17 | this access | -| cflow.cs:96:13:96:17 | this access | cflow.cs:96:9:97:55 | if (...) ... | +| cflow.cs:96:13:96:17 | this access | cflow.cs:96:13:96:17 | Before access to field Field | | cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:22:96:25 | null | -| cflow.cs:96:22:96:25 | null | cflow.cs:96:13:96:17 | access to field Field | -| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:97:31:97:53 | access to field Field | -| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:31:97:47 | object creation of type ControlFlow | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:96:13:96:25 | ... != ... | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:97:13:97:54 | call to method WriteLine | +| cflow.cs:96:13:96:25 | Before ... != ... | cflow.cs:96:9:97:55 | if (...) ... | +| cflow.cs:96:22:96:25 | null | cflow.cs:96:13:96:17 | After access to field Field | +| cflow.cs:97:13:97:54 | After call to method WriteLine | cflow.cs:97:13:97:54 | call to method WriteLine | +| cflow.cs:97:13:97:54 | Before call to method WriteLine | cflow.cs:97:13:97:55 | ...; | +| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:97:31:97:53 | After access to field Field | +| cflow.cs:97:13:97:55 | ...; | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:97:13:97:55 | After ...; | cflow.cs:97:13:97:54 | After call to method WriteLine | +| cflow.cs:97:31:97:47 | After object creation of type ControlFlow | cflow.cs:97:31:97:47 | object creation of type ControlFlow | +| cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | cflow.cs:97:31:97:53 | Before access to field Field | +| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | +| cflow.cs:97:31:97:53 | After access to field Field | cflow.cs:97:31:97:53 | access to field Field | +| cflow.cs:97:31:97:53 | Before access to field Field | cflow.cs:97:13:97:54 | Before call to method WriteLine | +| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:31:97:47 | After object creation of type ControlFlow | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:100:13:100:42 | After ...; | +| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:99:13:99:17 | After access to field Field | cflow.cs:99:13:99:17 | access to field Field | +| cflow.cs:99:13:99:17 | Before access to field Field | cflow.cs:99:13:99:25 | Before ... != ... | | cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:13:99:17 | this access | -| cflow.cs:99:13:99:17 | this access | cflow.cs:99:9:100:42 | if (...) ... | +| cflow.cs:99:13:99:17 | this access | cflow.cs:99:13:99:17 | Before access to field Field | | cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:22:99:25 | null | -| cflow.cs:99:22:99:25 | null | cflow.cs:99:13:99:17 | access to field Field | -| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:100:31:100:40 | access to field Field | -| cflow.cs:100:31:100:34 | this access | cflow.cs:100:13:100:42 | ...; | +| cflow.cs:99:13:99:25 | Before ... != ... | cflow.cs:99:9:100:42 | if (...) ... | +| cflow.cs:99:22:99:25 | null | cflow.cs:99:13:99:17 | After access to field Field | +| cflow.cs:100:13:100:41 | After call to method WriteLine | cflow.cs:100:13:100:41 | call to method WriteLine | +| cflow.cs:100:13:100:41 | Before call to method WriteLine | cflow.cs:100:13:100:42 | ...; | +| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:100:31:100:40 | After access to field Field | +| cflow.cs:100:13:100:42 | ...; | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:100:13:100:42 | After ...; | cflow.cs:100:13:100:41 | After call to method WriteLine | +| cflow.cs:100:31:100:34 | this access | cflow.cs:100:31:100:40 | Before access to field Field | +| cflow.cs:100:31:100:40 | After access to field Field | cflow.cs:100:31:100:40 | access to field Field | +| cflow.cs:100:31:100:40 | Before access to field Field | cflow.cs:100:13:100:41 | Before call to method WriteLine | | cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:31:100:34 | this access | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:99:13:99:25 | ... != ... | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:100:13:100:41 | call to method WriteLine | -| cflow.cs:102:13:102:16 | this access | cflow.cs:102:9:103:36 | if (...) ... | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:103:13:103:36 | After ...; | +| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:102:13:102:16 | this access | cflow.cs:102:13:102:21 | Before access to property Prop | +| cflow.cs:102:13:102:21 | After access to property Prop | cflow.cs:102:13:102:21 | access to property Prop | +| cflow.cs:102:13:102:21 | Before access to property Prop | cflow.cs:102:13:102:29 | Before ... != ... | | cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:13:102:16 | this access | | cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:26:102:29 | null | -| cflow.cs:102:26:102:29 | null | cflow.cs:102:13:102:21 | access to property Prop | -| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:103:31:103:34 | access to property Prop | +| cflow.cs:102:13:102:29 | Before ... != ... | cflow.cs:102:9:103:36 | if (...) ... | +| cflow.cs:102:26:102:29 | null | cflow.cs:102:13:102:21 | After access to property Prop | +| cflow.cs:103:13:103:35 | After call to method WriteLine | cflow.cs:103:13:103:35 | call to method WriteLine | +| cflow.cs:103:13:103:35 | Before call to method WriteLine | cflow.cs:103:13:103:36 | ...; | +| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:103:31:103:34 | After access to property Prop | +| cflow.cs:103:13:103:36 | ...; | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:103:13:103:36 | After ...; | cflow.cs:103:13:103:35 | After call to method WriteLine | +| cflow.cs:103:31:103:34 | After access to property Prop | cflow.cs:103:31:103:34 | access to property Prop | +| cflow.cs:103:31:103:34 | Before access to property Prop | cflow.cs:103:13:103:35 | Before call to method WriteLine | | cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:31:103:34 | this access | -| cflow.cs:103:31:103:34 | this access | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:106:18:106:19 | exit M4 | cflow.cs:106:18:106:19 | exit M4 (normal) | -| cflow.cs:106:18:106:19 | exit M4 (normal) | cflow.cs:116:9:116:28 | call to method WriteLine | -| cflow.cs:107:5:117:5 | {...} | cflow.cs:106:18:106:19 | enter M4 | +| cflow.cs:103:31:103:34 | this access | cflow.cs:103:31:103:34 | Before access to property Prop | +| cflow.cs:106:18:106:19 | Exit | cflow.cs:106:18:106:19 | Normal Exit | +| cflow.cs:106:18:106:19 | Normal Exit | cflow.cs:107:5:117:5 | After {...} | +| cflow.cs:107:5:117:5 | After {...} | cflow.cs:116:9:116:29 | After ...; | +| cflow.cs:107:5:117:5 | {...} | cflow.cs:106:18:106:19 | Entry | +| cflow.cs:108:9:115:9 | After if (...) ... | cflow.cs:108:13:108:21 | After ... != ... [false] | | cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:107:5:117:5 | {...} | -| cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:108:9:115:9 | if (...) ... | +| cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:108:13:108:21 | Before ... != ... | | cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:18:108:21 | null | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:108:13:108:21 | ... != ... | +| cflow.cs:108:13:108:21 | Before ... != ... | cflow.cs:108:9:115:9 | if (...) ... | | cflow.cs:108:18:108:21 | null | cflow.cs:108:13:108:13 | access to parameter s | +| cflow.cs:109:9:115:9 | {...} | cflow.cs:108:13:108:21 | After ... != ... [true] | | cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:109:9:115:9 | {...} | +| cflow.cs:110:20:110:23 | After true [true] | cflow.cs:110:20:110:23 | true | +| cflow.cs:110:20:110:23 | true | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | +| cflow.cs:111:13:113:13 | After {...} | cflow.cs:112:17:112:37 | After ...; | +| cflow.cs:111:13:113:13 | {...} | cflow.cs:110:20:110:23 | After true [true] | +| cflow.cs:112:17:112:36 | After call to method WriteLine | cflow.cs:112:17:112:36 | call to method WriteLine | +| cflow.cs:112:17:112:36 | Before call to method WriteLine | cflow.cs:112:17:112:37 | ...; | | cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:112:35:112:35 | access to parameter s | | cflow.cs:112:17:112:37 | ...; | cflow.cs:111:13:113:13 | {...} | -| cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:17:112:37 | ...; | +| cflow.cs:112:17:112:37 | After ...; | cflow.cs:112:17:112:36 | After call to method WriteLine | +| cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:17:112:36 | Before call to method WriteLine | +| cflow.cs:116:9:116:28 | After call to method WriteLine | cflow.cs:116:9:116:28 | call to method WriteLine | +| cflow.cs:116:9:116:28 | Before call to method WriteLine | cflow.cs:116:9:116:29 | ...; | | cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:116:27:116:27 | access to parameter s | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:108:13:108:21 | ... != ... | -| cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:9:116:29 | ...; | -| cflow.cs:119:20:119:21 | exit M5 | cflow.cs:119:20:119:21 | exit M5 (normal) | -| cflow.cs:119:20:119:21 | exit M5 (normal) | cflow.cs:123:9:123:17 | return ...; | -| cflow.cs:120:5:124:5 | {...} | cflow.cs:119:20:119:21 | enter M5 | +| cflow.cs:116:9:116:29 | ...; | cflow.cs:108:9:115:9 | After if (...) ... | +| cflow.cs:116:9:116:29 | After ...; | cflow.cs:116:9:116:28 | After call to method WriteLine | +| cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:9:116:28 | Before call to method WriteLine | +| cflow.cs:119:20:119:21 | Exit | cflow.cs:119:20:119:21 | Normal Exit | +| cflow.cs:119:20:119:21 | Normal Exit | cflow.cs:123:9:123:17 | return ...; | +| cflow.cs:120:5:124:5 | {...} | cflow.cs:119:20:119:21 | Entry | | cflow.cs:121:9:121:18 | ... ...; | cflow.cs:120:5:124:5 | {...} | +| cflow.cs:121:9:121:18 | After ... ...; | cflow.cs:121:13:121:17 | After String x = ... | +| cflow.cs:121:13:121:13 | access to local variable x | cflow.cs:121:13:121:17 | Before String x = ... | +| cflow.cs:121:13:121:17 | After String x = ... | cflow.cs:121:13:121:17 | String x = ... | +| cflow.cs:121:13:121:17 | Before String x = ... | cflow.cs:121:9:121:18 | ... ...; | | cflow.cs:121:13:121:17 | String x = ... | cflow.cs:121:17:121:17 | access to parameter s | -| cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:9:121:18 | ... ...; | -| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:13:122:19 | ... + ... | -| cflow.cs:122:9:122:20 | ...; | cflow.cs:121:13:121:17 | String x = ... | -| cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:9:122:20 | ...; | +| cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:13:121:13 | access to local variable x | +| cflow.cs:122:9:122:9 | access to local variable x | cflow.cs:122:9:122:19 | Before ... = ... | +| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:13:122:19 | After ... + ... | +| cflow.cs:122:9:122:19 | After ... = ... | cflow.cs:122:9:122:19 | ... = ... | +| cflow.cs:122:9:122:19 | Before ... = ... | cflow.cs:122:9:122:20 | ...; | +| cflow.cs:122:9:122:20 | ...; | cflow.cs:121:9:121:18 | After ... ...; | +| cflow.cs:122:9:122:20 | After ...; | cflow.cs:122:9:122:19 | After ... = ... | +| cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:13:122:19 | Before ... + ... | | cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:17:122:19 | " " | +| cflow.cs:122:13:122:19 | After ... + ... | cflow.cs:122:13:122:19 | ... + ... | +| cflow.cs:122:13:122:19 | Before ... + ... | cflow.cs:122:9:122:9 | access to local variable x | | cflow.cs:122:17:122:19 | " " | cflow.cs:122:13:122:13 | access to local variable x | +| cflow.cs:123:9:123:17 | Before return ...; | cflow.cs:122:9:122:20 | After ...; | | cflow.cs:123:9:123:17 | return ...; | cflow.cs:123:16:123:16 | access to local variable x | -| cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:122:9:122:19 | ... = ... | -| cflow.cs:127:19:127:21 | exit get_Prop | cflow.cs:127:19:127:21 | exit get_Prop (normal) | -| cflow.cs:127:19:127:21 | exit get_Prop (normal) | cflow.cs:127:25:127:58 | return ...; | -| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:19:127:21 | enter get_Prop | -| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:32:127:57 | ... ? ... : ... | +| cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:123:9:123:17 | Before return ...; | +| cflow.cs:127:19:127:21 | Exit | cflow.cs:127:19:127:21 | Normal Exit | +| cflow.cs:127:19:127:21 | Normal Exit | cflow.cs:127:25:127:58 | return ...; | +| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:19:127:21 | Entry | +| cflow.cs:127:25:127:58 | Before return ...; | cflow.cs:127:23:127:60 | {...} | +| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:32:127:57 | After ... ? ... : ... | +| cflow.cs:127:32:127:36 | After access to field Field | cflow.cs:127:32:127:36 | access to field Field | +| cflow.cs:127:32:127:36 | Before access to field Field | cflow.cs:127:32:127:44 | Before ... == ... | | cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:32:127:36 | this access | -| cflow.cs:127:32:127:36 | this access | cflow.cs:127:23:127:60 | {...} | +| cflow.cs:127:32:127:36 | this access | cflow.cs:127:32:127:36 | Before access to field Field | | cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:41:127:44 | null | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:48:127:49 | "" | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:53:127:57 | access to field Field | -| cflow.cs:127:41:127:44 | null | cflow.cs:127:32:127:36 | access to field Field | +| cflow.cs:127:32:127:44 | Before ... == ... | cflow.cs:127:32:127:57 | ... ? ... : ... | +| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:25:127:58 | Before return ...; | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:48:127:49 | "" | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:53:127:57 | After access to field Field | +| cflow.cs:127:41:127:44 | null | cflow.cs:127:32:127:36 | After access to field Field | +| cflow.cs:127:48:127:49 | "" | cflow.cs:127:32:127:44 | After ... == ... [true] | +| cflow.cs:127:53:127:57 | After access to field Field | cflow.cs:127:53:127:57 | access to field Field | +| cflow.cs:127:53:127:57 | Before access to field Field | cflow.cs:127:32:127:44 | After ... == ... [false] | | cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:53:127:57 | this access | -| cflow.cs:127:62:127:64 | exit set_Prop | cflow.cs:127:62:127:64 | exit set_Prop (normal) | -| cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:68:127:80 | ... = ... | -| cflow.cs:127:66:127:83 | {...} | cflow.cs:127:62:127:64 | enter set_Prop | -| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:76:127:80 | access to parameter value | -| cflow.cs:127:68:127:72 | this access | cflow.cs:127:68:127:81 | ...; | -| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:68:127:72 | access to field Field | +| cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | Before access to field Field | +| cflow.cs:127:62:127:64 | Exit | cflow.cs:127:62:127:64 | Normal Exit | +| cflow.cs:127:62:127:64 | Normal Exit | cflow.cs:127:66:127:83 | After {...} | +| cflow.cs:127:66:127:83 | After {...} | cflow.cs:127:68:127:81 | After ...; | +| cflow.cs:127:66:127:83 | {...} | cflow.cs:127:62:127:64 | Entry | +| cflow.cs:127:68:127:72 | After access to field Field | cflow.cs:127:68:127:72 | access to field Field | +| cflow.cs:127:68:127:72 | Before access to field Field | cflow.cs:127:68:127:80 | Before ... = ... | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:72 | this access | +| cflow.cs:127:68:127:72 | this access | cflow.cs:127:68:127:72 | Before access to field Field | +| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:76:127:80 | access to parameter value | +| cflow.cs:127:68:127:80 | After ... = ... | cflow.cs:127:68:127:80 | ... = ... | +| cflow.cs:127:68:127:80 | Before ... = ... | cflow.cs:127:68:127:81 | ...; | | cflow.cs:127:68:127:81 | ...; | cflow.cs:127:66:127:83 | {...} | -| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | this access | -| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | call to method | +| cflow.cs:127:68:127:81 | After ...; | cflow.cs:127:68:127:80 | After ... = ... | +| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | After access to field Field | +| cflow.cs:129:5:129:15 | After call to constructor Object | cflow.cs:129:5:129:15 | call to constructor Object | +| cflow.cs:129:5:129:15 | After call to method | cflow.cs:129:5:129:15 | call to method | +| cflow.cs:129:5:129:15 | Before call to constructor Object | cflow.cs:129:5:129:15 | After call to method | +| cflow.cs:129:5:129:15 | Before call to method | cflow.cs:129:5:129:15 | Entry | +| cflow.cs:129:5:129:15 | Exit | cflow.cs:129:5:129:15 | Normal Exit | +| cflow.cs:129:5:129:15 | Normal Exit | cflow.cs:130:5:132:5 | After {...} | +| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | Before call to constructor Object | | cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | this access | -| cflow.cs:129:5:129:15 | exit ControlFlow | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | -| cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:131:9:131:17 | ... = ... | -| cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | enter ControlFlow | -| cflow.cs:130:5:132:5 | {...} | cflow.cs:129:5:129:15 | call to constructor Object | -| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:17:131:17 | access to parameter s | -| cflow.cs:131:9:131:13 | this access | cflow.cs:131:9:131:18 | ...; | -| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:9:131:13 | access to field Field | +| cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | Before call to method | +| cflow.cs:130:5:132:5 | After {...} | cflow.cs:131:9:131:18 | After ...; | +| cflow.cs:130:5:132:5 | {...} | cflow.cs:129:5:129:15 | After call to constructor Object | +| cflow.cs:131:9:131:13 | After access to field Field | cflow.cs:131:9:131:13 | access to field Field | +| cflow.cs:131:9:131:13 | Before access to field Field | cflow.cs:131:9:131:17 | Before ... = ... | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:13 | this access | +| cflow.cs:131:9:131:13 | this access | cflow.cs:131:9:131:13 | Before access to field Field | +| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:17:131:17 | access to parameter s | +| cflow.cs:131:9:131:17 | After ... = ... | cflow.cs:131:9:131:17 | ... = ... | +| cflow.cs:131:9:131:17 | Before ... = ... | cflow.cs:131:9:131:18 | ...; | | cflow.cs:131:9:131:18 | ...; | cflow.cs:130:5:132:5 | {...} | -| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | this access | -| cflow.cs:134:5:134:15 | exit ControlFlow | cflow.cs:134:5:134:15 | exit ControlFlow (normal) | -| cflow.cs:134:5:134:15 | exit ControlFlow (normal) | cflow.cs:134:39:134:41 | {...} | -| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:31:134:36 | ... + ... | +| cflow.cs:131:9:131:18 | After ...; | cflow.cs:131:9:131:17 | After ... = ... | +| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | After access to field Field | +| cflow.cs:134:5:134:15 | Exit | cflow.cs:134:5:134:15 | Normal Exit | +| cflow.cs:134:5:134:15 | Normal Exit | cflow.cs:134:39:134:41 | {...} | +| cflow.cs:134:26:134:29 | After call to constructor ControlFlow | cflow.cs:134:26:134:29 | call to constructor ControlFlow | +| cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | cflow.cs:134:5:134:15 | Entry | +| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:31:134:36 | After ... + ... | | cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:31:134:31 | access to parameter i | -| cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:5:134:15 | enter ControlFlow | +| cflow.cs:134:31:134:31 | After (...) ... | cflow.cs:134:31:134:31 | (...) ... | +| cflow.cs:134:31:134:31 | Before (...) ... | cflow.cs:134:31:134:36 | Before ... + ... | +| cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:31:134:31 | Before (...) ... | | cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:35:134:36 | "" | -| cflow.cs:134:35:134:36 | "" | cflow.cs:134:31:134:31 | (...) ... | -| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:26:134:29 | call to constructor ControlFlow | -| cflow.cs:136:12:136:22 | exit ControlFlow | cflow.cs:136:12:136:22 | exit ControlFlow (normal) | -| cflow.cs:136:12:136:22 | exit ControlFlow (normal) | cflow.cs:136:40:136:42 | {...} | -| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:33:136:37 | ... + ... | -| cflow.cs:136:33:136:33 | 0 | cflow.cs:136:12:136:22 | enter ControlFlow | +| cflow.cs:134:31:134:36 | After ... + ... | cflow.cs:134:31:134:36 | ... + ... | +| cflow.cs:134:31:134:36 | Before ... + ... | cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | +| cflow.cs:134:35:134:36 | "" | cflow.cs:134:31:134:31 | After (...) ... | +| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:26:134:29 | After call to constructor ControlFlow | +| cflow.cs:136:12:136:22 | Exit | cflow.cs:136:12:136:22 | Normal Exit | +| cflow.cs:136:12:136:22 | Normal Exit | cflow.cs:136:40:136:42 | {...} | +| cflow.cs:136:28:136:31 | After call to constructor ControlFlow | cflow.cs:136:28:136:31 | call to constructor ControlFlow | +| cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | cflow.cs:136:12:136:22 | Entry | +| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:33:136:37 | After ... + ... | +| cflow.cs:136:33:136:33 | 0 | cflow.cs:136:33:136:37 | Before ... + ... | | cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:37:136:37 | 1 | +| cflow.cs:136:33:136:37 | After ... + ... | cflow.cs:136:33:136:37 | ... + ... | +| cflow.cs:136:33:136:37 | Before ... + ... | cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | | cflow.cs:136:37:136:37 | 1 | cflow.cs:136:33:136:33 | 0 | -| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:28:136:31 | call to constructor ControlFlow | -| cflow.cs:138:40:138:40 | exit + | cflow.cs:138:40:138:40 | exit + (normal) | -| cflow.cs:138:40:138:40 | exit + (normal) | cflow.cs:141:9:141:17 | return ...; | -| cflow.cs:139:5:142:5 | {...} | cflow.cs:138:40:138:40 | enter + | +| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:28:136:31 | After call to constructor ControlFlow | +| cflow.cs:138:40:138:40 | Exit | cflow.cs:138:40:138:40 | Normal Exit | +| cflow.cs:138:40:138:40 | Normal Exit | cflow.cs:141:9:141:17 | return ...; | +| cflow.cs:139:5:142:5 | {...} | cflow.cs:138:40:138:40 | Entry | +| cflow.cs:140:9:140:28 | After call to method WriteLine | cflow.cs:140:9:140:28 | call to method WriteLine | +| cflow.cs:140:9:140:28 | Before call to method WriteLine | cflow.cs:140:9:140:29 | ...; | | cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:140:27:140:27 | access to parameter x | | cflow.cs:140:9:140:29 | ...; | cflow.cs:139:5:142:5 | {...} | -| cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:140:9:140:29 | ...; | +| cflow.cs:140:9:140:29 | After ...; | cflow.cs:140:9:140:28 | After call to method WriteLine | +| cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:140:9:140:28 | Before call to method WriteLine | +| cflow.cs:141:9:141:17 | Before return ...; | cflow.cs:140:9:140:29 | After ...; | | cflow.cs:141:9:141:17 | return ...; | cflow.cs:141:16:141:16 | access to parameter y | -| cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:140:9:140:28 | call to method WriteLine | -| cflow.cs:144:33:144:35 | exit get_Item | cflow.cs:144:33:144:35 | exit get_Item (normal) | -| cflow.cs:144:33:144:35 | exit get_Item (normal) | cflow.cs:144:39:144:52 | return ...; | -| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:33:144:35 | enter get_Item | -| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:46:144:51 | ... + ... | +| cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:141:9:141:17 | Before return ...; | +| cflow.cs:144:33:144:35 | Exit | cflow.cs:144:33:144:35 | Normal Exit | +| cflow.cs:144:33:144:35 | Normal Exit | cflow.cs:144:39:144:52 | return ...; | +| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:33:144:35 | Entry | +| cflow.cs:144:39:144:52 | Before return ...; | cflow.cs:144:37:144:54 | {...} | +| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:46:144:51 | After ... + ... | | cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:46:144:46 | access to parameter i | -| cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:37:144:54 | {...} | +| cflow.cs:144:46:144:46 | After (...) ... | cflow.cs:144:46:144:46 | (...) ... | +| cflow.cs:144:46:144:46 | Before (...) ... | cflow.cs:144:46:144:51 | Before ... + ... | +| cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:46:144:46 | Before (...) ... | | cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:50:144:51 | "" | -| cflow.cs:144:50:144:51 | "" | cflow.cs:144:46:144:46 | (...) ... | -| cflow.cs:144:56:144:58 | exit set_Item | cflow.cs:144:56:144:58 | exit set_Item (normal) | -| cflow.cs:144:56:144:58 | exit set_Item (normal) | cflow.cs:144:60:144:62 | {...} | -| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | enter set_Item | -| cflow.cs:146:10:146:12 | exit For | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:173:32:173:41 | ... < ... | -| cflow.cs:147:5:177:5 | {...} | cflow.cs:146:10:146:12 | enter For | +| cflow.cs:144:46:144:51 | After ... + ... | cflow.cs:144:46:144:51 | ... + ... | +| cflow.cs:144:46:144:51 | Before ... + ... | cflow.cs:144:39:144:52 | Before return ...; | +| cflow.cs:144:50:144:51 | "" | cflow.cs:144:46:144:46 | After (...) ... | +| cflow.cs:144:56:144:58 | Exit | cflow.cs:144:56:144:58 | Normal Exit | +| cflow.cs:144:56:144:58 | Normal Exit | cflow.cs:144:60:144:62 | {...} | +| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | Entry | +| cflow.cs:146:10:146:12 | Exit | cflow.cs:146:10:146:12 | Normal Exit | +| cflow.cs:146:10:146:12 | Normal Exit | cflow.cs:147:5:177:5 | After {...} | +| cflow.cs:147:5:177:5 | After {...} | cflow.cs:173:9:176:9 | After for (...;...;...) ... | +| cflow.cs:147:5:177:5 | {...} | cflow.cs:146:10:146:12 | Entry | | cflow.cs:148:9:148:18 | ... ...; | cflow.cs:147:5:177:5 | {...} | +| cflow.cs:148:9:148:18 | After ... ...; | cflow.cs:148:13:148:17 | After Int32 x = ... | +| cflow.cs:148:13:148:13 | access to local variable x | cflow.cs:148:13:148:17 | Before Int32 x = ... | +| cflow.cs:148:13:148:17 | After Int32 x = ... | cflow.cs:148:13:148:17 | Int32 x = ... | +| cflow.cs:148:13:148:17 | Before Int32 x = ... | cflow.cs:148:9:148:18 | ... ...; | | cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:148:17:148:17 | 0 | -| cflow.cs:148:17:148:17 | 0 | cflow.cs:148:9:148:18 | ... ...; | -| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:148:13:148:17 | Int32 x = ... | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:9:150:33 | for (...;...;...) ... | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:24:149:26 | ++... | +| cflow.cs:148:17:148:17 | 0 | cflow.cs:148:13:148:13 | access to local variable x | +| cflow.cs:149:9:150:33 | After for (...;...;...) ... | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | cflow.cs:150:13:150:33 | After ...; | +| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:148:9:148:18 | After ... ...; | +| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:16:149:21 | Before ... < ... | | cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:20:149:21 | 10 | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | ... < ... | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:9:150:33 | for (...;...;...) ... | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:24:149:26 | After ++... | | cflow.cs:149:20:149:21 | 10 | cflow.cs:149:16:149:16 | access to local variable x | | cflow.cs:149:24:149:26 | ++... | cflow.cs:149:26:149:26 | access to local variable x | -| cflow.cs:149:26:149:26 | access to local variable x | cflow.cs:150:13:150:32 | call to method WriteLine | +| cflow.cs:149:24:149:26 | After ++... | cflow.cs:149:24:149:26 | ++... | +| cflow.cs:149:24:149:26 | Before ++... | cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:149:26:149:26 | access to local variable x | cflow.cs:149:24:149:26 | Before ++... | +| cflow.cs:150:13:150:32 | After call to method WriteLine | cflow.cs:150:13:150:32 | call to method WriteLine | +| cflow.cs:150:13:150:32 | Before call to method WriteLine | cflow.cs:150:13:150:33 | ...; | | cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:150:31:150:31 | access to local variable x | -| cflow.cs:150:31:150:31 | access to local variable x | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:149:16:149:21 | ... < ... | +| cflow.cs:150:13:150:33 | ...; | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:150:13:150:33 | After ...; | cflow.cs:150:13:150:32 | After call to method WriteLine | +| cflow.cs:150:31:150:31 | access to local variable x | cflow.cs:150:13:150:32 | Before call to method WriteLine | +| cflow.cs:152:9:157:9 | After for (...;...;...) ... | cflow.cs:156:17:156:22 | break; | +| cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:153:9:157:9 | After {...} | +| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:149:9:150:33 | After for (...;...;...) ... | +| cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:20 | Before ...++ | | cflow.cs:152:18:152:20 | ...++ | cflow.cs:152:18:152:18 | access to local variable x | +| cflow.cs:152:18:152:20 | After ...++ | cflow.cs:152:18:152:20 | ...++ | +| cflow.cs:152:18:152:20 | Before ...++ | cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:153:9:157:9 | After {...} | cflow.cs:155:13:156:22 | After if (...) ... | | cflow.cs:153:9:157:9 | {...} | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:152:18:152:20 | ...++ | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:152:18:152:20 | After ...++ | +| cflow.cs:154:13:154:32 | After call to method WriteLine | cflow.cs:154:13:154:32 | call to method WriteLine | +| cflow.cs:154:13:154:32 | Before call to method WriteLine | cflow.cs:154:13:154:33 | ...; | | cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:154:31:154:31 | access to local variable x | | cflow.cs:154:13:154:33 | ...; | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:154:31:154:31 | access to local variable x | cflow.cs:154:13:154:33 | ...; | -| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:154:13:154:32 | call to method WriteLine | -| cflow.cs:155:17:155:17 | access to local variable x | cflow.cs:155:13:156:22 | if (...) ... | +| cflow.cs:154:13:154:33 | After ...; | cflow.cs:154:13:154:32 | After call to method WriteLine | +| cflow.cs:154:31:154:31 | access to local variable x | cflow.cs:154:13:154:32 | Before call to method WriteLine | +| cflow.cs:155:13:156:22 | After if (...) ... | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:154:13:154:33 | After ...; | +| cflow.cs:155:17:155:17 | access to local variable x | cflow.cs:155:17:155:22 | Before ... > ... | | cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:21:155:22 | 20 | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:155:17:155:22 | ... > ... | +| cflow.cs:155:17:155:22 | Before ... > ... | cflow.cs:155:13:156:22 | if (...) ... | | cflow.cs:155:21:155:22 | 20 | cflow.cs:155:17:155:17 | access to local variable x | -| cflow.cs:156:17:156:22 | break; | cflow.cs:155:17:155:22 | ... > ... | -| cflow.cs:159:9:165:9 | for (...;...;...) ... | cflow.cs:156:17:156:22 | break; | +| cflow.cs:156:17:156:22 | Before break; | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:156:17:156:22 | break; | cflow.cs:156:17:156:22 | Before break; | +| cflow.cs:159:9:165:9 | After for (...;...;...) ... | cflow.cs:164:17:164:22 | break; | +| cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:160:9:165:9 | After {...} | +| cflow.cs:159:9:165:9 | for (...;...;...) ... | cflow.cs:152:9:157:9 | After for (...;...;...) ... | +| cflow.cs:160:9:165:9 | After {...} | cflow.cs:163:13:164:22 | After if (...) ... | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | | cflow.cs:160:9:165:9 | {...} | cflow.cs:159:9:165:9 | for (...;...;...) ... | +| cflow.cs:161:13:161:32 | After call to method WriteLine | cflow.cs:161:13:161:32 | call to method WriteLine | +| cflow.cs:161:13:161:32 | Before call to method WriteLine | cflow.cs:161:13:161:33 | ...; | | cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:161:31:161:31 | access to local variable x | | cflow.cs:161:13:161:33 | ...; | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:161:31:161:31 | access to local variable x | cflow.cs:161:13:161:33 | ...; | -| cflow.cs:162:13:162:13 | access to local variable x | cflow.cs:162:13:162:16 | ...; | +| cflow.cs:161:13:161:33 | After ...; | cflow.cs:161:13:161:32 | After call to method WriteLine | +| cflow.cs:161:31:161:31 | access to local variable x | cflow.cs:161:13:161:32 | Before call to method WriteLine | +| cflow.cs:162:13:162:13 | access to local variable x | cflow.cs:162:13:162:15 | Before ...++ | | cflow.cs:162:13:162:15 | ...++ | cflow.cs:162:13:162:13 | access to local variable x | -| cflow.cs:162:13:162:16 | ...; | cflow.cs:161:13:161:32 | call to method WriteLine | -| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:162:13:162:15 | ...++ | -| cflow.cs:163:17:163:17 | access to local variable x | cflow.cs:163:13:164:22 | if (...) ... | +| cflow.cs:162:13:162:15 | After ...++ | cflow.cs:162:13:162:15 | ...++ | +| cflow.cs:162:13:162:15 | Before ...++ | cflow.cs:162:13:162:16 | ...; | +| cflow.cs:162:13:162:16 | ...; | cflow.cs:161:13:161:33 | After ...; | +| cflow.cs:162:13:162:16 | After ...; | cflow.cs:162:13:162:15 | After ...++ | +| cflow.cs:163:13:164:22 | After if (...) ... | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:162:13:162:16 | After ...; | +| cflow.cs:163:17:163:17 | access to local variable x | cflow.cs:163:17:163:22 | Before ... > ... | | cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:21:163:22 | 30 | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:163:17:163:22 | ... > ... | +| cflow.cs:163:17:163:22 | Before ... > ... | cflow.cs:163:13:164:22 | if (...) ... | | cflow.cs:163:21:163:22 | 30 | cflow.cs:163:17:163:17 | access to local variable x | -| cflow.cs:164:17:164:22 | break; | cflow.cs:163:17:163:22 | ... > ... | -| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:164:17:164:22 | break; | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:9:171:9 | for (...;...;...) ... | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:170:13:170:15 | ...++ | +| cflow.cs:164:17:164:22 | Before break; | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:164:17:164:22 | break; | cflow.cs:164:17:164:22 | Before break; | +| cflow.cs:167:9:171:9 | After for (...;...;...) ... | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:168:9:171:9 | After {...} | +| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:159:9:165:9 | After for (...;...;...) ... | +| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:16:167:21 | Before ... < ... | | cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:20:167:21 | 40 | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | ... < ... | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:9:171:9 | for (...;...;...) ... | | cflow.cs:167:20:167:21 | 40 | cflow.cs:167:16:167:16 | access to local variable x | +| cflow.cs:168:9:171:9 | After {...} | cflow.cs:170:13:170:16 | After ...; | +| cflow.cs:168:9:171:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:169:13:169:32 | After call to method WriteLine | cflow.cs:169:13:169:32 | call to method WriteLine | +| cflow.cs:169:13:169:32 | Before call to method WriteLine | cflow.cs:169:13:169:33 | ...; | | cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:169:31:169:31 | access to local variable x | | cflow.cs:169:13:169:33 | ...; | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:169:31:169:31 | access to local variable x | cflow.cs:169:13:169:33 | ...; | -| cflow.cs:170:13:170:13 | access to local variable x | cflow.cs:170:13:170:16 | ...; | +| cflow.cs:169:13:169:33 | After ...; | cflow.cs:169:13:169:32 | After call to method WriteLine | +| cflow.cs:169:31:169:31 | access to local variable x | cflow.cs:169:13:169:32 | Before call to method WriteLine | +| cflow.cs:170:13:170:13 | access to local variable x | cflow.cs:170:13:170:15 | Before ...++ | | cflow.cs:170:13:170:15 | ...++ | cflow.cs:170:13:170:13 | access to local variable x | -| cflow.cs:170:13:170:16 | ...; | cflow.cs:169:13:169:32 | call to method WriteLine | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:167:16:167:21 | ... < ... | +| cflow.cs:170:13:170:15 | After ...++ | cflow.cs:170:13:170:15 | ...++ | +| cflow.cs:170:13:170:15 | Before ...++ | cflow.cs:170:13:170:16 | ...; | +| cflow.cs:170:13:170:16 | ...; | cflow.cs:169:13:169:33 | After ...; | +| cflow.cs:170:13:170:16 | After ...; | cflow.cs:170:13:170:15 | After ...++ | +| cflow.cs:173:9:176:9 | After for (...;...;...) ... | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:174:9:176:9 | After {...} | +| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:167:9:171:9 | After for (...;...;...) ... | +| cflow.cs:173:18:173:18 | access to local variable i | cflow.cs:173:18:173:22 | Before Int32 i = ... | +| cflow.cs:173:18:173:22 | After Int32 i = ... | cflow.cs:173:18:173:22 | Int32 i = ... | +| cflow.cs:173:18:173:22 | Before Int32 i = ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | | cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:22:173:22 | 0 | -| cflow.cs:173:22:173:22 | 0 | cflow.cs:173:9:176:9 | for (...;...;...) ... | +| cflow.cs:173:22:173:22 | 0 | cflow.cs:173:18:173:18 | access to local variable i | +| cflow.cs:173:25:173:25 | access to local variable j | cflow.cs:173:25:173:29 | Before Int32 j = ... | +| cflow.cs:173:25:173:29 | After Int32 j = ... | cflow.cs:173:25:173:29 | Int32 j = ... | +| cflow.cs:173:25:173:29 | Before Int32 j = ... | cflow.cs:173:18:173:22 | After Int32 i = ... | | cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:29:173:29 | 0 | -| cflow.cs:173:29:173:29 | 0 | cflow.cs:173:18:173:22 | Int32 i = ... | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:25:173:29 | Int32 j = ... | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:49:173:51 | ...++ | +| cflow.cs:173:29:173:29 | 0 | cflow.cs:173:25:173:25 | access to local variable j | +| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:32:173:36 | Before ... + ... | | cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:36:173:36 | access to local variable j | +| cflow.cs:173:32:173:36 | After ... + ... | cflow.cs:173:32:173:36 | ... + ... | +| cflow.cs:173:32:173:36 | Before ... + ... | cflow.cs:173:32:173:41 | Before ... < ... | | cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:40:173:41 | 10 | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:32:173:41 | ... < ... | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:25:173:29 | After Int32 j = ... | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:49:173:51 | After ...++ | | cflow.cs:173:36:173:36 | access to local variable j | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:173:40:173:41 | 10 | cflow.cs:173:32:173:36 | ... + ... | -| cflow.cs:173:44:173:44 | access to local variable i | cflow.cs:175:13:175:36 | call to method WriteLine | +| cflow.cs:173:40:173:41 | 10 | cflow.cs:173:32:173:36 | After ... + ... | +| cflow.cs:173:44:173:44 | access to local variable i | cflow.cs:173:44:173:46 | Before ...++ | | cflow.cs:173:44:173:46 | ...++ | cflow.cs:173:44:173:44 | access to local variable i | -| cflow.cs:173:49:173:49 | access to local variable j | cflow.cs:173:44:173:46 | ...++ | +| cflow.cs:173:44:173:46 | After ...++ | cflow.cs:173:44:173:46 | ...++ | +| cflow.cs:173:44:173:46 | Before ...++ | cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:173:49:173:49 | access to local variable j | cflow.cs:173:49:173:51 | Before ...++ | | cflow.cs:173:49:173:51 | ...++ | cflow.cs:173:49:173:49 | access to local variable j | -| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:175:31:175:35 | ... + ... | +| cflow.cs:173:49:173:51 | After ...++ | cflow.cs:173:49:173:51 | ...++ | +| cflow.cs:173:49:173:51 | Before ...++ | cflow.cs:173:44:173:46 | After ...++ | +| cflow.cs:174:9:176:9 | After {...} | cflow.cs:175:13:175:37 | After ...; | +| cflow.cs:174:9:176:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:175:13:175:36 | After call to method WriteLine | cflow.cs:175:13:175:36 | call to method WriteLine | +| cflow.cs:175:13:175:36 | Before call to method WriteLine | cflow.cs:175:13:175:37 | ...; | +| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:175:31:175:35 | After ... + ... | | cflow.cs:175:13:175:37 | ...; | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:175:31:175:31 | access to local variable i | cflow.cs:175:13:175:37 | ...; | +| cflow.cs:175:13:175:37 | After ...; | cflow.cs:175:13:175:36 | After call to method WriteLine | +| cflow.cs:175:31:175:31 | access to local variable i | cflow.cs:175:31:175:35 | Before ... + ... | | cflow.cs:175:31:175:35 | ... + ... | cflow.cs:175:35:175:35 | access to local variable j | +| cflow.cs:175:31:175:35 | After ... + ... | cflow.cs:175:31:175:35 | ... + ... | +| cflow.cs:175:31:175:35 | Before ... + ... | cflow.cs:175:13:175:36 | Before call to method WriteLine | | cflow.cs:175:35:175:35 | access to local variable j | cflow.cs:175:31:175:31 | access to local variable i | -| cflow.cs:179:10:179:16 | exit Lambdas | cflow.cs:179:10:179:16 | exit Lambdas (normal) | -| cflow.cs:179:10:179:16 | exit Lambdas (normal) | cflow.cs:182:24:182:61 | Func z = ... | -| cflow.cs:180:5:183:5 | {...} | cflow.cs:179:10:179:16 | enter Lambdas | +| cflow.cs:179:10:179:16 | Exit | cflow.cs:179:10:179:16 | Normal Exit | +| cflow.cs:179:10:179:16 | Normal Exit | cflow.cs:180:5:183:5 | After {...} | +| cflow.cs:180:5:183:5 | After {...} | cflow.cs:182:9:182:62 | After ... ...; | +| cflow.cs:180:5:183:5 | {...} | cflow.cs:179:10:179:16 | Entry | | cflow.cs:181:9:181:38 | ... ...; | cflow.cs:180:5:183:5 | {...} | +| cflow.cs:181:9:181:38 | After ... ...; | cflow.cs:181:24:181:37 | After Func y = ... | +| cflow.cs:181:24:181:24 | access to local variable y | cflow.cs:181:24:181:37 | Before Func y = ... | +| cflow.cs:181:24:181:37 | After Func y = ... | cflow.cs:181:24:181:37 | Func y = ... | +| cflow.cs:181:24:181:37 | Before Func y = ... | cflow.cs:181:9:181:38 | ... ...; | | cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:181:28:181:37 | (...) => ... | -| cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:9:181:38 | ... ...; | -| cflow.cs:181:28:181:37 | exit (...) => ... | cflow.cs:181:28:181:37 | exit (...) => ... (normal) | -| cflow.cs:181:28:181:37 | exit (...) => ... (normal) | cflow.cs:181:33:181:37 | ... + ... | -| cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:28:181:37 | enter (...) => ... | +| cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:24:181:24 | access to local variable y | +| cflow.cs:181:28:181:37 | Exit | cflow.cs:181:28:181:37 | Normal Exit | +| cflow.cs:181:28:181:37 | Normal Exit | cflow.cs:181:33:181:37 | After ... + ... | +| cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:33:181:37 | Before ... + ... | | cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:37:181:37 | 1 | +| cflow.cs:181:33:181:37 | After ... + ... | cflow.cs:181:33:181:37 | ... + ... | +| cflow.cs:181:33:181:37 | Before ... + ... | cflow.cs:181:28:181:37 | Entry | | cflow.cs:181:37:181:37 | 1 | cflow.cs:181:33:181:33 | access to parameter x | -| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:181:24:181:37 | Func y = ... | +| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:181:9:181:38 | After ... ...; | +| cflow.cs:182:9:182:62 | After ... ...; | cflow.cs:182:24:182:61 | After Func z = ... | +| cflow.cs:182:24:182:24 | access to local variable z | cflow.cs:182:24:182:61 | Before Func z = ... | +| cflow.cs:182:24:182:61 | After Func z = ... | cflow.cs:182:24:182:61 | Func z = ... | +| cflow.cs:182:24:182:61 | Before Func z = ... | cflow.cs:182:9:182:62 | ... ...; | | cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:182:28:182:61 | delegate(...) { ... } | -| cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:9:182:62 | ... ...; | -| cflow.cs:182:28:182:61 | exit delegate(...) { ... } | cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | -| cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | cflow.cs:182:47:182:59 | return ...; | -| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:28:182:61 | enter delegate(...) { ... } | -| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:54:182:58 | ... + ... | -| cflow.cs:182:54:182:54 | access to parameter x | cflow.cs:182:45:182:61 | {...} | +| cflow.cs:182:28:182:61 | Exit | cflow.cs:182:28:182:61 | Normal Exit | +| cflow.cs:182:28:182:61 | Normal Exit | cflow.cs:182:47:182:59 | return ...; | +| cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:24:182:24 | access to local variable z | +| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:28:182:61 | Entry | +| cflow.cs:182:47:182:59 | Before return ...; | cflow.cs:182:45:182:61 | {...} | +| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:54:182:58 | After ... + ... | +| cflow.cs:182:54:182:54 | access to parameter x | cflow.cs:182:54:182:58 | Before ... + ... | | cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:58:182:58 | 1 | +| cflow.cs:182:54:182:58 | After ... + ... | cflow.cs:182:54:182:58 | ... + ... | +| cflow.cs:182:54:182:58 | Before ... + ... | cflow.cs:182:47:182:59 | Before return ...; | | cflow.cs:182:58:182:58 | 1 | cflow.cs:182:54:182:54 | access to parameter x | -| cflow.cs:185:10:185:18 | exit LogicalOr | cflow.cs:185:10:185:18 | exit LogicalOr (normal) | -| cflow.cs:185:10:185:18 | exit LogicalOr (normal) | cflow.cs:190:13:190:51 | call to method WriteLine | -| cflow.cs:186:5:191:5 | {...} | cflow.cs:185:10:185:18 | enter LogicalOr | +| cflow.cs:185:10:185:18 | Exit | cflow.cs:185:10:185:18 | Normal Exit | +| cflow.cs:185:10:185:18 | Normal Exit | cflow.cs:186:5:191:5 | After {...} | +| cflow.cs:186:5:191:5 | After {...} | cflow.cs:187:9:190:52 | After if (...) ... | +| cflow.cs:186:5:191:5 | {...} | cflow.cs:185:10:185:18 | Entry | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:188:13:188:55 | After ...; | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:190:13:190:52 | After ...; | | cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:186:5:191:5 | {...} | -| cflow.cs:187:13:187:13 | 1 | cflow.cs:187:9:190:52 | if (...) ... | +| cflow.cs:187:13:187:13 | 1 | cflow.cs:187:13:187:18 | Before ... == ... | | cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:18:187:18 | 2 | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:23:187:28 | ... == ... | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:34:187:49 | ... && ... | +| cflow.cs:187:13:187:18 | Before ... == ... | cflow.cs:187:13:187:28 | ... \|\| ... | +| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | +| cflow.cs:187:13:187:28 | After ... \|\| ... [false] | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:9:190:52 | if (...) ... | +| cflow.cs:187:13:187:50 | After ... \|\| ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:34:187:49 | After ... && ... [true] | | cflow.cs:187:18:187:18 | 2 | cflow.cs:187:13:187:13 | 1 | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:13:187:18 | ... == ... | +| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:23:187:28 | Before ... == ... | | cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:28:187:28 | 3 | +| cflow.cs:187:23:187:28 | Before ... == ... | cflow.cs:187:13:187:18 | After ... == ... [false] | | cflow.cs:187:28:187:28 | 3 | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:13:187:28 | ... \|\| ... | +| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:39 | Before ... == ... | | cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:39:187:39 | 3 | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:39 | ... == ... | +| cflow.cs:187:34:187:39 | Before ... == ... | cflow.cs:187:34:187:49 | ... && ... | +| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:28 | After ... \|\| ... [false] | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:34:187:49 | After ... && ... [true] | cflow.cs:187:44:187:49 | After ... == ... [true] | | cflow.cs:187:39:187:39 | 3 | cflow.cs:187:34:187:34 | 1 | +| cflow.cs:187:44:187:44 | 3 | cflow.cs:187:44:187:49 | Before ... == ... | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:49:187:49 | 1 | +| cflow.cs:187:44:187:49 | Before ... == ... | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:49:187:49 | 1 | cflow.cs:187:44:187:44 | 3 | +| cflow.cs:188:13:188:54 | After call to method WriteLine | cflow.cs:188:13:188:54 | call to method WriteLine | +| cflow.cs:188:13:188:54 | Before call to method WriteLine | cflow.cs:188:13:188:55 | ...; | +| cflow.cs:188:13:188:54 | call to method WriteLine | cflow.cs:188:31:188:53 | "This shouldn't happen" | +| cflow.cs:188:13:188:55 | ...; | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | +| cflow.cs:188:13:188:55 | After ...; | cflow.cs:188:13:188:54 | After call to method WriteLine | +| cflow.cs:188:31:188:53 | "This shouldn't happen" | cflow.cs:188:13:188:54 | Before call to method WriteLine | +| cflow.cs:190:13:190:51 | After call to method WriteLine | cflow.cs:190:13:190:51 | call to method WriteLine | +| cflow.cs:190:13:190:51 | Before call to method WriteLine | cflow.cs:190:13:190:52 | ...; | | cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:190:31:190:50 | "This should happen" | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:193:10:193:17 | exit Booleans (abnormal) | cflow.cs:203:17:203:38 | throw ...; | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:194:5:206:5 | {...} | cflow.cs:193:10:193:17 | enter Booleans | +| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:13:187:50 | After ... \|\| ... [false] | +| cflow.cs:190:13:190:52 | After ...; | cflow.cs:190:13:190:51 | After call to method WriteLine | +| cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:190:13:190:51 | Before call to method WriteLine | +| cflow.cs:193:10:193:17 | Exceptional Exit | cflow.cs:203:17:203:38 | throw ...; | +| cflow.cs:193:10:193:17 | Normal Exit | cflow.cs:194:5:206:5 | After {...} | +| cflow.cs:194:5:206:5 | After {...} | cflow.cs:200:9:205:9 | After if (...) ... | +| cflow.cs:194:5:206:5 | {...} | cflow.cs:193:10:193:17 | Entry | | cflow.cs:195:9:195:57 | ... ...; | cflow.cs:194:5:206:5 | {...} | -| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:17:195:56 | ... && ... | +| cflow.cs:195:9:195:57 | After ... ...; | cflow.cs:195:13:195:56 | After Boolean b = ... | +| cflow.cs:195:13:195:13 | access to local variable b | cflow.cs:195:13:195:56 | Before Boolean b = ... | +| cflow.cs:195:13:195:56 | After Boolean b = ... | cflow.cs:195:13:195:56 | Boolean b = ... | +| cflow.cs:195:13:195:56 | Before Boolean b = ... | cflow.cs:195:9:195:57 | ... ...; | +| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:195:17:195:21 | After access to field Field | cflow.cs:195:17:195:21 | access to field Field | +| cflow.cs:195:17:195:21 | Before access to field Field | cflow.cs:195:17:195:28 | Before access to property Length | | cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:21 | this access | -| cflow.cs:195:17:195:21 | this access | cflow.cs:195:9:195:57 | ... ...; | -| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:17:195:21 | access to field Field | +| cflow.cs:195:17:195:21 | this access | cflow.cs:195:17:195:21 | Before access to field Field | +| cflow.cs:195:17:195:28 | After access to property Length | cflow.cs:195:17:195:28 | access to property Length | +| cflow.cs:195:17:195:28 | Before access to property Length | cflow.cs:195:17:195:32 | Before ... > ... | +| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:17:195:21 | After access to field Field | | cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:32:195:32 | 0 | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:32 | ... > ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:37:195:56 | !... | -| cflow.cs:195:32:195:32 | 0 | cflow.cs:195:17:195:28 | access to property Length | -| cflow.cs:195:37:195:56 | !... | cflow.cs:195:39:195:55 | ... == ... | +| cflow.cs:195:17:195:32 | Before ... > ... | cflow.cs:195:17:195:56 | ... && ... | +| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:13:195:13 | access to local variable b | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:37:195:56 | After !... | +| cflow.cs:195:32:195:32 | 0 | cflow.cs:195:17:195:28 | After access to property Length | +| cflow.cs:195:37:195:56 | !... | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:195:37:195:56 | After !... | cflow.cs:195:39:195:55 | After ... == ... | +| cflow.cs:195:39:195:43 | After access to field Field | cflow.cs:195:39:195:43 | access to field Field | +| cflow.cs:195:39:195:43 | Before access to field Field | cflow.cs:195:39:195:50 | Before access to property Length | | cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:43 | this access | -| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:39:195:43 | access to field Field | +| cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | Before access to field Field | +| cflow.cs:195:39:195:50 | After access to property Length | cflow.cs:195:39:195:50 | access to property Length | +| cflow.cs:195:39:195:50 | Before access to property Length | cflow.cs:195:39:195:55 | Before ... == ... | +| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:39:195:43 | After access to field Field | | cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:55:195:55 | 1 | -| cflow.cs:195:55:195:55 | 1 | cflow.cs:195:39:195:50 | access to property Length | -| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:195:13:195:56 | Boolean b = ... | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | +| cflow.cs:195:39:195:55 | After ... == ... | cflow.cs:195:39:195:55 | ... == ... | +| cflow.cs:195:39:195:55 | Before ... == ... | cflow.cs:195:37:195:56 | !... | +| cflow.cs:195:55:195:55 | 1 | cflow.cs:195:39:195:50 | After access to property Length | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:197:13:197:47 | After !... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:198:13:198:49 | After ...; | +| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:195:9:195:57 | After ... ...; | +| cflow.cs:197:13:197:47 | !... | cflow.cs:197:9:198:49 | if (...) ... | +| cflow.cs:197:13:197:47 | After !... [false] | cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | +| cflow.cs:197:13:197:47 | After !... [true] | cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | +| cflow.cs:197:15:197:19 | After access to field Field | cflow.cs:197:15:197:19 | access to field Field | +| cflow.cs:197:15:197:19 | Before access to field Field | cflow.cs:197:15:197:26 | Before access to property Length | | cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:19 | this access | -| cflow.cs:197:15:197:19 | this access | cflow.cs:197:9:198:49 | if (...) ... | -| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:15:197:19 | access to field Field | +| cflow.cs:197:15:197:19 | this access | cflow.cs:197:15:197:19 | Before access to field Field | +| cflow.cs:197:15:197:26 | After access to property Length | cflow.cs:197:15:197:26 | access to property Length | +| cflow.cs:197:15:197:26 | Before access to property Length | cflow.cs:197:15:197:31 | Before ... == ... | +| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:15:197:19 | After access to field Field | | cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:31:197:31 | 0 | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:197:31:197:31 | 0 | cflow.cs:197:15:197:26 | access to property Length | -| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:197:13:197:47 | [true] !... | +| cflow.cs:197:15:197:31 | Before ... == ... | cflow.cs:197:15:197:46 | ... ? ... : ... | +| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:13:197:47 | !... | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | cflow.cs:197:35:197:39 | After false [false] | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | cflow.cs:197:43:197:46 | After true [true] | +| cflow.cs:197:31:197:31 | 0 | cflow.cs:197:15:197:26 | After access to property Length | +| cflow.cs:197:35:197:39 | After false [false] | cflow.cs:197:35:197:39 | false | +| cflow.cs:197:35:197:39 | false | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:197:43:197:46 | After true [true] | cflow.cs:197:43:197:46 | true | +| cflow.cs:197:43:197:46 | true | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:198:13:198:13 | access to local variable b | cflow.cs:198:13:198:48 | Before ... = ... | +| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:198:13:198:48 | After ... = ... | cflow.cs:198:13:198:48 | ... = ... | +| cflow.cs:198:13:198:48 | Before ... = ... | cflow.cs:198:13:198:49 | ...; | +| cflow.cs:198:13:198:49 | ...; | cflow.cs:197:13:197:47 | After !... [true] | +| cflow.cs:198:13:198:49 | After ...; | cflow.cs:198:13:198:48 | After ... = ... | +| cflow.cs:198:17:198:21 | After access to field Field | cflow.cs:198:17:198:21 | access to field Field | +| cflow.cs:198:17:198:21 | Before access to field Field | cflow.cs:198:17:198:28 | Before access to property Length | | cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:21 | this access | -| cflow.cs:198:17:198:21 | this access | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:17:198:21 | access to field Field | +| cflow.cs:198:17:198:21 | this access | cflow.cs:198:17:198:21 | Before access to field Field | +| cflow.cs:198:17:198:28 | After access to property Length | cflow.cs:198:17:198:28 | access to property Length | +| cflow.cs:198:17:198:28 | Before access to property Length | cflow.cs:198:17:198:33 | Before ... == ... | +| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:17:198:21 | After access to field Field | | cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:33:198:33 | 0 | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:198:33:198:33 | 0 | cflow.cs:198:17:198:28 | access to property Length | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:198:13:198:48 | ... = ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:15:200:31 | ... == ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:37:200:62 | [false] !... | +| cflow.cs:198:17:198:33 | Before ... == ... | cflow.cs:198:17:198:48 | ... ? ... : ... | +| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:13:198:13 | access to local variable b | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:37:198:41 | false | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:45:198:48 | true | +| cflow.cs:198:33:198:33 | 0 | cflow.cs:198:17:198:28 | After access to property Length | +| cflow.cs:198:37:198:41 | false | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:198:45:198:48 | true | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:200:9:205:9 | After if (...) ... | cflow.cs:200:13:200:62 | After ... \|\| ... [false] | +| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:200:13:200:32 | !... | cflow.cs:200:13:200:62 | ... \|\| ... | +| cflow.cs:200:13:200:32 | After !... [false] | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:200:13:200:32 | After !... [true] | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:9:205:9 | if (...) ... | +| cflow.cs:200:13:200:62 | After ... \|\| ... [false] | cflow.cs:200:37:200:62 | After !... [false] | +| cflow.cs:200:15:200:19 | After access to field Field | cflow.cs:200:15:200:19 | access to field Field | +| cflow.cs:200:15:200:19 | Before access to field Field | cflow.cs:200:15:200:26 | Before access to property Length | | cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:19 | this access | -| cflow.cs:200:15:200:19 | this access | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:15:200:19 | access to field Field | +| cflow.cs:200:15:200:19 | this access | cflow.cs:200:15:200:19 | Before access to field Field | +| cflow.cs:200:15:200:26 | After access to property Length | cflow.cs:200:15:200:26 | access to property Length | +| cflow.cs:200:15:200:26 | Before access to property Length | cflow.cs:200:15:200:31 | Before ... == ... | +| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:15:200:19 | After access to field Field | | cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:31:200:31 | 0 | -| cflow.cs:200:31:200:31 | 0 | cflow.cs:200:15:200:26 | access to property Length | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:40:200:61 | [false] ... && ... | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:15:200:31 | ... == ... | +| cflow.cs:200:15:200:31 | Before ... == ... | cflow.cs:200:13:200:32 | !... | +| cflow.cs:200:31:200:31 | 0 | cflow.cs:200:15:200:26 | After access to property Length | +| cflow.cs:200:37:200:62 | !... | cflow.cs:200:13:200:32 | After !... [false] | +| cflow.cs:200:37:200:62 | After !... [false] | cflow.cs:200:38:200:62 | After !... [true] | +| cflow.cs:200:37:200:62 | After !... [true] | cflow.cs:200:38:200:62 | After !... [false] | +| cflow.cs:200:38:200:62 | !... | cflow.cs:200:37:200:62 | !... | +| cflow.cs:200:38:200:62 | After !... [false] | cflow.cs:200:40:200:61 | After ... && ... [true] | +| cflow.cs:200:38:200:62 | After !... [true] | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:200:40:200:44 | After access to field Field | cflow.cs:200:40:200:44 | access to field Field | +| cflow.cs:200:40:200:44 | Before access to field Field | cflow.cs:200:40:200:51 | Before access to property Length | | cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:40:200:44 | access to field Field | +| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | Before access to field Field | +| cflow.cs:200:40:200:51 | After access to property Length | cflow.cs:200:40:200:51 | access to property Length | +| cflow.cs:200:40:200:51 | Before access to property Length | cflow.cs:200:40:200:56 | Before ... == ... | +| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:40:200:44 | After access to field Field | | cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:56:200:56 | 1 | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:40:200:56 | ... == ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:56:200:56 | 1 | cflow.cs:200:40:200:51 | access to property Length | +| cflow.cs:200:40:200:56 | Before ... == ... | cflow.cs:200:40:200:61 | ... && ... | +| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:38:200:62 | !... | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:40:200:61 | After ... && ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:200:56:200:56 | 1 | cflow.cs:200:40:200:51 | After access to property Length | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:61:200:61 | access to local variable b | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:201:9:205:9 | {...} | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | | cflow.cs:202:13:204:13 | {...} | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:203:23:203:37 | object creation of type Exception | -| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:202:13:204:13 | {...} | -| cflow.cs:208:10:208:11 | exit Do | cflow.cs:208:10:208:11 | exit Do (normal) | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:219:17:219:22 | break; | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:221:18:221:34 | ... < ... | -| cflow.cs:209:5:222:5 | {...} | cflow.cs:208:10:208:11 | enter Do | +| cflow.cs:203:17:203:38 | Before throw ...; | cflow.cs:202:13:204:13 | {...} | +| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:203:23:203:37 | After object creation of type Exception | +| cflow.cs:203:23:203:37 | After object creation of type Exception | cflow.cs:203:23:203:37 | object creation of type Exception | +| cflow.cs:203:23:203:37 | Before object creation of type Exception | cflow.cs:203:17:203:38 | Before throw ...; | +| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:203:23:203:37 | Before object creation of type Exception | +| cflow.cs:208:10:208:11 | Exit | cflow.cs:208:10:208:11 | Normal Exit | +| cflow.cs:208:10:208:11 | Normal Exit | cflow.cs:209:5:222:5 | After {...} | +| cflow.cs:209:5:222:5 | After {...} | cflow.cs:210:9:221:36 | After do ... while (...); | +| cflow.cs:209:5:222:5 | {...} | cflow.cs:208:10:208:11 | Entry | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:219:17:219:22 | break; | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:211:9:221:9 | After {...} | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:215:17:215:25 | continue; | | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:209:5:222:5 | {...} | +| cflow.cs:211:9:221:9 | After {...} | cflow.cs:217:13:220:13 | After if (...) ... | | cflow.cs:211:9:221:9 | {...} | cflow.cs:210:9:221:36 | do ... while (...); | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:212:13:212:17 | After access to field Field | cflow.cs:212:13:212:17 | access to field Field | +| cflow.cs:212:13:212:17 | Before access to field Field | cflow.cs:212:13:212:24 | Before ... += ... | | cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:17 | this access | -| cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:25 | ...; | +| cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | Before access to field Field | | cflow.cs:212:13:212:24 | ... += ... | cflow.cs:212:22:212:24 | "a" | +| cflow.cs:212:13:212:24 | After ... += ... | cflow.cs:212:13:212:24 | ... += ... | +| cflow.cs:212:13:212:24 | Before ... += ... | cflow.cs:212:13:212:25 | ...; | | cflow.cs:212:13:212:25 | ...; | cflow.cs:211:9:221:9 | {...} | -| cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:17 | access to field Field | -| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:212:13:212:24 | ... += ... | +| cflow.cs:212:13:212:25 | After ...; | cflow.cs:212:13:212:24 | After ... += ... | +| cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:17 | After access to field Field | +| cflow.cs:213:13:216:13 | After if (...) ... | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:212:13:212:25 | After ...; | +| cflow.cs:213:17:213:21 | After access to field Field | cflow.cs:213:17:213:21 | access to field Field | +| cflow.cs:213:17:213:21 | Before access to field Field | cflow.cs:213:17:213:28 | Before access to property Length | | cflow.cs:213:17:213:21 | access to field Field | cflow.cs:213:17:213:21 | this access | -| cflow.cs:213:17:213:21 | this access | cflow.cs:213:13:216:13 | if (...) ... | -| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:17:213:21 | access to field Field | +| cflow.cs:213:17:213:21 | this access | cflow.cs:213:17:213:21 | Before access to field Field | +| cflow.cs:213:17:213:28 | After access to property Length | cflow.cs:213:17:213:28 | access to property Length | +| cflow.cs:213:17:213:28 | Before access to property Length | cflow.cs:213:17:213:32 | Before ... > ... | +| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:17:213:21 | After access to field Field | | cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:32:213:32 | 0 | -| cflow.cs:213:32:213:32 | 0 | cflow.cs:213:17:213:28 | access to property Length | -| cflow.cs:215:17:215:25 | continue; | cflow.cs:214:13:216:13 | {...} | +| cflow.cs:213:17:213:32 | Before ... > ... | cflow.cs:213:13:216:13 | if (...) ... | +| cflow.cs:213:32:213:32 | 0 | cflow.cs:213:17:213:28 | After access to property Length | +| cflow.cs:214:13:216:13 | {...} | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:215:17:215:25 | Before continue; | cflow.cs:214:13:216:13 | {...} | +| cflow.cs:215:17:215:25 | continue; | cflow.cs:215:17:215:25 | Before continue; | +| cflow.cs:217:13:220:13 | After if (...) ... | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:213:13:216:13 | After if (...) ... | +| cflow.cs:217:17:217:21 | After access to field Field | cflow.cs:217:17:217:21 | access to field Field | +| cflow.cs:217:17:217:21 | Before access to field Field | cflow.cs:217:17:217:28 | Before access to property Length | | cflow.cs:217:17:217:21 | access to field Field | cflow.cs:217:17:217:21 | this access | -| cflow.cs:217:17:217:21 | this access | cflow.cs:217:13:220:13 | if (...) ... | -| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:17:217:21 | access to field Field | +| cflow.cs:217:17:217:21 | this access | cflow.cs:217:17:217:21 | Before access to field Field | +| cflow.cs:217:17:217:28 | After access to property Length | cflow.cs:217:17:217:28 | access to property Length | +| cflow.cs:217:17:217:28 | Before access to property Length | cflow.cs:217:17:217:32 | Before ... < ... | +| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:17:217:21 | After access to field Field | | cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:32:217:32 | 0 | -| cflow.cs:217:32:217:32 | 0 | cflow.cs:217:17:217:28 | access to property Length | -| cflow.cs:219:17:219:22 | break; | cflow.cs:218:13:220:13 | {...} | +| cflow.cs:217:17:217:32 | Before ... < ... | cflow.cs:217:13:220:13 | if (...) ... | +| cflow.cs:217:32:217:32 | 0 | cflow.cs:217:17:217:28 | After access to property Length | +| cflow.cs:218:13:220:13 | {...} | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:219:17:219:22 | Before break; | cflow.cs:218:13:220:13 | {...} | +| cflow.cs:219:17:219:22 | break; | cflow.cs:219:17:219:22 | Before break; | +| cflow.cs:221:18:221:22 | After access to field Field | cflow.cs:221:18:221:22 | access to field Field | +| cflow.cs:221:18:221:22 | Before access to field Field | cflow.cs:221:18:221:29 | Before access to property Length | | cflow.cs:221:18:221:22 | access to field Field | cflow.cs:221:18:221:22 | this access | -| cflow.cs:221:18:221:22 | this access | cflow.cs:215:17:215:25 | continue; | -| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:18:221:22 | access to field Field | +| cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:22 | Before access to field Field | +| cflow.cs:221:18:221:29 | After access to property Length | cflow.cs:221:18:221:29 | access to property Length | +| cflow.cs:221:18:221:29 | Before access to property Length | cflow.cs:221:18:221:34 | Before ... < ... | +| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:18:221:22 | After access to field Field | | cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:33:221:34 | 10 | -| cflow.cs:221:33:221:34 | 10 | cflow.cs:221:18:221:29 | access to property Length | -| cflow.cs:224:10:224:16 | exit Foreach | cflow.cs:224:10:224:16 | exit Foreach (normal) | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:235:17:235:22 | break; | -| cflow.cs:225:5:238:5 | {...} | cflow.cs:224:10:224:16 | enter Foreach | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:27:226:64 | call to method Repeat | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:231:17:231:25 | continue; | +| cflow.cs:221:18:221:34 | Before ... < ... | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | +| cflow.cs:221:33:221:34 | 10 | cflow.cs:221:18:221:29 | After access to property Length | +| cflow.cs:224:10:224:16 | Exit | cflow.cs:224:10:224:16 | Normal Exit | +| cflow.cs:224:10:224:16 | Normal Exit | cflow.cs:225:5:238:5 | After {...} | +| cflow.cs:225:5:238:5 | After {...} | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | +| cflow.cs:225:5:238:5 | {...} | cflow.cs:224:10:224:16 | Entry | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:235:17:235:22 | break; | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:227:9:237:9 | After {...} | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:231:17:231:25 | continue; | +| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:225:5:238:5 | {...} | +| cflow.cs:226:22:226:22 | String x | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | +| cflow.cs:226:27:226:64 | Before call to method Repeat | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | | cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:62:226:63 | 10 | -| cflow.cs:226:57:226:59 | "a" | cflow.cs:225:5:238:5 | {...} | +| cflow.cs:226:57:226:59 | "a" | cflow.cs:226:27:226:64 | Before call to method Repeat | | cflow.cs:226:62:226:63 | 10 | cflow.cs:226:57:226:59 | "a" | +| cflow.cs:227:9:237:9 | After {...} | cflow.cs:233:13:236:13 | After if (...) ... | | cflow.cs:227:9:237:9 | {...} | cflow.cs:226:22:226:22 | String x | +| cflow.cs:228:13:228:17 | After access to field Field | cflow.cs:228:13:228:17 | access to field Field | +| cflow.cs:228:13:228:17 | Before access to field Field | cflow.cs:228:13:228:22 | Before ... += ... | | cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:17 | this access | -| cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:23 | ...; | +| cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | Before access to field Field | | cflow.cs:228:13:228:22 | ... += ... | cflow.cs:228:22:228:22 | access to local variable x | +| cflow.cs:228:13:228:22 | After ... += ... | cflow.cs:228:13:228:22 | ... += ... | +| cflow.cs:228:13:228:22 | Before ... += ... | cflow.cs:228:13:228:23 | ...; | | cflow.cs:228:13:228:23 | ...; | cflow.cs:227:9:237:9 | {...} | -| cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:17 | access to field Field | -| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:228:13:228:22 | ... += ... | +| cflow.cs:228:13:228:23 | After ...; | cflow.cs:228:13:228:22 | After ... += ... | +| cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:17 | After access to field Field | +| cflow.cs:229:13:232:13 | After if (...) ... | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:228:13:228:23 | After ...; | +| cflow.cs:229:17:229:21 | After access to field Field | cflow.cs:229:17:229:21 | access to field Field | +| cflow.cs:229:17:229:21 | Before access to field Field | cflow.cs:229:17:229:28 | Before access to property Length | | cflow.cs:229:17:229:21 | access to field Field | cflow.cs:229:17:229:21 | this access | -| cflow.cs:229:17:229:21 | this access | cflow.cs:229:13:232:13 | if (...) ... | -| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:17:229:21 | access to field Field | +| cflow.cs:229:17:229:21 | this access | cflow.cs:229:17:229:21 | Before access to field Field | +| cflow.cs:229:17:229:28 | After access to property Length | cflow.cs:229:17:229:28 | access to property Length | +| cflow.cs:229:17:229:28 | Before access to property Length | cflow.cs:229:17:229:32 | Before ... > ... | +| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:17:229:21 | After access to field Field | | cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:32:229:32 | 0 | -| cflow.cs:229:32:229:32 | 0 | cflow.cs:229:17:229:28 | access to property Length | -| cflow.cs:231:17:231:25 | continue; | cflow.cs:230:13:232:13 | {...} | +| cflow.cs:229:17:229:32 | Before ... > ... | cflow.cs:229:13:232:13 | if (...) ... | +| cflow.cs:229:32:229:32 | 0 | cflow.cs:229:17:229:28 | After access to property Length | +| cflow.cs:230:13:232:13 | {...} | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:231:17:231:25 | Before continue; | cflow.cs:230:13:232:13 | {...} | +| cflow.cs:231:17:231:25 | continue; | cflow.cs:231:17:231:25 | Before continue; | +| cflow.cs:233:13:236:13 | After if (...) ... | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:229:13:232:13 | After if (...) ... | +| cflow.cs:233:17:233:21 | After access to field Field | cflow.cs:233:17:233:21 | access to field Field | +| cflow.cs:233:17:233:21 | Before access to field Field | cflow.cs:233:17:233:28 | Before access to property Length | | cflow.cs:233:17:233:21 | access to field Field | cflow.cs:233:17:233:21 | this access | -| cflow.cs:233:17:233:21 | this access | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:17:233:21 | access to field Field | +| cflow.cs:233:17:233:21 | this access | cflow.cs:233:17:233:21 | Before access to field Field | +| cflow.cs:233:17:233:28 | After access to property Length | cflow.cs:233:17:233:28 | access to property Length | +| cflow.cs:233:17:233:28 | Before access to property Length | cflow.cs:233:17:233:32 | Before ... < ... | +| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:17:233:21 | After access to field Field | | cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:32:233:32 | 0 | -| cflow.cs:233:32:233:32 | 0 | cflow.cs:233:17:233:28 | access to property Length | -| cflow.cs:235:17:235:22 | break; | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:240:10:240:13 | exit Goto | cflow.cs:240:10:240:13 | exit Goto (normal) | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:252:17:252:22 | break; | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:257:17:257:22 | break; | -| cflow.cs:241:5:259:5 | {...} | cflow.cs:240:10:240:13 | enter Goto | +| cflow.cs:233:17:233:32 | Before ... < ... | cflow.cs:233:13:236:13 | if (...) ... | +| cflow.cs:233:32:233:32 | 0 | cflow.cs:233:17:233:28 | After access to property Length | +| cflow.cs:234:13:236:13 | {...} | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:235:17:235:22 | Before break; | cflow.cs:234:13:236:13 | {...} | +| cflow.cs:235:17:235:22 | break; | cflow.cs:235:17:235:22 | Before break; | +| cflow.cs:240:10:240:13 | Exit | cflow.cs:240:10:240:13 | Normal Exit | +| cflow.cs:240:10:240:13 | Normal Exit | cflow.cs:241:5:259:5 | After {...} | +| cflow.cs:241:5:259:5 | After {...} | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:241:5:259:5 | {...} | cflow.cs:240:10:240:13 | Entry | | cflow.cs:242:5:242:9 | Label: | cflow.cs:241:5:259:5 | {...} | | cflow.cs:242:5:242:9 | Label: | cflow.cs:244:31:244:41 | goto ...; | | cflow.cs:242:5:242:9 | Label: | cflow.cs:254:17:254:27 | goto ...; | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:16:242:36 | After !... [false] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:39:242:41 | {...} | | cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:17:242:36 | [false] !... | +| cflow.cs:242:16:242:36 | !... | cflow.cs:242:12:242:41 | if (...) ... | +| cflow.cs:242:16:242:36 | After !... [false] | cflow.cs:242:17:242:36 | After !... [true] | +| cflow.cs:242:16:242:36 | After !... [true] | cflow.cs:242:17:242:36 | After !... [false] | +| cflow.cs:242:17:242:36 | !... | cflow.cs:242:16:242:36 | !... | +| cflow.cs:242:17:242:36 | After !... [false] | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:242:17:242:36 | After !... [true] | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:242:19:242:23 | After access to field Field | cflow.cs:242:19:242:23 | access to field Field | +| cflow.cs:242:19:242:23 | Before access to field Field | cflow.cs:242:19:242:30 | Before access to property Length | | cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:23 | this access | -| cflow.cs:242:19:242:23 | this access | cflow.cs:242:12:242:41 | if (...) ... | -| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:19:242:23 | access to field Field | +| cflow.cs:242:19:242:23 | this access | cflow.cs:242:19:242:23 | Before access to field Field | +| cflow.cs:242:19:242:30 | After access to property Length | cflow.cs:242:19:242:30 | access to property Length | +| cflow.cs:242:19:242:30 | Before access to property Length | cflow.cs:242:19:242:35 | Before ... == ... | +| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:19:242:23 | After access to field Field | | cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:35:242:35 | 0 | -| cflow.cs:242:35:242:35 | 0 | cflow.cs:242:19:242:30 | access to property Length | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:39:242:41 | {...} | +| cflow.cs:242:19:242:35 | Before ... == ... | cflow.cs:242:17:242:36 | !... | +| cflow.cs:242:35:242:35 | 0 | cflow.cs:242:19:242:30 | After access to property Length | +| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:16:242:36 | After !... [true] | +| cflow.cs:244:9:244:41 | After if (...) ... | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:244:13:244:17 | After access to field Field | cflow.cs:244:13:244:17 | access to field Field | +| cflow.cs:244:13:244:17 | Before access to field Field | cflow.cs:244:13:244:24 | Before access to property Length | | cflow.cs:244:13:244:17 | access to field Field | cflow.cs:244:13:244:17 | this access | -| cflow.cs:244:13:244:17 | this access | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:13:244:17 | access to field Field | +| cflow.cs:244:13:244:17 | this access | cflow.cs:244:13:244:17 | Before access to field Field | +| cflow.cs:244:13:244:24 | After access to property Length | cflow.cs:244:13:244:24 | access to property Length | +| cflow.cs:244:13:244:24 | Before access to property Length | cflow.cs:244:13:244:28 | Before ... > ... | +| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:13:244:17 | After access to field Field | | cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:28:244:28 | 0 | -| cflow.cs:244:28:244:28 | 0 | cflow.cs:244:13:244:24 | access to property Length | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:244:13:244:28 | ... > ... | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:244:13:244:28 | ... > ... | +| cflow.cs:244:13:244:28 | Before ... > ... | cflow.cs:244:9:244:41 | if (...) ... | +| cflow.cs:244:28:244:28 | 0 | cflow.cs:244:13:244:24 | After access to property Length | +| cflow.cs:244:31:244:41 | Before goto ...; | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:244:31:244:41 | goto ...; | cflow.cs:244:31:244:41 | Before goto ...; | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:252:17:252:22 | break; | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:257:17:257:22 | break; | +| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:244:9:244:41 | After if (...) ... | +| cflow.cs:246:17:246:21 | After access to field Field | cflow.cs:246:17:246:21 | access to field Field | +| cflow.cs:246:17:246:21 | Before access to field Field | cflow.cs:246:17:246:28 | Before access to property Length | | cflow.cs:246:17:246:21 | access to field Field | cflow.cs:246:17:246:21 | this access | -| cflow.cs:246:17:246:21 | this access | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:17:246:21 | access to field Field | +| cflow.cs:246:17:246:21 | this access | cflow.cs:246:17:246:21 | Before access to field Field | +| cflow.cs:246:17:246:28 | After access to property Length | cflow.cs:246:17:246:28 | access to property Length | +| cflow.cs:246:17:246:28 | Before access to property Length | cflow.cs:246:17:246:32 | Before ... + ... | +| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:17:246:21 | After access to field Field | | cflow.cs:246:17:246:32 | ... + ... | cflow.cs:246:32:246:32 | 3 | -| cflow.cs:246:32:246:32 | 3 | cflow.cs:246:17:246:28 | access to property Length | -| cflow.cs:248:13:248:19 | case ...: | cflow.cs:246:17:246:32 | ... + ... | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:248:13:248:19 | case ...: | -| cflow.cs:250:18:250:18 | 1 | cflow.cs:250:13:250:19 | case ...: | +| cflow.cs:246:17:246:32 | After ... + ... | cflow.cs:246:17:246:32 | ... + ... | +| cflow.cs:246:17:246:32 | Before ... + ... | cflow.cs:246:9:258:9 | switch (...) {...} | +| cflow.cs:246:32:246:32 | 3 | cflow.cs:246:17:246:28 | After access to property Length | +| cflow.cs:248:13:248:19 | case ...: | cflow.cs:246:17:246:32 | After ... + ... | +| cflow.cs:248:18:248:18 | 0 | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:249:17:249:29 | Before goto default; | cflow.cs:248:18:248:18 | 0 | +| cflow.cs:249:17:249:29 | goto default; | cflow.cs:249:17:249:29 | Before goto default; | +| cflow.cs:250:13:250:19 | case ...: | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:250:18:250:18 | 1 | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:251:17:251:36 | After call to method WriteLine | cflow.cs:251:17:251:36 | call to method WriteLine | +| cflow.cs:251:17:251:36 | Before call to method WriteLine | cflow.cs:251:17:251:37 | ...; | | cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:251:35:251:35 | 1 | -| cflow.cs:251:35:251:35 | 1 | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:252:17:252:22 | break; | cflow.cs:251:17:251:36 | call to method WriteLine | -| cflow.cs:253:18:253:18 | 2 | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:255:13:255:20 | default: | cflow.cs:249:17:249:29 | goto default; | +| cflow.cs:251:17:251:37 | ...; | cflow.cs:250:18:250:18 | 1 | +| cflow.cs:251:17:251:37 | After ...; | cflow.cs:251:17:251:36 | After call to method WriteLine | +| cflow.cs:251:35:251:35 | 1 | cflow.cs:251:17:251:36 | Before call to method WriteLine | +| cflow.cs:252:17:252:22 | Before break; | cflow.cs:251:17:251:37 | After ...; | +| cflow.cs:252:17:252:22 | break; | cflow.cs:252:17:252:22 | Before break; | +| cflow.cs:253:13:253:19 | case ...: | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:253:18:253:18 | 2 | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:254:17:254:27 | Before goto ...; | cflow.cs:253:18:253:18 | 2 | +| cflow.cs:254:17:254:27 | goto ...; | cflow.cs:254:17:254:27 | Before goto ...; | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:249:17:249:29 | goto default; | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:255:13:255:20 | default: | +| cflow.cs:255:13:255:20 | default: | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:256:17:256:36 | After call to method WriteLine | cflow.cs:256:17:256:36 | call to method WriteLine | +| cflow.cs:256:17:256:36 | Before call to method WriteLine | cflow.cs:256:17:256:37 | ...; | | cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:256:35:256:35 | 0 | -| cflow.cs:256:17:256:37 | ...; | cflow.cs:255:13:255:20 | default: | -| cflow.cs:256:35:256:35 | 0 | cflow.cs:256:17:256:37 | ...; | -| cflow.cs:257:17:257:22 | break; | cflow.cs:256:17:256:36 | call to method WriteLine | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:275:13:275:41 | call to method WriteLine | -| cflow.cs:262:5:277:5 | {...} | cflow.cs:261:49:261:53 | enter Yield | +| cflow.cs:256:17:256:37 | ...; | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:256:17:256:37 | After ...; | cflow.cs:256:17:256:36 | After call to method WriteLine | +| cflow.cs:256:35:256:35 | 0 | cflow.cs:256:17:256:36 | Before call to method WriteLine | +| cflow.cs:257:17:257:22 | Before break; | cflow.cs:256:17:256:37 | After ...; | +| cflow.cs:257:17:257:22 | break; | cflow.cs:257:17:257:22 | Before break; | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:262:5:277:5 | After {...} | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:274:9:276:9 | After {...} | +| cflow.cs:262:5:277:5 | After {...} | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:262:5:277:5 | {...} | cflow.cs:261:49:261:53 | Entry | +| cflow.cs:263:9:263:23 | After yield return ...; | cflow.cs:263:9:263:23 | yield return ...; | +| cflow.cs:263:9:263:23 | Before yield return ...; | cflow.cs:262:5:277:5 | {...} | | cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:263:22:263:22 | 0 | -| cflow.cs:263:22:263:22 | 0 | cflow.cs:262:5:277:5 | {...} | -| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:263:9:263:23 | yield return ...; | +| cflow.cs:263:22:263:22 | 0 | cflow.cs:263:9:263:23 | Before yield return ...; | +| cflow.cs:264:9:267:9 | After for (...;...;...) ... | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:265:9:267:9 | After {...} | +| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:263:9:263:23 | After yield return ...; | +| cflow.cs:264:18:264:18 | access to local variable i | cflow.cs:264:18:264:22 | Before Int32 i = ... | +| cflow.cs:264:18:264:22 | After Int32 i = ... | cflow.cs:264:18:264:22 | Int32 i = ... | +| cflow.cs:264:18:264:22 | Before Int32 i = ... | cflow.cs:264:9:267:9 | for (...;...;...) ... | | cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:22:264:22 | 1 | -| cflow.cs:264:22:264:22 | 1 | cflow.cs:264:9:267:9 | for (...;...;...) ... | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:18:264:22 | Int32 i = ... | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:33:264:35 | ...++ | +| cflow.cs:264:22:264:22 | 1 | cflow.cs:264:18:264:18 | access to local variable i | +| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:25:264:30 | Before ... < ... | | cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:29:264:30 | 10 | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:25:264:30 | ... < ... | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:18:264:22 | After Int32 i = ... | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:33:264:35 | After ...++ | | cflow.cs:264:29:264:30 | 10 | cflow.cs:264:25:264:25 | access to local variable i | -| cflow.cs:264:33:264:33 | access to local variable i | cflow.cs:266:13:266:27 | yield return ...; | +| cflow.cs:264:33:264:33 | access to local variable i | cflow.cs:264:33:264:35 | Before ...++ | | cflow.cs:264:33:264:35 | ...++ | cflow.cs:264:33:264:33 | access to local variable i | +| cflow.cs:264:33:264:35 | After ...++ | cflow.cs:264:33:264:35 | ...++ | +| cflow.cs:264:33:264:35 | Before ...++ | cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | +| cflow.cs:265:9:267:9 | After {...} | cflow.cs:266:13:266:27 | After yield return ...; | +| cflow.cs:265:9:267:9 | {...} | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:266:13:266:27 | After yield return ...; | cflow.cs:266:13:266:27 | yield return ...; | +| cflow.cs:266:13:266:27 | Before yield return ...; | cflow.cs:265:9:267:9 | {...} | | cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:266:26:266:26 | access to local variable i | -| cflow.cs:266:26:266:26 | access to local variable i | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:264:25:264:30 | ... < ... | +| cflow.cs:266:26:266:26 | access to local variable i | cflow.cs:266:13:266:27 | Before yield return ...; | +| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:264:9:267:9 | After for (...;...;...) ... | | cflow.cs:269:9:272:9 | {...} | cflow.cs:268:9:276:9 | try {...} ... | -| cflow.cs:270:13:270:24 | yield break; | cflow.cs:269:9:272:9 | {...} | +| cflow.cs:270:13:270:24 | Before yield break; | cflow.cs:269:9:272:9 | {...} | +| cflow.cs:270:13:270:24 | yield break; | cflow.cs:270:13:270:24 | Before yield break; | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:275:13:275:42 | After ...; | | cflow.cs:274:9:276:9 | {...} | cflow.cs:270:13:270:24 | yield break; | +| cflow.cs:275:13:275:41 | After call to method WriteLine | cflow.cs:275:13:275:41 | call to method WriteLine | +| cflow.cs:275:13:275:41 | Before call to method WriteLine | cflow.cs:275:13:275:42 | ...; | | cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:275:31:275:40 | "not dead" | | cflow.cs:275:13:275:42 | ...; | cflow.cs:274:9:276:9 | {...} | -| cflow.cs:275:31:275:40 | "not dead" | cflow.cs:275:13:275:42 | ...; | +| cflow.cs:275:13:275:42 | After ...; | cflow.cs:275:13:275:41 | After call to method WriteLine | +| cflow.cs:275:31:275:40 | "not dead" | cflow.cs:275:13:275:41 | Before call to method WriteLine | +| cflow.cs:282:5:282:18 | After call to method | cflow.cs:282:5:282:18 | call to method | +| cflow.cs:282:5:282:18 | Before call to method | cflow.cs:282:5:282:18 | Entry | +| cflow.cs:282:5:282:18 | Exit | cflow.cs:282:5:282:18 | Normal Exit | +| cflow.cs:282:5:282:18 | Normal Exit | cflow.cs:282:31:282:33 | {...} | | cflow.cs:282:5:282:18 | call to method | cflow.cs:282:5:282:18 | this access | -| cflow.cs:282:5:282:18 | exit ControlFlowSub | cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | -| cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | cflow.cs:282:31:282:33 | {...} | -| cflow.cs:282:5:282:18 | this access | cflow.cs:282:5:282:18 | enter ControlFlowSub | -| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:5:282:18 | call to method | -| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:24:282:27 | call to constructor ControlFlow | -| cflow.cs:284:5:284:18 | exit ControlFlowSub | cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | -| cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | cflow.cs:284:39:284:41 | {...} | -| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:5:284:18 | enter ControlFlowSub | -| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | -| cflow.cs:286:5:286:18 | exit ControlFlowSub | cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | -| cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | cflow.cs:286:48:286:50 | {...} | -| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:34:286:45 | call to method ToString | -| cflow.cs:286:34:286:34 | access to parameter i | cflow.cs:286:5:286:18 | enter ControlFlowSub | +| cflow.cs:282:5:282:18 | this access | cflow.cs:282:5:282:18 | Before call to method | +| cflow.cs:282:24:282:27 | After call to constructor ControlFlow | cflow.cs:282:24:282:27 | call to constructor ControlFlow | +| cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | cflow.cs:282:5:282:18 | After call to method | +| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | +| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:24:282:27 | After call to constructor ControlFlow | +| cflow.cs:284:5:284:18 | Exit | cflow.cs:284:5:284:18 | Normal Exit | +| cflow.cs:284:5:284:18 | Normal Exit | cflow.cs:284:39:284:41 | {...} | +| cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | +| cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | cflow.cs:284:5:284:18 | Entry | +| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | +| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | +| cflow.cs:286:5:286:18 | Exit | cflow.cs:286:5:286:18 | Normal Exit | +| cflow.cs:286:5:286:18 | Normal Exit | cflow.cs:286:48:286:50 | {...} | +| cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | +| cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | cflow.cs:286:5:286:18 | Entry | +| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:34:286:45 | After call to method ToString | +| cflow.cs:286:34:286:34 | access to parameter i | cflow.cs:286:34:286:45 | Before call to method ToString | +| cflow.cs:286:34:286:45 | After call to method ToString | cflow.cs:286:34:286:45 | call to method ToString | +| cflow.cs:286:34:286:45 | Before call to method ToString | cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | | cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:34:286:34 | access to parameter i | -| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | -| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | call to method | +| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | +| cflow.cs:289:7:289:18 | After call to constructor Object | cflow.cs:289:7:289:18 | call to constructor Object | +| cflow.cs:289:7:289:18 | After call to method | cflow.cs:289:7:289:18 | call to method | +| cflow.cs:289:7:289:18 | Before call to constructor Object | cflow.cs:289:7:289:18 | After call to method | +| cflow.cs:289:7:289:18 | Before call to method | cflow.cs:289:7:289:18 | Entry | +| cflow.cs:289:7:289:18 | Exit | cflow.cs:289:7:289:18 | Normal Exit | +| cflow.cs:289:7:289:18 | Normal Exit | cflow.cs:289:7:289:18 | {...} | +| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | Before call to constructor Object | | cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | this access | -| cflow.cs:289:7:289:18 | exit DelegateCall | cflow.cs:289:7:289:18 | exit DelegateCall (normal) | -| cflow.cs:289:7:289:18 | exit DelegateCall (normal) | cflow.cs:289:7:289:18 | {...} | -| cflow.cs:289:7:289:18 | this access | cflow.cs:289:7:289:18 | enter DelegateCall | -| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | call to constructor Object | -| cflow.cs:291:12:291:12 | exit M | cflow.cs:291:12:291:12 | exit M (normal) | -| cflow.cs:291:12:291:12 | exit M (normal) | cflow.cs:291:38:291:41 | delegate call | -| cflow.cs:291:38:291:38 | access to parameter f | cflow.cs:291:12:291:12 | enter M | +| cflow.cs:289:7:289:18 | this access | cflow.cs:289:7:289:18 | Before call to method | +| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | After call to constructor Object | +| cflow.cs:291:12:291:12 | Exit | cflow.cs:291:12:291:12 | Normal Exit | +| cflow.cs:291:12:291:12 | Normal Exit | cflow.cs:291:38:291:41 | After delegate call | +| cflow.cs:291:38:291:38 | access to parameter f | cflow.cs:291:38:291:41 | Before delegate call | +| cflow.cs:291:38:291:41 | After delegate call | cflow.cs:291:38:291:41 | delegate call | +| cflow.cs:291:38:291:41 | Before delegate call | cflow.cs:291:12:291:12 | Entry | | cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:40:291:40 | 0 | | cflow.cs:291:40:291:40 | 0 | cflow.cs:291:38:291:38 | access to parameter f | -| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:5:296:25 | call to method | +| cflow.cs:296:5:296:25 | After call to constructor Object | cflow.cs:296:5:296:25 | call to constructor Object | +| cflow.cs:296:5:296:25 | After call to method | cflow.cs:296:5:296:25 | call to method | +| cflow.cs:296:5:296:25 | Before call to constructor Object | cflow.cs:296:5:296:25 | After call to method | +| cflow.cs:296:5:296:25 | Before call to method | cflow.cs:296:5:296:25 | Entry | +| cflow.cs:296:5:296:25 | Exit | cflow.cs:296:5:296:25 | Normal Exit | +| cflow.cs:296:5:296:25 | Normal Exit | cflow.cs:296:52:296:54 | {...} | +| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:5:296:25 | Before call to constructor Object | | cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | this access | -| cflow.cs:296:5:296:25 | exit NegationInConstructor | cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | -| cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | cflow.cs:296:52:296:54 | {...} | -| cflow.cs:296:5:296:25 | this access | cflow.cs:296:5:296:25 | enter NegationInConstructor | -| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | call to constructor Object | -| cflow.cs:298:10:298:10 | exit M | cflow.cs:298:10:298:10 | exit M (normal) | -| cflow.cs:298:10:298:10 | exit M (normal) | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | -| cflow.cs:299:5:301:5 | {...} | cflow.cs:298:10:298:10 | enter M | +| cflow.cs:296:5:296:25 | this access | cflow.cs:296:5:296:25 | Before call to method | +| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | After call to constructor Object | +| cflow.cs:298:10:298:10 | Exit | cflow.cs:298:10:298:10 | Normal Exit | +| cflow.cs:298:10:298:10 | Normal Exit | cflow.cs:299:5:301:5 | After {...} | +| cflow.cs:299:5:301:5 | After {...} | cflow.cs:300:9:300:73 | After ...; | +| cflow.cs:299:5:301:5 | {...} | cflow.cs:298:10:298:10 | Entry | +| cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | +| cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | cflow.cs:300:9:300:73 | ...; | | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:300:70:300:71 | "" | | cflow.cs:300:9:300:73 | ...; | cflow.cs:299:5:301:5 | {...} | -| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:9:300:73 | ...; | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:51 | [false] !... | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:56:300:64 | ... != ... | -| cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:300:38:300:38 | 0 | +| cflow.cs:300:9:300:73 | After ...; | cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | +| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | +| cflow.cs:300:44:300:51 | !... | cflow.cs:300:44:300:64 | ... && ... | +| cflow.cs:300:44:300:51 | After !... [false] | cflow.cs:300:46:300:50 | After ... > ... [true] | +| cflow.cs:300:44:300:51 | After !... [true] | cflow.cs:300:46:300:50 | After ... > ... [false] | +| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:38:300:38 | 0 | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:44:300:51 | After !... [false] | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:56:300:64 | After ... != ... | +| cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:300:46:300:50 | Before ... > ... | | cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:50:300:50 | 0 | +| cflow.cs:300:46:300:50 | Before ... > ... | cflow.cs:300:44:300:51 | !... | | cflow.cs:300:50:300:50 | 0 | cflow.cs:300:46:300:46 | access to parameter i | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:44:300:51 | [true] !... | +| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:56:300:64 | Before ... != ... | | cflow.cs:300:56:300:64 | ... != ... | cflow.cs:300:61:300:64 | null | +| cflow.cs:300:56:300:64 | After ... != ... | cflow.cs:300:56:300:64 | ... != ... | +| cflow.cs:300:56:300:64 | Before ... != ... | cflow.cs:300:44:300:51 | After !... [true] | | cflow.cs:300:61:300:64 | null | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:300:70:300:71 | "" | cflow.cs:300:44:300:64 | ... && ... | -| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | call to method | +| cflow.cs:300:70:300:71 | "" | cflow.cs:300:44:300:64 | After ... && ... | +| cflow.cs:304:7:304:18 | After call to constructor Object | cflow.cs:304:7:304:18 | call to constructor Object | +| cflow.cs:304:7:304:18 | After call to method | cflow.cs:304:7:304:18 | call to method | +| cflow.cs:304:7:304:18 | Before call to constructor Object | cflow.cs:304:7:304:18 | After call to method | +| cflow.cs:304:7:304:18 | Before call to method | cflow.cs:304:7:304:18 | Entry | +| cflow.cs:304:7:304:18 | Exit | cflow.cs:304:7:304:18 | Normal Exit | +| cflow.cs:304:7:304:18 | Normal Exit | cflow.cs:304:7:304:18 | {...} | +| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | Before call to constructor Object | | cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | this access | -| cflow.cs:304:7:304:18 | exit LambdaGetter | cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | -| cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | cflow.cs:304:7:304:18 | {...} | -| cflow.cs:304:7:304:18 | this access | cflow.cs:304:7:304:18 | enter LambdaGetter | -| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | call to constructor Object | -| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | enter get__getter | -| cflow.cs:306:60:310:5 | exit (...) => ... | cflow.cs:306:60:310:5 | exit (...) => ... (normal) | -| cflow.cs:306:60:310:5 | exit (...) => ... (normal) | cflow.cs:309:9:309:17 | return ...; | -| cflow.cs:306:60:310:5 | exit get__getter | cflow.cs:306:60:310:5 | exit get__getter (normal) | -| cflow.cs:306:60:310:5 | exit get__getter (normal) | cflow.cs:306:60:310:5 | (...) => ... | -| cflow.cs:307:5:310:5 | {...} | cflow.cs:306:60:310:5 | enter (...) => ... | +| cflow.cs:304:7:304:18 | this access | cflow.cs:304:7:304:18 | Before call to method | +| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | After call to constructor Object | +| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | Entry | +| cflow.cs:306:60:310:5 | Exit | cflow.cs:306:60:310:5 | Normal Exit | +| cflow.cs:306:60:310:5 | Exit | cflow.cs:306:60:310:5 | Normal Exit | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:309:9:309:17 | return ...; | +| cflow.cs:307:5:310:5 | {...} | cflow.cs:306:60:310:5 | Entry | | cflow.cs:308:9:308:21 | ... ...; | cflow.cs:307:5:310:5 | {...} | +| cflow.cs:308:9:308:21 | After ... ...; | cflow.cs:308:16:308:20 | After Object x = ... | +| cflow.cs:308:16:308:16 | access to local variable x | cflow.cs:308:16:308:20 | Before Object x = ... | +| cflow.cs:308:16:308:20 | After Object x = ... | cflow.cs:308:16:308:20 | Object x = ... | +| cflow.cs:308:16:308:20 | Before Object x = ... | cflow.cs:308:9:308:21 | ... ...; | | cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:308:20:308:20 | access to parameter o | -| cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:308:9:308:21 | ... ...; | +| cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:308:16:308:16 | access to local variable x | +| cflow.cs:309:9:309:17 | Before return ...; | cflow.cs:308:9:308:21 | After ... ...; | | cflow.cs:309:9:309:17 | return ...; | cflow.cs:309:16:309:16 | access to local variable x | -| cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:308:16:308:20 | Object x = ... | +| cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:309:9:309:17 | Before return ...; | blockDominance -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:23:5:25 | enter get_Item | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:33:5:35 | enter set_Item | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:32:7:34 | enter add_Event | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:40:7:45 | enter remove_Event | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | enter M1 | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | enter M2 | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:28:10:28:11 | enter M3 | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:35:10:35:11 | enter M4 | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | enter M5 | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | enter M6 | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | enter M7 | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | enter M8 | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:66:10:66:11 | enter M9 | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:11:3:12 | enter M1 | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:12:5:13 | enter M2 | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:11:7:12 | enter M3 | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:12:9:13 | enter M4 | -| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 (...) => ... | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | enter + | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | enter SetParamSingle | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | enter SetParamMulti | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | enter M2 | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | enter BreakInTry | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | enter M1 | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:14:9:17:9 | {...} | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:16:17:16:17 | ; | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:14:9:17:9 | {...} | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:16:17:16:17 | ; | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | Entry | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:23:5:25 | Entry | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:33:5:35 | Entry | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:32:7:34 | Entry | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:40:7:45 | Entry | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:10:10:10:11 | Entry | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:19:10:19:11 | Entry | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:28:10:28:11 | Entry | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:35:10:35:11 | Entry | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:42:10:42:11 | Entry | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:49:10:49:11 | Entry | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:56:10:56:11 | Entry | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:61:10:61:11 | Entry | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:66:10:66:11 | Entry | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | Entry | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:11:3:12 | Entry | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:12:5:13 | Entry | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:11:7:12 | Entry | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:12:9:13 | Entry | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | Entry | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:7:10:7:11 | Entry | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:7:10:7:11 | Exceptional Exit | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:7:10:7:11 | Exit | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:9:20:9:32 | After ... ? ... : ... | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:10:9:10:31 | After call to method Assert | +| Assert.cs:7:10:7:11 | Exceptional Exit | Assert.cs:7:10:7:11 | Exceptional Exit | +| Assert.cs:7:10:7:11 | Exit | Assert.cs:7:10:7:11 | Exit | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:7:10:7:11 | Exceptional Exit | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:7:10:7:11 | Exit | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:20:9:32 | After ... ? ... : ... | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:10:9:10:31 | After call to method Assert | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:10:9:10:31 | After call to method Assert | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:14:10:14:11 | Entry | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:14:10:14:11 | Exceptional Exit | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:14:10:14:11 | Exit | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:16:20:16:32 | After ... ? ... : ... | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:17:9:17:24 | After call to method IsNull | +| Assert.cs:14:10:14:11 | Exceptional Exit | Assert.cs:14:10:14:11 | Exceptional Exit | +| Assert.cs:14:10:14:11 | Exit | Assert.cs:14:10:14:11 | Exit | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:14:10:14:11 | Exceptional Exit | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:14:10:14:11 | Exit | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:20:16:32 | After ... ? ... : ... | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:17:9:17:24 | After call to method IsNull | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:17:9:17:24 | After call to method IsNull | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:21:10:21:11 | Entry | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:21:10:21:11 | Exceptional Exit | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:21:10:21:11 | Exit | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:23:20:23:32 | After ... ? ... : ... | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:24:9:24:27 | After call to method IsNotNull | +| Assert.cs:21:10:21:11 | Exceptional Exit | Assert.cs:21:10:21:11 | Exceptional Exit | +| Assert.cs:21:10:21:11 | Exit | Assert.cs:21:10:21:11 | Exit | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:21:10:21:11 | Exceptional Exit | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:21:10:21:11 | Exit | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:20:23:32 | After ... ? ... : ... | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:24:9:24:27 | After call to method IsNotNull | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:24:9:24:27 | After call to method IsNotNull | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:28:10:28:11 | Entry | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:28:10:28:11 | Exceptional Exit | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:28:10:28:11 | Exit | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:30:20:30:32 | After ... ? ... : ... | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:31:9:31:32 | After call to method IsTrue | +| Assert.cs:28:10:28:11 | Exceptional Exit | Assert.cs:28:10:28:11 | Exceptional Exit | +| Assert.cs:28:10:28:11 | Exit | Assert.cs:28:10:28:11 | Exit | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:28:10:28:11 | Exceptional Exit | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:28:10:28:11 | Exit | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:20:30:32 | After ... ? ... : ... | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:31:9:31:32 | After call to method IsTrue | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:31:9:31:32 | After call to method IsTrue | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:35:10:35:11 | Entry | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:35:10:35:11 | Exceptional Exit | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:35:10:35:11 | Exit | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:37:20:37:32 | After ... ? ... : ... | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:38:9:38:32 | After call to method IsTrue | +| Assert.cs:35:10:35:11 | Exceptional Exit | Assert.cs:35:10:35:11 | Exceptional Exit | +| Assert.cs:35:10:35:11 | Exit | Assert.cs:35:10:35:11 | Exit | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:35:10:35:11 | Exceptional Exit | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:35:10:35:11 | Exit | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:20:37:32 | After ... ? ... : ... | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:38:9:38:32 | After call to method IsTrue | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:38:9:38:32 | After call to method IsTrue | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:42:10:42:11 | Entry | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:42:10:42:11 | Exceptional Exit | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:42:10:42:11 | Exit | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:44:20:44:32 | After ... ? ... : ... | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:45:9:45:33 | After call to method IsFalse | +| Assert.cs:42:10:42:11 | Exceptional Exit | Assert.cs:42:10:42:11 | Exceptional Exit | +| Assert.cs:42:10:42:11 | Exit | Assert.cs:42:10:42:11 | Exit | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:42:10:42:11 | Exceptional Exit | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:42:10:42:11 | Exit | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:20:44:32 | After ... ? ... : ... | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:45:9:45:33 | After call to method IsFalse | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:45:9:45:33 | After call to method IsFalse | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:49:10:49:11 | Entry | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:49:10:49:11 | Exceptional Exit | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:49:10:49:11 | Exit | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:51:20:51:32 | After ... ? ... : ... | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:52:9:52:33 | After call to method IsFalse | +| Assert.cs:49:10:49:11 | Exceptional Exit | Assert.cs:49:10:49:11 | Exceptional Exit | +| Assert.cs:49:10:49:11 | Exit | Assert.cs:49:10:49:11 | Exit | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:49:10:49:11 | Exceptional Exit | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:49:10:49:11 | Exit | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:20:51:32 | After ... ? ... : ... | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:52:9:52:33 | After call to method IsFalse | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:52:9:52:33 | After call to method IsFalse | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:56:10:56:11 | Entry | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:56:10:56:11 | Exceptional Exit | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:56:10:56:11 | Exit | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:58:20:58:32 | After ... ? ... : ... | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:59:23:59:36 | After ... && ... | +| Assert.cs:56:10:56:11 | Exceptional Exit | Assert.cs:56:10:56:11 | Exceptional Exit | +| Assert.cs:56:10:56:11 | Exit | Assert.cs:56:10:56:11 | Exit | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:56:10:56:11 | Exceptional Exit | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:56:10:56:11 | Exit | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:20:58:32 | After ... ? ... : ... | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:59:23:59:36 | After ... && ... | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:59:23:59:31 | After ... != ... [false] | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:56:10:56:11 | Exceptional Exit | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:56:10:56:11 | Exit | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:23:59:36 | After ... && ... | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:63:10:63:11 | Entry | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:63:10:63:11 | Exceptional Exit | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:63:10:63:11 | Exit | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:65:20:65:32 | After ... ? ... : ... | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:66:24:66:37 | After ... \|\| ... | +| Assert.cs:63:10:63:11 | Exceptional Exit | Assert.cs:63:10:63:11 | Exceptional Exit | +| Assert.cs:63:10:63:11 | Exit | Assert.cs:63:10:63:11 | Exit | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:63:10:63:11 | Exceptional Exit | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:63:10:63:11 | Exit | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:20:65:32 | After ... ? ... : ... | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:66:24:66:37 | After ... \|\| ... | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:66:24:66:32 | After ... == ... [false] | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:66:24:66:32 | After ... == ... [true] | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:63:10:63:11 | Exceptional Exit | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:63:10:63:11 | Exit | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:24:66:37 | After ... \|\| ... | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:70:10:70:12 | Entry | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:70:10:70:12 | Exceptional Exit | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:70:10:70:12 | Exit | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:72:20:72:32 | After ... ? ... : ... | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:73:23:73:36 | After ... && ... | +| Assert.cs:70:10:70:12 | Exceptional Exit | Assert.cs:70:10:70:12 | Exceptional Exit | +| Assert.cs:70:10:70:12 | Exit | Assert.cs:70:10:70:12 | Exit | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:70:10:70:12 | Exceptional Exit | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:70:10:70:12 | Exit | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:20:72:32 | After ... ? ... : ... | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:73:23:73:36 | After ... && ... | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:73:23:73:31 | After ... == ... [false] | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:70:10:70:12 | Exceptional Exit | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:70:10:70:12 | Exit | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:23:73:36 | After ... && ... | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:77:10:77:12 | Entry | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:77:10:77:12 | Exceptional Exit | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:77:10:77:12 | Exit | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:79:20:79:32 | After ... ? ... : ... | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:80:24:80:37 | After ... \|\| ... | +| Assert.cs:77:10:77:12 | Exceptional Exit | Assert.cs:77:10:77:12 | Exceptional Exit | +| Assert.cs:77:10:77:12 | Exit | Assert.cs:77:10:77:12 | Exit | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:77:10:77:12 | Exceptional Exit | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:77:10:77:12 | Exit | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:20:79:32 | After ... ? ... : ... | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:80:24:80:37 | After ... \|\| ... | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:80:24:80:32 | After ... != ... [false] | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:80:24:80:32 | After ... != ... [true] | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:77:10:77:12 | Exceptional Exit | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:77:10:77:12 | Exit | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:24:80:37 | After ... \|\| ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:84:10:84:12 | Exceptional Exit | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:84:10:84:12 | Exit | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:84:10:84:12 | Exceptional Exit | Assert.cs:84:10:84:12 | Exceptional Exit | +| Assert.cs:84:10:84:12 | Exit | Assert.cs:84:10:84:12 | Exit | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Exceptional Exit | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Exit | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:115:23:115:31 | After ... != ... [false] | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:119:24:119:32 | After ... == ... [false] | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:119:24:119:32 | After ... == ... [true] | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:123:23:123:31 | After ... == ... [false] | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:127:24:127:32 | After ... != ... [false] | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:127:24:127:32 | After ... != ... [true] | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:131:18:131:32 | Entry | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:138:10:138:12 | Entry | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:138:10:138:12 | Exceptional Exit | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:138:10:138:12 | Exit | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | +| Assert.cs:138:10:138:12 | Exceptional Exit | Assert.cs:138:10:138:12 | Exceptional Exit | +| Assert.cs:138:10:138:12 | Exit | Assert.cs:138:10:138:12 | Exit | +| Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Entry | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:3:10:3:10 | Entry | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:18:14:35 | Entry | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:17:40:17:40 | Entry | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:27:10:27:23 | Entry | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:32:10:32:22 | Entry | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:38:10:38:11 | Entry | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | Entry | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:3:10:3:11 | Entry | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:26:7:28 | String arg | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:15:13:16:17 | After if (...) ... | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:15:13:16:17 | After if (...) ... | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:14:9:17:9 | {...} | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:16:17:16:17 | ; | -| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:16:17:16:17 | ; | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:20:10:20:11 | enter M2 | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:27:21:27:26 | break; | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:35:7:35:7 | ; | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:27:21:27:26 | break; | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:35:7:35:7 | ; | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:7:26:7:28 | String arg | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:15:13:16:17 | After if (...) ... | +| BreakInTry.cs:15:17:15:28 | After ... == ... [false] | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:20:10:20:11 | Entry | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:22:22:24 | String arg | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:30:13:33:13 | {...} | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:27:21:27:26 | break; | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:27:21:27:26 | break; | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:22:22:22:24 | String arg | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:30:13:33:13 | {...} | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:24:13:33:13 | After try {...} ... | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:35:7:35:7 | ; | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:38:10:38:11 | enter M3 | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:46:9:52:9 | {...} | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:53:7:53:7 | ; | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | -| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:31:21:31:32 | After ... == ... [false] | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:38:10:38:11 | Entry | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:46:9:52:9 | {...} | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:47:26:47:28 | String arg | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:40:9:52:9 | After try {...} ... | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:46:9:52:9 | {...} | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:53:7:53:7 | ; | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:53:7:53:7 | ; | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:53:7:53:7 | ; | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:56:10:56:11 | enter M4 | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:64:9:70:9 | {...} | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:65:26:65:28 | String arg | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:68:21:68:26 | break; | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | -| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:47:26:47:28 | String arg | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:56:10:56:11 | Entry | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:64:9:70:9 | {...} | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:58:9:70:9 | After try {...} ... | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:64:9:70:9 | {...} | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:26:65:28 | String arg | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:68:21:68:26 | break; | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:68:21:68:26 | break; | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:65:26:65:28 | String arg | -| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:68:21:68:26 | break; | -| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:68:21:68:26 | break; | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | enter Default | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | enter Typeof | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:20:12:20:17 | enter Nameof | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:28:10:28:10 | enter M | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:28:10:28:10 | exit M | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:39:9:39:34 | ...; | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:40:9:40:11 | End: | -| CompileTimeOperators.cs:28:10:28:10 | exit M | CompileTimeOperators.cs:28:10:28:10 | exit M | -| CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:9:39:34 | ...; | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | Entry | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:5:9:5:15 | Entry | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:10:9:10:14 | Entry | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:15:10:15:15 | Entry | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:20:12:20:17 | Entry | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | Entry | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:28:10:28:10 | Entry | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:28:10:28:10 | Exit | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:40:9:40:11 | End: | +| CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | +| CompileTimeOperators.cs:28:10:28:10 | Exit | CompileTimeOperators.cs:28:10:28:10 | Exit | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | | CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:40:9:40:11 | End: | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:12:3:13 | enter M1 | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:38 | call to method ToString | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | call to method ToString | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:10:5:11 | enter M2 | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:26:5:34 | access to property Length | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:34 | access to property Length | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:10:7:11 | enter M3 | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:38:7:55 | access to property Length | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:38:7:55 | access to property Length | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | -| ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:9:9:10 | enter M4 | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:33 | access to property Length | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:38:9:38 | 0 | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | access to property Length | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | -| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:38:9:38 | 0 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:11:9:11:10 | enter M5 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:13:13:13:21 | access to property Length | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:13:25:13:25 | 0 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:14:20:14:20 | 0 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:16:20:16:20 | 1 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:21 | access to property Length | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | 0 | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:14:20:14:20 | 0 | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:16:20:16:20 | 1 | -| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:20:14:20 | 0 | -| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:20:16:20 | 1 | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:12:19:13 | enter M6 | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | -| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:21:10:21:11 | enter M7 | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:24:17:24:37 | call to method ToString | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:24:17:24:37 | call to method ToString | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:17:24:37 | call to method ToString | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:10:30:12 | enter Out | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:32:10:32:11 | enter M8 | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | enter get_Item | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | enter set_Item | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | enter Conditions | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | enter IncrOrDecr | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:6:13:6:16 | ...; | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:7:9:8:16 | if (...) ... | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:16 | ...; | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:9:8:16 | if (...) ... | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:11:9:11:10 | enter M1 | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:15:13:15:16 | ...; | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:16:9:18:20 | if (...) ... | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:19:16:19:16 | access to local variable x | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:16 | ...; | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:9:18:20 | if (...) ... | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:19:16:19:16 | access to local variable x | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:16:19:16 | access to local variable x | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:22:9:22:10 | enter M2 | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:27:17:27:20 | ...; | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:28:9:29:16 | if (...) ... | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:29:13:29:16 | ...; | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:30:16:30:16 | access to local variable x | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:27:17:27:20 | ...; | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:20 | ...; | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:9:29:16 | if (...) ... | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:29:13:29:16 | ...; | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:30:16:30:16 | access to local variable x | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:16 | ...; | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:16:30:16 | access to local variable x | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:33:9:33:10 | enter M3 | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:41:9:42:16 | if (...) ... | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:43:16:43:16 | access to local variable x | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:41:9:42:16 | if (...) ... | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:43:16:43:16 | access to local variable x | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:41:9:42:16 | if (...) ... | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:43:16:43:16 | access to local variable x | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:16:43:16 | access to local variable x | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:46:9:46:10 | enter M4 | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:49:16:49:16 | access to parameter x | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:54:16:54:16 | access to local variable y | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:16 | access to parameter x | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:54:16:54:16 | access to local variable y | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:16:54:16 | access to local variable y | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:57:9:57:10 | enter M5 | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:60:16:60:16 | access to parameter x | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:65:9:66:16 | if (...) ... | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:67:16:67:16 | access to local variable y | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:16 | access to parameter x | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:65:9:66:16 | if (...) ... | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:67:16:67:16 | access to local variable y | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:9:66:16 | if (...) ... | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:67:16:67:16 | access to local variable y | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:16:67:16 | access to local variable y | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:70:9:70:10 | enter M6 | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:81:9:82:16 | if (...) ... | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:83:16:83:16 | access to local variable x | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:83:16:83:16 | access to local variable x | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | Entry | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:12:3:13 | Entry | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:10:5:11 | Entry | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:34 | After access to property Length | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:26:5:34 | After access to property Length | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:10:7:11 | Entry | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:38:7:55 | After access to property Length | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:38:7:55 | After access to property Length | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:9:9:10 | Entry | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:11:9:11:10 | Entry | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:11:9:11:10 | Normal Exit | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:21 | After access to property Length | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | Normal Exit | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:11:9:11:10 | Normal Exit | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:21 | After access to property Length | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:12:19:13 | Entry | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:21:10:21:11 | Entry | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:23:17:23:38 | After access to property Length | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:17:23:38 | After access to property Length | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:25:13:25:14 | After "" [null] | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:10:30:12 | Entry | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:32:10:32:11 | Entry | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:35:9:35:24 | After call to method Out | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:24 | After call to method Out | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:9:42:11 | Entry | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:9:43:11 | Entry | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:26:60:38 | Entry | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Entry | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:3:10:3:19 | Entry | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:5:9:6:16 | After if (...) ... | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:7:9:8:16 | After if (...) ... | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:5:9:6:16 | After if (...) ... | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:9:8:16 | After if (...) ... | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | +| Conditions.cs:5:13:5:15 | After access to parameter inc [false] | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:7:9:8:16 | After if (...) ... | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:11:9:11:10 | Entry | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:14:9:15:16 | After if (...) ... | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:14:13:14:13 | After access to parameter b [true] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:16:9:18:20 | After if (...) ... | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:14:9:15:16 | After if (...) ... | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:9:18:20 | After if (...) ... | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:14:13:14:13 | After access to parameter b [false] | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:14:13:14:13 | After access to parameter b [true] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:16:9:18:20 | After if (...) ... | +| Conditions.cs:16:13:16:17 | After ... > ... [false] | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:22:9:22:10 | Entry | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:25:9:27:20 | After if (...) ... | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:28:9:29:16 | After if (...) ... | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:25:9:27:20 | After if (...) ... | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:9:29:16 | After if (...) ... | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:28:9:29:16 | After if (...) ... | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:33:9:33:10 | Entry | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:37:9:38:20 | After if (...) ... | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:39:9:40:16 | After if (...) ... | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:41:9:42:16 | After if (...) ... | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:37:9:38:20 | After if (...) ... | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:9:40:16 | After if (...) ... | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:41:9:42:16 | After if (...) ... | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:39:9:40:16 | After if (...) ... | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:9:42:16 | After if (...) ... | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:41:9:42:16 | After if (...) ... | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:46:9:46:10 | Entry | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:49:16:49:22 | After ... > ... [false] | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [false] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:16:49:22 | After ... > ... [false] | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:51:17:51:17 | After access to parameter b [false] | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:57:9:57:10 | Entry | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:65:9:66:16 | After if (...) ... | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:65:9:66:16 | After if (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:65:9:66:16 | After if (...) ... | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:62:17:62:17 | After access to parameter b [false] | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:65:9:66:16 | After if (...) ... | +| Conditions.cs:65:13:65:13 | After access to parameter b [false] | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:70:9:70:10 | Entry | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:81:9:82:16 | After if (...) ... | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:81:13:81:13 | After access to local variable b [true] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | After if (...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [true] | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:9:82:16 | if (...) ... | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:83:16:83:16 | access to local variable x | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:16:83:16 | access to local variable x | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:86:9:86:10 | enter M7 | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:99:16:99:16 | access to local variable x | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:99:16:99:16 | access to local variable x | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:76:17:76:17 | After access to local variable b [false] | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:78:17:78:21 | After ... > ... [false] | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:81:9:82:16 | After if (...) ... | +| Conditions.cs:81:13:81:13 | After access to local variable b [false] | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:81:13:81:13 | After access to local variable b [true] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:86:9:86:10 | Entry | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:16:99:16 | access to local variable x | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:102:12:102:13 | enter M8 | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:106:13:106:20 | ...; | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:107:9:109:24 | if (...) ... | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:110:16:110:16 | access to local variable x | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:20 | ...; | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:9:109:24 | if (...) ... | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:110:16:110:16 | access to local variable x | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:16:110:16 | access to local variable x | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:113:10:113:11 | enter M9 | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:113:10:113:11 | exit M9 (normal) | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:116:25:116:25 | access to local variable i | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | exit M9 (normal) | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:113:10:113:11 | exit M9 (normal) | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:25:116:25 | access to local variable i | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:129:10:129:12 | enter M10 | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:131:16:131:19 | true | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:132:9:140:9 | {...} | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:134:13:139:13 | {...} | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | true | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:132:9:140:9 | {...} | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:134:13:139:13 | {...} | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:132:9:140:9 | {...} | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:134:13:139:13 | {...} | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:134:13:139:13 | {...} | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:136:17:138:17 | {...} | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:143:10:143:12 | enter M11 | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:143:10:143:12 | exit M11 (normal) | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:145:17:145:29 | ... ? ... : ... | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:147:13:147:49 | ...; | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:149:13:149:49 | ...; | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | exit M11 (normal) | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:143:10:143:12 | exit M11 (normal) | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:29 | ... ? ... : ... | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:147:13:147:49 | ...; | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:149:13:149:49 | ...; | -| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:13:147:49 | ...; | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:13:149:49 | ...; | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | enter ExitMethods | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:8:10:8:11 | enter M1 | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:14:10:14:11 | enter M2 | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:20:10:20:11 | enter M3 | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:26:10:26:11 | enter M4 | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:32:10:32:11 | enter M5 | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:38:10:38:11 | enter M6 | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:38:10:38:11 | exit M6 (normal) | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:45:9:47:9 | {...} | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | exit M6 (normal) | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:45:9:47:9 | {...} | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:54:10:54:11 | enter M7 | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:60:10:60:11 | enter M8 | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:69:19:69:33 | object creation of type Exception | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:19:69:33 | object creation of type Exception | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:72:17:72:27 | enter ErrorAlways | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:75:19:75:33 | object creation of type Exception | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:77:41:77:43 | "b" | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:19:75:33 | object creation of type Exception | -| ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:41:77:43 | "b" | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:87:10:87:13 | enter Exit | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:92:10:92:18 | enter ExitInTry | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:105:10:105:24 | enter ApplicationExit | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:110:13:110:21 | enter ThrowExpr | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:110:13:110:21 | exit ThrowExpr | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:112:29:112:29 | 1 | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:112:69:112:75 | "input" | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr | ExitMethods.cs:110:13:110:21 | exit ThrowExpr | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | 1 | -| ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:69:112:75 | "input" | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:117:34:117:34 | 0 | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:117:38:117:38 | 1 | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | -| 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: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: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: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: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 | ...; | -| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:145:13:145:53 | ...; | -| 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 | ...; | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:53 | ...; | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:5:23:5:29 | enter ToInt32 | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:10:24:10:29 | enter ToBool | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:23:15:33 | enter CallToInt32 | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:20:17:20:20 | enter Main | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | enter Finally | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | enter M1 | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | exit M1 | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | exit M1 (abnormal) | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | exit M1 (normal) | -| Finally.cs:7:10:7:11 | exit M1 | Finally.cs:7:10:7:11 | exit M1 | -| Finally.cs:7:10:7:11 | exit M1 (abnormal) | Finally.cs:7:10:7:11 | exit M1 (abnormal) | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | exit M1 (normal) | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | enter M2 | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | exit M2 | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | exit M2 (abnormal) | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | exit M2 (normal) | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:24:13:24:19 | return ...; | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:26:9:29:9 | catch (...) {...} | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:30:9:40:9 | catch (...) {...} | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:49:9:51:9 | {...} | -| Finally.cs:19:10:19:11 | exit M2 | Finally.cs:19:10:19:11 | exit M2 | -| Finally.cs:19:10:19:11 | exit M2 (abnormal) | Finally.cs:19:10:19:11 | exit M2 (abnormal) | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | exit M2 (normal) | -| Finally.cs:24:13:24:19 | return ...; | Finally.cs:24:13:24:19 | return ...; | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:92:17:92:17 | After access to local variable b [false] | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:94:17:94:21 | After ... > ... [false] | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:96:17:96:17 | After access to local variable b [false] | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:102:12:102:13 | Entry | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:105:9:106:20 | After if (...) ... | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:105:13:105:13 | After access to parameter b [true] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:107:9:109:24 | After if (...) ... | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:105:9:106:20 | After if (...) ... | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:9:109:24 | After if (...) ... | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:105:13:105:13 | After access to parameter b [false] | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:105:13:105:13 | After access to parameter b [true] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:107:9:109:24 | After if (...) ... | +| Conditions.cs:107:13:107:24 | After ... > ... [false] | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:113:10:113:11 | Entry | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:116:25:116:39 | After ... < ... [false] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:116:25:116:39 | Before ... < ... | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:25:116:39 | After ... < ... [false] | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [false] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | Before ... < ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:121:17:121:20 | After access to local variable last [false] | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:129:10:129:12 | Entry | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:133:13:139:13 | After if (...) ... | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:135:17:138:17 | After if (...) ... | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:133:13:139:13 | After if (...) ... | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:135:17:138:17 | After if (...) ... | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:133:13:139:13 | After if (...) ... | +| Conditions.cs:133:17:133:22 | After access to field Field1 [false] | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:135:17:138:17 | After if (...) ... | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:135:17:138:17 | After if (...) ... | +| Conditions.cs:135:21:135:26 | After access to field Field2 [false] | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:143:10:143:12 | Entry | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:145:17:145:29 | After ... ? ... : ... | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:146:9:149:49 | After if (...) ... | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:17:145:29 | After ... ? ... : ... | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:146:9:149:49 | After if (...) ... | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:146:9:149:49 | After if (...) ... | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | Entry | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:8:10:8:11 | Entry | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:14:10:14:11 | Entry | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:20:10:20:11 | Entry | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:26:10:26:11 | Entry | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:32:10:32:11 | Entry | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:38:10:38:11 | Entry | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:38:10:38:11 | Exit | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:38:10:38:11 | Normal Exit | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:38:10:38:11 | Exit | ExitMethods.cs:38:10:38:11 | Exit | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | Normal Exit | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:54:10:54:11 | Entry | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:60:10:60:11 | Entry | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:66:17:66:26 | Entry | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:66:17:66:26 | Exit | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | +| ExitMethods.cs:66:17:66:26 | Exit | ExitMethods.cs:66:17:66:26 | Exit | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:72:17:72:27 | Entry | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:72:17:72:27 | Exceptional Exit | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | Exceptional Exit | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:80:17:80:28 | Entry | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:17:85:28 | Entry | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:87:10:87:13 | Entry | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:92:10:92:18 | Entry | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:92:10:92:18 | Exceptional Exit | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:92:10:92:18 | Exit | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:94:9:102:9 | After try {...} ... | +| ExitMethods.cs:92:10:92:18 | Exceptional Exit | ExitMethods.cs:92:10:92:18 | Exceptional Exit | +| ExitMethods.cs:92:10:92:18 | Exit | ExitMethods.cs:92:10:92:18 | Exit | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:94:9:102:9 | After try {...} ... | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:105:10:105:24 | Entry | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:110:13:110:21 | Entry | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:110:13:110:21 | Exit | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | +| ExitMethods.cs:110:13:110:21 | Exit | ExitMethods.cs:110:13:110:21 | Exit | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:115:16:115:34 | Entry | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | +| ExitMethods.cs:120:17:120:32 | Entry | ExitMethods.cs:120:17:120:32 | Entry | +| ExitMethods.cs:126:17:126:33 | Entry | ExitMethods.cs:126:17:126:33 | Entry | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:10:132:20 | Entry | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:10:132:20 | Exceptional Exit | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:10:132:20 | Exit | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:33:132:49 | After call to method IsFalse | +| ExitMethods.cs:132:10:132:20 | Exceptional Exit | ExitMethods.cs:132:10:132:20 | Exceptional Exit | +| ExitMethods.cs:132:10:132:20 | Exit | ExitMethods.cs:132:10:132:20 | Exit | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:33:132:49 | After call to method IsFalse | +| ExitMethods.cs:134:17:134:33 | Entry | ExitMethods.cs:134:17:134:33 | Entry | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:140:17:140:42 | Entry | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:140:17:140:42 | Exceptional Exit | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | Exceptional Exit | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:5:23:5:29 | Entry | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:10:24:10:29 | Entry | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:23:15:33 | Entry | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:20:17:20:20 | Entry | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Entry | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:7:10:7:11 | Entry | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:7:10:7:11 | Exceptional Exit | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:7:10:7:11 | Exit | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:9:9:16:9 | After try {...} ... | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:11:13:11:37 | After call to method WriteLine | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:14:9:16:9 | {...} | +| Finally.cs:7:10:7:11 | Exceptional Exit | Finally.cs:7:10:7:11 | Exceptional Exit | +| Finally.cs:7:10:7:11 | Exit | Finally.cs:7:10:7:11 | Exit | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:9:9:16:9 | After try {...} ... | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:11:13:11:37 | After call to method WriteLine | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:7:10:7:11 | Exceptional Exit | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:7:10:7:11 | Exit | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:9:9:16:9 | After try {...} ... | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:14:9:16:9 | {...} | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | Entry | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | Exceptional Exit | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | Exit | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | Normal Exit | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:21:9:51:9 | After try {...} ... | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:23:13:23:37 | After call to method WriteLine | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:26:9:29:9 | catch (...) {...} | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:49:9:51:9 | {...} | +| Finally.cs:19:10:19:11 | Exceptional Exit | Finally.cs:19:10:19:11 | Exceptional Exit | +| Finally.cs:19:10:19:11 | Exit | Finally.cs:19:10:19:11 | Exit | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | Normal Exit | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:21:9:51:9 | After try {...} ... | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:23:13:23:37 | After call to method WriteLine | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | | Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | catch (...) {...} | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:42:9:43:9 | {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | exit M2 | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | exit M2 (abnormal) | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | exit M2 (normal) | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | Exceptional Exit | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | Exit | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | Normal Exit | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:21:9:51:9 | After try {...} ... | | Finally.cs:49:9:51:9 | {...} | Finally.cs:49:9:51:9 | {...} | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | enter M3 | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | exit M3 | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | exit M3 (abnormal) | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | exit M3 (normal) | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:59:13:59:19 | return ...; | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:61:9:64:9 | catch (...) {...} | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:69:9:71:9 | {...} | -| Finally.cs:54:10:54:11 | exit M3 | Finally.cs:54:10:54:11 | exit M3 | -| Finally.cs:54:10:54:11 | exit M3 (abnormal) | Finally.cs:54:10:54:11 | exit M3 (abnormal) | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | exit M3 (normal) | -| Finally.cs:59:13:59:19 | return ...; | Finally.cs:59:13:59:19 | return ...; | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | Entry | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | Exceptional Exit | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | Exit | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | Normal Exit | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:56:9:71:9 | After try {...} ... | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:58:13:58:37 | After call to method WriteLine | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:61:9:64:9 | catch (...) {...} | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:69:9:71:9 | {...} | +| Finally.cs:54:10:54:11 | Exceptional Exit | Finally.cs:54:10:54:11 | Exceptional Exit | +| Finally.cs:54:10:54:11 | Exit | Finally.cs:54:10:54:11 | Exit | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | Normal Exit | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:56:9:71:9 | After try {...} ... | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:58:13:58:37 | After call to method WriteLine | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | | Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | catch (...) {...} | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:66:9:67:9 | {...} | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | exit M3 | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | exit M3 (abnormal) | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | exit M3 (normal) | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:65:35:65:51 | After ... != ... [false] | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | Exceptional Exit | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | Exit | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | Normal Exit | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:56:9:71:9 | After try {...} ... | | Finally.cs:69:9:71:9 | {...} | Finally.cs:69:9:71:9 | {...} | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | enter M4 | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | exit M4 | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | exit M4 (abnormal) | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | exit M4 (normal) | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:77:16:77:16 | access to local variable i | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:86:21:86:26 | break; | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:74:10:74:11 | exit M4 | Finally.cs:74:10:74:11 | exit M4 | -| Finally.cs:74:10:74:11 | exit M4 (abnormal) | Finally.cs:74:10:74:11 | exit M4 (abnormal) | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | exit M4 (normal) | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | exit M4 | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | exit M4 (abnormal) | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | exit M4 (normal) | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:16:77:16 | access to local variable i | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:86:21:86:26 | break; | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:74:10:74:11 | exit M4 (abnormal) | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:86:21:86:26 | break; | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:82:21:82:27 | return ...; | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:86:21:86:26 | break; | -| Finally.cs:84:21:84:29 | continue; | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:86:21:86:26 | break; | -| Finally.cs:86:21:86:26 | break; | Finally.cs:86:21:86:26 | break; | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:74:10:74:11 | exit M4 (abnormal) | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | Entry | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | Exit | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | Normal Exit | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:77:9:100:9 | After while (...) ... | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:89:13:99:13 | {...} | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:96:17:98:17 | {...} | +| Finally.cs:74:10:74:11 | Exceptional Exit | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:74:10:74:11 | Exit | Finally.cs:74:10:74:11 | Exit | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | Normal Exit | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:77:9:100:9 | After while (...) ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | Exit | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | Normal Exit | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:9:100:9 | After while (...) ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:89:13:99:13 | {...} | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:96:17:98:17 | {...} | +| Finally.cs:77:16:77:20 | After ... > ... [false] | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:89:13:99:13 | {...} | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:96:17:98:17 | {...} | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:79:13:99:13 | After try {...} ... | | Finally.cs:89:13:99:13 | {...} | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:93:31:93:45 | object creation of type Exception | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:93:31:93:45 | After object creation of type Exception | | Finally.cs:89:13:99:13 | {...} | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:74:10:74:11 | exit M4 (abnormal) | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:90:17:98:17 | After try {...} ... | | Finally.cs:96:17:98:17 | {...} | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | enter M5 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | exit M5 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | exit M5 (abnormal) | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | exit M5 (normal) | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:107:17:107:28 | access to property Length | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:113:9:118:9 | {...} | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:116:13:117:37 | if (...) ... | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:103:10:103:11 | exit M5 | Finally.cs:103:10:103:11 | exit M5 | -| Finally.cs:103:10:103:11 | exit M5 (abnormal) | Finally.cs:103:10:103:11 | exit M5 (abnormal) | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | exit M5 (normal) | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | access to property Length | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:108:17:108:23 | return ...; | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | exit M5 | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | exit M5 (abnormal) | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | exit M5 (normal) | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | Entry | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | Exit | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:113:9:118:9 | {...} | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:103:10:103:11 | Exceptional Exit | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:103:10:103:11 | Exit | Finally.cs:103:10:103:11 | Exit | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | Exit | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:105:9:118:9 | After try {...} ... | | Finally.cs:113:9:118:9 | {...} | Finally.cs:113:9:118:9 | {...} | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:116:13:117:37 | if (...) ... | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:103:10:103:11 | exit M5 | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:103:10:103:11 | exit M5 (abnormal) | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:103:10:103:11 | exit M5 (normal) | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:13:117:37 | if (...) ... | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:121:10:121:11 | enter M6 | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:133:10:133:11 | enter M7 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | enter M8 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | exit M8 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | exit M8 (abnormal) | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | exit M8 (normal) | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:152:17:152:50 | throw ...; | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:155:9:169:9 | {...} | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:158:36:158:36 | 1 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:159:41:159:43 | "1" | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:161:13:164:13 | catch (...) {...} | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:147:10:147:11 | exit M8 | Finally.cs:147:10:147:11 | exit M8 | -| Finally.cs:147:10:147:11 | exit M8 (abnormal) | Finally.cs:147:10:147:11 | exit M8 (abnormal) | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | exit M8 (normal) | -| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:152:17:152:50 | throw ...; | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | throw ...; | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | exit M8 | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | exit M8 (abnormal) | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | exit M8 (normal) | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:103:10:103:11 | Exit | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:103:10:103:11 | Exit | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:116:17:116:32 | After ... > ... [false] | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:121:10:121:11 | Entry | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:133:10:133:11 | Entry | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:137:13:137:36 | After call to method WriteLine | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:140:9:143:9 | {...} | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:137:13:137:36 | After call to method WriteLine | +| Finally.cs:140:9:143:9 | {...} | Finally.cs:140:9:143:9 | {...} | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:147:10:147:11 | Entry | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:147:10:147:11 | Exceptional Exit | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:147:10:147:11 | Exit | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:149:9:169:9 | After try {...} ... | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:155:9:169:9 | {...} | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:156:13:168:13 | After try {...} ... | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:161:13:164:13 | catch (...) {...} | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:147:10:147:11 | Exceptional Exit | Finally.cs:147:10:147:11 | Exceptional Exit | +| Finally.cs:147:10:147:11 | Exit | Finally.cs:147:10:147:11 | Exit | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:149:9:169:9 | After try {...} ... | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | Exceptional Exit | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | Exit | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:149:9:169:9 | After try {...} ... | | Finally.cs:155:9:169:9 | {...} | Finally.cs:155:9:169:9 | {...} | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:36:158:36 | 1 | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:159:41:159:43 | "1" | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:156:13:168:13 | After try {...} ... | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | | Finally.cs:155:9:169:9 | {...} | Finally.cs:161:13:164:13 | catch (...) {...} | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:158:36:158:36 | 1 | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:159:41:159:43 | "1" | -| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:159:41:159:43 | "1" | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:159:41:159:43 | "1" | Finally.cs:159:41:159:43 | "1" | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:147:10:147:11 | Exceptional Exit | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:147:10:147:11 | Exit | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:149:9:169:9 | After try {...} ... | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:156:13:168:13 | After try {...} ... | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | catch (...) {...} | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:162:13:164:13 | {...} | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | enter ExceptionA | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | enter ExceptionB | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | enter ExceptionC | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | enter M9 | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | exit M9 | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | exit M9 (abnormal) | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | exit M9 (normal) | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:180:21:180:43 | throw ...; | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:180:27:180:42 | object creation of type ExceptionA | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:183:9:192:9 | {...} | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:176:10:176:11 | exit M9 | Finally.cs:176:10:176:11 | exit M9 | -| Finally.cs:176:10:176:11 | exit M9 (abnormal) | Finally.cs:176:10:176:11 | exit M9 (abnormal) | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | exit M9 (normal) | -| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:180:21:180:43 | throw ...; | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:21:180:43 | throw ...; | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | exit M9 | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | exit M9 (abnormal) | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | exit M9 (normal) | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:161:39:161:54 | After ... == ... [false] | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | Entry | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | Entry | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | Entry | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:176:10:176:11 | Entry | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:176:10:176:11 | Exceptional Exit | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:176:10:176:11 | Exit | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:178:9:192:9 | After try {...} ... | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:183:9:192:9 | {...} | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:184:13:191:13 | After try {...} ... | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:176:10:176:11 | Exceptional Exit | Finally.cs:176:10:176:11 | Exceptional Exit | +| Finally.cs:176:10:176:11 | Exit | Finally.cs:176:10:176:11 | Exit | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:178:9:192:9 | After try {...} ... | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | Exceptional Exit | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | Exit | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:178:9:192:9 | After try {...} ... | | Finally.cs:183:9:192:9 | {...} | Finally.cs:183:9:192:9 | {...} | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:31:186:46 | object creation of type ExceptionB | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:184:13:191:13 | After try {...} ... | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | | Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:190:31:190:46 | object creation of type ExceptionC | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:178:9:192:9 | After try {...} ... | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:184:13:191:13 | After try {...} ... | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | enter M10 | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | exit M10 | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | exit M10 (abnormal) | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | exit M10 | -| Finally.cs:195:10:195:12 | exit M10 (abnormal) | Finally.cs:195:10:195:12 | exit M10 (abnormal) | -| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | exit M10 | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | exit M10 (abnormal) | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [false] | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:195:10:195:12 | Exceptional Exit | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:195:10:195:12 | Exit | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:202:9:212:9 | {...} | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:208:13:210:13 | {...} | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:195:10:195:12 | Exceptional Exit | Finally.cs:195:10:195:12 | Exceptional Exit | +| Finally.cs:195:10:195:12 | Exit | Finally.cs:195:10:195:12 | Exit | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | Exceptional Exit | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | Exit | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:197:9:212:9 | After try {...} ... | | Finally.cs:202:9:212:9 | {...} | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | | Finally.cs:202:9:212:9 | {...} | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | exit M10 | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | exit M10 (abnormal) | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | Exceptional Exit | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | Exit | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:203:13:210:13 | After try {...} ... | | Finally.cs:208:13:210:13 | {...} | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:216:10:216:12 | enter M11 | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:222:9:225:9 | catch {...} | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:227:9:229:9 | {...} | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:216:10:216:12 | Entry | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:220:13:220:36 | After call to method WriteLine | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:222:9:225:9 | catch {...} | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:227:9:229:9 | {...} | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:220:13:220:36 | After call to method WriteLine | | Finally.cs:222:9:225:9 | catch {...} | Finally.cs:222:9:225:9 | catch {...} | | Finally.cs:227:9:229:9 | {...} | Finally.cs:227:9:229:9 | {...} | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:233:10:233:12 | enter M12 | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:233:10:233:12 | exit M12 | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:233:10:233:12 | exit M12 (abnormal) | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:240:27:240:42 | object creation of type ExceptionA | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:247:31:247:46 | object creation of type ExceptionA | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:254:13:254:45 | ...; | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:233:10:233:12 | exit M12 | Finally.cs:233:10:233:12 | exit M12 | -| Finally.cs:233:10:233:12 | exit M12 (abnormal) | Finally.cs:233:10:233:12 | exit M12 (abnormal) | -| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | exit M12 | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | exit M12 (abnormal) | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:233:10:233:12 | Exit | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:235:9:259:9 | After try {...} ... | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:243:13:253:13 | {...} | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:250:17:252:17 | {...} | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:257:9:259:9 | {...} | +| Finally.cs:233:10:233:12 | Exceptional Exit | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:233:10:233:12 | Exit | Finally.cs:233:10:233:12 | Exit | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:235:9:259:9 | After try {...} ... | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | Exit | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:235:9:259:9 | After try {...} ... | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:237:13:253:13 | After try {...} ... | | Finally.cs:243:13:253:13 | {...} | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:247:31:247:46 | object creation of type ExceptionA | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | | Finally.cs:243:13:253:13 | {...} | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:254:13:254:45 | ...; | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:254:13:254:44 | After call to method WriteLine | | Finally.cs:243:13:253:13 | {...} | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | exit M12 | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | exit M12 (abnormal) | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | Exit | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:235:9:259:9 | After try {...} ... | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:244:17:252:17 | After try {...} ... | | Finally.cs:250:17:252:17 | {...} | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:254:13:254:45 | ...; | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:254:13:254:44 | After call to method WriteLine | | Finally.cs:250:17:252:17 | {...} | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:45 | ...; | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | exit M12 | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | exit M12 (abnormal) | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | Exit | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:235:9:259:9 | After try {...} ... | | Finally.cs:257:9:259:9 | {...} | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | enter M13 | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | exit M13 | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | exit M13 (abnormal) | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | exit M13 (normal) | -| Finally.cs:263:10:263:12 | exit M13 | Finally.cs:263:10:263:12 | exit M13 | -| Finally.cs:263:10:263:12 | exit M13 (abnormal) | Finally.cs:263:10:263:12 | exit M13 (abnormal) | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | exit M13 (normal) | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | enter Foreach | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | enter M1 | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | exit M1 (normal) | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:8:22:8:24 | String arg | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | exit M1 (normal) | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 (normal) | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:263:10:263:12 | Entry | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:263:10:263:12 | Exceptional Exit | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:263:10:263:12 | Exit | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:265:9:273:9 | After try {...} ... | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:267:13:267:34 | After call to method WriteLine | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:270:9:273:9 | {...} | +| Finally.cs:263:10:263:12 | Exceptional Exit | Finally.cs:263:10:263:12 | Exceptional Exit | +| Finally.cs:263:10:263:12 | Exit | Finally.cs:263:10:263:12 | Exit | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:265:9:273:9 | After try {...} ... | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:267:13:267:34 | After call to method WriteLine | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:263:10:263:12 | Exceptional Exit | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:263:10:263:12 | Exit | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:265:9:273:9 | After try {...} ... | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:270:9:273:9 | {...} | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Entry | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:6:10:6:11 | Entry | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:22:8:24 | String arg | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:22:8:24 | String arg | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:12:10:12:11 | enter M2 | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:12:10:12:11 | exit M2 (normal) | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:14:22:14:22 | String _ | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | exit M2 (normal) | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | exit M2 (normal) | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:8:29:8:32 | After access to parameter args [empty] | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:8:22:8:24 | String arg | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:12:10:12:11 | Entry | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:22:14:22 | String _ | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:18:10:18:11 | enter M3 | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:27:20:68 | ... ?? ... | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:20:43:20:68 | call to method Empty | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | +| Foreach.cs:14:27:14:30 | After access to parameter args [empty] | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:18:10:18:11 | Entry | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:22:20:22 | String x | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:68 | ... ?? ... | -| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:24:10:24:11 | enter M4 | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:24:10:24:11 | exit M4 (normal) | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | exit M4 (normal) | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | exit M4 (normal) | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:30:10:30:11 | enter M5 | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:30:10:30:11 | exit M5 (normal) | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | exit M5 (normal) | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | exit M5 (normal) | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:36:10:36:11 | enter M6 | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:36:10:36:11 | exit M6 (normal) | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:38:26:38:26 | String x | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | exit M6 (normal) | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | exit M6 (normal) | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:26:38:26 | String x | -| Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:26:38:26 | String x | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | enter | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | enter Initializers | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | enter Initializers | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | enter Initializers | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | enter M | -| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:16:18:16 | enter H | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | enter | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | enter NoConstructor | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | enter | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | enter Sub | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | enter Sub | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | enter Sub | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | enter IndexInitializers | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | enter Compound | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | enter Test | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:7:10:7:11 | enter M1 | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:11:29:11:32 | access to parameter args | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | -| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | +| Foreach.cs:20:27:20:27 | After access to parameter e [null] | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:22:20:22 | String x | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | +| Foreach.cs:20:43:20:68 | After call to method Empty [empty] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:24:10:24:11 | Entry | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:18:26:31 | Before (..., ...) | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:18:26:31 | Before (..., ...) | +| Foreach.cs:26:36:26:39 | After access to parameter args [empty] | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:26:18:26:31 | Before (..., ...) | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:30:10:30:11 | Entry | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:18:32:27 | Before (..., ...) | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:18:32:27 | Before (..., ...) | +| Foreach.cs:32:32:32:35 | After access to parameter args [empty] | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:32:18:32:27 | Before (..., ...) | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:36:10:36:11 | Entry | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:18:38:34 | Before (..., ...) | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:18:38:34 | Before (..., ...) | +| Foreach.cs:38:39:38:42 | After access to parameter args [empty] | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:38:18:38:34 | Before (..., ...) | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Entry | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Entry | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Entry | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Entry | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:12:10:12:10 | Entry | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Entry | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Entry | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:26:11:26:13 | Entry | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Entry | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:9:33:11 | Entry | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Entry | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | Entry | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Entry | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:51:10:51:13 | Entry | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | Entry | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:7:10:7:11 | Entry | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:7:10:7:11 | Normal Exit | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | Normal Exit | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | access to parameter args | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:15:10:15:11 | enter M2 | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:18:22:18:22 | String x | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:15:10:15:11 | Entry | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:22:18:22 | String x | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:22:10:22:11 | enter M3 | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:25:26:25:29 | Char arg0 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:22:10:22:11 | Entry | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:26:25:29 | Char arg0 | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:26:25:29 | Char arg0 | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:29:10:29:11 | enter M4 | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:32:22:32:22 | String x | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:29:10:29:11 | Entry | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:22:32:22 | String x | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:36:10:36:11 | enter M5 | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:41:26:41:26 | String y | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:36:10:36:11 | Entry | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:22:40:22 | String x | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:26:41:26 | String y | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:40:22:40:22 | String x | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:26:41:26 | String y | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:45:10:45:11 | enter M6 | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:48:22:48:22 | String x | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:50:9:50:13 | Label: | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | -| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:48:22:48:22 | String x | -| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:50:9:50:13 | Label: | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:45:10:45:11 | Entry | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:50:9:50:13 | Label: | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:50:9:50:13 | Label: | | LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:50:9:50:13 | Label: | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:55:10:55:11 | enter M7 | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:63:17:63:37 | ...; | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:55:10:55:11 | Entry | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:67:10:67:11 | enter M8 | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:69:13:69:23 | [true] !... | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:70:13:70:19 | return ...; | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:69:13:69:23 | [true] !... | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:70:13:70:19 | return ...; | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:67:10:67:11 | Entry | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:67:10:67:11 | Normal Exit | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | Normal Exit | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:76:10:76:11 | enter M9 | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:79:22:79:22 | String x | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:76:10:76:11 | Entry | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:22:79:22 | String x | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:85:10:85:12 | enter M10 | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:88:22:88:22 | String x | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:85:10:85:12 | Entry | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:22:88:22 | String x | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:94:10:94:12 | enter M11 | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:97:22:97:22 | String x | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:94:10:94:12 | Entry | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:22:97:22 | String x | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | enter C1 | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationB.cs:1:7:1:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | -| MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:22:6:31 | enter get_P1 | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:28:6:31 | null | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationB.cs:3:22:3:22 | 0 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 | -| MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:28:6:31 | null | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:21:7:23 | enter get_P2 | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:21:7:23 | exit get_P2 | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:25:7:39 | {...} | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationB.cs:4:25:4:37 | {...} | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 | MultiImplementationA.cs:7:21:7:23 | exit get_P2 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Entry | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Normal Exit | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationB.cs:1:7:1:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Normal Exit | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:22:6:31 | Before throw ... | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Before throw ... | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Entry | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Exit | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationB.cs:3:22:3:22 | 0 | +| MultiImplementationA.cs:6:22:6:31 | Exit | MultiImplementationA.cs:6:22:6:31 | Exit | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:21:7:23 | Entry | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:21:7:23 | Exit | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:25:7:39 | {...} | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationB.cs:4:25:4:37 | {...} | +| MultiImplementationA.cs:7:21:7:23 | Exit | MultiImplementationA.cs:7:21:7:23 | Exit | | MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:25:7:39 | {...} | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:41:7:43 | enter set_P2 | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:41:7:43 | exit set_P2 | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:45:7:59 | {...} | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationB.cs:4:43:4:45 | {...} | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 | MultiImplementationA.cs:7:41:7:43 | exit set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:41:7:43 | Entry | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:41:7:43 | Exit | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:45:7:59 | {...} | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationB.cs:4:43:4:45 | {...} | +| MultiImplementationA.cs:7:41:7:43 | Exit | MultiImplementationA.cs:7:41:7:43 | Exit | | MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:45:7:59 | {...} | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:16:8:16 | enter M | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:16:8:16 | exit M | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:29:8:32 | null | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationB.cs:5:23:5:23 | 2 | -| MultiImplementationA.cs:8:16:8:16 | exit M | MultiImplementationA.cs:8:16:8:16 | exit M | -| MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:29:8:32 | null | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | enter | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | exit (normal) | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:13:16:13:16 | this access | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationB.cs:11:16:11:16 | this access | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit (normal) | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:16:13:16 | this access | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:16:8:16 | Entry | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:16:8:16 | Exit | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:23:8:32 | Before throw ... | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationB.cs:5:23:5:23 | 2 | +| MultiImplementationA.cs:8:16:8:16 | Exit | MultiImplementationA.cs:8:16:8:16 | Exit | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:23:8:32 | Before throw ... | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:11:7:11:8 | Entry | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:11:7:11:8 | Normal Exit | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | Normal Exit | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | Entry | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | Exit | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | access to parameter i | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationB.cs:12:31:12:40 | Before throw ... | +| MultiImplementationA.cs:14:31:14:31 | Exit | MultiImplementationA.cs:14:31:14:31 | Exit | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | access to parameter i | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | access to parameter i | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | enter get_Item | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | exit get_Item | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationB.cs:12:37:12:40 | null | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item | MultiImplementationA.cs:14:31:14:31 | exit get_Item | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:36:15:38 | enter get_Item | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:36:15:38 | exit get_Item | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:40:15:52 | {...} | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationB.cs:13:40:13:54 | {...} | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item | MultiImplementationA.cs:15:36:15:38 | exit get_Item | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:36:15:38 | Entry | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:36:15:38 | Exit | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:40:15:52 | {...} | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationB.cs:13:40:13:54 | {...} | +| MultiImplementationA.cs:15:36:15:38 | Exit | MultiImplementationA.cs:15:36:15:38 | Exit | | MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:40:15:52 | {...} | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:54:15:56 | enter set_Item | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationB.cs:13:60:13:62 | {...} | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:54:15:56 | Entry | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:54:15:56 | Normal Exit | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:58:15:60 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationB.cs:13:60:13:62 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | Normal Exit | | MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:16:17:16:18 | enter M1 | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:17:5:19:5 | {...} | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationB.cs:15:5:17:5 | {...} | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:16:17:16:18 | Entry | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:16:17:16:18 | Normal Exit | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:17:5:19:5 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationB.cs:15:5:17:5 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | Normal Exit | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:17:5:19:5 | {...} | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:9:18:22 | enter M2 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | enter C2 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | exit C2 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | this access | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationB.cs:18:12:18:13 | this access | -| MultiImplementationA.cs:20:12:20:13 | exit C2 | MultiImplementationA.cs:20:12:20:13 | exit C2 | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | this access | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | enter C2 | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationB.cs:19:24:19:24 | 1 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | -| MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:6:22:7 | enter ~C2 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:6:22:7 | exit ~C2 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:11:22:13 | {...} | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationB.cs:20:11:20:25 | {...} | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 | MultiImplementationA.cs:22:6:22:7 | exit ~C2 | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:9:18:22 | Entry | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | Before call to method | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Before call to method | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Entry | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Exit | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationB.cs:18:12:18:13 | Before call to method | +| MultiImplementationA.cs:20:12:20:13 | Exit | MultiImplementationA.cs:20:12:20:13 | Exit | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:12:21:13 | Entry | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:12:21:13 | Normal Exit | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | Normal Exit | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:6:22:7 | Entry | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:6:22:7 | Exit | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:11:22:13 | {...} | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationB.cs:20:11:20:25 | {...} | +| MultiImplementationA.cs:22:6:22:7 | Exit | MultiImplementationA.cs:22:6:22:7 | Exit | | MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:11:22:13 | {...} | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:50:23:53 | null | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationB.cs:21:56:21:59 | null | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:28:23:35 | Entry | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:28:23:35 | Exit | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:50:23:53 | null | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationB.cs:21:50:21:59 | Before throw ... | +| MultiImplementationA.cs:23:28:23:35 | Exit | MultiImplementationA.cs:23:28:23:35 | Exit | | MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:50:23:53 | null | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | enter C3 | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | -| MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:21:30:23 | enter get_P3 | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | enter C4 | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationB.cs:30:15:30:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | -| MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:9:36:10 | enter M1 | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:9:36:10 | exit M1 | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:14:36:28 | {...} | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationB.cs:32:17:32:17 | 0 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 | MultiImplementationA.cs:36:9:36:10 | exit M1 | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Entry | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Normal Exit | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationB.cs:25:7:25:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Normal Exit | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:21:30:23 | Entry | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Entry | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Normal Exit | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationB.cs:30:15:30:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Normal Exit | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:9:36:10 | Entry | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:9:36:10 | Exit | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:14:36:28 | {...} | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationB.cs:32:17:32:17 | 0 | +| MultiImplementationA.cs:36:9:36:10 | Exit | MultiImplementationA.cs:36:9:36:10 | Exit | | MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:14:36:28 | {...} | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:9:37:10 | enter M2 | -| MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | this access | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:9:37:10 | Entry | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationB.cs:1:7:1:8 | Before call to method | | MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationB.cs:3:22:3:22 | 0 | | MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:25:4:37 | {...} | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationB.cs:4:43:4:45 | {...} | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationB.cs:5:23:5:23 | 2 | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:16:11:16 | this access | -| MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:37:12:40 | null | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationB.cs:12:31:12:40 | Before throw ... | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:40:13:54 | {...} | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationB.cs:13:60:13:62 | {...} | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:15:5:17:5 | {...} | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:9:16:31 | enter M2 | -| MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationB.cs:18:12:18:13 | this access | -| MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:24:19:24 | 1 | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:9:16:31 | Entry | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationB.cs:18:12:18:13 | Before call to method | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | | MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:11:20:25 | {...} | -| MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationB.cs:21:56:21:59 | null | -| MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | this access | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationB.cs:21:50:21:59 | Before throw ... | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationB.cs:25:7:25:8 | Before call to method | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationB.cs:30:15:30:16 | Before call to method | | MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationB.cs:32:17:32:17 | 0 | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:9:3:10 | enter M1 | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:23:3:28 | ... ?? ... | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:28 | ... ?? ... | -| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:9:5:10 | enter M2 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:12:7:13 | enter M3 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:40:7:53 | ... ?? ... | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:53 | ... ?? ... | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:12:9:13 | enter M4 | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:36:9:58 | ... ?? ... | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:41:9:41 | access to parameter s | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:45:9:45 | access to parameter s | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | -| NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | access to parameter s | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | access to parameter s | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:9:11:10 | enter M5 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:13:10:13:11 | enter M6 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | enter | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | enter Partial | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | enter Partial | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | enter Patterns | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:5:10:5:11 | enter M1 | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:20:9:38:9 | switch (...) {...} | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:24:13:24:36 | case ...: | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:25:17:25:52 | ...; | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:40:9:42:9 | switch (...) {...} | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:20:9:38:9 | switch (...) {...} | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:24:13:24:36 | case ...: | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:25:17:25:52 | ...; | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:40:9:42:9 | switch (...) {...} | -| Patterns.cs:23:17:23:22 | break; | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:13:24:36 | case ...: | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:25:17:25:52 | ...; | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:25:17:25:52 | ...; | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:17:25:52 | ...; | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | Entry | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:9:3:10 | Entry | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:28 | After ... ?? ... | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:23:3:28 | After ... ?? ... | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:9:5:10 | Entry | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:12:7:13 | Entry | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:12:9:13 | Entry | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:36:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:36:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:51:9:52 | After "" [non-null] | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:9:11:10 | Entry | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:13:10:13:11 | Entry | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | +| NullCoalescing.cs:16:17:16:18 | After "" [non-null] | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationA.cs:1:15:1:21 | Entry | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Entry | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Entry | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Entry | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:5:10:5:11 | Entry | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:8:9:18:9 | After if (...) ... | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:20:9:38:9 | After switch (...) {...} | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:27:13:27:24 | case ...: | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:8:9:18:9 | After if (...) ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:20:9:38:9 | After switch (...) {...} | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:27:13:27:24 | case ...: | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:16:18:16:28 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:20:9:38:9 | After switch (...) {...} | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:27:13:27:24 | case ...: | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:24:13:24:36 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:24:30:24:35 | After ... > ... [false] | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [no-match] | | Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:34:17:34:22 | break; | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:40:9:42:9 | switch (...) {...} | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:47:24:47:25 | enter M2 | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:50:24:50:25 | enter M3 | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:39 | ... ? ... : ... | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:53:24:53:25 | enter M4 | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:18:54:37 | { ... } | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:33:54:33 | 1 | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:18:54:37 | { ... } | -| Patterns.cs:54:27:54:35 | [match] { ... } | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:54:27:54:35 | [no-match] { ... } | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:33:54:33 | 1 | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:56:26:56:27 | enter M5 | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:58:16:62:9 | ... switch { ... } | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:62:9 | ... switch { ... } | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:65:26:65:27 | enter M6 | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:69:13:69:17 | [no-match] not ... | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:70:18:70:27 | "possible" | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:69:13:69:17 | [no-match] not ... | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:70:18:70:27 | "possible" | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:18:70:27 | "possible" | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:18:70:27 | "possible" | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:74:26:74:27 | enter M7 | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:76:16:82:9 | ... switch { ... } | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:78:20:78:24 | "> 1" | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:79:15:79:15 | 0 | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:80:13:80:13 | 1 | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:82:9 | ... switch { ... } | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:20:78:24 | "> 1" | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:15:79:15 | 0 | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:80:13:80:13 | 1 | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:13 | 1 | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:26:85:27 | enter M8 | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:39:85:69 | ... ? ... : ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:53:85:53 | 2 | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:69 | ... ? ... : ... | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:49:85:53 | [match] not ... | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:53:85:53 | 2 | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:26:87:27 | enter M9 | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:39:87:70 | ... ? ... : ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:54:87:54 | 2 | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:70 | ... ? ... : ... | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:50:87:54 | [no-match] not ... | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:54:87:54 | 2 | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:93:17:93:19 | enter M10 | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:93:17:93:19 | exit M10 (normal) | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:95:36:95:38 | access to constant B | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | exit M10 (normal) | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:36:95:38 | access to constant B | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:96:9:98:9 | {...} | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | enter PostDominance | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:5:10:5:11 | enter M1 | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:10:10:10:11 | enter M2 | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:10:10:10:11 | exit M2 (normal) | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:12:13:12:21 | [true] ... is ... | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | exit M2 (normal) | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:12:13:12:21 | [true] ... is ... | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:17:10:17:11 | enter M3 | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:17:10:17:11 | exit M3 | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:19:13:19:21 | [false] ... is ... | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:19:13:19:21 | [true] ... is ... | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:20:45:20:53 | nameof(...) | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:21:9:21:29 | ...; | -| PostDominance.cs:17:10:17:11 | exit M3 | PostDominance.cs:17:10:17:11 | exit M3 | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:19:13:19:21 | [false] ... is ... | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:21:9:21:29 | ...; | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:19:13:19:21 | [true] ... is ... | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:20:45:20:53 | nameof(...) | -| PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:45:20:53 | nameof(...) | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:9:21:29 | ...; | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | enter Qualifiers | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:16:7:21 | enter Method | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:23:8:34 | enter StaticMethod | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:10:10:10:10 | enter M | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | enter Switch | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:5:10:5:11 | enter M1 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | enter M2 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | exit M2 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | exit M2 (abnormal) | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | exit M2 (normal) | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:15:17:15:23 | return ...; | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:17:23:17:37 | object creation of type Exception | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:30:13:30:20 | default: | -| Switch.cs:10:10:10:11 | exit M2 | Switch.cs:10:10:10:11 | exit M2 | -| Switch.cs:10:10:10:11 | exit M2 (abnormal) | Switch.cs:10:10:10:11 | exit M2 (abnormal) | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | exit M2 (normal) | -| Switch.cs:15:17:15:23 | return ...; | Switch.cs:15:17:15:23 | return ...; | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:10:10:10:11 | exit M2 (abnormal) | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:17:23:17:37 | object creation of type Exception | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:30:13:30:20 | default: | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:23:17:37 | object creation of type Exception | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:30:13:30:20 | default: | -| Switch.cs:19:17:19:29 | goto default; | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:22:21:22:27 | return ...; | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:23:27:23:27 | 0 | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:17:25:37 | ...; | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:47:24:47:25 | Entry | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:48:9:48:20 | After ... is ... | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:48:9:48:20 | After ... is ... | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:50:24:50:25 | Entry | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:39 | After ... ? ... : ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:9:51:39 | After ... ? ... : ... | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:53:24:53:25 | Entry | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:54:9:54:37 | After ... is ... | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:54:9:54:37 | After ... is ... | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:56:26:56:27 | Entry | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:58:16:62:9 | After ... switch { ... } | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:60:13:60:28 | After ... => ... [match] | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:58:16:62:9 | After ... switch { ... } | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:60:13:60:28 | After ... => ... [match] | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:65:26:65:27 | Entry | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:67:16:71:9 | After ... switch { ... } | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:69:13:69:33 | After ... => ... [match] | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:67:16:71:9 | After ... switch { ... } | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:69:13:69:33 | After ... => ... [match] | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:70:13:70:27 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:74:26:74:27 | Entry | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:76:16:82:9 | After ... switch { ... } | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:78:13:78:24 | After ... => ... [match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:76:16:82:9 | After ... switch { ... } | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:78:13:78:24 | After ... => ... [match] | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:26:85:27 | Entry | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:53 | After ... is ... [false] | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:69 | After ... ? ... : ... | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:39:85:53 | After ... is ... [false] | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:39:85:69 | After ... ? ... : ... | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:26:87:27 | Entry | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:54 | After ... is ... [false] | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:70 | After ... ? ... : ... | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:39:87:54 | After ... is ... [false] | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:39:87:70 | After ... ? ... : ... | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:93:17:93:19 | Entry | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:95:9:98:9 | After if (...) ... | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:95:13:95:40 | After ... is ... [false] | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:95:9:98:9 | After if (...) ... | +| Patterns.cs:95:13:95:40 | After ... is ... [false] | Patterns.cs:95:13:95:40 | After ... is ... [false] | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | Entry | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:5:10:5:11 | Entry | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:10:10:10:11 | Entry | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:10:10:10:11 | Normal Exit | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:12:13:12:21 | After ... is ... [false] | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | Normal Exit | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:12:13:12:21 | After ... is ... [false] | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:17:10:17:11 | Entry | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:17:10:17:11 | Exit | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:19:13:19:21 | After ... is ... [false] | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | +| PostDominance.cs:17:10:17:11 | Exit | PostDominance.cs:17:10:17:11 | Exit | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:19:13:19:21 | After ... is ... [false] | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Entry | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:16:7:21 | Entry | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:23:8:34 | Entry | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:10:10:10:10 | Entry | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Entry | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:5:10:5:11 | Entry | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | Entry | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | Exceptional Exit | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | Exit | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | Normal Exit | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:14:13:14:21 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:16:13:16:19 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:10:10:10:11 | Exceptional Exit | Switch.cs:10:10:10:11 | Exceptional Exit | +| Switch.cs:10:10:10:11 | Exit | Switch.cs:10:10:10:11 | Exit | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | Normal Exit | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:14:13:14:21 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:10:10:10:11 | Exceptional Exit | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:16:13:16:19 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:16:13:16:19 | After case ...: [match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:24:13:24:56 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [no-match] | | Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:30:13:30:20 | default: | Switch.cs:30:13:30:20 | default: | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:35:10:35:11 | enter M3 | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:44:10:44:11 | enter M4 | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:44:10:44:11 | exit M4 (normal) | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:49:17:49:22 | break; | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:50:13:50:39 | case ...: | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:50:30:50:30 | access to parameter o | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:51:17:51:22 | break; | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | exit M4 (normal) | -| Switch.cs:49:17:49:22 | break; | Switch.cs:49:17:49:22 | break; | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:13:50:39 | case ...: | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:30:50:30 | access to parameter o | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:51:17:51:22 | break; | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:30:50:30 | access to parameter o | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:51:17:51:22 | break; | -| Switch.cs:51:17:51:22 | break; | Switch.cs:51:17:51:22 | break; | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:55:10:55:11 | enter M5 | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:61:13:61:19 | case ...: | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:62:17:62:22 | break; | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:13:61:19 | case ...: | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:62:17:62:22 | break; | -| Switch.cs:62:17:62:22 | break; | Switch.cs:62:17:62:22 | break; | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:66:10:66:11 | enter M6 | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:66:10:66:11 | exit M6 (normal) | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:72:13:72:20 | case ...: | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:73:17:73:22 | break; | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | exit M6 (normal) | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:66:10:66:11 | exit M6 (normal) | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:13:72:20 | case ...: | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:73:17:73:22 | break; | -| Switch.cs:73:17:73:22 | break; | Switch.cs:73:17:73:22 | break; | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:77:10:77:11 | enter M7 | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:77:10:77:11 | exit M7 (normal) | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:82:24:82:27 | true | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:83:13:83:19 | case ...: | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:84:17:85:26 | if (...) ... | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:85:21:85:26 | break; | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:86:24:86:27 | true | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:88:16:88:20 | false | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | exit M7 (normal) | -| Switch.cs:82:24:82:27 | true | Switch.cs:82:24:82:27 | true | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:13:83:19 | case ...: | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:84:17:85:26 | if (...) ... | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:85:21:85:26 | break; | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:86:24:86:27 | true | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:88:16:88:20 | false | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:17:85:26 | if (...) ... | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:85:21:85:26 | break; | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:86:24:86:27 | true | -| Switch.cs:85:21:85:26 | break; | Switch.cs:85:21:85:26 | break; | -| Switch.cs:86:24:86:27 | true | Switch.cs:86:24:86:27 | true | -| Switch.cs:88:16:88:20 | false | Switch.cs:88:16:88:20 | false | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:91:10:91:11 | enter M8 | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:91:10:91:11 | exit M8 (normal) | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:96:24:96:27 | true | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:98:16:98:20 | false | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | exit M8 (normal) | -| Switch.cs:96:24:96:27 | true | Switch.cs:96:24:96:27 | true | -| Switch.cs:98:16:98:20 | false | Switch.cs:98:16:98:20 | false | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:101:9:101:10 | enter M9 | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:101:9:101:10 | exit M9 (normal) | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:105:13:105:19 | case ...: | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:106:13:106:19 | case ...: | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | exit M9 (normal) | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:101:9:101:10 | exit M9 (normal) | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:13:105:19 | case ...: | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:106:13:106:19 | case ...: | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:105:28:105:28 | 0 | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:13:106:19 | case ...: | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:106:28:106:28 | 1 | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:108:17:108:17 | 1 | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:17:111:21 | enter Throw | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:113:9:113:11 | enter M10 | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:113:9:113:11 | exit M10 (normal) | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:117:25:117:25 | access to parameter s | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:117:44:117:44 | 1 | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:118:13:118:34 | case ...: | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:118:25:118:25 | access to parameter s | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:120:17:120:17 | 1 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | exit M10 (normal) | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:25:117:25 | access to parameter s | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:44:117:44 | 1 | -| Switch.cs:117:44:117:44 | 1 | Switch.cs:117:44:117:44 | 1 | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:35:10:35:11 | Entry | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:44:10:44:11 | Entry | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:46:9:52:9 | After switch (...) {...} | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:48:13:48:23 | After case ...: [match] | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:48:13:48:23 | After case ...: [no-match] | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:46:9:52:9 | After switch (...) {...} | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:48:13:48:23 | After case ...: [match] | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:48:13:48:23 | After case ...: [no-match] | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:50:13:50:39 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:50:30:50:38 | After ... != ... [false] | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:55:10:55:11 | Entry | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:57:9:63:9 | After switch (...) {...} | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:59:13:59:19 | After case ...: [match] | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:59:13:59:19 | After case ...: [no-match] | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:57:9:63:9 | After switch (...) {...} | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:59:13:59:19 | After case ...: [match] | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:59:13:59:19 | After case ...: [no-match] | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:61:13:61:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:66:10:66:11 | Entry | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:68:9:74:9 | After switch (...) {...} | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:70:13:70:23 | After case ...: [match] | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:70:13:70:23 | After case ...: [no-match] | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:68:9:74:9 | After switch (...) {...} | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:70:13:70:23 | After case ...: [match] | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:70:13:70:23 | After case ...: [no-match] | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:72:13:72:20 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:77:10:77:11 | Entry | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:77:10:77:11 | Normal Exit | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:79:9:87:9 | After switch (...) {...} | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:81:13:81:19 | After case ...: [match] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:81:13:81:19 | After case ...: [no-match] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | Normal Exit | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:79:9:87:9 | After switch (...) {...} | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:81:13:81:19 | After case ...: [match] | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:79:9:87:9 | After switch (...) {...} | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:81:13:81:19 | After case ...: [no-match] | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:83:13:83:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:91:10:91:11 | Entry | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:91:10:91:11 | Normal Exit | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:95:13:95:23 | After case ...: [match] | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:95:13:95:23 | After case ...: [no-match] | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | Normal Exit | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:95:13:95:23 | After case ...: [match] | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:95:13:95:23 | After case ...: [no-match] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:101:9:101:10 | Entry | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:101:9:101:10 | Normal Exit | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:103:17:103:25 | After access to property Length | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | Normal Exit | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:103:17:103:17 | After access to parameter s [null] | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:101:9:101:10 | Normal Exit | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:103:17:103:25 | After access to property Length | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:17:111:21 | Entry | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:113:9:113:11 | Entry | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:113:9:113:11 | Normal Exit | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:115:9:119:9 | After switch (...) {...} | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:13:117:35 | After case ...: [match] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:117:25:117:34 | After ... == ... [true] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:118:13:118:34 | case ...: | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | Normal Exit | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:115:9:119:9 | After switch (...) {...} | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:13:117:35 | After case ...: [match] | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:25:117:34 | After ... == ... [true] | +| Switch.cs:117:13:117:35 | After case ...: [no-match] | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:117:25:117:34 | After ... == ... [false] | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:117:25:117:34 | After ... == ... [true] | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:118:13:118:34 | After case ...: [no-match] | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:115:9:119:9 | After switch (...) {...} | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [no-match] | | Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | case ...: | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:25 | access to parameter s | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:120:17:120:17 | 1 | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:25:118:25 | access to parameter s | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:118:43:118:43 | 2 | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:120:17:120:17 | 1 | Switch.cs:120:17:120:17 | 1 | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:123:10:123:12 | enter M11 | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:123:10:123:12 | exit M11 (normal) | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:13:125:48 | [false] ... switch { ... } | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:34:125:34 | access to local variable b | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:37:125:37 | _ | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:125:42:125:46 | false | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | exit M11 (normal) | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:13:125:48 | [false] ... switch { ... } | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:34:125:34 | access to local variable b | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:42:125:46 | false | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:42:125:46 | false | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:129:12:129:14 | enter M12 | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:9:131:67 | return ...; | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:17:131:53 | [null] ... switch { ... } | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:40:131:40 | access to local variable s | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:43:131:43 | _ | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:131:48:131:51 | null | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:9:131:67 | return ...; | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:17:131:53 | [null] ... switch { ... } | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:28:131:40 | [null] ... => ... | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:40:131:40 | access to local variable s | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:48:131:51 | null | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:48:131:51 | null | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:134:9:134:11 | enter M13 | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:134:9:134:11 | exit M13 (normal) | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:138:13:138:20 | default: | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:139:28:139:28 | 1 | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:140:13:140:19 | case ...: | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:140:28:140:28 | 2 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | exit M13 (normal) | -| Switch.cs:138:13:138:20 | default: | Switch.cs:138:13:138:20 | default: | -| Switch.cs:139:28:139:28 | 1 | Switch.cs:139:28:139:28 | 1 | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:138:13:138:20 | default: | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:13:140:19 | case ...: | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:28:140:28 | 2 | -| Switch.cs:140:28:140:28 | 2 | Switch.cs:140:28:140:28 | 2 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:144:9:144:11 | enter M14 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:144:9:144:11 | exit M14 (normal) | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:148:28:148:28 | 1 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:149:13:149:20 | default: | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:150:13:150:19 | case ...: | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:150:28:150:28 | 2 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | exit M14 (normal) | -| Switch.cs:148:28:148:28 | 1 | Switch.cs:148:28:148:28 | 1 | -| Switch.cs:149:13:149:20 | default: | Switch.cs:149:13:149:20 | default: | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:149:13:149:20 | default: | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:13:150:19 | case ...: | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:28:150:28 | 2 | -| Switch.cs:150:28:150:28 | 2 | Switch.cs:150:28:150:28 | 2 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | enter M15 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | exit M15 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | exit M15 (abnormal) | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | exit M15 (normal) | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:17:156:54 | ... switch { ... } | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:41:156:45 | false | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:158:13:158:49 | ...; | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:160:13:160:49 | ...; | -| Switch.cs:154:10:154:12 | exit M15 | Switch.cs:154:10:154:12 | exit M15 | -| Switch.cs:154:10:154:12 | exit M15 (abnormal) | Switch.cs:154:10:154:12 | exit M15 (abnormal) | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | exit M15 (normal) | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:154:10:154:12 | exit M15 (normal) | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:54 | ... switch { ... } | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:158:13:158:49 | ...; | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:160:13:160:49 | ...; | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:156:41:156:45 | false | Switch.cs:154:10:154:12 | exit M15 (abnormal) | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:45 | false | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:13:158:49 | ...; | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:13:160:49 | ...; | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:163:10:163:12 | enter M16 | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:163:10:163:12 | exit M16 (normal) | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:168:13:168:19 | case ...: | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:169:17:169:51 | ...; | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:171:13:171:19 | case ...: | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:174:13:174:20 | default: | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | exit M16 (normal) | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:13:168:19 | case ...: | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:171:13:171:19 | case ...: | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:174:13:174:20 | default: | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:118:25:118:33 | After ... == ... [false] | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:123:10:123:12 | Entry | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:123:10:123:12 | Normal Exit | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:24:125:34 | After ... => ... [match] | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:125:24:125:34 | After ... => ... [no-match] | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | Normal Exit | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:125:24:125:34 | After ... => ... [match] | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:125:24:125:34 | After ... => ... [no-match] | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:129:12:129:14 | Entry | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:16:131:66 | After call to method ToString | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:28:131:40 | After ... => ... [match] | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:131:28:131:40 | After ... => ... [no-match] | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:16:131:66 | After call to method ToString | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | +| Switch.cs:131:17:131:53 | After ... switch { ... } [null] | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:131:28:131:40 | After ... => ... [match] | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:131:28:131:40 | After ... => ... [no-match] | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:134:9:134:11 | Entry | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:134:9:134:11 | Normal Exit | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:139:13:139:19 | After case ...: [match] | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:139:13:139:19 | After case ...: [no-match] | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | Normal Exit | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:139:13:139:19 | After case ...: [match] | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:139:13:139:19 | After case ...: [no-match] | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:144:9:144:11 | Entry | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:144:9:144:11 | Normal Exit | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:148:13:148:19 | After case ...: [match] | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:148:13:148:19 | After case ...: [no-match] | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | Normal Exit | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:148:13:148:19 | After case ...: [match] | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:148:13:148:19 | After case ...: [no-match] | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:154:10:154:12 | Entry | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:17:156:54 | After ... switch { ... } | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:28:156:38 | After ... => ... [no-match] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:157:9:160:49 | After if (...) ... | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:17:156:54 | After ... switch { ... } | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:157:9:160:49 | After if (...) ... | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:28:156:38 | After ... => ... [no-match] | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:156:41:156:52 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:157:9:160:49 | After if (...) ... | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:163:10:163:12 | Entry | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:165:9:177:9 | After switch (...) {...} | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:167:13:167:19 | After case ...: [no-match] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:169:17:169:51 | ...; | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:171:13:171:19 | After case ...: [no-match] | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:165:9:177:9 | After switch (...) {...} | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:167:13:167:19 | After case ...: [no-match] | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [no-match] | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [no-match] | | Switch.cs:169:17:169:51 | ...; | Switch.cs:169:17:169:51 | ...; | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:13:171:19 | case ...: | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:174:13:174:20 | default: | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:174:13:174:20 | default: | Switch.cs:174:13:174:20 | default: | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:3:10:3:10 | enter M | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:7:25:7:25 | ; | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:8:9:8:28 | ... ...; | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:25:7:25 | ; | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:25:7:25 | ; | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:9:8:28 | ... ...; | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | enter VarDecls | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:5:18:5:19 | enter M1 | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:13:12:13:13 | enter M2 | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:19:7:19:8 | enter M3 | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:25:20:25:28 | ... ? ... : ... | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:25:24:25:24 | access to local variable x | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:25:28:25:28 | access to local variable y | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:28 | ... ? ... : ... | -| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:24:25:24 | access to local variable x | -| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:28:25:28 | access to local variable y | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | enter C | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:41:28:47 | enter Dispose | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:15:9:17:9 | {...} | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:5:17:5:20 | exit Main (normal) | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [no-match] | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | Entry | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:3:10:3:10 | Entry | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:7:9:7:25 | After if (...) ... | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:7:9:7:25 | After if (...) ... | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | Entry | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:5:18:5:19 | Entry | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:13:12:13:13 | Entry | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:19:7:19:8 | Entry | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:25:20:25:28 | After ... ? ... : ... | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:20:25:28 | After ... ? ... : ... | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | Entry | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:41:28:47 | Entry | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:11:13:11:17 | After ... > ... [false] | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:14:16:14:20 | After ... > ... [true] | | cflow.cs:20:9:22:9 | {...} | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:56:13:56:20 | default: | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:65:17:65:22 | break; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:37:17:37:22 | exit Switch | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:56:13:56:20 | default: | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:65:17:65:22 | break; | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:56:13:56:20 | default: | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:65:17:65:22 | break; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:56:13:56:20 | default: | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:65:17:65:22 | break; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:56:13:56:20 | default: | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:65:17:65:22 | break; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:56:13:56:20 | default: | cflow.cs:56:13:56:20 | default: | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:65:17:65:22 | break; | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:65:17:65:22 | break; | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:65:17:65:22 | break; | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:65:17:65:22 | break; | cflow.cs:65:17:65:22 | break; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:70:18:70:18 | enter M | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:70:18:70:18 | exit M (normal) | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:73:13:73:19 | return ...; | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:74:9:81:9 | if (...) ... | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:79:9:81:9 | {...} | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | exit M (normal) | -| cflow.cs:73:13:73:19 | return ...; | cflow.cs:73:13:73:19 | return ...; | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:9:81:9 | if (...) ... | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:79:9:81:9 | {...} | -| cflow.cs:75:9:77:9 | {...} | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:79:9:81:9 | {...} | cflow.cs:79:9:81:9 | {...} | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:84:18:84:19 | enter M2 | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:84:18:84:19 | exit M2 (normal) | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:86:13:86:37 | [false] ... && ... | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:86:26:86:26 | access to parameter s | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | exit M2 (normal) | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:86:13:86:37 | [false] ... && ... | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:26 | access to parameter s | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | enter M3 | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | exit M3 | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:93:45:93:47 | "s" | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:99:9:100:42 | if (...) ... | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:102:9:103:36 | if (...) ... | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:90:18:90:19 | exit M3 | cflow.cs:90:18:90:19 | exit M3 | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:93:45:93:47 | "s" | cflow.cs:93:45:93:47 | "s" | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:99:9:100:42 | if (...) ... | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:102:9:103:36 | if (...) ... | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:9:100:42 | if (...) ... | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:102:9:103:36 | if (...) ... | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:9:103:36 | if (...) ... | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:106:18:106:19 | enter M4 | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:109:9:115:9 | {...} | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:110:20:110:23 | true | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:111:13:113:13 | {...} | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:116:9:116:29 | ...; | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:109:9:115:9 | {...} | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:110:20:110:23 | true | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:111:13:113:13 | {...} | -| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | true | -| cflow.cs:110:20:110:23 | true | cflow.cs:111:13:113:13 | {...} | -| cflow.cs:111:13:113:13 | {...} | cflow.cs:111:13:113:13 | {...} | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:9:116:29 | ...; | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:119:20:119:21 | enter M5 | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:19:127:21 | enter get_Prop | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:32:127:57 | ... ? ... : ... | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:48:127:49 | "" | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:53:127:57 | this access | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:57 | ... ? ... : ... | -| cflow.cs:127:48:127:49 | "" | cflow.cs:127:48:127:49 | "" | -| cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | this access | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | enter set_Prop | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | enter ControlFlow | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:5:134:15 | enter ControlFlow | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:12:136:22 | enter ControlFlow | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:138:40:138:40 | enter + | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:33:144:35 | enter get_Item | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:56:144:58 | enter set_Item | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:156:17:156:22 | break; | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:164:17:164:22 | break; | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:156:17:156:22 | break; | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:164:17:164:22 | break; | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:156:17:156:22 | break; | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:164:17:164:22 | break; | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:152:18:152:18 | access to local variable x | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [true] | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:41:13:41:19 | After case ...: [match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:44:13:44:19 | After case ...: [match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:37:17:37:22 | Exit | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:41:13:41:19 | After case ...: [match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:44:13:44:19 | After case ...: [match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:47:13:47:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:62:13:62:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:70:18:70:18 | Entry | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:70:18:70:18 | Normal Exit | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:72:13:72:21 | After ... == ... [false] | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:72:13:72:21 | After ... == ... [true] | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:74:9:81:9 | After if (...) ... | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | Normal Exit | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:72:13:72:21 | After ... == ... [false] | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:74:9:81:9 | After if (...) ... | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:72:13:72:21 | After ... == ... [true] | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:74:9:81:9 | After if (...) ... | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:84:18:84:19 | Entry | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:9:87:33 | After if (...) ... | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:13:86:21 | After ... != ... [true] | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:13:86:37 | After ... && ... [false] | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:86:26:86:37 | After ... > ... [true] | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:9:87:33 | After if (...) ... | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:13:86:21 | After ... != ... [true] | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | After ... > ... [true] | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:86:26:86:37 | After ... > ... [true] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:90:18:90:19 | Exit | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:92:13:92:27 | After call to method Equals [true] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:90:18:90:19 | Exit | cflow.cs:90:18:90:19 | Exit | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:92:13:92:27 | After call to method Equals [true] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:96:13:96:25 | After ... != ... [false] | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:99:13:99:25 | After ... != ... [false] | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:102:13:102:29 | After ... != ... [false] | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:106:18:106:19 | Entry | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:108:13:108:21 | After ... != ... [false] | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:108:13:108:21 | After ... != ... [true] | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:108:13:108:21 | After ... != ... [false] | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:108:13:108:21 | After ... != ... [true] | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:119:20:119:21 | Entry | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:19:127:21 | Entry | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:32:127:44 | After ... == ... [false] | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:32:127:44 | After ... == ... [true] | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:32:127:57 | After ... ? ... : ... | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:32:127:44 | After ... == ... [false] | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:32:127:44 | After ... == ... [true] | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:32:127:57 | After ... ? ... : ... | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:62:127:64 | Entry | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | Entry | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:5:134:15 | Entry | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:12:136:22 | Entry | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:138:40:138:40 | Entry | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:33:144:35 | Entry | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:56:144:58 | Entry | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:173:32:173:41 | Before ... < ... | | cflow.cs:153:9:157:9 | {...} | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:156:17:156:22 | break; | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [true] | | cflow.cs:153:9:157:9 | {...} | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:164:17:164:22 | break; | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:156:17:156:22 | break; | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:156:17:156:22 | break; | cflow.cs:156:17:156:22 | break; | -| cflow.cs:156:17:156:22 | break; | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:156:17:156:22 | break; | cflow.cs:164:17:164:22 | break; | -| cflow.cs:156:17:156:22 | break; | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:156:17:156:22 | break; | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:156:17:156:22 | break; | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:156:17:156:22 | break; | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:156:17:156:22 | break; | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:146:10:146:12 | exit For (normal) | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:173:32:173:41 | Before ... < ... | | cflow.cs:160:9:165:9 | {...} | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:164:17:164:22 | break; | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:164:17:164:22 | break; | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:164:17:164:22 | break; | cflow.cs:164:17:164:22 | break; | -| cflow.cs:164:17:164:22 | break; | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:164:17:164:22 | break; | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:164:17:164:22 | break; | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:164:17:164:22 | break; | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:164:17:164:22 | break; | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:168:9:171:9 | {...} | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:174:9:176:9 | {...} | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:179:10:179:16 | enter Lambdas | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:28:181:37 | enter (...) => ... | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:28:182:61 | enter delegate(...) { ... } | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:193:10:193:17 | exit Booleans | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:195:39:195:43 | this access | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:197:35:197:39 | false | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:197:43:197:46 | true | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:198:37:198:41 | false | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:198:45:198:48 | true | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:13:200:32 | [true] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:13:200:62 | [true] ... \|\| ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:40:200:44 | this access | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:193:10:193:17 | exit Booleans | cflow.cs:193:10:193:17 | exit Booleans | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:193:10:193:17 | exit Booleans | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:13:200:32 | [true] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | this access | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:37:198:41 | false | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:45:198:48 | true | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:37:198:41 | false | -| cflow.cs:197:35:197:39 | false | cflow.cs:198:45:198:48 | true | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | true | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:37:198:41 | false | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:45:198:48 | true | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:198:37:198:41 | false | cflow.cs:198:37:198:41 | false | -| cflow.cs:198:45:198:48 | true | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:193:10:193:17 | exit Booleans | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:32 | [true] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:200:13:200:32 | [true] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:201:9:205:9 | {...} | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:208:10:208:11 | enter Do | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:208:10:208:11 | exit Do (normal) | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:211:9:221:9 | {...} | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:217:13:220:13 | if (...) ... | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:218:13:220:13 | {...} | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:221:18:221:22 | this access | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | exit Do (normal) | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:208:10:208:11 | exit Do (normal) | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:179:10:179:16 | Entry | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:28:181:37 | Entry | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:28:182:61 | Entry | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:185:10:185:18 | Entry | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:9:190:52 | After if (...) ... | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:18 | After ... == ... [false] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:9:190:52 | After if (...) ... | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:13:187:18 | After ... == ... [false] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:193:10:193:17 | Entry | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:193:10:193:17 | Exit | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:193:10:193:17 | Exit | cflow.cs:193:10:193:17 | Exit | +| cflow.cs:195:17:195:32 | After ... > ... [false] | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:193:10:193:17 | Exit | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:193:10:193:17 | Exit | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:208:10:208:11 | Entry | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:210:9:221:36 | After do ... while (...); | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:211:9:221:9 | {...} | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:210:9:221:36 | After do ... while (...); | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:210:9:221:36 | After do ... while (...); | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | | cflow.cs:211:9:221:9 | {...} | cflow.cs:211:9:221:9 | {...} | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:13:220:13 | if (...) ... | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:218:13:220:13 | {...} | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:221:18:221:22 | this access | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:13:220:13 | if (...) ... | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:218:13:220:13 | {...} | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:218:13:220:13 | {...} | -| cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:22 | this access | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:224:10:224:16 | enter Foreach | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:224:10:224:16 | exit Foreach (normal) | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:226:22:226:22 | String x | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | exit Foreach (normal) | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | exit Foreach (normal) | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:22:226:22 | String x | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:234:13:236:13 | {...} | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:221:18:221:34 | After ... < ... [false] | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:221:18:221:34 | After ... < ... [true] | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:224:10:224:16 | Entry | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:22:226:22 | String x | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | +| cflow.cs:226:22:226:22 | String x | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | | cflow.cs:226:22:226:22 | String x | cflow.cs:226:22:226:22 | String x | -| cflow.cs:226:22:226:22 | String x | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:226:22:226:22 | String x | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:226:22:226:22 | String x | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:240:10:240:13 | enter Goto | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:240:10:240:13 | exit Goto (normal) | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:255:13:255:20 | default: | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | exit Goto (normal) | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:240:10:240:13 | exit Goto (normal) | +| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:226:22:226:22 | String x | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:226:22:226:22 | String x | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:226:27:226:64 | After call to method Repeat [empty] | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:22:226:22 | String x | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:240:10:240:13 | Entry | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:242:5:242:9 | Label: | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:255:13:255:20 | After default: [match] | | cflow.cs:242:5:242:9 | Label: | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:255:13:255:20 | default: | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:240:10:240:13 | exit Goto (normal) | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:255:13:255:20 | default: | -| cflow.cs:244:31:244:41 | goto ...; | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:240:10:240:13 | exit Goto (normal) | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:255:13:255:20 | default: | -| cflow.cs:249:17:249:29 | goto default; | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:254:17:254:27 | goto ...; | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:255:13:255:20 | default: | cflow.cs:255:13:255:20 | default: | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | enter Yield | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | exit Yield | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | exit Yield (abnormal) | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | exit Yield (normal) | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:264:25:264:25 | access to local variable i | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:268:9:276:9 | try {...} ... | -| cflow.cs:261:49:261:53 | exit Yield | cflow.cs:261:49:261:53 | exit Yield | -| cflow.cs:261:49:261:53 | exit Yield (abnormal) | cflow.cs:261:49:261:53 | exit Yield (abnormal) | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | exit Yield (normal) | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | exit Yield | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | exit Yield (abnormal) | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | exit Yield (normal) | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:25:264:25 | access to local variable i | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:268:9:276:9 | try {...} ... | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:261:49:261:53 | exit Yield | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:261:49:261:53 | exit Yield (abnormal) | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:261:49:261:53 | exit Yield (normal) | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:268:9:276:9 | try {...} ... | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | enter ControlFlowSub | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:5:284:18 | enter ControlFlowSub | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:5:286:18 | enter ControlFlowSub | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | enter DelegateCall | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:12:291:12 | enter M | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | enter NegationInConstructor | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:298:10:298:10 | enter M | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:44:300:51 | [false] !... | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:44:300:51 | [true] !... | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:44:300:64 | ... && ... | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:300:44:300:51 | [false] !... | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:44:300:51 | [true] !... | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:64 | ... && ... | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | enter LambdaGetter | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:306:60:310:5 | enter (...) => ... | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | enter get__getter | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Entry | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Exceptional Exit | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Exit | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Normal Exit | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:264:25:264:30 | Before ... < ... | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:261:49:261:53 | Exceptional Exit | cflow.cs:261:49:261:53 | Exceptional Exit | +| cflow.cs:261:49:261:53 | Exit | cflow.cs:261:49:261:53 | Exit | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Normal Exit | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:261:49:261:53 | Exceptional Exit | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:261:49:261:53 | Exit | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:261:49:261:53 | Normal Exit | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Exceptional Exit | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Exit | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Normal Exit | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | Before ... < ... | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | Entry | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:5:284:18 | Entry | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:5:286:18 | Entry | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | Entry | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:12:291:12 | Entry | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | Entry | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:298:10:298:10 | Entry | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:300:44:300:64 | After ... && ... | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:300:46:300:50 | After ... > ... [false] | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:300:46:300:50 | After ... > ... [true] | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:44:300:64 | After ... && ... | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:300:46:300:50 | After ... > ... [false] | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:300:46:300:50 | After ... > ... [true] | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | Entry | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | Entry | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | Entry | postBlockDominance -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:23:5:25 | enter get_Item | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:33:5:35 | enter set_Item | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:32:7:34 | enter add_Event | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:40:7:45 | enter remove_Event | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | enter M1 | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | enter M2 | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:28:10:28:11 | enter M3 | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:35:10:35:11 | enter M4 | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | enter M5 | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | enter M6 | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | enter M7 | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | enter M8 | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:66:10:66:11 | enter M9 | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:11:3:12 | enter M1 | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:12:5:13 | enter M2 | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:11:7:12 | enter M3 | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:12:9:13 | enter M4 | -| 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: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: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: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: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: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: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: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: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: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: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: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) | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:84:10:84:12 | enter M12 | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | -| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 (...) => ... | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | enter + | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | enter SetParamSingle | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | enter SetParamMulti | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | enter M2 | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | enter BreakInTry | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | enter M1 | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | enter M1 | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:14:9:17:9 | {...} | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:16:17:16:17 | ; | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | enter M1 | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | Entry | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:23:5:25 | Entry | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:33:5:35 | Entry | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:32:7:34 | Entry | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:40:7:45 | Entry | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:10:10:10:11 | Entry | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:19:10:19:11 | Entry | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:28:10:28:11 | Entry | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:35:10:35:11 | Entry | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:42:10:42:11 | Entry | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:49:10:49:11 | Entry | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:56:10:56:11 | Entry | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:61:10:61:11 | Entry | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:66:10:66:11 | Entry | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | Entry | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:11:3:12 | Entry | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:12:5:13 | Entry | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:11:7:12 | Entry | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:12:9:13 | Entry | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | Entry | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:7:10:7:11 | Entry | +| Assert.cs:7:10:7:11 | Exceptional Exit | Assert.cs:7:10:7:11 | Exceptional Exit | +| Assert.cs:7:10:7:11 | Exit | Assert.cs:7:10:7:11 | Exit | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:7:10:7:11 | Entry | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:20:9:32 | After ... ? ... : ... | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:7:10:7:11 | Entry | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:9:20:9:20 | After access to parameter b [false] | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:9:20:9:20 | After access to parameter b [true] | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:9:20:9:32 | After ... ? ... : ... | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:10:9:10:31 | After call to method Assert | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:14:10:14:11 | Entry | +| Assert.cs:14:10:14:11 | Exceptional Exit | Assert.cs:14:10:14:11 | Exceptional Exit | +| Assert.cs:14:10:14:11 | Exit | Assert.cs:14:10:14:11 | Exit | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:14:10:14:11 | Entry | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:20:16:32 | After ... ? ... : ... | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:14:10:14:11 | Entry | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:16:20:16:20 | After access to parameter b [false] | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:16:20:16:20 | After access to parameter b [true] | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:16:20:16:32 | After ... ? ... : ... | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:17:9:17:24 | After call to method IsNull | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:21:10:21:11 | Entry | +| Assert.cs:21:10:21:11 | Exceptional Exit | Assert.cs:21:10:21:11 | Exceptional Exit | +| Assert.cs:21:10:21:11 | Exit | Assert.cs:21:10:21:11 | Exit | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:21:10:21:11 | Entry | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:20:23:32 | After ... ? ... : ... | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:21:10:21:11 | Entry | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:23:20:23:20 | After access to parameter b [false] | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:23:20:23:20 | After access to parameter b [true] | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:23:20:23:32 | After ... ? ... : ... | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:24:9:24:27 | After call to method IsNotNull | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:28:10:28:11 | Entry | +| Assert.cs:28:10:28:11 | Exceptional Exit | Assert.cs:28:10:28:11 | Exceptional Exit | +| Assert.cs:28:10:28:11 | Exit | Assert.cs:28:10:28:11 | Exit | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:28:10:28:11 | Entry | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:20:30:32 | After ... ? ... : ... | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:28:10:28:11 | Entry | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:30:20:30:20 | After access to parameter b [false] | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:30:20:30:20 | After access to parameter b [true] | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:30:20:30:32 | After ... ? ... : ... | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:31:9:31:32 | After call to method IsTrue | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:35:10:35:11 | Entry | +| Assert.cs:35:10:35:11 | Exceptional Exit | Assert.cs:35:10:35:11 | Exceptional Exit | +| Assert.cs:35:10:35:11 | Exit | Assert.cs:35:10:35:11 | Exit | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:35:10:35:11 | Entry | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:20:37:32 | After ... ? ... : ... | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:35:10:35:11 | Entry | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:37:20:37:20 | After access to parameter b [false] | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:37:20:37:20 | After access to parameter b [true] | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:37:20:37:32 | After ... ? ... : ... | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:38:9:38:32 | After call to method IsTrue | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:42:10:42:11 | Entry | +| Assert.cs:42:10:42:11 | Exceptional Exit | Assert.cs:42:10:42:11 | Exceptional Exit | +| Assert.cs:42:10:42:11 | Exit | Assert.cs:42:10:42:11 | Exit | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:42:10:42:11 | Entry | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:20:44:32 | After ... ? ... : ... | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:42:10:42:11 | Entry | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:44:20:44:20 | After access to parameter b [false] | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:44:20:44:20 | After access to parameter b [true] | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:44:20:44:32 | After ... ? ... : ... | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:45:9:45:33 | After call to method IsFalse | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:49:10:49:11 | Entry | +| Assert.cs:49:10:49:11 | Exceptional Exit | Assert.cs:49:10:49:11 | Exceptional Exit | +| Assert.cs:49:10:49:11 | Exit | Assert.cs:49:10:49:11 | Exit | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:49:10:49:11 | Entry | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:20:51:32 | After ... ? ... : ... | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:49:10:49:11 | Entry | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:51:20:51:20 | After access to parameter b [false] | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:51:20:51:20 | After access to parameter b [true] | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:51:20:51:32 | After ... ? ... : ... | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:52:9:52:33 | After call to method IsFalse | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:56:10:56:11 | Entry | +| Assert.cs:56:10:56:11 | Exceptional Exit | Assert.cs:56:10:56:11 | Exceptional Exit | +| Assert.cs:56:10:56:11 | Exit | Assert.cs:56:10:56:11 | Exit | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:56:10:56:11 | Entry | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:20:58:32 | After ... ? ... : ... | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:56:10:56:11 | Entry | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:58:20:58:32 | After ... ? ... : ... | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:9:59:37 | After call to method IsTrue | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:23:59:36 | After ... && ... | +| Assert.cs:59:23:59:31 | After ... != ... [false] | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:56:10:56:11 | Entry | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:58:20:58:20 | After access to parameter b [false] | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:58:20:58:20 | After access to parameter b [true] | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:58:20:58:32 | After ... ? ... : ... | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:23:59:31 | After ... != ... [false] | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:23:59:31 | After ... != ... [true] | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:59:23:59:36 | After ... && ... | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:63:10:63:11 | Entry | +| Assert.cs:63:10:63:11 | Exceptional Exit | Assert.cs:63:10:63:11 | Exceptional Exit | +| Assert.cs:63:10:63:11 | Exit | Assert.cs:63:10:63:11 | Exit | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:63:10:63:11 | Entry | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:20:65:32 | After ... ? ... : ... | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:63:10:63:11 | Entry | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:65:20:65:32 | After ... ? ... : ... | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:9:66:38 | After call to method IsFalse | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:24:66:37 | After ... \|\| ... | +| Assert.cs:66:24:66:32 | After ... == ... [false] | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:66:24:66:32 | After ... == ... [true] | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:63:10:63:11 | Entry | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:65:20:65:20 | After access to parameter b [false] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:65:20:65:20 | After access to parameter b [true] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:65:20:65:32 | After ... ? ... : ... | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:24:66:32 | After ... == ... [false] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:24:66:32 | After ... == ... [true] | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:66:24:66:37 | After ... \|\| ... | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:70:10:70:12 | Entry | +| Assert.cs:70:10:70:12 | Exceptional Exit | Assert.cs:70:10:70:12 | Exceptional Exit | +| Assert.cs:70:10:70:12 | Exit | Assert.cs:70:10:70:12 | Exit | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:70:10:70:12 | Entry | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:20:72:32 | After ... ? ... : ... | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:70:10:70:12 | Entry | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:72:20:72:32 | After ... ? ... : ... | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:9:73:37 | After call to method IsTrue | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:23:73:36 | After ... && ... | +| Assert.cs:73:23:73:31 | After ... == ... [false] | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:70:10:70:12 | Entry | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:72:20:72:20 | After access to parameter b [false] | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:72:20:72:20 | After access to parameter b [true] | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:72:20:72:32 | After ... ? ... : ... | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:23:73:31 | After ... == ... [false] | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:23:73:31 | After ... == ... [true] | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:73:23:73:36 | After ... && ... | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:77:10:77:12 | Entry | +| Assert.cs:77:10:77:12 | Exceptional Exit | Assert.cs:77:10:77:12 | Exceptional Exit | +| Assert.cs:77:10:77:12 | Exit | Assert.cs:77:10:77:12 | Exit | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:77:10:77:12 | Entry | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:20:79:32 | After ... ? ... : ... | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:77:10:77:12 | Entry | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:79:20:79:32 | After ... ? ... : ... | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:9:80:38 | After call to method IsFalse | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:24:80:37 | After ... \|\| ... | +| Assert.cs:80:24:80:32 | After ... != ... [false] | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:80:24:80:32 | After ... != ... [true] | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:77:10:77:12 | Entry | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:79:20:79:20 | After access to parameter b [false] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:79:20:79:20 | After access to parameter b [true] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:79:20:79:32 | After ... ? ... : ... | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:24:80:32 | After ... != ... [false] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:24:80:32 | After ... != ... [true] | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:80:24:80:37 | After ... \|\| ... | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:84:10:84:12 | Exceptional Exit | Assert.cs:84:10:84:12 | Exceptional Exit | +| Assert.cs:84:10:84:12 | Exit | Assert.cs:84:10:84:12 | Exit | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:115:23:115:31 | After ... != ... [false] | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:119:24:119:32 | After ... == ... [false] | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:119:24:119:32 | After ... == ... [true] | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:123:23:123:31 | After ... == ... [false] | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:127:24:127:32 | After ... != ... [false] | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:127:24:127:32 | After ... != ... [true] | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:84:10:84:12 | Entry | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:86:20:86:20 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:86:20:86:20 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:86:20:86:32 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:87:9:87:31 | After call to method Assert | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:90:13:90:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:90:13:90:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:90:13:90:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:91:9:91:24 | After call to method IsNull | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:94:13:94:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:94:13:94:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:94:13:94:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:95:9:95:27 | After call to method IsNotNull | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:98:13:98:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:98:13:98:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:98:13:98:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:99:9:99:32 | After call to method IsTrue | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:102:13:102:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:102:13:102:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:102:13:102:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:103:9:103:32 | After call to method IsTrue | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:106:13:106:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:106:13:106:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:106:13:106:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:107:9:107:33 | After call to method IsFalse | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:110:13:110:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:110:13:110:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:110:13:110:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:111:9:111:33 | After call to method IsFalse | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:114:13:114:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:114:13:114:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:114:13:114:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:115:9:115:37 | After call to method IsTrue | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:115:23:115:31 | After ... != ... [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:115:23:115:31 | After ... != ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:115:23:115:36 | After ... && ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:118:13:118:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:118:13:118:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:118:13:118:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:119:9:119:39 | After call to method IsFalse | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:119:24:119:32 | After ... == ... [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:119:24:119:32 | After ... == ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:119:24:119:38 | After ... \|\| ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:122:13:122:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:122:13:122:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:122:13:122:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:123:9:123:37 | After call to method IsTrue | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:123:23:123:31 | After ... == ... [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:123:23:123:31 | After ... == ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:123:23:123:36 | After ... && ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:126:13:126:13 | After access to parameter b [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:126:13:126:13 | After access to parameter b [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:126:13:126:25 | After ... ? ... : ... | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:24:127:32 | After ... != ... [false] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:24:127:32 | After ... != ... [true] | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:127:24:127:38 | After ... \|\| ... | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:131:18:131:32 | Entry | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:138:10:138:12 | Entry | +| Assert.cs:138:10:138:12 | Exceptional Exit | Assert.cs:138:10:138:12 | Exceptional Exit | +| Assert.cs:138:10:138:12 | Exit | Assert.cs:138:10:138:12 | Exit | +| Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | Assert.cs:138:10:138:12 | Entry | +| Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Entry | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:3:10:3:10 | Entry | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:18:14:35 | Entry | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:17:40:17:40 | Entry | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:27:10:27:23 | Entry | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:32:10:32:22 | Entry | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:38:10:38:11 | Entry | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | Entry | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:3:10:3:11 | Entry | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | Entry | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:3:10:3:11 | enter M1 | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:7:26:7:28 | String arg | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:10:21:10:26 | break; | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:14:9:17:9 | {...} | -| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:16:17:16:17 | ; | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:20:10:20:11 | enter M2 | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | enter M2 | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | +| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:3:10:3:11 | Entry | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:7:26:7:28 | String arg | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:15:13:16:17 | After if (...) ... | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | +| BreakInTry.cs:15:17:15:28 | After ... == ... [false] | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:20:10:20:11 | Entry | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | Entry | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:30:13:33:13 | {...} | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:27:21:27:26 | break; | +| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:24:13:33:13 | After try {...} ... | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:27:21:27:26 | break; | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | enter M2 | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:22:22:22:24 | String arg | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:27:21:27:26 | break; | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:30:13:33:13 | {...} | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:32:21:32:21 | ; | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:35:7:35:7 | ; | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:38:10:38:11 | enter M3 | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | enter M3 | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:46:9:52:9 | {...} | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:53:7:53:7 | ; | -| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:38:10:38:11 | enter M3 | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:43:17:43:23 | return ...; | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:22:22:22:24 | String arg | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:30:13:33:13 | {...} | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:31:17:32:21 | After if (...) ... | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:31:21:31:32 | After ... == ... [false] | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:38:10:38:11 | Entry | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | Entry | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | Normal Exit | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:46:9:52:9 | {...} | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:47:26:47:28 | String arg | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:40:9:52:9 | After try {...} ... | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:38:10:38:11 | Entry | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:46:9:52:9 | {...} | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | enter M3 | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:43:17:43:23 | return ...; | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:46:9:52:9 | {...} | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | Entry | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:46:9:52:9 | {...} | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:47:26:47:28 | String arg | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:50:21:50:26 | break; | -| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:53:7:53:7 | ; | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:56:10:56:11 | enter M4 | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | enter M4 | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:64:9:70:9 | {...} | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:65:26:65:28 | String arg | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:68:21:68:26 | break; | -| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:56:10:56:11 | enter M4 | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:61:17:61:23 | return ...; | +| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:56:10:56:11 | Entry | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | Entry | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | Normal Exit | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:64:9:70:9 | {...} | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:58:9:70:9 | After try {...} ... | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:56:10:56:11 | Entry | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:64:9:70:9 | {...} | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | enter M4 | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:61:17:61:23 | return ...; | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:64:9:70:9 | {...} | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | Entry | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:64:9:70:9 | {...} | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:65:26:65:28 | String arg | -| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:68:21:68:26 | break; | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | enter Default | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | enter Typeof | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:20:12:20:17 | enter Nameof | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:28:10:28:10 | enter M | -| CompileTimeOperators.cs:28:10:28:10 | exit M | CompileTimeOperators.cs:28:10:28:10 | exit M | -| CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:9:39:34 | ...; | -| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:28:10:28:10 | enter M | -| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:39:9:39:34 | ...; | +| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | Entry | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:5:9:5:15 | Entry | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:10:9:10:14 | Entry | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:15:10:15:15 | Entry | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:20:12:20:17 | Entry | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | Entry | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:28:10:28:10 | Entry | +| CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | +| CompileTimeOperators.cs:28:10:28:10 | Exit | CompileTimeOperators.cs:28:10:28:10 | Exit | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | +| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:28:10:28:10 | Entry | +| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | | CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:40:9:40:11 | End: | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:12:3:13 | enter M1 | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | enter M1 | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:26:3:38 | call to method ToString | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | call to method ToString | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:10:5:11 | enter M2 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | enter M2 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:26:5:34 | access to property Length | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:34 | access to property Length | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:10:7:11 | enter M3 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | enter M3 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:38:7:55 | access to property Length | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:38:7:55 | access to property Length | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | -| ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | -| ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:9:9:10 | enter M4 | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | access to property Length | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | enter M4 | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:33 | access to property Length | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:38:9:38 | 0 | -| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:38:9:38 | 0 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:11:9:11:10 | enter M5 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | enter M5 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:13:13:13:21 | access to property Length | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:13:25:13:25 | 0 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:14:20:14:20 | 0 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:16:20:16:20 | 1 | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:21 | access to property Length | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:11:9:11:10 | enter M5 | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:13:13:21 | access to property Length | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | 0 | -| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:20:14:20 | 0 | -| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:20:16:20 | 1 | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:12:19:13 | enter M6 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | enter M6 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | -| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:21:10:21:11 | enter M7 | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:21:10:21:11 | enter M7 | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:21:10:21:11 | enter M7 | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:17:24:37 | call to method ToString | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:21:10:21:11 | enter M7 | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:24:17:24:37 | call to method ToString | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:10:30:12 | enter Out | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:32:10:32:11 | enter M8 | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | enter M8 | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | enter get_Item | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | enter set_Item | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:46:10:46:11 | enter M9 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:48:24:48:25 | 42 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:49:9:49:33 | ...; | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:49:26:49:32 | "Hello" | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:50:9:50:24 | ...; | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:50:13:50:13 | 0 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:51:9:51:16 | access to property Prop | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:51:9:51:32 | ...; | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:51:30:51:31 | 84 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:52:9:52:16 | access to property Prop | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:52:9:52:39 | ...; | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:52:32:52:38 | "World" | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:53:9:53:20 | access to field IntField | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:53:9:53:26 | ...; | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:53:25:53:25 | 1 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | enter Conditions | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | enter IncrOrDecr | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | enter IncrOrDecr | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:6:13:6:16 | ...; | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:7:9:8:16 | if (...) ... | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:16 | ...; | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:3:10:3:19 | enter IncrOrDecr | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:6:13:6:16 | ...; | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:9:8:16 | if (...) ... | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:7:13:7:16 | [false] !... | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:7:13:7:16 | [true] !... | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:16 | ...; | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:11:9:11:10 | enter M1 | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:16 | ...; | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:11:9:11:10 | enter M1 | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:15:13:15:16 | ...; | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:9:18:20 | if (...) ... | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:11:9:11:10 | enter M1 | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:15:13:15:16 | ...; | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:16:9:18:20 | if (...) ... | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:17:17:17:18 | [false] !... | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:17:17:17:18 | [true] !... | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:18:17:18:20 | ...; | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:16:19:16 | access to local variable x | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:22:9:22:10 | enter M2 | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:20 | ...; | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:22:9:22:10 | enter M2 | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:27:17:27:20 | ...; | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:9:29:16 | if (...) ... | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:16 | ...; | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:22:9:22:10 | enter M2 | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:26:13:27:20 | if (...) ... | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:27:17:27:20 | ...; | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:28:9:29:16 | if (...) ... | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:29:13:29:16 | ...; | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:16:30:16 | access to local variable x | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:33:9:33:10 | enter M3 | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:33:9:33:10 | enter M3 | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:33:9:33:10 | enter M3 | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:41:9:42:16 | if (...) ... | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:33:9:33:10 | enter M3 | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:38:13:38:20 | ...; | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:39:9:40:16 | if (...) ... | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:40:13:40:16 | ...; | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:41:9:42:16 | if (...) ... | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:42:13:42:16 | ...; | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:16:43:16 | access to local variable x | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:46:9:46:10 | enter M4 | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:46:9:46:10 | enter M4 | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:16 | access to parameter x | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:46:9:46:10 | enter M4 | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:49:16:49:16 | access to parameter x | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:50:9:53:9 | {...} | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:52:17:52:20 | ...; | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:16:54:16 | access to local variable y | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:57:9:57:10 | enter M5 | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:57:9:57:10 | enter M5 | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:16 | access to parameter x | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:57:9:57:10 | enter M5 | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:60:16:60:16 | access to parameter x | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:9:66:16 | if (...) ... | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:57:9:57:10 | enter M5 | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:60:16:60:16 | access to parameter x | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:61:9:64:9 | {...} | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:63:17:63:20 | ...; | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:65:9:66:16 | if (...) ... | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:66:13:66:16 | ...; | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:16:67:16 | access to local variable y | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:70:9:70:10 | enter M6 | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | enter M6 | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:79:17:79:26 | ...; | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | Entry | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:12:3:13 | Entry | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:12:3:13 | Entry | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:10:5:11 | Entry | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:10:5:11 | Entry | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:26:5:34 | After access to property Length | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:10:7:11 | Entry | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:10:7:11 | Entry | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:38:7:55 | After access to property Length | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:9:9:10 | Entry | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:9:9:10 | Entry | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:11:9:11:10 | Entry | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | Entry | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | Normal Exit | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:13:13:13:21 | After access to property Length | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:11:9:11:10 | Entry | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:13:13:21 | After access to property Length | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:12:19:13 | Entry | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | Entry | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:21:10:21:11 | Entry | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:21:10:21:11 | Entry | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:17:23:38 | After access to property Length | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:21:10:21:11 | Entry | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:23:17:23:38 | After access to property Length | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:25:13:25:14 | After "" [null] | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:21:10:21:11 | Entry | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:23:17:23:38 | After access to property Length | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:14 | After "" [null] | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:10:30:12 | Entry | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:32:10:32:11 | Entry | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:32:10:32:11 | Entry | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:24 | After call to method Out | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:9:42:11 | Entry | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:9:43:11 | Entry | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:46:10:46:11 | Entry | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:26:60:38 | Entry | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Entry | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:3:10:3:19 | Entry | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:3:10:3:19 | Entry | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:5:9:6:16 | After if (...) ... | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | +| Conditions.cs:5:13:5:15 | After access to parameter inc [false] | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:3:10:3:19 | Entry | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:5:9:6:16 | After if (...) ... | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:7:9:8:16 | After if (...) ... | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:11:9:11:10 | Entry | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:11:9:11:10 | Entry | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:14:9:15:16 | After if (...) ... | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:14:13:14:13 | After access to parameter b [true] | +| Conditions.cs:14:13:14:13 | After access to parameter b [false] | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:14:13:14:13 | After access to parameter b [true] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:11:9:11:10 | Entry | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:14:9:15:16 | After if (...) ... | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:14:13:14:13 | After access to parameter b [false] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:14:13:14:13 | After access to parameter b [true] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:16:9:18:20 | After if (...) ... | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:16:13:16:17 | After ... > ... [false] | Conditions.cs:16:13:16:17 | After ... > ... [false] | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:17:13:18:20 | After if (...) ... | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:17:18:17:18 | After access to parameter b [false] | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:17:18:17:18 | After access to parameter b [true] | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:22:9:22:10 | Entry | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:22:9:22:10 | Entry | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:25:9:27:20 | After if (...) ... | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:22:9:22:10 | Entry | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:25:9:27:20 | After if (...) ... | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:26:13:27:20 | After if (...) ... | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:28:9:29:16 | After if (...) ... | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:33:9:33:10 | Entry | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:33:9:33:10 | Entry | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:37:9:38:20 | After if (...) ... | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:33:9:33:10 | Entry | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:37:9:38:20 | After if (...) ... | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:39:9:40:16 | After if (...) ... | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:33:9:33:10 | Entry | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:37:9:38:20 | After if (...) ... | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:39:9:40:16 | After if (...) ... | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:41:9:42:16 | After if (...) ... | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:46:9:46:10 | Entry | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:46:9:46:10 | Entry | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:46:9:46:10 | Entry | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:16:49:22 | After ... > ... [false] | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:51:13:52:20 | After if (...) ... | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:51:17:51:17 | After access to parameter b [false] | Conditions.cs:51:17:51:17 | After access to parameter b [false] | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:51:17:51:17 | After access to parameter b [true] | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:57:9:57:10 | Entry | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:57:9:57:10 | Entry | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:57:9:57:10 | Entry | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:62:17:62:17 | After access to parameter b [false] | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:57:9:57:10 | Entry | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:62:13:63:20 | After if (...) ... | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [false] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:62:17:62:17 | After access to parameter b [true] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:65:9:66:16 | After if (...) ... | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:65:13:65:13 | After access to parameter b [false] | Conditions.cs:65:13:65:13 | After access to parameter b [false] | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:65:13:65:13 | After access to parameter b [true] | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:70:9:70:10 | Entry | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | Entry | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:70:9:70:10 | enter M6 | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:9:82:16 | if (...) ... | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:70:9:70:10 | enter M6 | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:74:22:74:22 | String _ | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:77:17:77:20 | ...; | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:78:13:79:26 | if (...) ... | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:79:17:79:26 | ...; | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:81:9:82:16 | if (...) ... | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:82:13:82:16 | ...; | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:16:83:16 | access to local variable x | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:86:9:86:10 | enter M7 | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | enter M7 | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:97:17:97:20 | ...; | +| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:76:17:76:17 | After access to local variable b [false] | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:78:17:78:21 | After ... > ... [false] | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:70:9:70:10 | Entry | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:74:22:74:22 | String _ | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:76:13:77:20 | After if (...) ... | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [false] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:76:17:76:17 | After access to local variable b [true] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:78:13:79:26 | After if (...) ... | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:81:9:82:16 | After if (...) ... | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:81:13:81:13 | After access to local variable b [true] | +| Conditions.cs:81:13:81:13 | After access to local variable b [false] | Conditions.cs:81:13:81:13 | After access to local variable b [false] | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:81:13:81:13 | After access to local variable b [true] | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:86:9:86:10 | Entry | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | Entry | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [true] | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:86:9:86:10 | enter M7 | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:90:22:90:22 | String _ | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:93:17:93:20 | ...; | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:94:13:95:26 | if (...) ... | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:95:17:95:26 | ...; | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:96:13:97:20 | if (...) ... | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:97:17:97:20 | ...; | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:16:99:16 | access to local variable x | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:102:12:102:13 | enter M8 | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:20 | ...; | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:102:12:102:13 | enter M8 | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:106:13:106:20 | ...; | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:9:109:24 | if (...) ... | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:102:12:102:13 | enter M8 | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:106:13:106:20 | ...; | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:107:9:109:24 | if (...) ... | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:108:17:108:18 | [false] !... | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:108:17:108:18 | [true] !... | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:109:17:109:24 | ...; | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:16:110:16 | access to local variable x | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:113:10:113:11 | enter M9 | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | enter M9 | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | exit M9 (normal) | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:116:25:116:25 | access to local variable i | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:113:10:113:11 | enter M9 | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:25:116:25 | access to local variable i | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:42 | access to local variable i | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:117:9:123:9 | {...} | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:119:17:119:21 | [false] !... | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:119:17:119:21 | [true] !... | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:120:17:120:23 | ...; | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:13:122:25 | if (...) ... | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:25 | ...; | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:129:10:129:12 | enter M10 | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | true | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:132:9:140:9 | {...} | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:134:13:139:13 | {...} | -| Conditions.cs:136:17:138:17 | {...} | Conditions.cs:136:17:138:17 | {...} | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:143:10:143:12 | enter M11 | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | enter M11 | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | exit M11 (normal) | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:145:17:145:29 | ... ? ... : ... | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:147:13:147:49 | ...; | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:149:13:149:49 | ...; | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:143:10:143:12 | enter M11 | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:29 | ... ? ... : ... | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:21:145:23 | "a" | -| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:27:145:29 | "b" | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:13:147:49 | ...; | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:13:149:49 | ...; | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | enter ExitMethods | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:8:10:8:11 | enter M1 | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:14:10:14:11 | enter M2 | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:20:10:20:11 | enter M3 | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:26:10:26:11 | enter M4 | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:32:10:32:11 | enter M5 | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:38:10:38:11 | enter M6 | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | enter M6 | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | exit M6 (normal) | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:45:9:47:9 | {...} | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:45:9:47:9 | {...} | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:49:9:51:9 | {...} | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:54:10:54:11 | enter M7 | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:60:10:60:11 | enter M8 | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:19:69:33 | object creation of type Exception | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:72:17:72:27 | enter ErrorAlways | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:19:75:33 | object creation of type Exception | -| ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:41:77:43 | "b" | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:87:10:87:13 | enter Exit | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:92:10:92:18 | enter ExitInTry | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:105:10:105:24 | enter ApplicationExit | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:110:13:110:21 | enter ThrowExpr | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr | ExitMethods.cs:110:13:110:21 | exit ThrowExpr | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:110:13:110:21 | enter ThrowExpr | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | 1 | -| ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:69:112:75 | "input" | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:34:117:34 | 0 | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:38:117:38 | 1 | -| 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: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: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: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 | ...; | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:53 | ...; | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:5:23:5:29 | enter ToInt32 | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:10:24:10:29 | enter ToBool | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:23:15:33 | enter CallToInt32 | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:20:17:20:20 | enter Main | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | enter Finally | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | enter M1 | -| Finally.cs:7:10:7:11 | exit M1 | Finally.cs:7:10:7:11 | exit M1 | -| Finally.cs:7:10:7:11 | exit M1 (abnormal) | Finally.cs:7:10:7:11 | exit M1 (abnormal) | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | enter M1 | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | exit M1 (normal) | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | enter M2 | -| Finally.cs:19:10:19:11 | exit M2 | Finally.cs:19:10:19:11 | exit M2 | -| Finally.cs:19:10:19:11 | exit M2 (abnormal) | Finally.cs:19:10:19:11 | exit M2 (abnormal) | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | enter M2 | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | exit M2 (normal) | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:24:13:24:19 | return ...; | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:26:9:29:9 | catch (...) {...} | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:30:9:40:9 | catch (...) {...} | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:49:9:51:9 | {...} | -| Finally.cs:24:13:24:19 | return ...; | Finally.cs:24:13:24:19 | return ...; | +| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:92:17:92:17 | After access to local variable b [false] | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:94:17:94:21 | After ... > ... [false] | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:90:22:90:22 | String _ | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:92:13:93:20 | After if (...) ... | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [false] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:92:17:92:17 | After access to local variable b [true] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:94:13:95:26 | After if (...) ... | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:96:13:97:20 | After if (...) ... | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:96:17:96:17 | After access to local variable b [false] | Conditions.cs:96:17:96:17 | After access to local variable b [false] | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:96:17:96:17 | After access to local variable b [true] | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:102:12:102:13 | Entry | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:102:12:102:13 | Entry | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:105:9:106:20 | After if (...) ... | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:105:13:105:13 | After access to parameter b [true] | +| Conditions.cs:105:13:105:13 | After access to parameter b [false] | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:105:13:105:13 | After access to parameter b [true] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:102:12:102:13 | Entry | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:105:9:106:20 | After if (...) ... | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:105:13:105:13 | After access to parameter b [false] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:105:13:105:13 | After access to parameter b [true] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:107:9:109:24 | After if (...) ... | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:107:13:107:24 | After ... > ... [false] | Conditions.cs:107:13:107:24 | After ... > ... [false] | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:108:13:109:24 | After if (...) ... | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:108:18:108:18 | After access to parameter b [false] | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:108:18:108:18 | After access to parameter b [true] | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:113:10:113:11 | Entry | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:113:10:113:11 | Entry | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:25:116:39 | After ... < ... [false] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:25:116:39 | Before ... < ... | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:113:10:113:11 | Entry | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:39 | Before ... < ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:119:13:120:23 | After if (...) ... | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:119:18:119:21 | After access to local variable last [false] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:119:18:119:21 | After access to local variable last [true] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:121:13:122:25 | After if (...) ... | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:121:17:121:20 | After access to local variable last [false] | Conditions.cs:121:17:121:20 | After access to local variable last [false] | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:121:17:121:20 | After access to local variable last [true] | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:129:10:129:12 | Entry | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:133:13:139:13 | After if (...) ... | +| Conditions.cs:133:17:133:22 | After access to field Field1 [false] | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:135:17:138:17 | After if (...) ... | +| Conditions.cs:135:21:135:26 | After access to field Field2 [false] | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:143:10:143:12 | Entry | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:143:10:143:12 | Entry | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:17:145:29 | After ... ? ... : ... | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:143:10:143:12 | Entry | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:145:17:145:17 | After access to parameter b [false] | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:145:17:145:17 | After access to parameter b [true] | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:145:17:145:29 | After ... ? ... : ... | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:146:9:149:49 | After if (...) ... | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:146:13:146:13 | After access to parameter b [false] | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:146:13:146:13 | After access to parameter b [true] | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | Entry | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:8:10:8:11 | Entry | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:14:10:14:11 | Entry | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:20:10:20:11 | Entry | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:26:10:26:11 | Entry | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:32:10:32:11 | Entry | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:38:10:38:11 | Entry | +| ExitMethods.cs:38:10:38:11 | Exit | ExitMethods.cs:38:10:38:11 | Exit | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | Entry | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | Normal Exit | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:54:10:54:11 | Entry | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:60:10:60:11 | Entry | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:66:17:66:26 | Entry | +| ExitMethods.cs:66:17:66:26 | Exit | ExitMethods.cs:66:17:66:26 | Exit | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:66:17:66:26 | Entry | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:72:17:72:27 | Entry | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | Exceptional Exit | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:80:17:80:28 | Entry | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:17:85:28 | Entry | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:87:10:87:13 | Entry | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:92:10:92:18 | Entry | +| ExitMethods.cs:92:10:92:18 | Exceptional Exit | ExitMethods.cs:92:10:92:18 | Exceptional Exit | +| ExitMethods.cs:92:10:92:18 | Exit | ExitMethods.cs:92:10:92:18 | Exit | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:92:10:92:18 | Entry | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:94:9:102:9 | After try {...} ... | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:105:10:105:24 | Entry | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:110:13:110:21 | Entry | +| ExitMethods.cs:110:13:110:21 | Exit | ExitMethods.cs:110:13:110:21 | Exit | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:110:13:110:21 | Entry | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:115:16:115:34 | Entry | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:115:16:115:34 | Entry | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | +| ExitMethods.cs:120:17:120:32 | Entry | ExitMethods.cs:120:17:120:32 | Entry | +| ExitMethods.cs:126:17:126:33 | Entry | ExitMethods.cs:126:17:126:33 | Entry | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:10:132:20 | Entry | +| ExitMethods.cs:132:10:132:20 | Exceptional Exit | ExitMethods.cs:132:10:132:20 | Exceptional Exit | +| ExitMethods.cs:132:10:132:20 | Exit | ExitMethods.cs:132:10:132:20 | Exit | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:10:132:20 | Entry | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:33:132:49 | After call to method IsFalse | +| ExitMethods.cs:134:17:134:33 | Entry | ExitMethods.cs:134:17:134:33 | Entry | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:140:17:140:42 | Entry | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | Exceptional Exit | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:5:23:5:29 | Entry | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:10:24:10:29 | Entry | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:23:15:33 | Entry | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:20:17:20:20 | Entry | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Entry | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:7:10:7:11 | Entry | +| Finally.cs:7:10:7:11 | Exceptional Exit | Finally.cs:7:10:7:11 | Exceptional Exit | +| Finally.cs:7:10:7:11 | Exit | Finally.cs:7:10:7:11 | Exit | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:7:10:7:11 | Entry | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:9:9:16:9 | After try {...} ... | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:11:13:11:37 | After call to method WriteLine | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:14:9:16:9 | {...} | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:11:13:11:37 | After call to method WriteLine | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:7:10:7:11 | Entry | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:11:13:11:37 | After call to method WriteLine | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:14:9:16:9 | {...} | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | Entry | +| Finally.cs:19:10:19:11 | Exceptional Exit | Finally.cs:19:10:19:11 | Exceptional Exit | +| Finally.cs:19:10:19:11 | Exit | Finally.cs:19:10:19:11 | Exit | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | Entry | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | Normal Exit | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:21:9:51:9 | After try {...} ... | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:23:13:23:37 | After call to method WriteLine | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:26:9:29:9 | catch (...) {...} | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:49:9:51:9 | {...} | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:21:9:51:9 | After try {...} ... | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:23:13:23:37 | After call to method WriteLine | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | | Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | catch (...) {...} | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:42:9:43:9 | {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:44:9:47:9 | catch {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | enter M2 | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:24:13:24:19 | return ...; | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | Entry | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:23:13:23:37 | After call to method WriteLine | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | | Finally.cs:49:9:51:9 | {...} | Finally.cs:26:9:29:9 | catch (...) {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:26:38:26:39 | IOException ex | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:27:9:29:9 | {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:30:9:40:9 | catch (...) {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:30:41:30:42 | ArgumentException ex | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:34:27:34:32 | throw ...; | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:41:9:43:9 | catch (...) {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:42:9:43:9 | {...} | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:44:9:47:9 | catch {...} | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | +| Finally.cs:49:9:51:9 | {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | | Finally.cs:49:9:51:9 | {...} | Finally.cs:49:9:51:9 | {...} | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | enter M3 | -| Finally.cs:54:10:54:11 | exit M3 | Finally.cs:54:10:54:11 | exit M3 | -| Finally.cs:54:10:54:11 | exit M3 (abnormal) | Finally.cs:54:10:54:11 | exit M3 (abnormal) | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | enter M3 | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | exit M3 (normal) | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:59:13:59:19 | return ...; | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:61:9:64:9 | catch (...) {...} | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:69:9:71:9 | {...} | -| Finally.cs:59:13:59:19 | return ...; | Finally.cs:59:13:59:19 | return ...; | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | Entry | +| Finally.cs:54:10:54:11 | Exceptional Exit | Finally.cs:54:10:54:11 | Exceptional Exit | +| Finally.cs:54:10:54:11 | Exit | Finally.cs:54:10:54:11 | Exit | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | Entry | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | Normal Exit | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:56:9:71:9 | After try {...} ... | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:58:13:58:37 | After call to method WriteLine | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:61:9:64:9 | catch (...) {...} | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:69:9:71:9 | {...} | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:56:9:71:9 | After try {...} ... | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:58:13:58:37 | After call to method WriteLine | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | | Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | catch (...) {...} | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:66:9:67:9 | {...} | Finally.cs:66:9:67:9 | {...} | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | enter M3 | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:59:13:59:19 | return ...; | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:65:35:65:51 | After ... != ... [false] | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:65:35:65:51 | After ... != ... [true] | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | Entry | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:58:13:58:37 | After call to method WriteLine | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | | Finally.cs:69:9:71:9 | {...} | Finally.cs:61:9:64:9 | catch (...) {...} | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:61:38:61:39 | IOException ex | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:62:9:64:9 | {...} | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:9:67:9 | catch (...) {...} | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:26:65:26 | Exception e | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:66:9:67:9 | {...} | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:35:65:51 | After ... != ... [false] | +| Finally.cs:69:9:71:9 | {...} | Finally.cs:65:35:65:51 | After ... != ... [true] | | Finally.cs:69:9:71:9 | {...} | Finally.cs:69:9:71:9 | {...} | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | enter M4 | -| Finally.cs:74:10:74:11 | exit M4 | Finally.cs:74:10:74:11 | exit M4 | -| Finally.cs:74:10:74:11 | exit M4 (abnormal) | Finally.cs:74:10:74:11 | exit M4 (abnormal) | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | enter M4 | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | exit M4 (normal) | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:77:16:77:16 | access to local variable i | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:86:21:86:26 | break; | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | enter M4 | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:16:77:16 | access to local variable i | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:82:21:82:27 | return ...; | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:84:21:84:29 | continue; | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:86:21:86:26 | break; | Finally.cs:86:21:86:26 | break; | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:86:21:86:26 | break; | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | Entry | +| Finally.cs:74:10:74:11 | Exceptional Exit | Finally.cs:74:10:74:11 | Exceptional Exit | +| Finally.cs:74:10:74:11 | Exit | Finally.cs:74:10:74:11 | Exit | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | Entry | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | Normal Exit | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:77:9:100:9 | After while (...) ... | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:89:13:99:13 | {...} | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:96:17:98:17 | {...} | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:77:9:100:9 | After while (...) ... | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | Entry | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:77:16:77:20 | After ... > ... [false] | Finally.cs:77:16:77:20 | After ... > ... [false] | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:79:13:99:13 | After try {...} ... | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:89:13:99:13 | {...} | Finally.cs:85:21:85:26 | After ... == ... [true] | | Finally.cs:89:13:99:13 | {...} | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:78:9:100:9 | {...} | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:82:21:82:27 | return ...; | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:83:17:84:29 | if (...) ... | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:84:21:84:29 | continue; | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:85:17:86:26 | if (...) ... | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:86:21:86:26 | break; | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:85:21:85:26 | After ... == ... [true] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:89:13:99:13 | {...} | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:90:17:98:17 | After try {...} ... | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:96:17:98:17 | {...} | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:93:31:93:45 | After object creation of type Exception | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:77:16:77:20 | After ... > ... [true] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:81:21:81:26 | After ... == ... [false] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:81:21:81:26 | After ... == ... [true] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:83:21:83:26 | After ... == ... [false] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:83:21:83:26 | After ... == ... [true] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:85:21:85:26 | After ... == ... [false] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:85:21:85:26 | After ... == ... [true] | | Finally.cs:96:17:98:17 | {...} | Finally.cs:89:13:99:13 | {...} | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:93:25:93:46 | throw ...; | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:93:31:93:45 | object creation of type Exception | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:92:25:92:30 | After ... == ... [false] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:92:25:92:30 | After ... == ... [true] | +| Finally.cs:96:17:98:17 | {...} | Finally.cs:93:31:93:45 | After object creation of type Exception | | Finally.cs:96:17:98:17 | {...} | Finally.cs:96:17:98:17 | {...} | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | enter M5 | -| Finally.cs:103:10:103:11 | exit M5 | Finally.cs:103:10:103:11 | exit M5 | -| Finally.cs:103:10:103:11 | exit M5 (abnormal) | Finally.cs:103:10:103:11 | exit M5 (abnormal) | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | enter M5 | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | exit M5 (normal) | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:107:17:107:28 | access to property Length | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:113:9:118:9 | {...} | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:116:13:117:37 | if (...) ... | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | access to property Length | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:108:17:108:23 | return ...; | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | enter M5 | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:28 | access to property Length | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | Entry | +| Finally.cs:103:10:103:11 | Exceptional Exit | Finally.cs:103:10:103:11 | Exceptional Exit | +| Finally.cs:103:10:103:11 | Exit | Finally.cs:103:10:103:11 | Exit | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | Entry | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | Normal Exit | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:113:9:118:9 | {...} | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:105:9:118:9 | After try {...} ... | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | Entry | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:113:9:118:9 | {...} | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | | Finally.cs:113:9:118:9 | {...} | Finally.cs:113:9:118:9 | {...} | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:103:10:103:11 | enter M5 | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:107:17:107:28 | access to property Length | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:107:33:107:33 | 0 | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:108:17:108:23 | return ...; | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:109:13:110:49 | if (...) ... | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:109:17:109:28 | access to property Length | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:109:33:109:33 | 1 | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:110:17:110:49 | throw ...; | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:113:9:118:9 | {...} | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:114:17:114:36 | [false] !... | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:114:17:114:36 | [true] !... | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:115:17:115:41 | ...; | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:13:117:37 | if (...) ... | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:17:117:37 | ...; | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:121:10:121:11 | enter M6 | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:133:10:133:11 | enter M7 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | enter M8 | -| Finally.cs:147:10:147:11 | exit M8 | Finally.cs:147:10:147:11 | exit M8 | -| Finally.cs:147:10:147:11 | exit M8 (abnormal) | Finally.cs:147:10:147:11 | exit M8 (abnormal) | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | enter M8 | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | exit M8 (normal) | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:152:17:152:50 | throw ...; | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:155:9:169:9 | {...} | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:158:36:158:36 | 1 | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:159:41:159:43 | "1" | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:161:13:164:13 | catch (...) {...} | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:152:17:152:50 | throw ...; | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | enter M8 | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:152:17:152:50 | throw ...; | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:103:10:103:11 | Entry | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:113:9:118:9 | {...} | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:103:10:103:11 | Entry | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:107:17:107:21 | After access to field Field | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:107:17:107:28 | After access to property Length | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:107:17:107:33 | After ... == ... [false] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:107:17:107:33 | After ... == ... [true] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:109:17:109:21 | After access to field Field | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:109:17:109:28 | After access to property Length | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:109:17:109:33 | After ... == ... [false] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:109:17:109:33 | After ... == ... [true] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:113:9:118:9 | {...} | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:114:13:115:41 | After if (...) ... | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:114:19:114:35 | After ... == ... [false] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:114:19:114:35 | After ... == ... [true] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:116:13:117:37 | After if (...) ... | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:116:17:116:32 | After ... > ... [false] | Finally.cs:116:17:116:32 | After ... > ... [false] | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:116:17:116:32 | After ... > ... [true] | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:121:10:121:11 | Entry | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:133:10:133:11 | Entry | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:137:13:137:36 | After call to method WriteLine | +| Finally.cs:140:9:143:9 | {...} | Finally.cs:140:9:143:9 | {...} | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:147:10:147:11 | Entry | +| Finally.cs:147:10:147:11 | Exceptional Exit | Finally.cs:147:10:147:11 | Exceptional Exit | +| Finally.cs:147:10:147:11 | Exit | Finally.cs:147:10:147:11 | Exit | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:147:10:147:11 | Entry | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:149:9:169:9 | After try {...} ... | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:155:9:169:9 | {...} | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:156:13:168:13 | After try {...} ... | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:161:13:164:13 | catch (...) {...} | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | Entry | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:155:9:169:9 | {...} | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | | Finally.cs:155:9:169:9 | {...} | Finally.cs:155:9:169:9 | {...} | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:158:36:158:36 | 1 | -| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:159:41:159:43 | "1" | Finally.cs:159:41:159:43 | "1" | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:159:21:159:45 | throw ...; | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:159:41:159:43 | "1" | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:147:10:147:11 | Entry | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:151:17:151:28 | After ... == ... [false] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:151:17:151:28 | After ... == ... [true] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:155:9:169:9 | {...} | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:156:13:168:13 | After try {...} ... | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:161:13:164:13 | catch (...) {...} | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:21:158:31 | After access to property Length | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:158:21:158:36 | After ... == ... [false] | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:159:27:159:44 | After object creation of type Exception | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:158:21:158:36 | After ... == ... [true] | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:159:27:159:44 | After object creation of type Exception | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | catch (...) {...} | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:30:161:30 | Exception e | -| Finally.cs:162:13:164:13 | {...} | Finally.cs:162:13:164:13 | {...} | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:165:13:168:13 | catch {...} | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | enter ExceptionA | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | enter ExceptionB | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | enter ExceptionC | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | enter M9 | -| Finally.cs:176:10:176:11 | exit M9 | Finally.cs:176:10:176:11 | exit M9 | -| Finally.cs:176:10:176:11 | exit M9 (abnormal) | Finally.cs:176:10:176:11 | exit M9 (abnormal) | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | enter M9 | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | exit M9 (normal) | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:180:21:180:43 | throw ...; | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:180:27:180:42 | object creation of type ExceptionA | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:183:9:192:9 | {...} | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:180:21:180:43 | throw ...; | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | enter M9 | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:180:21:180:43 | throw ...; | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:180:27:180:42 | object creation of type ExceptionA | +| Finally.cs:161:39:161:54 | After ... == ... [false] | Finally.cs:161:39:161:54 | After ... == ... [false] | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:161:39:161:54 | After ... == ... [true] | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | Entry | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | Entry | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | Entry | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:176:10:176:11 | Entry | +| Finally.cs:176:10:176:11 | Exceptional Exit | Finally.cs:176:10:176:11 | Exceptional Exit | +| Finally.cs:176:10:176:11 | Exit | Finally.cs:176:10:176:11 | Exit | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:176:10:176:11 | Entry | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:178:9:192:9 | After try {...} ... | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:183:9:192:9 | {...} | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:184:13:191:13 | After try {...} ... | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | Entry | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:183:9:192:9 | {...} | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | | Finally.cs:183:9:192:9 | {...} | Finally.cs:183:9:192:9 | {...} | -| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:186:31:186:46 | object creation of type ExceptionB | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:176:10:176:11 | Entry | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:183:9:192:9 | {...} | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:184:13:191:13 | After try {...} ... | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:186:25:186:47 | throw ...; | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:186:31:186:46 | object creation of type ExceptionB | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:189:13:191:13 | {...} | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | enter M10 | -| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | exit M10 | -| Finally.cs:195:10:195:12 | exit M10 (abnormal) | Finally.cs:195:10:195:12 | exit M10 (abnormal) | -| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | enter M10 | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:199:27:199:42 | object creation of type ExceptionA | +| Finally.cs:188:38:188:39 | After access to parameter b2 [false] | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:188:13:191:13 | catch (...) {...} | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:195:10:195:12 | Exceptional Exit | Finally.cs:195:10:195:12 | Exceptional Exit | +| Finally.cs:195:10:195:12 | Exit | Finally.cs:195:10:195:12 | Exit | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:197:9:212:9 | After try {...} ... | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:202:9:212:9 | {...} | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:208:13:210:13 | {...} | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:202:9:212:9 | {...} | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | | Finally.cs:202:9:212:9 | {...} | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | enter M10 | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:199:27:199:42 | object creation of type ExceptionA | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:202:9:212:9 | {...} | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:203:13:210:13 | After try {...} ... | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:208:13:210:13 | {...} | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | | Finally.cs:208:13:210:13 | {...} | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:208:13:210:13 | {...} | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | | Finally.cs:208:13:210:13 | {...} | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | enter M10 | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:199:27:199:42 | object creation of type ExceptionA | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:205:31:205:46 | object creation of type ExceptionB | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | enter M10 | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:199:21:199:43 | throw ...; | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:199:27:199:42 | object creation of type ExceptionA | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:202:9:212:9 | {...} | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:205:25:205:47 | throw ...; | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:205:31:205:46 | object creation of type ExceptionB | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:208:13:210:13 | {...} | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:216:10:216:12 | enter M11 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:195:10:195:12 | Entry | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:202:9:212:9 | {...} | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:208:13:210:13 | {...} | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:216:10:216:12 | Entry | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:220:13:220:36 | After call to method WriteLine | | Finally.cs:222:9:225:9 | catch {...} | Finally.cs:222:9:225:9 | catch {...} | -| Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | enter M11 | +| Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | Entry | +| Finally.cs:227:9:229:9 | {...} | Finally.cs:220:13:220:36 | After call to method WriteLine | | Finally.cs:227:9:229:9 | {...} | Finally.cs:222:9:225:9 | catch {...} | | Finally.cs:227:9:229:9 | {...} | Finally.cs:227:9:229:9 | {...} | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:233:10:233:12 | enter M12 | -| Finally.cs:233:10:233:12 | exit M12 | Finally.cs:233:10:233:12 | exit M12 | -| Finally.cs:233:10:233:12 | exit M12 (abnormal) | Finally.cs:233:10:233:12 | exit M12 (abnormal) | -| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | enter M12 | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:240:27:240:42 | object creation of type ExceptionA | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:233:10:233:12 | Exceptional Exit | Finally.cs:233:10:233:12 | Exceptional Exit | +| Finally.cs:233:10:233:12 | Exit | Finally.cs:233:10:233:12 | Exit | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:235:9:259:9 | After try {...} ... | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:243:13:253:13 | {...} | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:250:17:252:17 | {...} | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:257:9:259:9 | {...} | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:243:13:253:13 | {...} | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | | Finally.cs:243:13:253:13 | {...} | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | enter M12 | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:240:27:240:42 | object creation of type ExceptionA | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | | Finally.cs:250:17:252:17 | {...} | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:247:31:247:46 | object creation of type ExceptionA | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:250:17:252:17 | {...} | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | | Finally.cs:250:17:252:17 | {...} | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:45 | ...; | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | enter M12 | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:240:27:240:42 | object creation of type ExceptionA | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:254:13:254:44 | After call to method WriteLine | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | Entry | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:237:13:253:13 | After try {...} ... | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | | Finally.cs:257:9:259:9 | {...} | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:247:31:247:46 | object creation of type ExceptionA | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:244:17:252:17 | After try {...} ... | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | | Finally.cs:257:9:259:9 | {...} | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:254:13:254:45 | ...; | +| Finally.cs:257:9:259:9 | {...} | Finally.cs:254:13:254:44 | After call to method WriteLine | | Finally.cs:257:9:259:9 | {...} | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:233:10:233:12 | enter M12 | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:240:21:240:43 | throw ...; | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:240:27:240:42 | object creation of type ExceptionA | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:243:13:253:13 | {...} | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:247:25:247:47 | throw ...; | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:247:31:247:46 | object creation of type ExceptionA | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:250:17:252:17 | {...} | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:254:13:254:45 | ...; | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:257:9:259:9 | {...} | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:9:260:34 | ...; | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | enter M13 | -| Finally.cs:263:10:263:12 | exit M13 | Finally.cs:263:10:263:12 | exit M13 | -| Finally.cs:263:10:263:12 | exit M13 (abnormal) | Finally.cs:263:10:263:12 | exit M13 (abnormal) | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | enter M13 | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | exit M13 (normal) | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | enter Foreach | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | enter M1 | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | enter M1 | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | exit M1 (normal) | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:8:22:8:24 | String arg | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | enter M1 | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:263:10:263:12 | Entry | +| Finally.cs:263:10:263:12 | Exceptional Exit | Finally.cs:263:10:263:12 | Exceptional Exit | +| Finally.cs:263:10:263:12 | Exit | Finally.cs:263:10:263:12 | Exit | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:263:10:263:12 | Entry | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:265:9:273:9 | After try {...} ... | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:267:13:267:34 | After call to method WriteLine | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:270:9:273:9 | {...} | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:267:13:267:34 | After call to method WriteLine | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:263:10:263:12 | Entry | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:267:13:267:34 | After call to method WriteLine | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:270:9:273:9 | {...} | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Entry | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:6:10:6:11 | Entry | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | Entry | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:22:8:24 | String arg | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:12:10:12:11 | enter M2 | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | enter M2 | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | exit M2 (normal) | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:14:22:14:22 | String _ | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | enter M2 | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | +| Foreach.cs:8:29:8:32 | After access to parameter args [empty] | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:12:10:12:11 | Entry | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | Entry | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:22:14:22 | String _ | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:18:10:18:11 | enter M3 | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | enter M3 | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | exit M3 (normal) | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:20:27:20:68 | ... ?? ... | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:20:43:20:68 | call to method Empty | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | enter M3 | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | ... ?? ... | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:43:20:68 | call to method Empty | +| Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | +| Foreach.cs:14:27:14:30 | After access to parameter args [empty] | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:18:10:18:11 | Entry | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | Entry | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:22:20:22 | String x | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:18:10:18:11 | enter M3 | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:38 | call to method ToArray | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:68 | ... ?? ... | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:43:20:68 | call to method Empty | -| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:24:10:24:11 | enter M4 | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | enter M4 | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | exit M4 (normal) | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | enter M4 | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:23:26:23 | String x | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:30:10:30:11 | enter M5 | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | enter M5 | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | exit M5 (normal) | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | enter M5 | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:23:32:23 | String x | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:36:10:36:11 | enter M6 | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | enter M6 | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | exit M6 (normal) | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:38:26:38:26 | String x | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | enter M6 | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:26:38:26 | String x | -| Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:26:38:26 | String x | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | enter | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | enter Initializers | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | enter Initializers | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | enter Initializers | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | enter M | -| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:16:18:16 | enter H | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | enter | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | enter NoConstructor | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | enter | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | enter Sub | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | enter Sub | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | enter Sub | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | enter IndexInitializers | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | enter Compound | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | enter Test | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:7:10:7:11 | enter M1 | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | enter M1 | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:11:29:11:32 | access to parameter args | -| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | +| Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | +| Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | +| Foreach.cs:20:27:20:27 | After access to parameter e [null] | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:27:20:27 | After access to parameter e [null] | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:20:43:20:68 | After call to method Empty [empty] | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | +| Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:24:10:24:11 | Entry | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | Entry | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:18:26:31 | Before (..., ...) | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:18:26:31 | Before (..., ...) | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:26:36:26:39 | After access to parameter args [empty] | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:30:10:30:11 | Entry | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | Entry | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:18:32:27 | Before (..., ...) | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:18:32:27 | Before (..., ...) | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:32:32:32:35 | After access to parameter args [empty] | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:36:10:36:11 | Entry | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | Entry | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:18:38:34 | Before (..., ...) | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:18:38:34 | Before (..., ...) | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Foreach.cs:38:39:38:42 | After access to parameter args [empty] | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Entry | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Entry | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Entry | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Entry | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:12:10:12:10 | Entry | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Entry | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Entry | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:26:11:26:13 | Entry | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Entry | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:9:33:11 | Entry | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Entry | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | Entry | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Entry | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:51:10:51:13 | Entry | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | Entry | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:7:10:7:11 | Entry | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | Entry | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | Normal Exit | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:22:11:24 | String arg | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | access to parameter args | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:15:10:15:11 | enter M2 | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | enter M2 | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:18:22:18:22 | String x | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | enter M2 | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:15:10:15:11 | Entry | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | Entry | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:22:18:22 | String x | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:22:10:22:11 | enter M3 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | enter M3 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:25:26:25:29 | Char arg0 | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | enter M3 | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:22:10:22:11 | Entry | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | Entry | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | | LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:26:25:29 | Char arg0 | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:29:10:29:11 | enter M4 | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | enter M4 | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:32:22:32:22 | String x | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | enter M4 | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:29:10:29:11 | Entry | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | Entry | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:22:32:22 | String x | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:36:10:36:11 | enter M5 | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | enter M5 | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:41:26:41:26 | String y | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | enter M5 | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:36:10:36:11 | Entry | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | Entry | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | | LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:26:41:26 | String y | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:45:10:45:11 | enter M6 | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | enter M6 | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | -| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:48:22:48:22 | String x | +| LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:45:10:45:11 | Entry | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:45:10:45:11 | Entry | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:50:9:50:13 | Label: | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:55:10:55:11 | enter M7 | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | enter M7 | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | enter M7 | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:63:17:63:37 | ...; | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:55:10:55:11 | Entry | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | Entry | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:58:22:58:22 | String x | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:61:17:61:37 | ...; | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:17:63:37 | ...; | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:67:10:67:11 | enter M8 | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | enter M8 | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:69:13:69:23 | [true] !... | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:70:13:70:19 | return ...; | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:69:13:69:23 | [true] !... | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:69:13:69:23 | [true] !... | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:69:13:69:23 | [false] !... | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:58:22:58:22 | String x | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:67:10:67:11 | Entry | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | Entry | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | Normal Exit | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:22:72:24 | String arg | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:76:10:76:11 | enter M9 | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | enter M9 | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:79:22:79:22 | String x | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | enter M9 | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:76:10:76:11 | Entry | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | Entry | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:22:79:22 | String x | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:85:10:85:12 | enter M10 | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | enter M10 | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:88:22:88:22 | String x | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | enter M10 | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:85:10:85:12 | Entry | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | Entry | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:22:88:22 | String x | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:94:10:94:12 | enter M11 | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | enter M11 | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:97:22:97:22 | String x | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | enter M11 | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:94:10:94:12 | Entry | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | Entry | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:22:97:22 | String x | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | enter C1 | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | enter C1 | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationB.cs:1:7:1:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:22:6:31 | enter get_P1 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 | -| MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:28:6:31 | null | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:21:7:23 | enter get_P2 | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 | MultiImplementationA.cs:7:21:7:23 | exit get_P2 | +| LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Entry | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Before call to method | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Entry | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Normal Exit | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationB.cs:1:7:1:8 | Before call to method | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:22:6:31 | Before throw ... | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Entry | +| MultiImplementationA.cs:6:22:6:31 | Exit | MultiImplementationA.cs:6:22:6:31 | Exit | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:21:7:23 | Entry | +| MultiImplementationA.cs:7:21:7:23 | Exit | MultiImplementationA.cs:7:21:7:23 | Exit | | MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:25:7:39 | {...} | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:41:7:43 | enter set_P2 | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 | MultiImplementationA.cs:7:41:7:43 | exit set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:41:7:43 | Entry | +| MultiImplementationA.cs:7:41:7:43 | Exit | MultiImplementationA.cs:7:41:7:43 | Exit | | MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:45:7:59 | {...} | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:16:8:16 | enter M | -| MultiImplementationA.cs:8:16:8:16 | exit M | MultiImplementationA.cs:8:16:8:16 | exit M | -| MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:29:8:32 | null | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | enter | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | enter | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit (normal) | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:13:16:13:16 | this access | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationB.cs:11:16:11:16 | this access | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:16:13:16 | this access | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:16:8:16 | Entry | +| MultiImplementationA.cs:8:16:8:16 | Exit | MultiImplementationA.cs:8:16:8:16 | Exit | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:23:8:32 | Before throw ... | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:11:7:11:8 | Entry | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | Entry | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | Normal Exit | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | Entry | +| MultiImplementationA.cs:14:31:14:31 | Exit | MultiImplementationA.cs:14:31:14:31 | Exit | +| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | Entry | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | access to parameter i | -| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | enter get_Item | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | enter get_Item | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item | MultiImplementationA.cs:14:31:14:31 | exit get_Item | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:36:15:38 | enter get_Item | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item | MultiImplementationA.cs:15:36:15:38 | exit get_Item | -| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | enter get_Item | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:36:15:38 | Entry | +| MultiImplementationA.cs:15:36:15:38 | Exit | MultiImplementationA.cs:15:36:15:38 | Exit | +| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | Entry | | MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:40:15:52 | {...} | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:54:15:56 | enter set_Item | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | enter set_Item | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationB.cs:13:60:13:62 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:54:15:56 | Entry | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | Entry | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | Normal Exit | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:58:15:60 | {...} | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationB.cs:13:60:13:62 | {...} | | MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:16:17:16:18 | enter M1 | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | enter M1 | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:17:5:19:5 | {...} | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationB.cs:15:5:17:5 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:16:17:16:18 | Entry | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | Entry | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | Normal Exit | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:17:5:19:5 | {...} | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationB.cs:15:5:17:5 | {...} | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:17:5:19:5 | {...} | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:9:18:22 | enter M2 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | enter C2 | -| MultiImplementationA.cs:20:12:20:13 | exit C2 | MultiImplementationA.cs:20:12:20:13 | exit C2 | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | enter C2 | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | this access | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | enter C2 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | enter C2 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationB.cs:19:24:19:24 | 1 | -| MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:6:22:7 | enter ~C2 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 | MultiImplementationA.cs:22:6:22:7 | exit ~C2 | -| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | enter ~C2 | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:9:18:22 | Entry | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | Before call to method | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | Entry | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Entry | +| MultiImplementationA.cs:20:12:20:13 | Exit | MultiImplementationA.cs:20:12:20:13 | Exit | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:12:21:13 | Entry | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | Entry | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | Normal Exit | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:6:22:7 | Entry | +| MultiImplementationA.cs:22:6:22:7 | Exit | MultiImplementationA.cs:22:6:22:7 | Exit | +| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | Entry | | MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:11:22:13 | {...} | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | -| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:28:23:35 | Entry | +| MultiImplementationA.cs:23:28:23:35 | Exit | MultiImplementationA.cs:23:28:23:35 | Exit | +| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | Entry | | MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:50:23:53 | null | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | enter C3 | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | enter C3 | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:21:30:23 | enter get_P3 | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | enter C4 | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | enter C4 | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationB.cs:30:15:30:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:9:36:10 | enter M1 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 | MultiImplementationA.cs:36:9:36:10 | exit M1 | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Entry | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Before call to method | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Entry | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Normal Exit | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationB.cs:25:7:25:8 | Before call to method | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:21:30:23 | Entry | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Entry | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Before call to method | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Entry | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Normal Exit | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationB.cs:30:15:30:16 | Before call to method | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:9:36:10 | Entry | +| MultiImplementationA.cs:36:9:36:10 | Exit | MultiImplementationA.cs:36:9:36:10 | Exit | | MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:14:36:28 | {...} | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:9:37:10 | enter M2 | -| MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | this access | -| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | enter get_P1 | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:9:37:10 | Entry | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationB.cs:1:7:1:8 | Before call to method | +| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | Entry | | MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationB.cs:3:22:3:22 | 0 | -| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | enter get_P2 | +| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | Entry | | MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:25:4:37 | {...} | -| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | enter set_P2 | +| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | Entry | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationB.cs:4:43:4:45 | {...} | -| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | enter M | +| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | Entry | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationB.cs:5:23:5:23 | 2 | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:16:11:16 | this access | -| MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:37:12:40 | null | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationB.cs:12:31:12:40 | Before throw ... | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:40:13:54 | {...} | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationB.cs:13:60:13:62 | {...} | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:15:5:17:5 | {...} | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:9:16:31 | enter M2 | -| MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationB.cs:18:12:18:13 | this access | -| MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:24:19:24 | 1 | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:9:16:31 | Entry | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationB.cs:18:12:18:13 | Before call to method | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | | MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:11:20:25 | {...} | -| MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationB.cs:21:56:21:59 | null | -| MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | this access | -| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | enter M1 | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationB.cs:21:50:21:59 | Before throw ... | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationB.cs:25:7:25:8 | Before call to method | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationB.cs:30:15:30:16 | Before call to method | +| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | Entry | | MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationB.cs:32:17:32:17 | 0 | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:9:3:10 | enter M1 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | enter M1 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:28 | ... ?? ... | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:9:5:10 | enter M2 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | enter M2 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:39:5:39 | 0 | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:30:5:34 | false | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:43:5:43 | 1 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:12:7:13 | enter M3 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | enter M3 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:53 | ... ?? ... | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:12:9:13 | enter M4 | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | enter M4 | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:41:9:41 | access to parameter s | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:45:9:45 | access to parameter s | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | access to parameter s | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | access to parameter s | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:9:11:10 | enter M5 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | enter M5 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:64:11:64 | 0 | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:68:11:68 | 1 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:13:10:13:11 | enter M6 | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:13:10:13:11 | enter M6 | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | enter M6 | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | enter M6 | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:15:31:15:31 | 0 | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:16:17:16:25 | ... ?? ... | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | enter | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | enter Partial | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | enter Partial | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | enter Patterns | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:5:10:5:11 | enter M1 | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | enter M1 | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:20:9:38:9 | switch (...) {...} | -| Patterns.cs:23:17:23:22 | break; | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:13:24:36 | case ...: | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:17:25:52 | ...; | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | Entry | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:9:3:10 | Entry | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:9:3:10 | Entry | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:23:3:28 | After ... ?? ... | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:9:5:10 | Entry | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | Entry | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:12:7:13 | Entry | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | Entry | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:12:9:13 | Entry | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | Entry | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:36:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:51:9:52 | After "" [non-null] | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:52 | After "" [null] | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:9:11:10 | Entry | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | Entry | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:13:10:13:11 | Entry | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | Entry | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | +| NullCoalescing.cs:16:17:16:18 | After "" [non-null] | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | Entry | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | Entry | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:16:17:16:18 | After "" [null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationA.cs:1:15:1:21 | Entry | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Entry | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Entry | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Entry | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:5:10:5:11 | Entry | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | Entry | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:8:9:18:9 | After if (...) ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:16:18:16:28 | After ... is ... [false] | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:5:10:5:11 | Entry | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:8:9:18:9 | After if (...) ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:8:13:8:23 | After ... is ... [false] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:12:14:18:9 | After if (...) ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:12:18:12:31 | After ... is ... [false] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:16:14:18:9 | After if (...) ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:16:18:16:28 | After ... is ... [false] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:20:9:38:9 | After switch (...) {...} | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:27:13:27:24 | case ...: | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:22:13:22:23 | After case ...: [match] | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:22:13:22:23 | After case ...: [no-match] | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:13:24:36 | After case ...: [match] | +| Patterns.cs:24:13:24:36 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:24:30:24:35 | After ... > ... [false] | Patterns.cs:24:30:24:35 | After ... > ... [false] | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:24:30:24:35 | After ... > ... [true] | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:27:13:27:24 | After case ...: [match] | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:27:13:27:24 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:24:13:24:36 | After case ...: [no-match] | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:24:30:24:35 | After ... > ... [false] | | Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:34:17:34:22 | break; | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | enter M1 | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:8:13:8:23 | [false] ... is ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:8:13:8:23 | [true] ... is ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:9:9:11:9 | {...} | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:12:14:18:9 | if (...) ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:12:18:12:31 | [false] ... is ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:12:18:12:31 | [true] ... is ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:13:9:15:9 | {...} | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:16:14:18:9 | if (...) ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:16:18:16:28 | [false] ... is ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:16:18:16:28 | [true] ... is ... | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:17:9:18:9 | {...} | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:20:9:38:9 | switch (...) {...} | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:23:17:23:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:24:13:24:36 | case ...: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:24:30:24:31 | access to local variable i2 | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:25:17:25:52 | ...; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:27:13:27:24 | case ...: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:28:17:28:47 | ...; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:30:13:30:27 | case ...: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:31:17:31:50 | ...; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:33:13:33:24 | case ...: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:34:17:34:22 | break; | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:35:13:35:20 | default: | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:40:9:42:9 | switch (...) {...} | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:47:24:47:25 | enter M2 | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:50:24:50:25 | enter M3 | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | enter M3 | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:9:51:21 | [true] ... is ... | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:14:51:21 | [match] not ... | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:25 | access to parameter c | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:9:51:21 | [false] ... is ... | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:14:51:21 | [no-match] not ... | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:34 | access to parameter c | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:53:24:53:25 | enter M4 | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:53:24:53:25 | enter M4 | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:18:54:37 | { ... } | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:33:54:33 | 1 | -| Patterns.cs:54:27:54:35 | [match] { ... } | Patterns.cs:54:27:54:35 | [match] { ... } | -| Patterns.cs:54:27:54:35 | [no-match] { ... } | Patterns.cs:54:27:54:35 | [no-match] { ... } | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:33:54:33 | 1 | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:56:26:56:27 | enter M5 | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:56:26:56:27 | enter M5 | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:62:9 | ... switch { ... } | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:13:60:17 | [match] not ... | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:22:60:28 | "not 1" | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:60:13:60:17 | [no-match] not ... | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:18:61:24 | "other" | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:65:26:65:27 | enter M6 | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:65:26:65:27 | enter M6 | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:69:13:69:17 | [no-match] not ... | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:65:26:65:27 | enter M6 | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:69:13:69:17 | [no-match] not ... | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:65:26:65:27 | enter M6 | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:69:13:69:17 | [no-match] not ... | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:18:70:27 | "possible" | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:74:26:74:27 | enter M7 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:74:26:74:27 | enter M7 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:82:9 | ... switch { ... } | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:78:20:78:24 | "> 1" | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:79:15:79:15 | 0 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:80:13:80:13 | 1 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:20:78:24 | "> 1" | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:15:79:15 | 0 | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:20:79:24 | "< 0" | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:13 | 1 | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:18:80:20 | "1" | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:18:81:20 | "0" | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:26:85:27 | enter M8 | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | enter M8 | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:69 | ... ? ... : ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:53:85:53 | 2 | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:49:85:53 | [match] not ... | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:53:85:53 | 2 | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:39:85:53 | [true] ... is ... | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:44:85:53 | [match] ... or ... | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:49:85:53 | [match] not ... | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:57:85:63 | "not 2" | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:39:85:53 | [false] ... is ... | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:44:85:53 | [no-match] ... or ... | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:49:85:53 | [no-match] not ... | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:67:85:69 | "2" | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:26:87:27 | enter M9 | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | enter M9 | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:70 | ... ? ... : ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:54:87:54 | 2 | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:50:87:54 | [no-match] not ... | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:54:87:54 | 2 | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:39:87:54 | [true] ... is ... | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:44:87:54 | [match] ... and ... | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:50:87:54 | [match] not ... | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:58:87:60 | "1" | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:39:87:54 | [false] ... is ... | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:44:87:54 | [no-match] ... and ... | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:50:87:54 | [no-match] not ... | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:64:87:70 | "not 1" | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:93:17:93:19 | enter M10 | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | enter M10 | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | exit M10 (normal) | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:95:36:95:38 | access to constant B | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:96:9:98:9 | {...} | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:13:95:40 | [false] ... is ... | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:29:95:38 | [no-match] ... or ... | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:36:95:38 | access to constant B | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:95:13:95:40 | [true] ... is ... | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:95:21:95:40 | [match] { ... } | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:95:29:95:38 | [match] ... or ... | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:96:9:98:9 | {...} | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | enter PostDominance | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:5:10:5:11 | enter M1 | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:10:10:10:11 | enter M2 | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | enter M2 | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | exit M2 (normal) | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:12:13:12:21 | [true] ... is ... | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:12:13:12:21 | [true] ... is ... | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:12:13:12:21 | [true] ... is ... | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:13:13:13:19 | return ...; | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:12:13:12:21 | [false] ... is ... | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:9:14:29 | ...; | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:17:10:17:11 | enter M3 | -| PostDominance.cs:17:10:17:11 | exit M3 | PostDominance.cs:17:10:17:11 | exit M3 | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:17:10:17:11 | enter M3 | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:19:13:19:21 | [false] ... is ... | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:19:13:19:21 | [true] ... is ... | -| PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:45:20:53 | nameof(...) | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:17:10:17:11 | enter M3 | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:19:13:19:21 | [false] ... is ... | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:9:21:29 | ...; | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | enter Qualifiers | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:16:7:21 | enter Method | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:23:8:34 | enter StaticMethod | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:10:10:10:10 | enter M | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | enter Switch | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:5:10:5:11 | enter M1 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | enter M2 | -| Switch.cs:10:10:10:11 | exit M2 | Switch.cs:10:10:10:11 | exit M2 | -| Switch.cs:10:10:10:11 | exit M2 (abnormal) | Switch.cs:10:10:10:11 | exit M2 (abnormal) | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | enter M2 | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | exit M2 (normal) | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:15:17:15:23 | return ...; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:30:13:30:20 | default: | -| Switch.cs:15:17:15:23 | return ...; | Switch.cs:15:17:15:23 | return ...; | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:23:17:37 | object creation of type Exception | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:16:13:16:19 | case ...: | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:13:18:22 | case ...: | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:19:17:19:29 | goto default; | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:13:20:23 | case ...: | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:17:22:27 | if (...) ... | -| Switch.cs:22:21:22:27 | return ...; | Switch.cs:22:21:22:27 | return ...; | -| Switch.cs:23:27:23:27 | 0 | Switch.cs:23:27:23:27 | 0 | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:13:24:56 | case ...: | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:48:24:48 | access to local variable s | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:24:32:24:55 | [true] ... && ... | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:17:25:37 | ...; | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:32:24:55 | [false] ... && ... | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:30:13:30:27 | After case ...: [match] | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | After case ...: [no-match] | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:33:13:33:24 | After case ...: [match] | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | After case ...: [no-match] | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:47:24:47:25 | Entry | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:47:24:47:25 | Entry | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:48:9:48:20 | After ... is ... | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:50:24:50:25 | Entry | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:50:24:50:25 | Entry | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:9:51:39 | After ... ? ... : ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:25:51:30 | After ... is ... | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:9:51:21 | After ... is ... [false] | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:34:51:39 | After ... is ... | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:53:24:53:25 | Entry | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:53:24:53:25 | Entry | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:54:9:54:37 | After ... is ... | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:56:26:56:27 | Entry | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:56:26:56:27 | Entry | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:58:16:62:9 | After ... switch { ... } | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:60:13:60:28 | After ... => ... [match] | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:60:13:60:28 | After ... => ... [match] | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:65:26:65:27 | Entry | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:65:26:65:27 | Entry | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:67:16:71:9 | After ... switch { ... } | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:69:13:69:33 | After ... => ... [match] | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:69:13:69:33 | After ... => ... [match] | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:70:13:70:27 | After ... => ... [match] | +| Patterns.cs:70:13:70:27 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:74:26:74:27 | Entry | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:74:26:74:27 | Entry | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:76:16:82:9 | After ... switch { ... } | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:78:13:78:24 | After ... => ... [match] | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:78:13:78:24 | After ... => ... [match] | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:79:13:79:24 | After ... => ... [match] | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:80:13:80:20 | After ... => ... [match] | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:26:85:27 | Entry | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:39:85:53 | After ... is ... [false] | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:26:85:27 | Entry | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:39:85:53 | After ... is ... [false] | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:39:85:69 | After ... ? ... : ... | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:26:87:27 | Entry | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:39:87:54 | After ... is ... [false] | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:26:87:27 | Entry | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:39:87:54 | After ... is ... [false] | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:39:87:70 | After ... ? ... : ... | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:93:17:93:19 | Entry | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:93:17:93:19 | Entry | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:95:9:98:9 | After if (...) ... | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:95:13:95:40 | After ... is ... [false] | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | +| Patterns.cs:95:13:95:40 | After ... is ... [false] | Patterns.cs:95:13:95:40 | After ... is ... [false] | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | Entry | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:5:10:5:11 | Entry | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:10:10:10:11 | Entry | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | Entry | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | Normal Exit | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:12:13:12:21 | After ... is ... [false] | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:12:13:12:21 | After ... is ... [false] | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:17:10:17:11 | Entry | +| PostDominance.cs:17:10:17:11 | Exit | PostDominance.cs:17:10:17:11 | Exit | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:17:10:17:11 | Entry | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:19:13:19:21 | After ... is ... [false] | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Entry | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:16:7:21 | Entry | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:23:8:34 | Entry | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:10:10:10:10 | Entry | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Entry | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:5:10:5:11 | Entry | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | Entry | +| Switch.cs:10:10:10:11 | Exceptional Exit | Switch.cs:10:10:10:11 | Exceptional Exit | +| Switch.cs:10:10:10:11 | Exit | Switch.cs:10:10:10:11 | Exit | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | Entry | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | Normal Exit | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:14:13:14:21 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:14:13:14:21 | After case ...: [match] | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:16:13:16:19 | After case ...: [match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:14:13:14:21 | After case ...: [no-match] | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:16:13:16:19 | After case ...: [no-match] | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:18:13:18:22 | After case ...: [no-match] | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:20:13:20:23 | After case ...: [no-match] | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:21:21:21:29 | After ... == ... [false] | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:20:13:20:23 | After case ...: [match] | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:21:21:21:29 | After ... == ... [true] | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:13:24:56 | After case ...: [match] | +| Switch.cs:24:13:24:56 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:32:24:43 | After ... > ... [true] | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:24:48:24:55 | After ... != ... [true] | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:27:13:27:39 | After case ...: [match] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:24:48:24:55 | After ... != ... [false] | | Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:27:32:27:38 | call to method Throw | -| Switch.cs:30:13:30:20 | default: | Switch.cs:19:17:19:29 | goto default; | -| Switch.cs:30:13:30:20 | default: | Switch.cs:24:32:24:55 | [false] ... && ... | -| Switch.cs:30:13:30:20 | default: | Switch.cs:27:13:27:39 | case ...: | -| Switch.cs:30:13:30:20 | default: | Switch.cs:30:13:30:20 | default: | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:35:10:35:11 | enter M3 | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:44:10:44:11 | enter M4 | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | enter M4 | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | exit M4 (normal) | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:49:17:49:22 | break; | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:50:13:50:39 | case ...: | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:50:30:50:30 | access to parameter o | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:51:17:51:22 | break; | -| Switch.cs:49:17:49:22 | break; | Switch.cs:49:17:49:22 | break; | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:13:50:39 | case ...: | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:30:50:30 | access to parameter o | -| Switch.cs:51:17:51:22 | break; | Switch.cs:51:17:51:22 | break; | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:55:10:55:11 | enter M5 | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:55:10:55:11 | enter M5 | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:13:61:19 | case ...: | -| Switch.cs:62:17:62:22 | break; | Switch.cs:55:10:55:11 | enter M5 | -| Switch.cs:62:17:62:22 | break; | Switch.cs:61:13:61:19 | case ...: | -| Switch.cs:62:17:62:22 | break; | Switch.cs:62:17:62:22 | break; | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:66:10:66:11 | enter M6 | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | enter M6 | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | exit M6 (normal) | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:72:13:72:20 | case ...: | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:73:17:73:22 | break; | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:66:10:66:11 | enter M6 | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:13:72:20 | case ...: | -| Switch.cs:73:17:73:22 | break; | Switch.cs:73:17:73:22 | break; | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:77:10:77:11 | enter M7 | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | enter M7 | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | exit M7 (normal) | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:82:24:82:27 | true | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:83:13:83:19 | case ...: | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:84:17:85:26 | if (...) ... | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:85:21:85:26 | break; | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:86:24:86:27 | true | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:88:16:88:20 | false | -| Switch.cs:82:24:82:27 | true | Switch.cs:82:24:82:27 | true | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:13:83:19 | case ...: | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:17:85:26 | if (...) ... | -| Switch.cs:85:21:85:26 | break; | Switch.cs:85:21:85:26 | break; | -| Switch.cs:86:24:86:27 | true | Switch.cs:86:24:86:27 | true | -| Switch.cs:88:16:88:20 | false | Switch.cs:85:21:85:26 | break; | -| Switch.cs:88:16:88:20 | false | Switch.cs:88:16:88:20 | false | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:91:10:91:11 | enter M8 | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | enter M8 | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | exit M8 (normal) | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:96:24:96:27 | true | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:98:16:98:20 | false | -| Switch.cs:96:24:96:27 | true | Switch.cs:96:24:96:27 | true | -| Switch.cs:98:16:98:20 | false | Switch.cs:98:16:98:20 | false | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:101:9:101:10 | enter M9 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | enter M9 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | exit M9 (normal) | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:105:13:105:19 | case ...: | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:106:13:106:19 | case ...: | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:101:9:101:10 | enter M9 | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:103:17:103:25 | access to property Length | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:13:105:19 | case ...: | -| Switch.cs:105:28:105:28 | 0 | Switch.cs:105:28:105:28 | 0 | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:13:106:19 | case ...: | -| Switch.cs:106:28:106:28 | 1 | Switch.cs:106:28:106:28 | 1 | -| Switch.cs:108:17:108:17 | 1 | Switch.cs:108:17:108:17 | 1 | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:17:111:21 | enter Throw | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:113:9:113:11 | enter M10 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | enter M10 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | exit M10 (normal) | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:117:25:117:25 | access to parameter s | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:117:44:117:44 | 1 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:118:13:118:34 | case ...: | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:118:25:118:25 | access to parameter s | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:120:17:120:17 | 1 | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:25:117:25 | access to parameter s | -| Switch.cs:117:44:117:44 | 1 | Switch.cs:117:44:117:44 | 1 | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:18:13:18:22 | After case ...: [match] | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:24:13:24:56 | After case ...: [no-match] | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:24:32:24:43 | After ... > ... [false] | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:24:32:24:55 | After ... && ... [false] | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:24:48:24:55 | After ... != ... [false] | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:27:13:27:39 | After case ...: [no-match] | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:27:13:27:39 | case ...: | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:30:13:30:20 | After default: [match] | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:35:10:35:11 | Entry | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:44:10:44:11 | Entry | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:44:10:44:11 | Entry | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:46:9:52:9 | After switch (...) {...} | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:48:13:48:23 | After case ...: [match] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:48:13:48:23 | After case ...: [no-match] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:48:13:48:23 | After case ...: [match] | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:48:13:48:23 | After case ...: [no-match] | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:13:50:39 | After case ...: [match] | +| Switch.cs:50:13:50:39 | After case ...: [no-match] | Switch.cs:50:13:50:39 | After case ...: [no-match] | +| Switch.cs:50:30:50:38 | After ... != ... [false] | Switch.cs:50:30:50:38 | After ... != ... [false] | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:50:30:50:38 | After ... != ... [true] | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:55:10:55:11 | Entry | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:55:10:55:11 | Entry | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:57:9:63:9 | After switch (...) {...} | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:59:13:59:19 | After case ...: [match] | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:59:13:59:19 | After case ...: [no-match] | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:59:13:59:19 | After case ...: [match] | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:59:13:59:19 | After case ...: [no-match] | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:61:13:61:19 | After case ...: [match] | +| Switch.cs:61:13:61:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | After case ...: [no-match] | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:66:10:66:11 | Entry | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:66:10:66:11 | Entry | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:68:9:74:9 | After switch (...) {...} | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:70:13:70:23 | After case ...: [match] | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:70:13:70:23 | After case ...: [no-match] | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:70:13:70:23 | After case ...: [match] | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:70:13:70:23 | After case ...: [no-match] | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:72:13:72:20 | After case ...: [match] | +| Switch.cs:72:13:72:20 | After case ...: [no-match] | Switch.cs:72:13:72:20 | After case ...: [no-match] | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:77:10:77:11 | Entry | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | Entry | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | Normal Exit | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:79:9:87:9 | After switch (...) {...} | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:81:13:81:19 | After case ...: [match] | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:81:13:81:19 | After case ...: [no-match] | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:79:9:87:9 | After switch (...) {...} | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:81:13:81:19 | After case ...: [match] | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:81:13:81:19 | After case ...: [no-match] | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:83:13:83:19 | After case ...: [match] | +| Switch.cs:83:13:83:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | After case ...: [no-match] | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:84:21:84:25 | After ... > ... [false] | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:84:21:84:25 | After ... > ... [true] | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:91:10:91:11 | Entry | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | Entry | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | Normal Exit | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:95:13:95:23 | After case ...: [match] | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:95:13:95:23 | After case ...: [no-match] | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:95:13:95:23 | After case ...: [match] | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:95:13:95:23 | After case ...: [no-match] | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:101:9:101:10 | Entry | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | Entry | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | Normal Exit | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:103:17:103:25 | After access to property Length | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:103:17:103:17 | After access to parameter s [null] | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:101:9:101:10 | Entry | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:103:17:103:17 | After access to parameter s [null] | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:103:17:103:25 | After access to property Length | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:105:13:105:19 | After case ...: [match] | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:105:13:105:19 | After case ...: [no-match] | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:106:13:106:19 | After case ...: [match] | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | After case ...: [no-match] | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:17:111:21 | Entry | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:113:9:113:11 | Entry | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | Entry | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | Normal Exit | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:115:9:119:9 | After switch (...) {...} | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:117:13:117:35 | After case ...: [match] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:117:25:117:34 | After ... == ... [true] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:118:13:118:34 | case ...: | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:115:9:119:9 | After switch (...) {...} | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:13:117:35 | After case ...: [match] | +| Switch.cs:117:13:117:35 | After case ...: [no-match] | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:117:25:117:34 | After ... == ... [false] | Switch.cs:117:25:117:34 | After ... == ... [false] | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:117:25:117:34 | After ... == ... [true] | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:13:118:34 | After case ...: [match] | +| Switch.cs:118:13:118:34 | After case ...: [no-match] | Switch.cs:118:13:118:34 | After case ...: [no-match] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:117:13:117:35 | After case ...: [no-match] | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:117:25:117:34 | After ... == ... [false] | | Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | case ...: | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:25:118:25 | access to parameter s | -| Switch.cs:118:43:118:43 | 2 | Switch.cs:118:43:118:43 | 2 | -| Switch.cs:120:17:120:17 | 1 | Switch.cs:120:17:120:17 | 1 | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:123:10:123:12 | enter M11 | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | enter M11 | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | exit M11 (normal) | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:13:125:48 | [false] ... switch { ... } | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:34:125:34 | access to local variable b | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:37:125:37 | _ | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:125:42:125:46 | false | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:13:125:48 | [false] ... switch { ... } | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:125:42:125:46 | false | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:125:24:125:34 | [false] ... => ... | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:34:125:34 | access to local variable b | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:37:125:46 | [false] ... => ... | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:42:125:46 | false | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:42:125:46 | false | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:125:13:125:48 | [true] ... switch { ... } | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:125:24:125:34 | [true] ... => ... | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:126:13:126:19 | return ...; | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:129:12:129:14 | enter M12 | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | enter M12 | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:9:131:67 | return ...; | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:17:131:53 | [null] ... switch { ... } | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:40:131:40 | access to local variable s | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:48:131:51 | null | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:16:131:66 | call to method ToString | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:17:131:53 | [null] ... switch { ... } | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:48:131:51 | null | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:28:131:40 | [non-null] ... => ... | -| Switch.cs:131:28:131:40 | [null] ... => ... | Switch.cs:131:28:131:40 | [null] ... => ... | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:40:131:40 | access to local variable s | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:43:131:51 | [null] ... => ... | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:48:131:51 | null | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:48:131:51 | null | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:134:9:134:11 | enter M13 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | enter M13 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | exit M13 (normal) | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:138:13:138:20 | default: | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:139:28:139:28 | 1 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:140:13:140:19 | case ...: | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:140:28:140:28 | 2 | -| Switch.cs:138:13:138:20 | default: | Switch.cs:138:13:138:20 | default: | -| Switch.cs:139:28:139:28 | 1 | Switch.cs:139:28:139:28 | 1 | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:13:140:19 | case ...: | -| Switch.cs:140:28:140:28 | 2 | Switch.cs:140:28:140:28 | 2 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:144:9:144:11 | enter M14 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | enter M14 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | exit M14 (normal) | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:148:28:148:28 | 1 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:149:13:149:20 | default: | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:150:13:150:19 | case ...: | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:150:28:150:28 | 2 | -| Switch.cs:148:28:148:28 | 1 | Switch.cs:148:28:148:28 | 1 | -| Switch.cs:149:13:149:20 | default: | Switch.cs:149:13:149:20 | default: | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:13:150:19 | case ...: | -| Switch.cs:150:28:150:28 | 2 | Switch.cs:150:28:150:28 | 2 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | enter M15 | -| Switch.cs:154:10:154:12 | exit M15 | Switch.cs:154:10:154:12 | exit M15 | -| Switch.cs:154:10:154:12 | exit M15 (abnormal) | Switch.cs:154:10:154:12 | exit M15 (abnormal) | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | enter M15 | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | exit M15 (normal) | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:156:17:156:54 | ... switch { ... } | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:156:41:156:45 | false | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:158:13:158:49 | ...; | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:160:13:160:49 | ...; | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:154:10:154:12 | enter M15 | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:54 | ... switch { ... } | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:41:156:45 | false | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:36:156:38 | "a" | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:45 | false | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:41:156:45 | false | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:50:156:52 | "b" | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:13:158:49 | ...; | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:13:160:49 | ...; | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:163:10:163:12 | enter M16 | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | enter M16 | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | exit M16 (normal) | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:168:13:168:19 | case ...: | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:169:17:169:51 | ...; | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:171:13:171:19 | case ...: | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:174:13:174:20 | default: | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:13:168:19 | case ...: | +| Switch.cs:118:25:118:33 | After ... == ... [false] | Switch.cs:118:25:118:33 | After ... == ... [false] | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:118:25:118:33 | After ... == ... [true] | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:123:10:123:12 | Entry | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | Entry | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | Normal Exit | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:125:24:125:34 | After ... => ... [match] | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:125:24:125:34 | After ... => ... [no-match] | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:125:24:125:34 | After ... => ... [match] | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:125:24:125:34 | After ... => ... [no-match] | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:129:12:129:14 | Entry | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:129:12:129:14 | Entry | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:16:131:66 | After call to method ToString | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:28:131:40 | After ... => ... [match] | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:28:131:40 | After ... => ... [no-match] | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | +| Switch.cs:131:17:131:53 | After ... switch { ... } [null] | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:131:28:131:40 | After ... => ... [match] | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:131:28:131:40 | After ... => ... [no-match] | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:134:9:134:11 | Entry | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | Entry | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | Normal Exit | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:139:13:139:19 | After case ...: [match] | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:139:13:139:19 | After case ...: [no-match] | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:139:13:139:19 | After case ...: [match] | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:139:13:139:19 | After case ...: [no-match] | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:140:13:140:19 | After case ...: [match] | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | After case ...: [no-match] | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:144:9:144:11 | Entry | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | Entry | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | Normal Exit | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:148:13:148:19 | After case ...: [match] | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:148:13:148:19 | After case ...: [no-match] | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:148:13:148:19 | After case ...: [match] | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:148:13:148:19 | After case ...: [no-match] | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:150:13:150:19 | After case ...: [match] | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | After case ...: [no-match] | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:154:10:154:12 | Entry | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:154:10:154:12 | Entry | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:17:156:54 | After ... switch { ... } | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:28:156:38 | After ... => ... [no-match] | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:28:156:38 | After ... => ... [no-match] | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:156:41:156:52 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:154:10:154:12 | Entry | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:156:17:156:54 | After ... switch { ... } | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:156:28:156:38 | After ... => ... [match] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:156:28:156:38 | After ... => ... [no-match] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:156:41:156:52 | After ... => ... [match] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:156:41:156:52 | After ... => ... [no-match] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:157:9:160:49 | After if (...) ... | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:157:13:157:13 | After access to parameter b [false] | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:157:13:157:13 | After access to parameter b [true] | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:163:10:163:12 | Entry | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:163:10:163:12 | Entry | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:165:9:177:9 | After switch (...) {...} | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:167:13:167:19 | After case ...: [no-match] | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:169:17:169:51 | ...; | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:171:13:171:19 | After case ...: [no-match] | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:167:13:167:19 | After case ...: [no-match] | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:168:13:168:19 | After case ...: [match] | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | After case ...: [no-match] | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:167:13:167:19 | After case ...: [match] | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:168:13:168:19 | After case ...: [match] | | Switch.cs:169:17:169:51 | ...; | Switch.cs:169:17:169:51 | ...; | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:13:171:19 | case ...: | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:17:172:46 | ...; | -| Switch.cs:174:13:174:20 | default: | Switch.cs:174:13:174:20 | default: | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:3:10:3:10 | enter M | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:25:7:25 | ; | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:3:10:3:10 | enter M | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:7:25:7:25 | ; | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:9:8:28 | ... ...; | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | enter VarDecls | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:5:18:5:19 | enter M1 | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:13:12:13:13 | enter M2 | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:19:7:19:8 | enter M3 | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:19:7:19:8 | enter M3 | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:28 | ... ? ... : ... | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:24:25:24 | access to local variable x | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:28:25:28 | access to local variable y | -| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:24:25:24 | access to local variable x | -| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:28:25:28 | access to local variable y | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | enter C | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:41:28:47 | enter Dispose | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | exit Main (normal) | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:15:9:17:9 | {...} | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:19:9:22:25 | do ... while (...); | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:171:13:171:19 | After case ...: [match] | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | After case ...: [no-match] | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | Entry | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:3:10:3:10 | Entry | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:3:10:3:10 | Entry | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:7:9:7:25 | After if (...) ... | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | Entry | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:5:18:5:19 | Entry | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:13:12:13:13 | Entry | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:19:7:19:8 | Entry | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:19:7:19:8 | Entry | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:20:25:28 | After ... ? ... : ... | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | Entry | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:41:28:47 | Entry | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:11:13:11:17 | After ... > ... [false] | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:14:16:14:20 | After ... > ... [true] | | cflow.cs:20:9:22:9 | {...} | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:5:17:5:20 | enter Main | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:12:13:12:49 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:14:9:17:9 | while (...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:14:16:14:16 | access to local variable a | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:15:9:17:9 | {...} | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:19:9:22:25 | do ... while (...); | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:20:9:22:9 | {...} | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:25:24:25 | access to local variable i | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:34 | access to local variable i | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:25:9:34:9 | {...} | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:26:17:26:40 | [true] ... && ... | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:17:27:46 | ...; | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:26:17:26:40 | [false] ... && ... | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:18:33:37 | if (...) ... | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:17:29:42 | ...; | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:18:33:37 | if (...) ... | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:17:31:42 | ...; | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:17:33:37 | ...; | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:37:17:37:22 | exit Switch | cflow.cs:37:17:37:22 | exit Switch | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:56:13:56:20 | default: | cflow.cs:56:13:56:20 | default: | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:56:13:56:20 | default: | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:63:21:63:34 | [true] !... | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | -| cflow.cs:65:17:65:22 | break; | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:65:17:65:22 | break; | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:65:17:65:22 | break; | cflow.cs:65:17:65:22 | break; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:37:17:37:22 | enter Switch | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:41:13:41:19 | case ...: | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:42:17:42:39 | ...; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:44:13:44:19 | case ...: | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:45:17:45:39 | ...; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:47:13:47:19 | case ...: | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:48:17:48:39 | ...; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:51:9:59:9 | switch (...) {...} | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:54:17:54:48 | ...; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:56:13:56:20 | default: | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:60:9:66:9 | switch (...) {...} | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:63:21:63:34 | [false] !... | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:65:17:65:22 | break; | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:16:67:16 | access to parameter a | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:70:18:70:18 | enter M | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | enter M | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | exit M (normal) | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:73:13:73:19 | return ...; | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:74:9:81:9 | if (...) ... | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:79:9:81:9 | {...} | -| cflow.cs:73:13:73:19 | return ...; | cflow.cs:73:13:73:19 | return ...; | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:9:81:9 | if (...) ... | -| cflow.cs:75:9:77:9 | {...} | cflow.cs:75:9:77:9 | {...} | -| cflow.cs:79:9:81:9 | {...} | cflow.cs:79:9:81:9 | {...} | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:84:18:84:19 | enter M2 | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | enter M2 | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | exit M2 (normal) | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:86:13:86:37 | [false] ... && ... | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:86:26:86:26 | access to parameter s | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:86:13:86:37 | [false] ... && ... | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:26 | access to parameter s | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:86:13:86:37 | [true] ... && ... | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:13:87:33 | ...; | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | enter M3 | -| cflow.cs:90:18:90:19 | exit M3 | cflow.cs:90:18:90:19 | exit M3 | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | enter M3 | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | exit M3 (normal) | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:99:9:100:42 | if (...) ... | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:102:9:103:36 | if (...) ... | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:93:45:93:47 | "s" | cflow.cs:93:45:93:47 | "s" | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:90:18:90:19 | enter M3 | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:90:18:90:19 | enter M3 | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:9:100:42 | if (...) ... | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:90:18:90:19 | enter M3 | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:94:9:94:29 | ...; | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:97:13:97:55 | ...; | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:99:9:100:42 | if (...) ... | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:100:13:100:42 | ...; | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:9:103:36 | if (...) ... | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:13:103:36 | ...; | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:106:18:106:19 | enter M4 | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:109:9:115:9 | {...} | -| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | true | -| cflow.cs:111:13:113:13 | {...} | cflow.cs:111:13:113:13 | {...} | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:106:18:106:19 | enter M4 | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:9:116:29 | ...; | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:119:20:119:21 | enter M5 | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:19:127:21 | enter get_Prop | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:19:127:21 | enter get_Prop | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:57 | ... ? ... : ... | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:48:127:49 | "" | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:53:127:57 | this access | -| cflow.cs:127:48:127:49 | "" | cflow.cs:127:48:127:49 | "" | -| cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | this access | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | enter set_Prop | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | enter ControlFlow | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:5:134:15 | enter ControlFlow | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:12:136:22 | enter ControlFlow | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:138:40:138:40 | enter + | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:33:144:35 | enter get_Item | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:56:144:58 | enter set_Item | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | exit For (normal) | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:156:17:156:22 | break; | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:164:17:164:22 | break; | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:152:18:152:18 | access to local variable x | +| cflow.cs:20:9:22:9 | {...} | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:22:18:22:23 | After ... < ... [true] | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:5:17:5:20 | Entry | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:11:9:12:49 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:11:13:11:17 | After ... > ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:11:13:11:17 | After ... > ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:14:16:14:20 | After ... > ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:14:16:14:20 | After ... > ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:20:9:22:9 | {...} | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:22:18:22:23 | After ... < ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:22:18:22:23 | After ... < ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:31 | Before ... <= ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:13:33:37 | After if (...) ... | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:17:26:26 | After ... == ... [true] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:26:31:26:40 | After ... == ... [true] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:26:17:26:26 | After ... == ... [false] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:26:17:26:40 | After ... && ... [false] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:26:31:26:40 | After ... == ... [false] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:28:22:28:31 | After ... == ... [true] | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:28:22:28:31 | After ... == ... [false] | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:30:18:33:37 | After if (...) ... | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:30:22:30:31 | After ... == ... [false] | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:30:22:30:31 | After ... == ... [true] | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:37:17:37:22 | Exit | cflow.cs:37:17:37:22 | Exit | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:41:13:41:19 | After case ...: [match] | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:44:13:44:19 | After case ...: [match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:47:13:47:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Entry | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:39:9:50:9 | After switch (...) {...} | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:41:13:41:19 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:44:13:44:19 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:47:13:47:19 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:51:9:59:9 | After switch (...) {...} | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:53:13:53:20 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:60:9:66:9 | After switch (...) {...} | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:62:13:62:19 | After case ...: [no-match] | cflow.cs:62:13:62:19 | After case ...: [no-match] | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:63:23:63:33 | After ... == ... [false] | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:62:13:62:19 | After case ...: [match] | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:63:23:63:33 | After ... == ... [true] | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:70:18:70:18 | Entry | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | Entry | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | Normal Exit | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:72:13:72:21 | After ... == ... [false] | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:72:13:72:21 | After ... == ... [true] | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:74:9:81:9 | After if (...) ... | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:72:13:72:21 | After ... == ... [false] | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:72:13:72:21 | After ... == ... [true] | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:72:13:72:21 | After ... == ... [false] | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:74:9:81:9 | After if (...) ... | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:74:13:74:24 | After ... > ... [false] | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:74:13:74:24 | After ... > ... [true] | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:84:18:84:19 | Entry | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:84:18:84:19 | Entry | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:9:87:33 | After if (...) ... | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:13:86:21 | After ... != ... [true] | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:13:86:37 | After ... && ... [false] | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:86:26:86:37 | After ... > ... [true] | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:13:86:21 | After ... != ... [true] | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:13:86:21 | After ... != ... [false] | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:86:26:86:37 | After ... > ... [false] | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:86:26:86:37 | After ... > ... [true] | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:90:18:90:19 | Exit | cflow.cs:90:18:90:19 | Exit | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:92:13:92:27 | After call to method Equals [true] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:96:13:96:25 | After ... != ... [false] | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:99:13:99:25 | After ... != ... [false] | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:90:18:90:19 | Entry | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:92:13:92:27 | After call to method Equals [false] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:96:9:97:55 | After if (...) ... | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [false] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:96:13:96:25 | After ... != ... [true] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:99:9:100:42 | After if (...) ... | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [false] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:99:13:99:25 | After ... != ... [true] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:102:9:103:36 | After if (...) ... | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:102:13:102:29 | After ... != ... [false] | cflow.cs:102:13:102:29 | After ... != ... [false] | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:102:13:102:29 | After ... != ... [true] | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:106:18:106:19 | Entry | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:106:18:106:19 | Entry | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:108:13:108:21 | After ... != ... [false] | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:108:13:108:21 | After ... != ... [true] | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:119:20:119:21 | Entry | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:19:127:21 | Entry | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:32:127:44 | After ... == ... [false] | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:32:127:44 | After ... == ... [true] | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:19:127:21 | Entry | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:32:127:44 | After ... == ... [false] | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:32:127:44 | After ... == ... [true] | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:32:127:57 | After ... ? ... : ... | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:62:127:64 | Entry | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | Entry | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:5:134:15 | Entry | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:12:136:22 | Entry | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:138:40:138:40 | Entry | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:33:144:35 | Entry | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:56:144:58 | Entry | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:149:16:149:21 | Before ... < ... | | cflow.cs:153:9:157:9 | {...} | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:156:17:156:22 | break; | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:156:17:156:22 | break; | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:156:17:156:22 | break; | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:156:17:156:22 | break; | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:156:17:156:22 | break; | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:156:17:156:22 | break; | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:156:17:156:22 | break; | cflow.cs:156:17:156:22 | break; | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:152:18:152:18 | access to local variable x | +| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:149:16:149:21 | Before ... < ... | | cflow.cs:160:9:165:9 | {...} | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:156:17:156:22 | break; | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:155:17:155:22 | After ... > ... [true] | | cflow.cs:160:9:165:9 | {...} | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:164:17:164:22 | break; | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:164:17:164:22 | break; | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:164:17:164:22 | break; | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:164:17:164:22 | break; | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:164:17:164:22 | break; | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:164:17:164:22 | break; | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:164:17:164:22 | break; | cflow.cs:156:17:156:22 | break; | -| cflow.cs:164:17:164:22 | break; | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:164:17:164:22 | break; | cflow.cs:164:17:164:22 | break; | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:156:17:156:22 | break; | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:164:17:164:22 | break; | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:168:9:171:9 | {...} | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:156:17:156:22 | break; | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:164:17:164:22 | break; | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:146:10:146:12 | enter For | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:149:16:149:16 | access to local variable x | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:150:13:150:33 | ...; | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:152:9:157:9 | for (...;...;...) ... | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:152:18:152:18 | access to local variable x | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:153:9:157:9 | {...} | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:156:17:156:22 | break; | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:160:9:165:9 | {...} | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:164:17:164:22 | break; | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:167:16:167:16 | access to local variable x | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:168:9:171:9 | {...} | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:32:173:32 | access to local variable i | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:174:9:176:9 | {...} | cflow.cs:174:9:176:9 | {...} | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:179:10:179:16 | enter Lambdas | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:28:181:37 | enter (...) => ... | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:28:182:61 | enter delegate(...) { ... } | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:185:10:185:18 | enter LogicalOr | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:13:187:28 | ... \|\| ... | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:13:187:50 | ... \|\| ... | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:23:187:23 | 2 | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:187:34:187:49 | ... && ... | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:13:190:52 | ...; | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:193:10:193:17 | exit Booleans | cflow.cs:193:10:193:17 | exit Booleans | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | exit Booleans (normal) | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:195:39:195:43 | this access | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:197:35:197:39 | false | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:197:43:197:46 | true | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:198:37:198:41 | false | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:198:45:198:48 | true | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:40:200:44 | this access | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | this access | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:197:43:197:46 | true | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:197:35:197:39 | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | false | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | true | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:197:35:197:39 | false | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:198:37:198:41 | false | cflow.cs:198:37:198:41 | false | -| cflow.cs:198:45:198:48 | true | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:200:13:200:32 | [true] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:37:200:62 | [false] !... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:200:37:200:62 | [true] !... | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:38:200:62 | [false] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:38:200:62 | [true] !... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:40:200:44 | this access | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:40:200:44 | this access | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:40:200:44 | this access | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:40:200:44 | this access | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:40:200:44 | this access | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:40:200:44 | this access | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:40:200:44 | this access | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:193:10:193:17 | enter Booleans | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:195:17:195:56 | ... && ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:195:39:195:43 | this access | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:197:13:197:47 | [false] !... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:197:13:197:47 | [true] !... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:197:35:197:39 | false | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:197:43:197:46 | true | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:198:13:198:49 | ...; | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:198:17:198:48 | ... ? ... : ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:198:37:198:41 | false | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:198:45:198:48 | true | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:13:200:32 | [false] !... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:40:200:61 | [false] ... && ... | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:40:200:61 | [true] ... && ... | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | access to local variable b | -| cflow.cs:201:9:205:9 | {...} | cflow.cs:201:9:205:9 | {...} | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:208:10:208:11 | enter Do | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | enter Do | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | exit Do (normal) | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:211:9:221:9 | {...} | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:217:13:220:13 | if (...) ... | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:218:13:220:13 | {...} | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:221:18:221:22 | this access | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:208:10:208:11 | enter Do | +| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:146:10:146:12 | Entry | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:149:16:149:21 | Before ... < ... | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:153:9:157:9 | {...} | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [false] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:155:17:155:22 | After ... > ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:160:9:165:9 | {...} | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [false] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:163:17:163:22 | After ... > ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:167:16:167:21 | Before ... < ... | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:41 | Before ... < ... | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:179:10:179:16 | Entry | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:28:181:37 | Entry | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:28:182:61 | Entry | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:185:10:185:18 | Entry | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:185:10:185:18 | Entry | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:9:190:52 | After if (...) ... | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:13:187:18 | After ... == ... [false] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:13:187:18 | After ... == ... [false] | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:13:187:18 | After ... == ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:23:187:28 | After ... == ... [false] | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:187:23:187:28 | After ... == ... [true] | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:34:187:39 | After ... == ... [true] | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:34:187:39 | After ... == ... [false] | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:187:44:187:49 | After ... == ... [false] | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:187:44:187:49 | After ... == ... [true] | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:193:10:193:17 | Entry | +| cflow.cs:193:10:193:17 | Exit | cflow.cs:193:10:193:17 | Exit | +| cflow.cs:195:17:195:32 | After ... > ... [false] | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:193:10:193:17 | Entry | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:193:10:193:17 | Entry | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:200:15:200:31 | After ... == ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:193:10:193:17 | Entry | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:193:10:193:17 | Entry | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:195:17:195:32 | After ... > ... [false] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:195:17:195:32 | After ... > ... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:195:17:195:56 | After ... && ... | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:197:9:198:49 | After if (...) ... | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:197:15:197:31 | After ... == ... [false] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:197:15:197:31 | After ... == ... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:198:17:198:33 | After ... == ... [false] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:198:17:198:33 | After ... == ... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:198:17:198:48 | After ... ? ... : ... | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:15:200:31 | After ... == ... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:40:200:56 | After ... == ... [false] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:40:200:61 | After ... && ... [false] | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:40:200:56 | After ... == ... [true] | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:61:200:61 | After access to local variable b [false] | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:200:61:200:61 | After access to local variable b [true] | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:208:10:208:11 | Entry | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:208:10:208:11 | Entry | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:210:9:221:36 | After do ... while (...); | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:211:9:221:9 | {...} | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:208:10:208:11 | Entry | | cflow.cs:211:9:221:9 | {...} | cflow.cs:211:9:221:9 | {...} | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:13:220:13 | if (...) ... | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:218:13:220:13 | {...} | -| cflow.cs:221:18:221:22 | this access | cflow.cs:214:13:216:13 | {...} | -| cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:22 | this access | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:224:10:224:16 | enter Foreach | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | enter Foreach | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | exit Foreach (normal) | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:226:22:226:22 | String x | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | enter Foreach | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:230:13:232:13 | {...} | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:213:17:213:32 | After ... > ... [false] | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:213:17:213:32 | After ... > ... [true] | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:217:17:217:32 | After ... < ... [false] | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:217:17:217:32 | After ... < ... [true] | +| cflow.cs:221:18:221:34 | After ... < ... [false] | cflow.cs:221:18:221:34 | After ... < ... [false] | +| cflow.cs:221:18:221:34 | After ... < ... [true] | cflow.cs:221:18:221:34 | After ... < ... [true] | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:224:10:224:16 | Entry | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Entry | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:22:226:22 | String x | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:233:17:233:32 | After ... < ... [false] | | cflow.cs:226:22:226:22 | String x | cflow.cs:226:22:226:22 | String x | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:230:13:232:13 | {...} | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:13:236:13 | if (...) ... | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:234:13:236:13 | {...} | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:240:10:240:13 | enter Goto | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | enter Goto | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | exit Goto (normal) | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:255:13:255:20 | default: | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:240:10:240:13 | enter Goto | +| cflow.cs:226:22:226:22 | String x | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | +| cflow.cs:226:27:226:64 | After call to method Repeat [empty] | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:229:17:229:32 | After ... > ... [false] | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:229:17:229:32 | After ... > ... [true] | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:233:17:233:32 | After ... < ... [false] | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:233:17:233:32 | After ... < ... [true] | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:240:10:240:13 | Entry | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:240:10:240:13 | Entry | | cflow.cs:242:5:242:9 | Label: | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:240:10:240:13 | enter Goto | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:244:31:244:41 | goto ...; | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:240:10:240:13 | enter Goto | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:242:5:242:9 | Label: | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:242:16:242:36 | [false] !... | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:242:16:242:36 | [true] !... | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:242:17:242:36 | [false] !... | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:242:17:242:36 | [true] !... | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:242:39:242:41 | {...} | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:244:9:244:41 | if (...) ... | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:244:31:244:41 | goto ...; | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:246:9:258:9 | switch (...) {...} | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:249:17:249:29 | goto default; | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:13:250:19 | case ...: | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:17:251:37 | ...; | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:13:253:19 | case ...: | -| cflow.cs:254:17:254:27 | goto ...; | cflow.cs:254:17:254:27 | goto ...; | -| cflow.cs:255:13:255:20 | default: | cflow.cs:249:17:249:29 | goto default; | -| cflow.cs:255:13:255:20 | default: | cflow.cs:255:13:255:20 | default: | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | enter Yield | -| cflow.cs:261:49:261:53 | exit Yield | cflow.cs:261:49:261:53 | exit Yield | -| cflow.cs:261:49:261:53 | exit Yield (abnormal) | cflow.cs:261:49:261:53 | exit Yield (abnormal) | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | enter Yield | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | exit Yield (normal) | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:264:25:264:25 | access to local variable i | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:268:9:276:9 | try {...} ... | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | enter Yield | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:25:264:25 | access to local variable i | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:261:49:261:53 | enter Yield | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:264:25:264:25 | access to local variable i | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:265:9:267:9 | {...} | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:268:9:276:9 | try {...} ... | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | enter ControlFlowSub | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:5:284:18 | enter ControlFlowSub | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:5:286:18 | enter ControlFlowSub | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | enter DelegateCall | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:12:291:12 | enter M | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | enter NegationInConstructor | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:298:10:298:10 | enter M | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:300:44:300:51 | [false] !... | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:44:300:51 | [true] !... | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:298:10:298:10 | enter M | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:51 | [false] !... | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:51 | [true] !... | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:64 | ... && ... | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:44:300:51 | [true] !... | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:56:300:56 | access to parameter s | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | enter LambdaGetter | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:306:60:310:5 | enter (...) => ... | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | enter get__getter | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:242:5:242:9 | Label: | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:240:10:240:13 | Entry | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:5:242:9 | Label: | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:240:10:240:13 | Entry | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:242:5:242:9 | Label: | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:240:10:240:13 | Entry | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:242:5:242:9 | Label: | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:242:12:242:41 | After if (...) ... | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:242:19:242:35 | After ... == ... [false] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:242:19:242:35 | After ... == ... [true] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:244:13:244:28 | After ... > ... [false] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:244:13:244:28 | After ... > ... [true] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:246:9:258:9 | After switch (...) {...} | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:248:13:248:19 | After case ...: [no-match] | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:250:13:250:19 | After case ...: [match] | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | After case ...: [no-match] | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:253:13:253:19 | After case ...: [match] | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:248:13:248:19 | After case ...: [match] | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:253:13:253:19 | After case ...: [no-match] | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:255:13:255:20 | After default: [match] | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Entry | +| cflow.cs:261:49:261:53 | Exceptional Exit | cflow.cs:261:49:261:53 | Exceptional Exit | +| cflow.cs:261:49:261:53 | Exit | cflow.cs:261:49:261:53 | Exit | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Entry | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Normal Exit | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:264:25:264:30 | Before ... < ... | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:261:49:261:53 | Entry | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:25:264:30 | After ... < ... [false] | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:25:264:30 | Before ... < ... | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Entry | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | After ... < ... [true] | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:30 | Before ... < ... | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:268:9:276:9 | After try {...} ... | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | Entry | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:5:284:18 | Entry | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:5:286:18 | Entry | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | Entry | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:12:291:12 | Entry | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | Entry | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:298:10:298:10 | Entry | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:298:10:298:10 | Entry | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:44:300:64 | After ... && ... | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:46:300:50 | After ... > ... [false] | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:46:300:50 | After ... > ... [true] | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:300:46:300:50 | After ... > ... [false] | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:300:46:300:50 | After ... > ... [true] | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | Entry | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | Entry | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | Entry | diff --git a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected index 99f8c25b49e..34f56adc029 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected @@ -1,5545 +1,9372 @@ nodeEnclosing +| AccessorCalls.cs:1:7:1:19 | After call to constructor Object | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | After call to method | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | Before call to method | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | Exit | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:1:7:1:19 | Normal Exit | AccessorCalls.cs:1:7:1:19 | AccessorCalls | | AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | AccessorCalls | | AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | AccessorCalls | -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | AccessorCalls | -| AccessorCalls.cs:1:7:1:19 | exit AccessorCalls | AccessorCalls.cs:1:7:1:19 | AccessorCalls | -| AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | AccessorCalls.cs:1:7:1:19 | AccessorCalls | | AccessorCalls.cs:1:7:1:19 | this access | AccessorCalls.cs:1:7:1:19 | AccessorCalls | | AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | AccessorCalls | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:23:5:25 | get_Item | -| AccessorCalls.cs:5:23:5:25 | exit get_Item | AccessorCalls.cs:5:23:5:25 | get_Item | -| AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | AccessorCalls.cs:5:23:5:25 | get_Item | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:23:5:25 | get_Item | +| AccessorCalls.cs:5:23:5:25 | Exit | AccessorCalls.cs:5:23:5:25 | get_Item | +| AccessorCalls.cs:5:23:5:25 | Normal Exit | AccessorCalls.cs:5:23:5:25 | get_Item | | AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | get_Item | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:33:5:35 | set_Item | -| AccessorCalls.cs:5:33:5:35 | exit set_Item | AccessorCalls.cs:5:33:5:35 | set_Item | -| AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | AccessorCalls.cs:5:33:5:35 | set_Item | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:33:5:35 | set_Item | +| AccessorCalls.cs:5:33:5:35 | Exit | AccessorCalls.cs:5:33:5:35 | set_Item | +| AccessorCalls.cs:5:33:5:35 | Normal Exit | AccessorCalls.cs:5:33:5:35 | set_Item | | AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | set_Item | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:32:7:34 | add_Event | -| AccessorCalls.cs:7:32:7:34 | exit add_Event | AccessorCalls.cs:7:32:7:34 | add_Event | -| AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | AccessorCalls.cs:7:32:7:34 | add_Event | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:32:7:34 | add_Event | +| AccessorCalls.cs:7:32:7:34 | Exit | AccessorCalls.cs:7:32:7:34 | add_Event | +| AccessorCalls.cs:7:32:7:34 | Normal Exit | AccessorCalls.cs:7:32:7:34 | add_Event | | AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | add_Event | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:40:7:45 | remove_Event | -| AccessorCalls.cs:7:40:7:45 | exit remove_Event | AccessorCalls.cs:7:40:7:45 | remove_Event | -| AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | AccessorCalls.cs:7:40:7:45 | remove_Event | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:40:7:45 | remove_Event | +| AccessorCalls.cs:7:40:7:45 | Exit | AccessorCalls.cs:7:40:7:45 | remove_Event | +| AccessorCalls.cs:7:40:7:45 | Normal Exit | AccessorCalls.cs:7:40:7:45 | remove_Event | | AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | remove_Event | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | M1 | -| AccessorCalls.cs:10:10:10:11 | exit M1 | AccessorCalls.cs:10:10:10:11 | M1 | -| AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:10:10:10:11 | Exit | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:10:10:10:11 | Normal Exit | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:11:5:17:5 | After {...} | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:9:12:18 | After access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:9:12:18 | Before access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:9:12:31 | After ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:9:12:31 | Before ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:9:12:32 | After ...; | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:22:12:31 | After access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:22:12:31 | Before access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:9:13:17 | After access to property Prop | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:9:13:17 | Before access to property Prop | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:9:13:29 | After ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:9:13:29 | Before ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:9:13:30 | After ...; | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:21:13:29 | After access to property Prop | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:13:21:13:29 | Before access to property Prop | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:9:14:15 | After access to indexer | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:9:14:15 | Before access to indexer | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:9:14:25 | After ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:9:14:25 | Before ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:9:14:26 | After ...; | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:19:14:25 | After access to indexer | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:14:19:14:25 | Before access to indexer | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:14:24:14:24 | 1 | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:15:9:15:18 | After access to event Event | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:15:9:15:18 | Before access to event Event | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:15:9:15:23 | After ... += ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:15:9:15:23 | Before ... += ... | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:15:9:15:24 | After ...; | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:16:9:16:18 | After access to event Event | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:16:9:16:18 | Before access to event Event | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:16:9:16:23 | After ... -= ... | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:16:9:16:23 | Before ... -= ... | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:16:9:16:24 | After ...; | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:10:10:10:11 | M1 | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | M2 | -| AccessorCalls.cs:19:10:19:11 | exit M2 | AccessorCalls.cs:19:10:19:11 | M2 | -| AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:19:10:19:11 | Exit | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:19:10:19:11 | Normal Exit | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:20:5:26:5 | After {...} | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:14 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:14 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:20 | After access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:20 | Before access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:35 | After ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:35 | Before ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:36 | After ...; | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:24:21:29 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:24:21:29 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:24:21:35 | After access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:24:21:35 | Before access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:14 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:14 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:19 | After access to property Prop | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:19 | Before access to property Prop | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:33 | After ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:33 | Before ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:9:22:34 | After ...; | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:23:22:28 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:23:22:28 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:23:22:33 | After access to property Prop | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:22:23:22:33 | Before access to property Prop | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:14 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:14 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:17 | After access to indexer | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:17 | Before access to indexer | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:29 | After ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:29 | Before ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:9:23:30 | After ...; | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:21:23:26 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:21:23:26 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:21:23:29 | After access to indexer | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:23:21:23:29 | Before access to indexer | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:14 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:14 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:20 | After access to event Event | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:20 | Before access to event Event | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:25 | After ... += ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:25 | Before ... += ... | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:24:9:24:26 | After ...; | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:14 | After access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:14 | Before access to field x | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:20 | After access to event Event | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:20 | Before access to event Event | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:25 | After ... -= ... | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:25 | Before ... -= ... | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:25:9:25:26 | After ...; | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:19:10:19:11 | M2 | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:28:10:28:11 | M3 | -| AccessorCalls.cs:28:10:28:11 | exit M3 | AccessorCalls.cs:28:10:28:11 | M3 | -| AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:28:10:28:11 | Exit | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:28:10:28:11 | Normal Exit | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:29:5:33:5 | After {...} | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:30:9:30:18 | After access to field Field | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:30:9:30:18 | Before access to field Field | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:30:9:30:20 | After ...++ | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:30:9:30:20 | Before ...++ | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:30:9:30:21 | After ...; | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:31:9:31:17 | After access to property Prop | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:31:9:31:17 | Before access to property Prop | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:31:9:31:19 | After ...++ | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:31:9:31:19 | Before ...++ | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:31:9:31:20 | After ...; | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:32:9:32:15 | After access to indexer | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:32:9:32:15 | Before access to indexer | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:32:9:32:17 | After ...++ | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:32:9:32:17 | Before ...++ | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:32:9:32:18 | After ...; | AccessorCalls.cs:28:10:28:11 | M3 | | AccessorCalls.cs:32:14:32:14 | 0 | AccessorCalls.cs:28:10:28:11 | M3 | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:35:10:35:11 | M4 | -| AccessorCalls.cs:35:10:35:11 | exit M4 | AccessorCalls.cs:35:10:35:11 | M4 | -| AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:35:10:35:11 | Exit | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:35:10:35:11 | Normal Exit | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:36:5:40:5 | After {...} | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:14 | After access to field x | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:14 | Before access to field x | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:20 | After access to field Field | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:20 | Before access to field Field | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:22 | After ...++ | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:22 | Before ...++ | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:37:9:37:23 | After ...; | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:14 | After access to field x | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:14 | Before access to field x | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:19 | After access to property Prop | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:19 | Before access to property Prop | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:21 | After ...++ | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:21 | Before ...++ | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:38:9:38:22 | After ...; | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:14 | After access to field x | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:14 | Before access to field x | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:17 | After access to indexer | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:17 | Before access to indexer | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:19 | After ...++ | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:19 | Before ...++ | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:39:9:39:20 | After ...; | AccessorCalls.cs:35:10:35:11 | M4 | | AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:35:10:35:11 | M4 | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | M5 | -| AccessorCalls.cs:42:10:42:11 | exit M5 | AccessorCalls.cs:42:10:42:11 | M5 | -| AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:42:10:42:11 | Exit | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:42:10:42:11 | Normal Exit | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:43:5:47:5 | After {...} | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:9:44:18 | After access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:9:44:18 | Before access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:9:44:32 | After ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:9:44:32 | Before ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:9:44:33 | After ...; | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:23:44:32 | After access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:23:44:32 | Before access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:9:45:17 | After access to property Prop | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:9:45:17 | Before access to property Prop | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:9:45:30 | After ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:9:45:30 | Before ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:9:45:31 | After ...; | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:22:45:30 | After access to property Prop | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:45:22:45:30 | Before access to property Prop | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:9:46:15 | After access to indexer | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:9:46:15 | Before access to indexer | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:9:46:26 | After ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:9:46:26 | Before ... += ... | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:9:46:27 | After ...; | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:20:46:26 | After access to indexer | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:46:20:46:26 | Before access to indexer | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:46:25:46:25 | 0 | AccessorCalls.cs:42:10:42:11 | M5 | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | M6 | -| AccessorCalls.cs:49:10:49:11 | exit M6 | AccessorCalls.cs:49:10:49:11 | M6 | -| AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:49:10:49:11 | Exit | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:49:10:49:11 | Normal Exit | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:50:5:54:5 | After {...} | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:14 | After access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:14 | Before access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:20 | After access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:20 | Before access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:36 | After ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:36 | Before ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:37 | After ...; | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:25:51:30 | After access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:25:51:30 | Before access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:25:51:36 | After access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:25:51:36 | Before access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:14 | After access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:14 | Before access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:19 | After access to property Prop | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:19 | Before access to property Prop | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:34 | After ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:34 | Before ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:9:52:35 | After ...; | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:24:52:29 | After access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:24:52:29 | Before access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:24:52:34 | After access to property Prop | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:52:24:52:34 | Before access to property Prop | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:14 | After access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:14 | Before access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:17 | After access to indexer | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:17 | Before access to indexer | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:30 | After ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:30 | Before ... += ... | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:9:53:31 | After ...; | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:22:53:27 | After access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:22:53:27 | Before access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:22:53:30 | After access to indexer | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:53:22:53:30 | Before access to indexer | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:49:10:49:11 | M6 | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | M7 | -| AccessorCalls.cs:56:10:56:11 | exit M7 | AccessorCalls.cs:56:10:56:11 | M7 | -| AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:56:10:56:11 | Exit | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:56:10:56:11 | Normal Exit | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:57:5:59:5 | After {...} | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:9:58:45 | After (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:9:58:45 | Before (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:9:58:85 | After ... = ... | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:9:58:85 | Before ... = ... | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:9:58:86 | After ...; | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:10:58:19 | After access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:10:58:19 | Before access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:22:58:30 | After access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:22:58:30 | Before access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:33:58:44 | After (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:33:58:44 | Before (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:34:58:34 | access to parameter i | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:37:58:43 | After access to indexer | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:37:58:43 | Before access to indexer | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:49:58:85 | After (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:49:58:85 | Before (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:50:58:59 | After access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:50:58:59 | Before access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:62:58:70 | After access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:62:58:70 | Before access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:73:58:84 | After (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:73:58:84 | Before (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:77:58:83 | After access to indexer | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:77:58:83 | Before access to indexer | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:82:58:82 | 1 | AccessorCalls.cs:56:10:56:11 | M7 | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | M8 | -| AccessorCalls.cs:61:10:61:11 | exit M8 | AccessorCalls.cs:61:10:61:11 | M8 | -| AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:61:10:61:11 | Exit | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:61:10:61:11 | Normal Exit | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:62:5:64:5 | After {...} | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:9:63:51 | After (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:9:63:51 | Before (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:9:63:97 | After ... = ... | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:9:63:97 | Before ... = ... | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:9:63:98 | After ...; | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:10:63:15 | After access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:10:63:15 | Before access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:10:63:21 | After access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:10:63:21 | Before access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:24:63:29 | After access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:24:63:29 | Before access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:24:63:34 | After access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:24:63:34 | Before access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:37:63:50 | After (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:37:63:50 | Before (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:38:63:38 | access to parameter i | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:41:63:46 | After access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:41:63:46 | Before access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:41:63:49 | After access to indexer | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:41:63:49 | Before access to indexer | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:55:63:97 | After (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:55:63:97 | Before (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:56:63:61 | After access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:56:63:61 | Before access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:56:63:67 | After access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:56:63:67 | Before access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:70:63:75 | After access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:70:63:75 | Before access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:70:63:80 | After access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:70:63:80 | Before access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:83:63:96 | After (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:83:63:96 | Before (..., ...) | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:87:63:92 | After access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:87:63:92 | Before access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:87:63:95 | After access to indexer | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:87:63:95 | Before access to indexer | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:61:10:61:11 | M8 | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:66:10:66:11 | M9 | -| AccessorCalls.cs:66:10:66:11 | exit M9 | AccessorCalls.cs:66:10:66:11 | M9 | -| AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:66:10:66:11 | Exit | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:66:10:66:11 | Normal Exit | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:67:5:74:5 | After {...} | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:68:9:68:22 | After ... ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:68:17:68:17 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:9:69:35 | After ... = ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:9:69:35 | Before ... = ... | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:9:69:36 | After ...; | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:70:9:70:22 | After ...; | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:71:9:71:25 | After ... += ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:71:9:71:25 | Before ... += ... | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:71:9:71:26 | After ...; | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:9:72:12 | After dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:9:72:20 | After ... += ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:9:72:20 | Before ... += ... | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:9:72:21 | After ...; | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:17:72:20 | After dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:72:19:72:19 | 1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:9:73:44 | After (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:9:73:44 | Before (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:9:73:83 | After ... = ... | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:9:73:83 | Before ... = ... | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:9:73:84 | After ...; | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:24:73:32 | After access to property Prop | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:24:73:32 | Before access to property Prop | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:35:73:43 | After (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:35:73:43 | Before (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:36:73:36 | access to parameter i | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:39:73:42 | After dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:48:73:83 | After (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:48:73:83 | Before (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:63:73:71 | After access to property Prop | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:63:73:71 | Before access to property Prop | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:74:73:82 | After (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:74:73:82 | Before (..., ...) | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:78:73:81 | After dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | +| AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:66:10:66:11 | M9 | | AccessorCalls.cs:73:80:73:80 | 1 | AccessorCalls.cs:66:10:66:11 | M9 | +| ArrayCreation.cs:1:7:1:19 | After call to constructor Object | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | After call to method | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | Before call to method | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | Exit | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:1:7:1:19 | Normal Exit | ArrayCreation.cs:1:7:1:19 | ArrayCreation | | ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | ArrayCreation | | ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | ArrayCreation | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | ArrayCreation | -| ArrayCreation.cs:1:7:1:19 | exit ArrayCreation | ArrayCreation.cs:1:7:1:19 | ArrayCreation | -| ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | ArrayCreation.cs:1:7:1:19 | ArrayCreation | | ArrayCreation.cs:1:7:1:19 | this access | ArrayCreation.cs:1:7:1:19 | ArrayCreation | | ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | ArrayCreation | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:11:3:12 | M1 | -| ArrayCreation.cs:3:11:3:12 | exit M1 | ArrayCreation.cs:3:11:3:12 | M1 | -| ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | ArrayCreation.cs:3:11:3:12 | M1 | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:11:3:12 | M1 | +| ArrayCreation.cs:3:11:3:12 | Exit | ArrayCreation.cs:3:11:3:12 | M1 | +| ArrayCreation.cs:3:11:3:12 | Normal Exit | ArrayCreation.cs:3:11:3:12 | M1 | +| ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | M1 | +| ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | M1 | | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | M1 | | ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:11:3:12 | M1 | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:12:5:13 | M2 | -| ArrayCreation.cs:5:12:5:13 | exit M2 | ArrayCreation.cs:5:12:5:13 | M2 | -| ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | ArrayCreation.cs:5:12:5:13 | M2 | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:12:5:13 | M2 | +| ArrayCreation.cs:5:12:5:13 | Exit | ArrayCreation.cs:5:12:5:13 | M2 | +| ArrayCreation.cs:5:12:5:13 | Normal Exit | ArrayCreation.cs:5:12:5:13 | M2 | +| ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | M2 | +| ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | M2 | | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | M2 | | ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:12:5:13 | M2 | | ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:12:5:13 | M2 | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:11:7:12 | M3 | -| ArrayCreation.cs:7:11:7:12 | exit M3 | ArrayCreation.cs:7:11:7:12 | M3 | -| ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:11:7:12 | Exit | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:11:7:12 | Normal Exit | ArrayCreation.cs:7:11:7:12 | M3 | | ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | ArrayCreation.cs:7:11:7:12 | M3 | | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:29:7:36 | After { ..., ... } | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | ArrayCreation.cs:7:11:7:12 | M3 | | ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:11:7:12 | M3 | | ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:11:7:12 | M3 | | ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:11:7:12 | M3 | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:12:9:13 | M4 | -| ArrayCreation.cs:9:12:9:13 | exit M4 | ArrayCreation.cs:9:12:9:13 | M4 | -| ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:12:9:13 | Exit | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:12:9:13 | Normal Exit | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:31:9:52 | After { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:33:9:40 | After { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:38:9:38 | 1 | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:43:9:50 | After { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | +| ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:12:9:13 | M4 | | ArrayCreation.cs:9:48:9:48 | 3 | ArrayCreation.cs:9:12:9:13 | M4 | +| Assert.cs:5:7:5:17 | After call to constructor Object | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:5:7:5:17 | After call to method | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:5:7:5:17 | Before call to constructor Object | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:5:7:5:17 | Before call to method | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:5:7:5:17 | Exit | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:5:7:5:17 | Normal Exit | Assert.cs:5:7:5:17 | AssertTests | | Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | AssertTests | | Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | AssertTests | -| Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | AssertTests | -| Assert.cs:5:7:5:17 | exit AssertTests | Assert.cs:5:7:5:17 | AssertTests | -| Assert.cs:5:7:5:17 | exit AssertTests (normal) | Assert.cs:5:7:5:17 | AssertTests | | Assert.cs:5:7:5:17 | this access | Assert.cs:5:7:5:17 | AssertTests | | Assert.cs:5:7:5:17 | {...} | 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:7:10:7:11 | exit M1 (normal) | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:7:10:7:11 | Exceptional Exit | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:7:10:7:11 | Exit | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:7:10:7:11 | Normal Exit | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:8:5:12:5 | After {...} | Assert.cs:7:10:7:11 | M1 | | Assert.cs:8:5:12:5 | {...} | Assert.cs:7:10:7:11 | M1 | | Assert.cs:9:9:9:33 | ... ...; | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:9:9:33 | After ... ...; | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:16:9:16 | access to local variable s | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:16:9:32 | After String s = ... | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:16:9:32 | Before String s = ... | Assert.cs:7:10:7:11 | M1 | | Assert.cs:9:16:9:32 | String s = ... | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:7:10:7:11 | M1 | | Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:7:10:7:11 | M1 | | Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | 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 | After call to method Assert | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:10:9:10:31 | Before 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:9:10:32 | After ...; | 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 | +| Assert.cs:10:22:10:30 | After ... != ... | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:10:22:10:30 | Before ... != ... | Assert.cs:7:10:7:11 | M1 | | Assert.cs:10:27:10:30 | null | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:11:9:11:35 | After call to method WriteLine | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:11:9:11:35 | Before call to method WriteLine | Assert.cs:7:10:7:11 | M1 | | Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:7:10:7:11 | M1 | | Assert.cs:11:9:11:36 | ...; | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:11:9:11:36 | After ...; | Assert.cs:7:10:7:11 | M1 | | Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:11:27:11:34 | After access to property Length | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:11:27:11:34 | Before access to property Length | Assert.cs:7:10:7:11 | M1 | | Assert.cs:11:27:11:34 | access to property Length | 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:14:10:14:11 | exit M2 (normal) | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:14:10:14:11 | Exceptional Exit | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:14:10:14:11 | Exit | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:14:10:14:11 | Normal Exit | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:15:5:19:5 | After {...} | Assert.cs:14:10:14:11 | M2 | | Assert.cs:15:5:19:5 | {...} | Assert.cs:14:10:14:11 | M2 | | Assert.cs:16:9:16:33 | ... ...; | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:9:16:33 | After ... ...; | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:16:16:16 | access to local variable s | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:16:16:32 | After String s = ... | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:16:16:32 | Before String s = ... | Assert.cs:14:10:14:11 | M2 | | Assert.cs:16:16:16:32 | String s = ... | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:14:10:14:11 | M2 | | Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:14:10:14:11 | M2 | | Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | 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 | After call to method IsNull | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:17:9:17:24 | Before 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:9:17:25 | After ...; | 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 | After call to method WriteLine | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:18:9:18:35 | Before call to method WriteLine | Assert.cs:14:10:14:11 | M2 | | Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:14:10:14:11 | M2 | | Assert.cs:18:9:18:36 | ...; | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:18:9:18:36 | After ...; | Assert.cs:14:10:14:11 | M2 | | Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:18:27:18:34 | After access to property Length | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:18:27:18:34 | Before access to property Length | Assert.cs:14:10:14:11 | M2 | | Assert.cs:18:27:18:34 | access to property Length | 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:21:10:21:11 | exit M3 (normal) | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:21:10:21:11 | Exceptional Exit | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:21:10:21:11 | Exit | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:21:10:21:11 | Normal Exit | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:22:5:26:5 | After {...} | Assert.cs:21:10:21:11 | M3 | | Assert.cs:22:5:26:5 | {...} | Assert.cs:21:10:21:11 | M3 | | Assert.cs:23:9:23:33 | ... ...; | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:9:23:33 | After ... ...; | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:16:23:16 | access to local variable s | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:16:23:32 | After String s = ... | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:16:23:32 | Before String s = ... | Assert.cs:21:10:21:11 | M3 | | Assert.cs:23:16:23:32 | String s = ... | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:21:10:21:11 | M3 | | Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:21:10:21:11 | M3 | | Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | 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 | After call to method IsNotNull | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:24:9:24:27 | Before 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:9:24:28 | After ...; | 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 | After call to method WriteLine | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:25:9:25:35 | Before call to method WriteLine | Assert.cs:21:10:21:11 | M3 | | Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:21:10:21:11 | M3 | | Assert.cs:25:9:25:36 | ...; | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:25:9:25:36 | After ...; | Assert.cs:21:10:21:11 | M3 | | Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:25:27:25:34 | After access to property Length | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:25:27:25:34 | Before access to property Length | Assert.cs:21:10:21:11 | M3 | | Assert.cs:25:27:25:34 | access to property Length | 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:28:10:28:11 | exit M4 (normal) | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:28:10:28:11 | Exceptional Exit | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:28:10:28:11 | Exit | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:28:10:28:11 | Normal Exit | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:29:5:33:5 | After {...} | Assert.cs:28:10:28:11 | M4 | | Assert.cs:29:5:33:5 | {...} | Assert.cs:28:10:28:11 | M4 | | Assert.cs:30:9:30:33 | ... ...; | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:9:30:33 | After ... ...; | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:16:30:16 | access to local variable s | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:16:30:32 | After String s = ... | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:16:30:32 | Before String s = ... | Assert.cs:28:10:28:11 | M4 | | Assert.cs:30:16:30:32 | String s = ... | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:28:10:28:11 | M4 | | Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:28:10:28:11 | M4 | | Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:31:9:31:32 | Before 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:9:31:33 | After ...; | 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 | +| Assert.cs:31:23:31:31 | After ... == ... | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:31:23:31:31 | Before ... == ... | Assert.cs:28:10:28:11 | M4 | | Assert.cs:31:28:31:31 | null | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:32:9:32:35 | After call to method WriteLine | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:32:9:32:35 | Before call to method WriteLine | Assert.cs:28:10:28:11 | M4 | | Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:28:10:28:11 | M4 | | Assert.cs:32:9:32:36 | ...; | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:32:9:32:36 | After ...; | Assert.cs:28:10:28:11 | M4 | | Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:32:27:32:34 | After access to property Length | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:32:27:32:34 | Before access to property Length | Assert.cs:28:10:28:11 | M4 | | Assert.cs:32:27:32:34 | access to property Length | 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:35:10:35:11 | exit M5 (normal) | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:35:10:35:11 | Exceptional Exit | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:35:10:35:11 | Exit | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:35:10:35:11 | Normal Exit | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:36:5:40:5 | After {...} | Assert.cs:35:10:35:11 | M5 | | Assert.cs:36:5:40:5 | {...} | Assert.cs:35:10:35:11 | M5 | | Assert.cs:37:9:37:33 | ... ...; | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:9:37:33 | After ... ...; | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:16:37:16 | access to local variable s | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:16:37:32 | After String s = ... | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:16:37:32 | Before String s = ... | Assert.cs:35:10:35:11 | M5 | | Assert.cs:37:16:37:32 | String s = ... | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:35:10:35:11 | M5 | | Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:35:10:35:11 | M5 | | Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:38:9:38:32 | Before 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:9:38:33 | After ...; | 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 | +| Assert.cs:38:23:38:31 | After ... != ... | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:38:23:38:31 | Before ... != ... | Assert.cs:35:10:35:11 | M5 | | Assert.cs:38:28:38:31 | null | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:39:9:39:35 | After call to method WriteLine | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:39:9:39:35 | Before call to method WriteLine | Assert.cs:35:10:35:11 | M5 | | Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:35:10:35:11 | M5 | | Assert.cs:39:9:39:36 | ...; | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:39:9:39:36 | After ...; | Assert.cs:35:10:35:11 | M5 | | Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:39:27:39:34 | After access to property Length | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:39:27:39:34 | Before access to property Length | Assert.cs:35:10:35:11 | M5 | | Assert.cs:39:27:39:34 | access to property Length | 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:42:10:42:11 | exit M6 (normal) | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:42:10:42:11 | Exceptional Exit | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:42:10:42:11 | Exit | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:42:10:42:11 | Normal Exit | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:43:5:47:5 | After {...} | Assert.cs:42:10:42:11 | M6 | | Assert.cs:43:5:47:5 | {...} | Assert.cs:42:10:42:11 | M6 | | Assert.cs:44:9:44:33 | ... ...; | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:9:44:33 | After ... ...; | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:16:44:16 | access to local variable s | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:16:44:32 | After String s = ... | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:16:44:32 | Before String s = ... | Assert.cs:42:10:42:11 | M6 | | Assert.cs:44:16:44:32 | String s = ... | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:42:10:42:11 | M6 | | Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:42:10:42:11 | M6 | | Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:45:9:45:33 | Before 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:9:45:34 | After ...; | 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 | +| Assert.cs:45:24:45:32 | After ... != ... | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:45:24:45:32 | Before ... != ... | Assert.cs:42:10:42:11 | M6 | | Assert.cs:45:29:45:32 | null | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:46:9:46:35 | After call to method WriteLine | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:46:9:46:35 | Before call to method WriteLine | Assert.cs:42:10:42:11 | M6 | | Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:42:10:42:11 | M6 | | Assert.cs:46:9:46:36 | ...; | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:46:9:46:36 | After ...; | Assert.cs:42:10:42:11 | M6 | | Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:46:27:46:34 | After access to property Length | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:46:27:46:34 | Before access to property Length | Assert.cs:42:10:42:11 | M6 | | Assert.cs:46:27:46:34 | access to property Length | 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:49:10:49:11 | exit M7 (normal) | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:49:10:49:11 | Exceptional Exit | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:49:10:49:11 | Exit | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:49:10:49:11 | Normal Exit | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:50:5:54:5 | After {...} | Assert.cs:49:10:49:11 | M7 | | Assert.cs:50:5:54:5 | {...} | Assert.cs:49:10:49:11 | M7 | | Assert.cs:51:9:51:33 | ... ...; | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:9:51:33 | After ... ...; | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:16:51:16 | access to local variable s | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:16:51:32 | After String s = ... | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:16:51:32 | Before String s = ... | Assert.cs:49:10:49:11 | M7 | | Assert.cs:51:16:51:32 | String s = ... | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:49:10:49:11 | M7 | | Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:49:10:49:11 | M7 | | Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:52:9:52:33 | Before 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:9:52:34 | After ...; | 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 | +| Assert.cs:52:24:52:32 | After ... == ... | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:52:24:52:32 | Before ... == ... | Assert.cs:49:10:49:11 | M7 | | Assert.cs:52:29:52:32 | null | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:53:9:53:35 | After call to method WriteLine | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:53:9:53:35 | Before call to method WriteLine | Assert.cs:49:10:49:11 | M7 | | Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:49:10:49:11 | M7 | | Assert.cs:53:9:53:36 | ...; | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:53:9:53:36 | After ...; | Assert.cs:49:10:49:11 | M7 | | Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:53:27:53:34 | After access to property Length | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:53:27:53:34 | Before access to property Length | Assert.cs:49:10:49:11 | M7 | | Assert.cs:53:27:53:34 | access to property Length | 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:56:10:56:11 | exit M8 (normal) | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:56:10:56:11 | Exceptional Exit | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:56:10:56:11 | Exit | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:56:10:56:11 | Normal Exit | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:57:5:61:5 | After {...} | Assert.cs:56:10:56:11 | M8 | | Assert.cs:57:5:61:5 | {...} | Assert.cs:56:10:56:11 | M8 | | Assert.cs:58:9:58:33 | ... ...; | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:9:58:33 | After ... ...; | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:16:58:16 | access to local variable s | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:16:58:32 | After String s = ... | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:16:58:32 | Before String s = ... | Assert.cs:56:10:56:11 | M8 | | Assert.cs:58:16:58:32 | String s = ... | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:56:10:56:11 | M8 | | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:56:10:56:11 | M8 | | Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:9:59:37 | Before 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:9:59:38 | After ...; | 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:31 | After ... != ... [false] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:23:59:31 | Before ... != ... | Assert.cs:56:10:56:11 | M8 | | Assert.cs:59:23:59:36 | ... && ... | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:23:59:36 | After ... && ... | 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 | After call to method WriteLine | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:60:9:60:35 | Before call to method WriteLine | Assert.cs:56:10:56:11 | M8 | | Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:56:10:56:11 | M8 | | Assert.cs:60:9:60:36 | ...; | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:60:9:60:36 | After ...; | Assert.cs:56:10:56:11 | M8 | | Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:60:27:60:34 | After access to property Length | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:60:27:60:34 | Before access to property Length | Assert.cs:56:10:56:11 | M8 | | Assert.cs:60:27:60:34 | access to property Length | 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:63:10:63:11 | exit M9 (normal) | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:63:10:63:11 | Exceptional Exit | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:63:10:63:11 | Exit | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:63:10:63:11 | Normal Exit | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:64:5:68:5 | After {...} | Assert.cs:63:10:63:11 | M9 | | Assert.cs:64:5:68:5 | {...} | Assert.cs:63:10:63:11 | M9 | | Assert.cs:65:9:65:33 | ... ...; | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:9:65:33 | After ... ...; | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:16:65:16 | access to local variable s | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:16:65:32 | After String s = ... | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:16:65:32 | Before String s = ... | Assert.cs:63:10:63:11 | M9 | | Assert.cs:65:16:65:32 | String s = ... | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:63:10:63:11 | M9 | | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:63:10:63:11 | M9 | | Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:9:66:38 | Before 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:9:66:39 | After ...; | 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:32 | After ... == ... [false] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:24:66:32 | After ... == ... [true] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:24:66:32 | Before ... == ... | Assert.cs:63:10:63:11 | M9 | | Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:24:66:37 | After ... \|\| ... | 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 | After call to method WriteLine | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:67:9:67:35 | Before call to method WriteLine | Assert.cs:63:10:63:11 | M9 | | Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:63:10:63:11 | M9 | | Assert.cs:67:9:67:36 | ...; | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:67:9:67:36 | After ...; | Assert.cs:63:10:63:11 | M9 | | Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:67:27:67:34 | After access to property Length | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:67:27:67:34 | Before access to property Length | Assert.cs:63:10:63:11 | M9 | | Assert.cs:67:27:67:34 | access to property Length | 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:70:10:70:12 | exit M10 (normal) | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:70:10:70:12 | Exceptional Exit | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:70:10:70:12 | Exit | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:70:10:70:12 | Normal Exit | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:71:5:75:5 | After {...} | Assert.cs:70:10:70:12 | M10 | | Assert.cs:71:5:75:5 | {...} | Assert.cs:70:10:70:12 | M10 | | Assert.cs:72:9:72:33 | ... ...; | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:9:72:33 | After ... ...; | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:16:72:16 | access to local variable s | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:16:72:32 | After String s = ... | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:16:72:32 | Before String s = ... | Assert.cs:70:10:70:12 | M10 | | Assert.cs:72:16:72:32 | String s = ... | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:70:10:70:12 | M10 | | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:70:10:70:12 | M10 | | Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:9:73:37 | Before 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:9:73:38 | After ...; | 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:31 | After ... == ... [false] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:23:73:31 | Before ... == ... | Assert.cs:70:10:70:12 | M10 | | Assert.cs:73:23:73:36 | ... && ... | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:23:73:36 | After ... && ... | 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 | After call to method WriteLine | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:74:9:74:35 | Before call to method WriteLine | Assert.cs:70:10:70:12 | M10 | | Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:70:10:70:12 | M10 | | Assert.cs:74:9:74:36 | ...; | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:74:9:74:36 | After ...; | Assert.cs:70:10:70:12 | M10 | | Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:74:27:74:34 | After access to property Length | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:74:27:74:34 | Before access to property Length | Assert.cs:70:10:70:12 | M10 | | Assert.cs:74:27:74:34 | access to property Length | 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:77:10:77:12 | exit M11 (normal) | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:77:10:77:12 | Exceptional Exit | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:77:10:77:12 | Exit | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:77:10:77:12 | Normal Exit | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:78:5:82:5 | After {...} | Assert.cs:77:10:77:12 | M11 | | Assert.cs:78:5:82:5 | {...} | Assert.cs:77:10:77:12 | M11 | | Assert.cs:79:9:79:33 | ... ...; | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:9:79:33 | After ... ...; | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:16:79:16 | access to local variable s | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:16:79:32 | After String s = ... | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:16:79:32 | Before String s = ... | Assert.cs:77:10:77:12 | M11 | | Assert.cs:79:16:79:32 | String s = ... | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:77:10:77:12 | M11 | | Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:77:10:77:12 | M11 | | Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:9:80:38 | Before 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:9:80:39 | After ...; | 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:32 | After ... != ... [false] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:24:80:32 | After ... != ... [true] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:24:80:32 | Before ... != ... | Assert.cs:77:10:77:12 | M11 | | Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:24:80:37 | After ... \|\| ... | 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 | After call to method WriteLine | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:81:9:81:35 | Before call to method WriteLine | Assert.cs:77:10:77:12 | M11 | | Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:77:10:77:12 | M11 | | Assert.cs:81:9:81:36 | ...; | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:81:9:81:36 | After ...; | Assert.cs:77:10:77:12 | M11 | | Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:81:27:81:34 | After access to property Length | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:81:27:81:34 | Before access to property Length | Assert.cs:77:10:77:12 | M11 | | Assert.cs:81:27:81:34 | access to property Length | 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:84:10:84:12 | exit M12 (normal) | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:84:10:84:12 | Exceptional Exit | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:84:10:84:12 | Exit | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:84:10:84:12 | Normal Exit | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:85:5:129:5 | After {...} | Assert.cs:84:10:84:12 | M12 | | Assert.cs:85:5:129:5 | {...} | Assert.cs:84:10:84:12 | M12 | | Assert.cs:86:9:86:33 | ... ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:9:86:33 | After ... ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:16:86:16 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:16:86:32 | After String s = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:16:86:32 | Before String s = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:86:16:86:32 | String s = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | 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 | After call to method Assert | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:87:9:87:31 | Before 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:9:87:32 | After ...; | 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 | +| Assert.cs:87:22:87:30 | After ... != ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:87:22:87:30 | Before ... != ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:87:27:87:30 | null | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:88:9:88:35 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:88:9:88:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:88:9:88:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:88:9:88:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:88:27:88:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:88:27:88:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:88:27:88:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:9:90:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:90:9:90:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:9:90:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:9:90:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:90:9:90:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:9:90:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | 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 | After call to method IsNull | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:91:9:91:24 | Before 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:9:91:25 | After ...; | 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 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:92:9:92:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:92:9:92:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:92:9:92:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:92:27:92:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:92:27:92:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:92:27:92:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:9:94:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:94:9:94:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:9:94:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:9:94:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:94:9:94:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:9:94:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | 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 | After call to method IsNotNull | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:95:9:95:27 | Before 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:9:95:28 | After ...; | 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 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:96:9:96:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:96:9:96:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:96:9:96:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:96:27:96:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:96:27:96:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:96:27:96:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:9:98:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:98:9:98:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:9:98:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:9:98:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:98:9:98:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:9:98:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:99:9:99:32 | Before 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:9:99:33 | After ...; | 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 | +| Assert.cs:99:23:99:31 | After ... == ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:99:23:99:31 | Before ... == ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:99:28:99:31 | null | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:100:9:100:35 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:100:9:100:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:100:9:100:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:100:9:100:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:100:27:100:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:100:27:100:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:100:27:100:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:9:102:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:102:9:102:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:9:102:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:9:102:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:102:9:102:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:9:102:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:103:9:103:32 | Before 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:9:103:33 | After ...; | 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 | +| Assert.cs:103:23:103:31 | After ... != ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:103:23:103:31 | Before ... != ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:103:28:103:31 | null | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:104:9:104:35 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:104:9:104:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:104:9:104:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:104:9:104:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:104:27:104:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:104:27:104:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:104:27:104:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:9:106:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:106:9:106:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:9:106:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:9:106:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:106:9:106:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:9:106:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:107:9:107:33 | Before 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:9:107:34 | After ...; | 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 | +| Assert.cs:107:24:107:32 | After ... != ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:107:24:107:32 | Before ... != ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:107:29:107:32 | null | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:108:9:108:35 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:108:9:108:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:108:9:108:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:108:9:108:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:108:27:108:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:108:27:108:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:108:27:108:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:9:110:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:110:9:110:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:9:110:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:9:110:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:110:9:110:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:9:110:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:111:9:111:33 | Before 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:9:111:34 | After ...; | 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 | +| Assert.cs:111:24:111:32 | After ... == ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:111:24:111:32 | Before ... == ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:111:29:111:32 | null | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:112:9:112:35 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:112:9:112:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:112:9:112:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:112:9:112:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:112:27:112:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:112:27:112:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:112:27:112:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:9:114:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:114:9:114:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:9:114:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:9:114:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:114:9:114:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:9:114:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:9:115:37 | Before 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:9:115:38 | After ...; | 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:31 | After ... != ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:23:115:31 | Before ... != ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:115:23:115:36 | ... && ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:23:115:36 | After ... && ... | 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 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:116:9:116:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:116:9:116:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:116:9:116:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:116:27:116:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:116:27:116:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:116:27:116:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:9:118:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:118:9:118:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:9:118:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:9:118:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:118:9:118:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:9:118:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:9:119:39 | Before 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:9:119:40 | After ...; | 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:32 | After ... == ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:24:119:32 | After ... == ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:24:119:32 | Before ... == ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:24:119:38 | After ... \|\| ... | 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 | !... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:37:119:38 | After !... | 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 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:120:9:120:35 | Before call to method WriteLine | 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 | +| Assert.cs:120:9:120:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:120:27:120:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:120:27:120:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:120:27:120:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:9:122:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:122:9:122:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:9:122:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:9:122:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:122:9:122:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:9:122:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | 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 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:9:123:37 | Before 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:9:123:38 | After ...; | 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:31 | After ... == ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:23:123:31 | Before ... == ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:123:23:123:36 | ... && ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:23:123:36 | After ... && ... | 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 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:124:9:124:35 | Before call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:84:10:84:12 | M12 | | Assert.cs:124:9:124:36 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:124:9:124:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:124:27:124:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:124:27:124:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:124:27:124:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:9:126:9 | access to local variable s | Assert.cs:84:10:84:12 | M12 | | Assert.cs:126:9:126:25 | ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:9:126:25 | After ... = ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:9:126:25 | Before ... = ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:126:9:126:26 | ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:9:126:26 | After ...; | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | | Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:84:10:84:12 | M12 | | Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | 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 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:9:127:39 | Before 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:9:127:40 | After ...; | 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:32 | After ... != ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:24:127:32 | After ... != ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:24:127:32 | Before ... != ... | Assert.cs:84:10:84:12 | M12 | | Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:24:127:38 | After ... \|\| ... | 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 | !... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:37:127:38 | After !... | 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 | After call to method WriteLine | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:128:9:128:35 | Before call to method WriteLine | 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 | +| Assert.cs:128:9:128:36 | After ...; | Assert.cs:84:10:84:12 | M12 | | Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:128:27:128:34 | After access to property Length | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:128:27:128:34 | Before access to property Length | Assert.cs:84:10:84:12 | M12 | | Assert.cs:128:27:128:34 | access to property Length | Assert.cs:84:10:84:12 | M12 | -| Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:131:18:131:32 | AssertTrueFalse | -| Assert.cs:131:18:131:32 | exit AssertTrueFalse | Assert.cs:131:18:131:32 | AssertTrueFalse | -| Assert.cs:131:18:131:32 | exit AssertTrueFalse (normal) | Assert.cs:131:18:131:32 | AssertTrueFalse | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:131:18:131:32 | AssertTrueFalse | +| Assert.cs:131:18:131:32 | Exit | Assert.cs:131:18:131:32 | AssertTrueFalse | +| Assert.cs:131:18:131:32 | Normal Exit | Assert.cs:131:18:131:32 | AssertTrueFalse | | Assert.cs:135:5:136:5 | {...} | 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:138:10:138:12 | exit M13 (normal) | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:138:10:138:12 | Exceptional Exit | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:138:10:138:12 | Exit | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:138:10:138:12 | Normal Exit | 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 | After call to method AssertTrueFalse | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:140:9:140:35 | Before 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:9:140:36 | After ...; | 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 | access to parameter b2 | 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 | Before return ...; | 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 | After call to constructor Object | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:1:7:1:17 | After call to method | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:1:7:1:17 | Before call to constructor Object | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:1:7:1:17 | Before call to method | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:1:7:1:17 | Exit | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:1:7:1:17 | Normal Exit | Assignments.cs:1:7:1:17 | Assignments | | Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | Assignments | | Assignments.cs:1:7:1:17 | call to method | Assignments.cs:1:7:1:17 | Assignments | -| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | Assignments | -| Assignments.cs:1:7:1:17 | exit Assignments | Assignments.cs:1:7:1:17 | Assignments | -| Assignments.cs:1:7:1:17 | exit Assignments (normal) | Assignments.cs:1:7:1:17 | Assignments | | Assignments.cs:1:7:1:17 | this access | Assignments.cs:1:7:1:17 | Assignments | | Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | Assignments | -| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | M | -| Assignments.cs:3:10:3:10 | exit M | Assignments.cs:3:10:3:10 | M | -| Assignments.cs:3:10:3:10 | exit M (normal) | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:3:10:3:10 | Exit | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:3:10:3:10 | Normal Exit | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:4:5:15:5 | After {...} | Assignments.cs:3:10:3:10 | M | | Assignments.cs:4:5:15:5 | {...} | Assignments.cs:3:10:3:10 | M | | Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:5:9:5:18 | After ... ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:5:13:5:13 | access to local variable x | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:5:13:5:17 | After Int32 x = ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:5:13:5:17 | Before Int32 x = ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:5:17:5:17 | 0 | Assignments.cs:3:10:3:10 | M | | Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:3:10:3:10 | M | | Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:6:9:6:14 | After ... += ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:6:9:6:14 | Before ... += ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:6:9:6:15 | ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:6:9:6:15 | After ...; | Assignments.cs:3:10:3:10 | M | | Assignments.cs:6:14:6:14 | 1 | Assignments.cs:3:10:3:10 | M | | Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:8:9:8:22 | After ... ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:8:17:8:17 | access to local variable d | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:8:17:8:21 | After dynamic d = ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:8:17:8:21 | Before dynamic d = ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:8:21:8:21 | 0 | Assignments.cs:3:10:3:10 | M | | Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:8:21:8:21 | After (...) ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:8:21:8:21 | Before (...) ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:3:10:3:10 | M | | Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:9:9:9:14 | After ... -= ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:9:9:9:14 | Before ... -= ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:9:9:9:15 | ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:9:9:9:15 | After ...; | Assignments.cs:3:10:3:10 | M | | Assignments.cs:9:14:9:14 | 2 | Assignments.cs:3:10:3:10 | M | | Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:11:9:11:34 | After ... ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:11:13:11:13 | access to local variable a | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:11:13:11:33 | After Assignments a = ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:11:13:11:33 | Before Assignments a = ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:11:17:11:33 | After object creation of type Assignments | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:11:17:11:33 | Before object creation of type Assignments | Assignments.cs:3:10:3:10 | M | | Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:3:10:3:10 | M | | Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:3:10:3:10 | M | | Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:12:9:12:17 | After ... += ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:12:9:12:17 | Before ... += ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:12:9:12:18 | ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:12:9:12:18 | After ...; | Assignments.cs:3:10:3:10 | M | | Assignments.cs:12:14:12:17 | this access | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:14:9:14:13 | After access to event Event | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:14:9:14:13 | Before access to event Event | Assignments.cs:3:10:3:10 | M | | Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:3:10:3:10 | M | | Assignments.cs:14:9:14:13 | this access | Assignments.cs:3:10:3:10 | M | | Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:14:9:14:35 | After ... += ... | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:14:9:14:35 | Before ... += ... | Assignments.cs:3:10:3:10 | M | | Assignments.cs:14:9:14:36 | ...; | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:14:9:14:36 | After ...; | Assignments.cs:3:10:3:10 | M | | Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:3:10:3:10 | M | -| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | (...) => ... | -| Assignments.cs:14:18:14:35 | exit (...) => ... | Assignments.cs:14:18:14:35 | (...) => ... | -| Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | Assignments.cs:14:18:14:35 | (...) => ... | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:18:14:35 | (...) => ... | +| Assignments.cs:14:18:14:35 | Exit | Assignments.cs:14:18:14:35 | (...) => ... | +| Assignments.cs:14:18:14:35 | Normal Exit | Assignments.cs:14:18:14:35 | (...) => ... | | Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | (...) => ... | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | + | -| Assignments.cs:17:40:17:40 | exit + | Assignments.cs:17:40:17:40 | + | -| Assignments.cs:17:40:17:40 | exit + (normal) | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:17:40:17:40 | Exit | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:17:40:17:40 | Normal Exit | Assignments.cs:17:40:17:40 | + | | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:19:9:19:17 | Before return ...; | Assignments.cs:17:40:17:40 | + | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | + | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:17:40:17:40 | + | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | SetParamSingle | -| Assignments.cs:27:10:27:23 | exit SetParamSingle | Assignments.cs:27:10:27:23 | SetParamSingle | -| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:27:10:27:23 | Exit | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:27:10:27:23 | Normal Exit | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:28:5:30:5 | After {...} | Assignments.cs:27:10:27:23 | SetParamSingle | | Assignments.cs:28:5:30:5 | {...} | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:9:29:9 | access to parameter x | Assignments.cs:27:10:27:23 | SetParamSingle | | Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:9:29:14 | After ... = ... | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:9:29:14 | Before ... = ... | Assignments.cs:27:10:27:23 | SetParamSingle | | Assignments.cs:29:9:29:15 | ...; | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:9:29:15 | After ...; | Assignments.cs:27:10:27:23 | SetParamSingle | | Assignments.cs:29:13:29:14 | 42 | Assignments.cs:27:10:27:23 | SetParamSingle | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | SetParamMulti | -| Assignments.cs:32:10:32:22 | exit SetParamMulti | Assignments.cs:32:10:32:22 | SetParamMulti | -| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:32:10:32:22 | Exit | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:32:10:32:22 | Normal Exit | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:33:5:36:5 | After {...} | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:33:5:36:5 | {...} | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:9:34:9 | access to parameter x | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:9:34:14 | After ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:9:34:14 | Before ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:34:9:34:15 | ...; | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:9:34:15 | After ...; | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:34:13:34:14 | 42 | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:9:35:9 | access to parameter y | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:9:35:19 | After ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:9:35:19 | Before ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:35:9:35:20 | ...; | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:9:35:20 | After ...; | Assignments.cs:32:10:32:22 | SetParamMulti | | Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:32:10:32:22 | SetParamMulti | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | M2 | -| Assignments.cs:38:10:38:11 | exit M2 | Assignments.cs:38:10:38:11 | M2 | -| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:38:10:38:11 | Exit | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:38:10:38:11 | Normal Exit | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:39:5:45:5 | After {...} | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:39:5:45:5 | {...} | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:40:9:40:15 | After ... ...; | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:9:41:30 | After call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:41:9:41:30 | this access | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:41:9:41:31 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:9:41:31 | After ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:28:41:29 | access to local variable x1 | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:9:42:36 | After call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:42:9:42:36 | this access | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:42:9:42:37 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:9:42:37 | After ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:28:42:35 | After access to field IntField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:28:42:35 | Before access to field IntField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:42:28:42:35 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:9:43:55 | After call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:43:9:43:55 | this access | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:43:9:43:56 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:9:43:56 | After ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:31:43:31 | Int32 y | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:43:34:43:37 | null | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:44:43:54 | After access to field StringField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:44:43:54 | Before access to field StringField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:43:44:43:54 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:9:44:58 | After call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:9:44:58 | this access | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:9:44:59 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:9:44:59 | After ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:27:44:34 | After access to field IntField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:27:44:34 | Before access to field IntField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:27:44:34 | this access | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:37:44:40 | null | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:47:44:57 | After access to field StringField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:47:44:57 | Before access to field StringField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:38:10:38:11 | M2 | | Assignments.cs:44:47:44:57 | this access | Assignments.cs:38:10:38:11 | M2 | +| BreakInTry.cs:1:7:1:16 | After call to constructor Object | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:1:7:1:16 | After call to method | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:1:7:1:16 | Before call to constructor Object | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:1:7:1:16 | Before call to method | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:1:7:1:16 | Exit | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:1:7:1:16 | Normal Exit | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | BreakInTry | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | BreakInTry | -| BreakInTry.cs:1:7:1:16 | exit BreakInTry | BreakInTry.cs:1:7:1:16 | BreakInTry | -| BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | BreakInTry | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:3:10:3:11 | exit M1 | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:3:10:3:11 | Exit | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:3:10:3:11 | Normal Exit | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:4:5:18:5 | After {...} | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:5:9:17:9 | After try {...} ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:6:9:12:9 | After {...} | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:8:13:11:13 | After {...} | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:9:17:10:26 | After if (...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:9:21:9:31 | Before ... == ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:9:28:9:31 | null | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:10:21:10:26 | Before break; | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:14:9:17:9 | After {...} | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:17:15:28 | After ... == ... [false] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:17:15:28 | Before ... == ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:20:10:20:11 | exit M2 | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:20:10:20:11 | exit M2 (normal) | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:20:10:20:11 | Exit | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:20:10:20:11 | Normal Exit | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:21:5:36:5 | After {...} | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:23:9:34:9 | After {...} | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:25:13:28:13 | After {...} | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:26:17:27:26 | After if (...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:26:21:26:31 | Before ... == ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:26:28:26:31 | null | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:27:21:27:26 | Before break; | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:30:13:33:13 | After {...} | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:31:21:31:32 | After ... == ... [false] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:31:21:31:32 | Before ... == ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:38:10:38:11 | exit M3 | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:38:10:38:11 | Exit | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:39:5:54:5 | After {...} | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:41:9:44:9 | After {...} | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:42:13:43:23 | After if (...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:42:17:42:28 | Before ... == ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:43:17:43:23 | Before return ...; | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:46:9:52:9 | After {...} | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:48:13:51:13 | After {...} | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:49:17:50:26 | After if (...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:49:21:49:31 | Before ... == ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:49:28:49:31 | null | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:50:21:50:26 | Before break; | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:56:10:56:11 | M4 | -| BreakInTry.cs:56:10:56:11 | exit M4 | BreakInTry.cs:56:10:56:11 | M4 | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:56:10:56:11 | Exit | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:57:5:71:5 | After {...} | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:59:9:62:9 | After {...} | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:60:13:61:23 | After if (...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:60:17:60:28 | Before ... == ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:61:17:61:23 | Before return ...; | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:64:9:70:9 | After {...} | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:66:13:69:13 | After {...} | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:67:17:68:26 | After if (...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:67:21:67:31 | Before ... == ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:68:21:68:26 | Before break; | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:56:10:56:11 | M4 | +| CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:3:7:3:26 | After call to method | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:3:7:3:26 | Before call to method | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:3:7:3:26 | Exit | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:3:7:3:26 | Normal Exit | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | | CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | -| CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | -| CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | | CompileTimeOperators.cs:3:7:3:26 | this access | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | | CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | Default | -| CompileTimeOperators.cs:5:9:5:15 | exit Default | CompileTimeOperators.cs:5:9:5:15 | Default | -| CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | CompileTimeOperators.cs:5:9:5:15 | Default | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:5:9:5:15 | Default | +| CompileTimeOperators.cs:5:9:5:15 | Exit | CompileTimeOperators.cs:5:9:5:15 | Default | +| CompileTimeOperators.cs:5:9:5:15 | Normal Exit | CompileTimeOperators.cs:5:9:5:15 | Default | | CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:5:9:5:15 | Default | +| CompileTimeOperators.cs:7:9:7:28 | Before return ...; | CompileTimeOperators.cs:5:9:5:15 | Default | | CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:5:9:5:15 | Default | | CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:5:9:5:15 | Default | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | Sizeof | -| CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | CompileTimeOperators.cs:10:9:10:14 | Sizeof | -| CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | CompileTimeOperators.cs:10:9:10:14 | Sizeof | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:10:9:10:14 | Sizeof | +| CompileTimeOperators.cs:10:9:10:14 | Exit | CompileTimeOperators.cs:10:9:10:14 | Sizeof | +| CompileTimeOperators.cs:10:9:10:14 | Normal Exit | CompileTimeOperators.cs:10:9:10:14 | Sizeof | | CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:10:9:10:14 | Sizeof | +| CompileTimeOperators.cs:12:9:12:27 | Before return ...; | CompileTimeOperators.cs:10:9:10:14 | Sizeof | | CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:10:9:10:14 | Sizeof | | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:10:9:10:14 | Sizeof | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | Typeof | -| CompileTimeOperators.cs:15:10:15:15 | exit Typeof | CompileTimeOperators.cs:15:10:15:15 | Typeof | -| CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | CompileTimeOperators.cs:15:10:15:15 | Typeof | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:15:10:15:15 | Typeof | +| CompileTimeOperators.cs:15:10:15:15 | Exit | CompileTimeOperators.cs:15:10:15:15 | Typeof | +| CompileTimeOperators.cs:15:10:15:15 | Normal Exit | CompileTimeOperators.cs:15:10:15:15 | Typeof | | CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:15:10:15:15 | Typeof | +| CompileTimeOperators.cs:17:9:17:27 | Before return ...; | CompileTimeOperators.cs:15:10:15:15 | Typeof | | CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:15:10:15:15 | Typeof | | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:15:10:15:15 | Typeof | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:20:12:20:17 | Nameof | -| CompileTimeOperators.cs:20:12:20:17 | exit Nameof | CompileTimeOperators.cs:20:12:20:17 | Nameof | -| CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | CompileTimeOperators.cs:20:12:20:17 | Nameof | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:20:12:20:17 | Nameof | +| CompileTimeOperators.cs:20:12:20:17 | Exit | CompileTimeOperators.cs:20:12:20:17 | Nameof | +| CompileTimeOperators.cs:20:12:20:17 | Normal Exit | CompileTimeOperators.cs:20:12:20:17 | Nameof | | CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:20:12:20:17 | Nameof | +| CompileTimeOperators.cs:22:9:22:25 | Before return ...; | CompileTimeOperators.cs:20:12:20:17 | Nameof | | CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:20:12:20:17 | Nameof | | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:20:12:20:17 | Nameof | +| CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | After call to method | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | Before call to method | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | Exit | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:26:7:26:22 | Normal Exit | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | | CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | -| CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | -| CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | | CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | | CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:28:10:28:10 | M | -| CompileTimeOperators.cs:28:10:28:10 | exit M | CompileTimeOperators.cs:28:10:28:10 | M | -| CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | CompileTimeOperators.cs:28:10:28:10 | M | -| CompileTimeOperators.cs:28:10:28:10 | exit M (normal) | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:28:10:28:10 | Exit | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:28:10:28:10 | Normal Exit | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:29:5:41:5 | After {...} | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:36:9:38:9 | {...} | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:37:13:37:41 | After ...; | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:37:31:37:39 | "Finally" | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:39:9:39:34 | After ...; | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:39:27:39:32 | "Dead" | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:40:14:40:38 | After ...; | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:28:10:28:10 | M | +| ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | After call to method | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | Before call to method | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | Exit | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:1:7:1:23 | Normal Exit | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | | ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | -| ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | -| ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | | ConditionalAccess.cs:1:7:1:23 | this access | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | | ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:3:12:3:13 | exit M1 | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:12:3:13 | Exit | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:12:3:13 | Normal Exit | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | ConditionalAccess.cs:3:12:3:13 | M1 | | ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | ConditionalAccess.cs:3:12:3:13 | M1 | | ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | ConditionalAccess.cs:3:12:3:13 | M1 | | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:10:5:11 | M2 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 | ConditionalAccess.cs:5:10:5:11 | M2 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:10:5:11 | Exit | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:10:5:11 | Normal Exit | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | ConditionalAccess.cs:5:10:5:11 | M2 | | ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:34 | Before access to property Length | ConditionalAccess.cs:5:10:5:11 | M2 | | ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:10:5:11 | M2 | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:10:7:11 | Exit | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:10:7:11 | Normal Exit | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:38:7:55 | Before access to property Length | ConditionalAccess.cs:7:10:7:11 | M3 | | ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:10:7:11 | M3 | | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:10:7:11 | M3 | | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:10:7:11 | M3 | | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:9:9:9:10 | exit M4 | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:9:9:10 | Exit | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:9:9:10 | Normal Exit | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | ConditionalAccess.cs:9:9:9:10 | M4 | | ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:33 | Before access to property Length | ConditionalAccess.cs:9:9:9:10 | M4 | | ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:9:9:10 | M4 | | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:9:9:10 | M4 | | ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:11:9:11:10 | Exit | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:21 | Before access to property Length | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:25 | Before ... > ... | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:25:13:25 | After (...) ... | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:25:13:25 | Before (...) ... | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:14:13:14:21 | Before return ...; | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:14:13:14:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:16:13:16:21 | Before return ...; | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:16:13:16:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | M5 | | ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:12:19:13 | M6 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 | ConditionalAccess.cs:19:12:19:13 | M6 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:12:19:13 | Exit | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:12:19:13 | Normal Exit | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | ConditionalAccess.cs:19:12:19:13 | M6 | | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | M6 | | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | M6 | | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:12:19:13 | M6 | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:21:10:21:11 | exit M7 | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:21:10:21:11 | Exit | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:21:10:21:11 | Normal Exit | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:22:5:26:5 | After {...} | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:9:23:39 | After ... ...; | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:13:23:13 | access to local variable j | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:17:23:38 | Before access to property Length | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:17:23:38 | access to property Length | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:18:23:29 | Before (...) ... | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:9:24:38 | After ... ...; | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:13:24:13 | access to local variable s | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:13:24:37 | After String s = ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:13:24:37 | Before String s = ... | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:18:24:24 | Before (...) ... | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:9:25:9 | access to local variable s | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:9:25:32 | After ... = ... | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:9:25:32 | Before ... = ... | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:9:25:33 | After ...; | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:14 | After "" [null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:21:10:21:11 | M7 | | ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:10:30:12 | Out | -| ConditionalAccess.cs:30:10:30:12 | exit Out | ConditionalAccess.cs:30:10:30:12 | Out | -| ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:30:10:30:12 | Exit | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:30:10:30:12 | Normal Exit | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:30:28:30:28 | access to parameter i | ConditionalAccess.cs:30:10:30:12 | Out | | ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:30:28:30:32 | After ... = ... | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:30:28:30:32 | Before ... = ... | ConditionalAccess.cs:30:10:30:12 | Out | | ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:10:30:12 | Out | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:32:10:32:11 | exit M8 | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:32:10:32:11 | Exit | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:32:10:32:11 | Normal Exit | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:33:5:36:5 | After {...} | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:34:9:34:9 | access to parameter i | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:34:9:34:13 | After ... = ... | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:34:9:34:13 | Before ... = ... | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:34:9:34:14 | After ...; | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:24 | Before call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | get_Item | -| ConditionalAccess.cs:42:9:42:11 | exit get_Item | ConditionalAccess.cs:42:9:42:11 | get_Item | -| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:35:9:35:25 | After ...; | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:23:35:23 | access to parameter i | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:9:42:11 | Exit | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:9:42:11 | Normal Exit | ConditionalAccess.cs:42:9:42:11 | get_Item | | ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:15:42:26 | Before return ...; | ConditionalAccess.cs:42:9:42:11 | get_Item | | ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | get_Item | | ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:9:42:11 | get_Item | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | set_Item | -| ConditionalAccess.cs:43:9:43:11 | exit set_Item | ConditionalAccess.cs:43:9:43:11 | set_Item | -| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:43:9:43:11 | Exit | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:43:9:43:11 | Normal Exit | ConditionalAccess.cs:43:9:43:11 | set_Item | | ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | set_Item | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:46:10:46:11 | exit M9 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:46:10:46:11 | Exit | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:46:10:46:11 | Normal Exit | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:47:5:55:5 | After {...} | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:20 | After access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:26 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:12:48:25 | Before ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:33 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:12:49:32 | Before ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:14 | After access to indexer | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:14 | Before access to indexer | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:24 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:12:50:23 | Before ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:26 | After access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:32 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:18:51:31 | Before ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:39 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:18:52:38 | Before ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:20 | After access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:26 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:30 | After ...; | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:12:54:29 | Before ... += ... | ConditionalAccess.cs:46:10:46:11 | M9 | | ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | -| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | -| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:26:60:38 | Exit | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:26:60:38 | Normal Exit | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:78 | After ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:78 | Before ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:83 | After ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:83 | Before ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| Conditions.cs:1:7:1:16 | After call to constructor Object | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:1:7:1:16 | After call to method | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:1:7:1:16 | Before call to constructor Object | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:1:7:1:16 | Before call to method | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:1:7:1:16 | Exit | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:1:7:1:16 | Normal Exit | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | Conditions | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | Conditions | -| Conditions.cs:1:7:1:16 | exit Conditions | Conditions.cs:1:7:1:16 | Conditions | -| Conditions.cs:1:7:1:16 | exit Conditions (normal) | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | Conditions | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:3:10:3:19 | Exit | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:3:10:3:19 | Normal Exit | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:4:5:9:5 | After {...} | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:4:5:9:5 | {...} | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:5:13:5:15 | After access to parameter inc [false] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:6:13:6:13 | access to parameter x | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:6:13:6:15 | After ...++ | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:6:13:6:15 | Before ...++ | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:6:13:6:16 | ...; | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:6:13:6:16 | After ...; | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:13:7:16 | !... | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:13:7:16 | After !... [false] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:13:7:16 | After !... [true] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:8:13:8:15 | After ...-- | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:8:13:8:15 | Before ...-- | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:8:13:8:16 | ...; | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:11:9:11:10 | exit M1 | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:11:9:11:10 | exit M1 (normal) | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:8:13:8:16 | After ...; | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:11:9:11:10 | Exit | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:11:9:11:10 | Normal Exit | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:12:5:20:5 | {...} | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:13:9:13:18 | After ... ...; | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:13:13:13:13 | access to local variable x | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:13:13:13:17 | After Int32 x = ... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:13:13:13:17 | Before Int32 x = ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:13:17:13:17 | 0 | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:14:13:14:13 | After access to parameter b [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:15:13:15:13 | access to local variable x | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:15:13:15:15 | ...++ | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:15:13:15:15 | After ...++ | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:15:13:15:15 | Before ...++ | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:15:13:15:16 | ...; | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:15:13:15:16 | After ...; | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:16:13:16:13 | access to local variable x | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:13:16:17 | After ... > ... [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:13:16:17 | Before ... > ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:16:17:16:17 | 0 | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:17:17:18 | !... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:17:17:18 | After !... [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:17:17:18 | After !... [true] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:18:17:18:19 | After ...-- | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:18:17:18:19 | Before ...-- | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:18:17:18:20 | ...; | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:18:17:18:20 | After ...; | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:19:9:19:17 | Before return ...; | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:11:9:11:10 | M1 | | Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:22:9:22:10 | exit M2 | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:22:9:22:10 | exit M2 (normal) | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:22:9:22:10 | Exit | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:22:9:22:10 | Normal Exit | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:23:5:31:5 | {...} | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:24:9:24:18 | After ... ...; | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:24:13:24:13 | access to local variable x | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:24:13:24:17 | After Int32 x = ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:24:13:24:17 | Before Int32 x = ... | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:24:17:24:17 | 0 | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:27:17:27:17 | access to local variable x | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:27:17:27:19 | ...++ | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:27:17:27:19 | After ...++ | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:27:17:27:19 | Before ...++ | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:27:17:27:20 | ...; | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:27:17:27:20 | After ...; | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:29:13:29:15 | After ...++ | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:29:13:29:15 | Before ...++ | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:29:13:29:16 | ...; | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:29:13:29:16 | After ...; | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:30:9:30:17 | Before return ...; | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:22:9:22:10 | M2 | | Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:33:9:33:10 | exit M3 | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:33:9:33:10 | exit M3 (normal) | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:33:9:33:10 | Exit | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:33:9:33:10 | Normal Exit | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:34:5:44:5 | {...} | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:35:9:35:18 | After ... ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:35:13:35:13 | access to local variable x | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:35:13:35:17 | After Int32 x = ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:35:13:35:17 | Before Int32 x = ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:35:17:35:17 | 0 | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:36:9:36:23 | After ... ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:36:13:36:14 | access to local variable b2 | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:36:13:36:22 | After Boolean b2 = ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:36:18:36:22 | false | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:38:13:38:14 | access to local variable b2 | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:38:13:38:19 | After ... = ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:38:13:38:19 | Before ... = ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:38:13:38:20 | ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:38:13:38:20 | After ...; | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:40:13:40:13 | access to local variable x | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:40:13:40:15 | ...++ | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:40:13:40:15 | After ...++ | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:40:13:40:15 | Before ...++ | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:40:13:40:16 | ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:40:13:40:16 | After ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:42:13:42:15 | After ...++ | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:42:13:42:15 | Before ...++ | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:42:13:42:16 | ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:42:13:42:16 | After ...; | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:43:9:43:17 | Before return ...; | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:33:9:33:10 | M3 | | Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:46:9:46:10 | exit M4 | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:46:9:46:10 | exit M4 (normal) | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:46:9:46:10 | Exit | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:46:9:46:10 | Normal Exit | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:47:5:55:5 | {...} | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:48:9:48:18 | After ... ...; | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:48:13:48:13 | access to local variable y | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:48:13:48:17 | After Int32 y = ... | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:48:13:48:17 | Before Int32 y = ... | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:48:17:48:17 | 0 | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:9:53:9 | After while (...) ... | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:18 | After ...-- | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:18 | Before ...-- | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:22 | Before ... > ... | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:49:22:49:22 | 0 | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:50:9:53:9 | After {...} | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:50:9:53:9 | {...} | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:51:17:51:17 | After access to parameter b [false] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:52:17:52:17 | access to local variable y | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:52:17:52:19 | ...++ | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:52:17:52:19 | After ...++ | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:52:17:52:19 | Before ...++ | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:52:17:52:20 | ...; | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:52:17:52:20 | After ...; | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:54:9:54:17 | Before return ...; | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:46:9:46:10 | M4 | | Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:57:9:57:10 | exit M5 | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:57:9:57:10 | exit M5 (normal) | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:57:9:57:10 | Exit | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:57:9:57:10 | Normal Exit | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:58:5:68:5 | {...} | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:59:9:59:18 | After ... ...; | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:59:13:59:13 | access to local variable y | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:59:13:59:17 | After Int32 y = ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:59:13:59:17 | Before Int32 y = ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:59:17:59:17 | 0 | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:9:64:9 | After while (...) ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:18 | After ...-- | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:18 | Before ...-- | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:22 | Before ... > ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:60:22:60:22 | 0 | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:61:9:64:9 | After {...} | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:61:9:64:9 | {...} | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:62:17:62:17 | After access to parameter b [false] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:63:17:63:17 | access to local variable y | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:63:17:63:19 | ...++ | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:63:17:63:19 | After ...++ | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:63:17:63:19 | Before ...++ | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:63:17:63:20 | ...; | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:63:17:63:20 | After ...; | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:65:13:65:13 | After access to parameter b [false] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:66:13:66:15 | After ...++ | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:66:13:66:15 | Before ...++ | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:66:13:66:16 | ...; | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:66:13:66:16 | After ...; | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:67:9:67:17 | Before return ...; | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:57:9:57:10 | M5 | | Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:70:9:70:10 | exit M6 | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:70:9:70:10 | exit M6 (normal) | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:70:9:70:10 | Exit | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:70:9:70:10 | Normal Exit | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:71:5:84:5 | {...} | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:9:72:30 | After ... ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:13:72:13 | access to local variable b | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:13:72:29 | After Boolean b = ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:13:72:29 | Before Boolean b = ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:17:72:25 | After access to property Length | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:17:72:25 | Before access to property Length | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:17:72:29 | After ... > ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:72:17:72:29 | Before ... > ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:72:29:72:29 | 0 | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:73:9:73:18 | After ... ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:73:13:73:13 | access to local variable x | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:73:13:73:17 | After Int32 x = ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:73:13:73:17 | Before Int32 x = ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:73:17:73:17 | 0 | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:75:9:80:9 | After {...} | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:75:9:80:9 | {...} | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:76:17:76:17 | After access to local variable b [false] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:77:17:77:19 | After ...++ | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:77:17:77:19 | Before ...++ | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:77:17:77:20 | ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:77:17:77:20 | After ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:17:78:21 | After ... > ... [false] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:17:78:21 | Before ... > ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:78:21:78:21 | 0 | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:79:17:79:17 | access to local variable b | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:79:17:79:25 | After ... = ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:79:17:79:25 | Before ... = ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:79:17:79:26 | ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:79:17:79:26 | After ...; | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:79:21:79:25 | false | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:81:13:81:13 | After access to local variable b [false] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:82:13:82:15 | After ...++ | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:82:13:82:15 | Before ...++ | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:82:13:82:16 | ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:82:13:82:16 | After ...; | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:83:9:83:17 | Before return ...; | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:86:9:86:10 | exit M7 | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:86:9:86:10 | exit M7 (normal) | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:86:9:86:10 | Exit | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:86:9:86:10 | Normal Exit | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:87:5:100:5 | {...} | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:9:88:30 | After ... ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:13:88:13 | access to local variable b | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:13:88:29 | After Boolean b = ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:13:88:29 | Before Boolean b = ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:17:88:25 | After access to property Length | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:17:88:25 | Before access to property Length | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:17:88:29 | After ... > ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:88:17:88:29 | Before ... > ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:88:29:88:29 | 0 | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:89:9:89:18 | After ... ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:89:13:89:13 | access to local variable x | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:89:13:89:17 | After Int32 x = ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:89:13:89:17 | Before Int32 x = ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:89:17:89:17 | 0 | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:91:9:98:9 | After {...} | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:91:9:98:9 | {...} | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:92:17:92:17 | After access to local variable b [false] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:93:17:93:19 | After ...++ | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:93:17:93:19 | Before ...++ | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:93:17:93:20 | ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:93:17:93:20 | After ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:17:94:21 | After ... > ... [false] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:17:94:21 | Before ... > ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:94:21:94:21 | 0 | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:95:17:95:17 | access to local variable b | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:95:17:95:25 | After ... = ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:95:17:95:25 | Before ... = ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:95:17:95:26 | ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:95:17:95:26 | After ...; | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:95:21:95:25 | false | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:96:17:96:17 | After access to local variable b [false] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:97:17:97:19 | After ...++ | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:97:17:97:19 | Before ...++ | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:97:17:97:20 | ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:97:17:97:20 | After ...; | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:99:9:99:17 | Before return ...; | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:102:12:102:13 | exit M8 | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:102:12:102:13 | exit M8 (normal) | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:102:12:102:13 | Exit | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:102:12:102:13 | Normal Exit | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:103:5:111:5 | {...} | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:104:9:104:29 | After ... ...; | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:104:13:104:13 | access to local variable x | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:104:13:104:28 | After String x = ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:104:13:104:28 | Before String x = ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:104:17:104:28 | After call to method ToString | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:104:17:104:28 | Before call to method ToString | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:105:13:105:13 | After access to parameter b [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:106:13:106:13 | access to local variable x | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:106:13:106:19 | ... += ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:106:13:106:19 | After ... += ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:106:13:106:19 | Before ... += ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:106:13:106:20 | ...; | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:106:13:106:20 | After ...; | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:106:18:106:19 | "" | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:107:13:107:13 | access to local variable x | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:20 | After access to property Length | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:20 | Before access to property Length | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:24 | After ... > ... [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:24 | Before ... > ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:107:24:107:24 | 0 | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:17:108:18 | !... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:17:108:18 | After !... [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:17:108:18 | After !... [true] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:109:17:109:23 | After ... += ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:109:17:109:23 | Before ... += ... | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:109:17:109:24 | ...; | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:109:17:109:24 | After ...; | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:109:22:109:23 | "" | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:110:9:110:17 | Before return ...; | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:102:12:102:13 | M8 | | Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:113:10:113:11 | exit M9 | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:113:10:113:11 | Exit | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:113:10:113:11 | Normal Exit | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:114:5:124:5 | After {...} | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:114:5:124:5 | {...} | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:115:9:115:24 | After ... ...; | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:115:16:115:16 | access to local variable s | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:115:16:115:23 | After String s = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:115:16:115:23 | Before String s = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:115:20:115:23 | null | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:9:123:9 | After for (...;...;...) ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:18:116:18 | access to local variable i | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:18:116:22 | After Int32 i = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:18:116:22 | Before Int32 i = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:22:116:22 | 0 | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:29:116:32 | access to parameter args | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:29:116:39 | After access to property Length | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:29:116:39 | Before access to property Length | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:42:116:44 | After ...++ | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:42:116:44 | Before ...++ | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:117:9:123:9 | After {...} | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:117:9:123:9 | {...} | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:13:118:44 | After ... ...; | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:17:118:20 | access to local variable last | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:17:118:43 | After Boolean last = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:17:118:43 | Before Boolean last = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:24:118:43 | After ... == ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:24:118:43 | Before ... == ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:29:118:39 | After access to property Length | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:29:118:39 | Before access to property Length | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:29:118:43 | After ... - ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:118:29:118:43 | Before ... - ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:118:43:118:43 | 1 | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:17:119:21 | !... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:17:119:21 | After !... [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:17:119:21 | After !... [true] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:120:17:120:17 | access to local variable s | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:120:17:120:22 | After ... = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:120:17:120:22 | Before ... = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:120:17:120:23 | ...; | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:120:17:120:23 | After ...; | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:120:21:120:22 | "" | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:121:17:121:20 | After access to local variable last [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:122:17:122:17 | access to local variable s | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:122:17:122:24 | After ... = ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:122:17:122:24 | Before ... = ... | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:122:17:122:25 | ...; | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:122:17:122:25 | After ...; | Conditions.cs:113:10:113:11 | M9 | | Conditions.cs:122:21:122:24 | null | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:130:5:141:5 | {...} | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:131:16:131:19 | After true [true] | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:131:16:131:19 | true | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:132:9:140:9 | After {...} | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:132:9:140:9 | {...} | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [false] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:17:133:22 | Before access to field Field1 | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:133:17:133:22 | this access | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:134:13:139:13 | After {...} | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:134:13:139:13 | {...} | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [false] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:21:135:26 | Before access to field Field2 | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:135:21:135:26 | this access | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:136:17:138:17 | After {...} | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:136:17:138:17 | {...} | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:137:21:137:26 | After access to field Field1 | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:137:21:137:26 | Before access to field Field1 | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:137:21:137:26 | this access | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:137:21:137:37 | After call to method ToString | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:137:21:137:37 | Before call to method ToString | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:129:10:129:12 | M10 | | Conditions.cs:137:21:137:38 | ...; | Conditions.cs:129:10:129:12 | M10 | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:143:10:143:12 | exit M11 | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:137:21:137:38 | After ...; | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:143:10:143:12 | Exit | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:143:10:143:12 | Normal Exit | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:144:5:150:5 | After {...} | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:144:5:150:5 | {...} | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:9:145:30 | After ... ...; | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:13:145:13 | access to local variable s | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:13:145:29 | After String s = ... | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:13:145:29 | Before String s = ... | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:145:21:145:23 | "a" | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:145:27:145:29 | "b" | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:13:147:48 | After call to method WriteLine | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:13:147:48 | Before call to method WriteLine | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:147:13:147:49 | ...; | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:13:147:49 | After ...; | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:38:147:47 | After $"..." | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:38:147:47 | Before $"..." | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:44:147:46 | After {...} | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:147:44:147:46 | Before {...} | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:147:44:147:46 | {...} | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:147:45:147:45 | access to local variable s | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:13:149:48 | After call to method WriteLine | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:13:149:48 | Before call to method WriteLine | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:149:13:149:49 | ...; | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:13:149:49 | After ...; | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:38:149:47 | After $"..." | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:38:149:47 | Before $"..." | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:44:149:46 | After {...} | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:149:44:149:46 | Before {...} | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:149:44:149:46 | {...} | Conditions.cs:143:10:143:12 | M11 | | Conditions.cs:149:45:149:45 | access to local variable s | Conditions.cs:143:10:143:12 | M11 | +| ExitMethods.cs:6:7:6:17 | After call to constructor Object | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:6:7:6:17 | After call to method | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:6:7:6:17 | Before call to constructor Object | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:6:7:6:17 | Before call to method | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:6:7:6:17 | Exit | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:6:7:6:17 | Normal Exit | ExitMethods.cs:6:7:6:17 | ExitMethods | | ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | ExitMethods | | ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | ExitMethods | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | ExitMethods | -| ExitMethods.cs:6:7:6:17 | exit ExitMethods | ExitMethods.cs:6:7:6:17 | ExitMethods | -| ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | ExitMethods.cs:6:7:6:17 | ExitMethods | | ExitMethods.cs:6:7:6:17 | this access | ExitMethods.cs:6:7:6:17 | ExitMethods | | ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | ExitMethods | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:8:10:8:11 | M1 | -| ExitMethods.cs:8:10:8:11 | exit M1 | ExitMethods.cs:8:10:8:11 | M1 | -| ExitMethods.cs:8:10:8:11 | exit M1 (normal) | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:8:10:8:11 | Exit | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:8:10:8:11 | Normal Exit | ExitMethods.cs:8:10:8:11 | M1 | | ExitMethods.cs:9:5:12:5 | {...} | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | ExitMethods.cs:8:10:8:11 | M1 | | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:8:10:8:11 | M1 | | ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:10:9:10:25 | After ...; | ExitMethods.cs:8:10:8:11 | M1 | | ExitMethods.cs:10:20:10:23 | true | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:11:9:11:15 | Before return ...; | ExitMethods.cs:8:10:8:11 | M1 | | ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:8:10:8:11 | M1 | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:14:10:14:11 | M2 | -| ExitMethods.cs:14:10:14:11 | exit M2 | ExitMethods.cs:14:10:14:11 | M2 | -| ExitMethods.cs:14:10:14:11 | exit M2 (normal) | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:14:10:14:11 | Exit | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:14:10:14:11 | Normal Exit | ExitMethods.cs:14:10:14:11 | M2 | | ExitMethods.cs:15:5:18:5 | {...} | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | ExitMethods.cs:14:10:14:11 | M2 | | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:14:10:14:11 | M2 | | ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:16:9:16:26 | After ...; | ExitMethods.cs:14:10:14:11 | M2 | | ExitMethods.cs:16:20:16:24 | false | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:17:9:17:15 | Before return ...; | ExitMethods.cs:14:10:14:11 | M2 | | ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:14:10:14:11 | M2 | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:20:10:20:11 | M3 | -| ExitMethods.cs:20:10:20:11 | exit M3 | ExitMethods.cs:20:10:20:11 | M3 | -| ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | ExitMethods.cs:20:10:20:11 | M3 | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:20:10:20:11 | M3 | +| ExitMethods.cs:20:10:20:11 | Exceptional Exit | ExitMethods.cs:20:10:20:11 | M3 | +| ExitMethods.cs:20:10:20:11 | Exit | ExitMethods.cs:20:10:20:11 | M3 | | ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:20:10:20:11 | M3 | +| ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | ExitMethods.cs:20:10:20:11 | M3 | | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:20:10:20:11 | M3 | | ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:20:10:20:11 | M3 | | ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:20:10:20:11 | M3 | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:26:10:26:11 | M4 | -| ExitMethods.cs:26:10:26:11 | exit M4 | ExitMethods.cs:26:10:26:11 | M4 | -| ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | ExitMethods.cs:26:10:26:11 | M4 | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:26:10:26:11 | M4 | +| ExitMethods.cs:26:10:26:11 | Exceptional Exit | ExitMethods.cs:26:10:26:11 | M4 | +| ExitMethods.cs:26:10:26:11 | Exit | ExitMethods.cs:26:10:26:11 | M4 | | ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:26:10:26:11 | M4 | +| ExitMethods.cs:28:9:28:14 | Before call to method Exit | ExitMethods.cs:26:10:26:11 | M4 | | ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:26:10:26:11 | M4 | | ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:26:10:26:11 | M4 | | ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:26:10:26:11 | M4 | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:32:10:32:11 | M5 | -| ExitMethods.cs:32:10:32:11 | exit M5 | ExitMethods.cs:32:10:32:11 | M5 | -| ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | ExitMethods.cs:32:10:32:11 | M5 | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:32:10:32:11 | M5 | +| ExitMethods.cs:32:10:32:11 | Exceptional Exit | ExitMethods.cs:32:10:32:11 | M5 | +| ExitMethods.cs:32:10:32:11 | Exit | ExitMethods.cs:32:10:32:11 | M5 | | ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:32:10:32:11 | M5 | +| ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | ExitMethods.cs:32:10:32:11 | M5 | | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:32:10:32:11 | M5 | | ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:32:10:32:11 | M5 | | ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:32:10:32:11 | M5 | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:38:10:38:11 | exit M6 | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:38:10:38:11 | Exceptional Exit | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:38:10:38:11 | Exit | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:42:25:42:29 | false | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:46:13:46:19 | Before return ...; | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:46:13:46:19 | return ...; | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:50:13:50:19 | Before return ...; | ExitMethods.cs:38:10:38:11 | M6 | | ExitMethods.cs:50:13:50:19 | return ...; | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:54:10:54:11 | M7 | -| ExitMethods.cs:54:10:54:11 | exit M7 | ExitMethods.cs:54:10:54:11 | M7 | -| ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | ExitMethods.cs:54:10:54:11 | M7 | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:54:10:54:11 | M7 | +| ExitMethods.cs:54:10:54:11 | Exceptional Exit | ExitMethods.cs:54:10:54:11 | M7 | +| ExitMethods.cs:54:10:54:11 | Exit | ExitMethods.cs:54:10:54:11 | M7 | | ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:54:10:54:11 | M7 | +| ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | ExitMethods.cs:54:10:54:11 | M7 | | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:54:10:54:11 | M7 | | ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:54:10:54:11 | M7 | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:60:10:60:11 | M8 | -| ExitMethods.cs:60:10:60:11 | exit M8 | ExitMethods.cs:60:10:60:11 | M8 | -| ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | ExitMethods.cs:60:10:60:11 | M8 | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:60:10:60:11 | M8 | +| ExitMethods.cs:60:10:60:11 | Exceptional Exit | ExitMethods.cs:60:10:60:11 | M8 | +| ExitMethods.cs:60:10:60:11 | Exit | ExitMethods.cs:60:10:60:11 | M8 | | ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:60:10:60:11 | M8 | +| ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | ExitMethods.cs:60:10:60:11 | M8 | | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:60:10:60:11 | M8 | | ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:60:10:60:11 | M8 | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (abnormal) | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:66:17:66:26 | Exceptional Exit | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:66:17:66:26 | Exit | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:66:17:66:26 | Normal Exit | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:67:5:70:5 | After {...} | ExitMethods.cs:66:17:66:26 | ErrorMaybe | | ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:68:9:69:34 | After if (...) ... | ExitMethods.cs:66:17:66:26 | ErrorMaybe | | ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:66:17:66:26 | ErrorMaybe | | ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:69:13:69:34 | Before throw ...; | ExitMethods.cs:66:17:66:26 | ErrorMaybe | | ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:69:19:69:33 | After object creation of type Exception | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | ExitMethods.cs:66:17:66:26 | ErrorMaybe | | ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:72:17:72:27 | Exit | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:74:9:77:45 | if (...) ... | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:75:13:75:34 | Before throw ...; | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:75:13:75:34 | throw ...; | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:75:19:75:33 | After object creation of type Exception | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:77:13:77:45 | Before throw ...; | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:77:13:77:45 | throw ...; | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:72:17:72:27 | ErrorAlways | | ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | -| ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | -| ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:80:17:80:28 | Exceptional Exit | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:80:17:80:28 | Exit | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | | ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:82:9:82:30 | Before throw ...; | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | | ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:82:15:82:29 | After object creation of type Exception | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | | ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | -| ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | -| ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:85:17:85:28 | Exceptional Exit | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:85:17:85:28 | Exit | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:85:35:85:55 | Before throw ... | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | | ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:85:41:85:55 | After object creation of type Exception | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | | ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:87:10:87:13 | Exit | -| ExitMethods.cs:87:10:87:13 | exit Exit | ExitMethods.cs:87:10:87:13 | Exit | -| ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | ExitMethods.cs:87:10:87:13 | Exit | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:87:10:87:13 | Exit | +| ExitMethods.cs:87:10:87:13 | Exceptional Exit | ExitMethods.cs:87:10:87:13 | Exit | +| ExitMethods.cs:87:10:87:13 | Exit | ExitMethods.cs:87:10:87:13 | Exit | | ExitMethods.cs:88:5:90:5 | {...} | ExitMethods.cs:87:10:87:13 | Exit | +| ExitMethods.cs:89:9:89:27 | Before call to method Exit | ExitMethods.cs:87:10:87:13 | Exit | | ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:87:10:87:13 | Exit | | ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:87:10:87:13 | Exit | | ExitMethods.cs:89:26:89:26 | 0 | ExitMethods.cs:87:10:87:13 | Exit | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:92:10:92:18 | ExitInTry | -| ExitMethods.cs:92:10:92:18 | exit ExitInTry | ExitMethods.cs:92:10:92:18 | ExitInTry | -| ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:92:10:92:18 | Exceptional Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:92:10:92:18 | Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:92:10:92:18 | Normal Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:93:5:103:5 | After {...} | ExitMethods.cs:92:10:92:18 | ExitInTry | | ExitMethods.cs:93:5:103:5 | {...} | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:92:10:92:18 | ExitInTry | | ExitMethods.cs:94:9:102:9 | try {...} ... | ExitMethods.cs:92:10:92:18 | ExitInTry | | ExitMethods.cs:95:9:97:9 | {...} | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:96:13:96:18 | Before call to method Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | | ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | | ExitMethods.cs:96:13:96:18 | this access | ExitMethods.cs:92:10:92:18 | ExitInTry | | ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:92:10:92:18 | ExitInTry | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:105:10:105:24 | ApplicationExit | -| ExitMethods.cs:105:10:105:24 | exit ApplicationExit | ExitMethods.cs:105:10:105:24 | ApplicationExit | -| ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | ExitMethods.cs:105:10:105:24 | ApplicationExit | +| ExitMethods.cs:99:9:102:9 | After {...} | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:99:9:102:9 | {...} | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:101:13:101:40 | After call to method WriteLine | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:101:13:101:40 | call to method WriteLine | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:101:13:101:41 | ...; | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:101:13:101:41 | After ...; | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:101:38:101:39 | "" | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:105:10:105:24 | ApplicationExit | +| ExitMethods.cs:105:10:105:24 | Exceptional Exit | ExitMethods.cs:105:10:105:24 | ApplicationExit | +| ExitMethods.cs:105:10:105:24 | Exit | ExitMethods.cs:105:10:105:24 | ApplicationExit | | ExitMethods.cs:106:5:108:5 | {...} | ExitMethods.cs:105:10:105:24 | ApplicationExit | +| ExitMethods.cs:107:9:107:47 | Before call to method Exit | ExitMethods.cs:105:10:105:24 | ApplicationExit | | ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:105:10:105:24 | ApplicationExit | | ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:105:10:105:24 | ApplicationExit | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr (abnormal) | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr (normal) | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:110:13:110:21 | Exceptional Exit | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:110:13:110:21 | Exit | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:110:13:110:21 | Normal Exit | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:9:112:77 | Before return ...; | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:16:112:25 | Before ... != ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:25:112:25 | After (...) ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:25:112:25 | Before (...) ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:29:112:29 | After (...) ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:29:112:29 | Before (...) ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:29:112:37 | After ... / ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:29:112:37 | Before ... / ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:33:112:37 | access to parameter input | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:41:112:76 | Before throw ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:110:13:110:21 | ThrowExpr | | ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | -| ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | -| ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:115:16:115:34 | Exit | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:115:16:115:34 | Normal Exit | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:9:117:39 | Before return ...; | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:30 | Before call to method Contains | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | ExitMethods.cs:117:27:117:29 | - | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | | 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: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:120:17:120:32 | Entry | ExitMethods.cs:120:17:120:32 | FailingAssertion | +| ExitMethods.cs:120:17:120:32 | Exceptional Exit | ExitMethods.cs:120:17:120:32 | FailingAssertion | +| ExitMethods.cs:120:17:120:32 | Exit | 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 | Before 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 | -| ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | -| ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 (abnormal) | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | +| ExitMethods.cs:126:17:126:33 | Entry | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | +| ExitMethods.cs:126:17:126:33 | Exceptional Exit | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | +| ExitMethods.cs:126:17:126:33 | Exit | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | | ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | +| ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | | ExitMethods.cs:128:9:128:26 | this access | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | | ExitMethods.cs:128:9:128:27 | ...; | 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: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:10:132:20 | Entry | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:10:132:20 | Exceptional Exit | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:10:132:20 | Exit | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:10:132:20 | Normal Exit | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:33:132:49 | Before 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:134:17:134:33 | Entry | ExitMethods.cs:134:17:134:33 | FailingAssertion3 | +| ExitMethods.cs:134:17:134:33 | Exceptional Exit | ExitMethods.cs:134:17:134:33 | FailingAssertion3 | +| ExitMethods.cs:134:17:134:33 | Exit | 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 | Before 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 | -| ExitMethods.cs:140:17:140:42 | enter ExceptionDispatchInfoThrow | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | -| ExitMethods.cs:140:17:140:42 | exit 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:140:17:140:42 | Entry | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:140:17:140:42 | Exit | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:143:13:143:42 | Before call to method Throw | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:143:13:143:42 | call to method Throw | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:143:41:143:41 | access to parameter e | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:145:13:145:44 | After call to method Capture | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:145:13:145:44 | Before call to method Capture | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:145:13:145:52 | Before call to method Throw | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | | ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:5:23:5:29 | ToInt32 | -| Extensions.cs:5:23:5:29 | exit ToInt32 | Extensions.cs:5:23:5:29 | ToInt32 | -| Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:5:23:5:29 | Exit | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:5:23:5:29 | Normal Exit | Extensions.cs:5:23:5:29 | ToInt32 | | Extensions.cs:6:5:8:5 | {...} | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:7:9:7:30 | Before return ...; | Extensions.cs:5:23:5:29 | ToInt32 | | Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:7:16:7:29 | After call to method Parse | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:7:16:7:29 | Before call to method Parse | Extensions.cs:5:23:5:29 | ToInt32 | | Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:5:23:5:29 | ToInt32 | | Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:5:23:5:29 | ToInt32 | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:10:24:10:29 | ToBool | -| Extensions.cs:10:24:10:29 | exit ToBool | Extensions.cs:10:24:10:29 | ToBool | -| Extensions.cs:10:24:10:29 | exit ToBool (normal) | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:10:24:10:29 | Exit | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:10:24:10:29 | Normal Exit | Extensions.cs:10:24:10:29 | ToBool | | Extensions.cs:11:5:13:5 | {...} | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:12:9:12:20 | Before return ...; | Extensions.cs:10:24:10:29 | ToBool | | Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:10:24:10:29 | ToBool | | Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:12:16:12:19 | After delegate call | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:12:16:12:19 | Before delegate call | Extensions.cs:10:24:10:29 | ToBool | | Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:10:24:10:29 | ToBool | | Extensions.cs:12:18:12:18 | access to parameter s | Extensions.cs:10:24:10:29 | ToBool | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:23:15:33 | CallToInt32 | -| Extensions.cs:15:23:15:33 | exit CallToInt32 | Extensions.cs:15:23:15:33 | CallToInt32 | -| Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | Extensions.cs:15:23:15:33 | CallToInt32 | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:23:15:33 | CallToInt32 | +| Extensions.cs:15:23:15:33 | Exit | Extensions.cs:15:23:15:33 | CallToInt32 | +| Extensions.cs:15:23:15:33 | Normal Exit | Extensions.cs:15:23:15:33 | CallToInt32 | +| Extensions.cs:15:40:15:51 | After call to method ToInt32 | Extensions.cs:15:23:15:33 | CallToInt32 | +| Extensions.cs:15:40:15:51 | Before call to method ToInt32 | Extensions.cs:15:23:15:33 | CallToInt32 | | Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:23:15:33 | CallToInt32 | | Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:23:15:33 | CallToInt32 | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:20:17:20:20 | Main | -| Extensions.cs:20:17:20:20 | exit Main | Extensions.cs:20:17:20:20 | Main | -| Extensions.cs:20:17:20:20 | exit Main (normal) | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:20:17:20:20 | Exit | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:20:17:20:20 | Normal Exit | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:21:5:26:5 | After {...} | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:21:5:26:5 | {...} | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:22:9:22:19 | After call to method ToInt32 | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:22:9:22:19 | Before call to method ToInt32 | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:22:9:22:20 | ...; | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:22:9:22:20 | After ...; | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:23:9:23:30 | After call to method ToInt32 | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:23:9:23:30 | Before call to method ToInt32 | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:23:9:23:31 | ...; | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:23:9:23:31 | After ...; | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:23:28:23:29 | "" | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:24:9:24:45 | After call to method ToBool | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:24:9:24:45 | Before call to method ToBool | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:24:9:24:46 | ...; | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:24:9:24:46 | After ...; | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:24:27:24:32 | "true" | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:24:35:24:44 | After delegate creation of type Func | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:24:35:24:44 | Before delegate creation of type Func | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:25:9:25:14 | "true" | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:25:9:25:33 | After call to method ToBool | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:25:9:25:33 | Before call to method ToBool | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:25:9:25:34 | ...; | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:25:9:25:34 | After ...; | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:25:23:25:32 | After delegate creation of type Func | Extensions.cs:20:17:20:20 | Main | +| Extensions.cs:25:23:25:32 | Before delegate creation of type Func | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:20:17:20:20 | Main | | Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:20:17:20:20 | Main | +| Finally.cs:3:14:3:20 | After call to constructor Object | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:3:14:3:20 | After call to method | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:3:14:3:20 | Before call to constructor Object | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:3:14:3:20 | Before call to method | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:3:14:3:20 | Exit | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:3:14:3:20 | Normal Exit | Finally.cs:3:14:3:20 | Finally | | Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | Finally | | Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | Finally | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | Finally | -| Finally.cs:3:14:3:20 | exit Finally | Finally.cs:3:14:3:20 | Finally | -| Finally.cs:3:14:3:20 | exit Finally (normal) | Finally.cs:3:14:3:20 | Finally | | Finally.cs:3:14:3:20 | this access | Finally.cs:3:14:3:20 | Finally | | Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | Finally | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:7:10:7:11 | exit M1 | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:7:10:7:11 | exit M1 (abnormal) | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:7:10:7:11 | Exceptional Exit | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:7:10:7:11 | Exit | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:7:10:7:11 | Normal Exit | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:8:5:17:5 | After {...} | Finally.cs:7:10:7:11 | M1 | | Finally.cs:8:5:17:5 | {...} | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:7:10:7:11 | M1 | | Finally.cs:9:9:16:9 | try {...} ... | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:10:9:12:9 | After {...} | Finally.cs:7:10:7:11 | M1 | | Finally.cs:10:9:12:9 | {...} | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:11:13:11:37 | Before call to method WriteLine | Finally.cs:7:10:7:11 | M1 | | Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:7:10:7:11 | M1 | | Finally.cs:11:13:11:38 | ...; | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:11:13:11:38 | After ...; | Finally.cs:7:10:7:11 | M1 | | Finally.cs:11:31:11:36 | "Try1" | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:14:9:16:9 | After {...} | Finally.cs:7:10:7:11 | M1 | | Finally.cs:14:9:16:9 | {...} | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:15:13:15:40 | After call to method WriteLine | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:15:13:15:40 | Before call to method WriteLine | Finally.cs:7:10:7:11 | M1 | | Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:7:10:7:11 | M1 | | Finally.cs:15:13:15:41 | ...; | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:15:13:15:41 | After ...; | Finally.cs:7:10:7:11 | M1 | | Finally.cs:15:31:15:39 | "Finally" | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:19:10:19:11 | exit M2 | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:19:10:19:11 | exit M2 (abnormal) | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Exceptional Exit | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Exit | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:20:5:52:5 | After {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:20:5:52:5 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:19:10:19:11 | M2 | | Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:19:10:19:11 | M2 | | Finally.cs:22:9:25:9 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:23:13:23:37 | Before call to method WriteLine | Finally.cs:19:10:19:11 | M2 | | Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:19:10:19:11 | M2 | | Finally.cs:23:13:23:38 | ...; | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:23:13:23:38 | After ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:23:31:23:36 | "Try2" | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:24:13:24:19 | Before return ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:24:13:24:19 | return ...; | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:26:38:26:39 | IOException ex | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:26:48:26:51 | After true [true] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:26:48:26:51 | true | Finally.cs:19:10:19:11 | M2 | | Finally.cs:27:9:29:9 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:28:13:28:18 | Before throw ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:28:13:28:18 | throw ...; | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:19:10:19:11 | M2 | | Finally.cs:31:9:40:9 | {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:32:13:39:13 | try {...} ... | Finally.cs:19:10:19:11 | M2 | | Finally.cs:33:13:35:13 | {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:34:17:34:32 | if (...) ... | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:34:21:34:24 | After true [true] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:34:21:34:24 | true | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:34:27:34:32 | Before throw ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:34:27:34:32 | throw ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:37:13:39:13 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:38:17:38:44 | Before throw ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:38:17:38:44 | throw ...; | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:38:23:38:43 | After object creation of type Exception | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:38:23:38:43 | Before object creation of type Exception | Finally.cs:19:10:19:11 | M2 | | Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:19:10:19:11 | M2 | | Finally.cs:38:37:38:42 | "Boo!" | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:42:9:43:9 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:44:9:47:9 | After catch {...} [match] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:44:9:47:9 | catch {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:45:9:47:9 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:46:13:46:19 | Before return ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:46:13:46:19 | return ...; | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:19:10:19:11 | M2 | | Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:50:13:50:40 | After call to method WriteLine | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:50:13:50:40 | Before call to method WriteLine | Finally.cs:19:10:19:11 | M2 | | Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:19:10:19:11 | M2 | | Finally.cs:50:13:50:41 | ...; | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:50:13:50:41 | After ...; | Finally.cs:19:10:19:11 | M2 | | Finally.cs:50:31:50:39 | "Finally" | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:54:10:54:11 | exit M3 | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:54:10:54:11 | exit M3 (abnormal) | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Exceptional Exit | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Exit | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:55:5:72:5 | After {...} | Finally.cs:54:10:54:11 | M3 | | Finally.cs:55:5:72:5 | {...} | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:54:10:54:11 | M3 | | Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:54:10:54:11 | M3 | | Finally.cs:57:9:60:9 | {...} | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:58:13:58:37 | Before call to method WriteLine | Finally.cs:54:10:54:11 | M3 | | Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:54:10:54:11 | M3 | | Finally.cs:58:13:58:38 | ...; | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:58:13:58:38 | After ...; | Finally.cs:54:10:54:11 | M3 | | Finally.cs:58:31:58:36 | "Try3" | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:59:13:59:19 | Before return ...; | Finally.cs:54:10:54:11 | M3 | | Finally.cs:59:13:59:19 | return ...; | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:54:10:54:11 | M3 | | Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:54:10:54:11 | M3 | | Finally.cs:61:38:61:39 | IOException ex | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:61:48:61:51 | After true [true] | Finally.cs:54:10:54:11 | M3 | | Finally.cs:61:48:61:51 | true | Finally.cs:54:10:54:11 | M3 | | Finally.cs:62:9:64:9 | {...} | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:63:13:63:18 | Before throw ...; | Finally.cs:54:10:54:11 | M3 | | Finally.cs:63:13:63:18 | throw ...; | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:54:10:54:11 | M3 | | Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:54:10:54:11 | M3 | | Finally.cs:65:26:65:26 | Exception e | Finally.cs:54:10:54:11 | M3 | | Finally.cs:65:35:65:35 | access to local variable e | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:43 | After access to property Message | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:43 | Before access to property Message | Finally.cs:54:10:54:11 | M3 | | Finally.cs:65:35:65:43 | access to property Message | Finally.cs:54:10:54:11 | M3 | | Finally.cs:65:35:65:51 | ... != ... | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:51 | After ... != ... [false] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:51 | Before ... != ... | Finally.cs:54:10:54:11 | M3 | | Finally.cs:65:48:65:51 | null | Finally.cs:54:10:54:11 | M3 | | Finally.cs:66:9:67:9 | {...} | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:54:10:54:11 | M3 | | Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:70:13:70:40 | After call to method WriteLine | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:70:13:70:40 | Before call to method WriteLine | Finally.cs:54:10:54:11 | M3 | | Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:54:10:54:11 | M3 | | Finally.cs:70:13:70:41 | ...; | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:70:13:70:41 | After ...; | Finally.cs:54:10:54:11 | M3 | | Finally.cs:70:31:70:39 | "Finally" | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:74:10:74:11 | exit M4 | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:74:10:74:11 | exit M4 (abnormal) | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Exceptional Exit | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Exit | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:75:5:101:5 | After {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:75:5:101:5 | {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:76:9:76:19 | ... ...; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:76:9:76:19 | After ... ...; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:76:13:76:13 | access to local variable i | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:76:13:76:18 | After Int32 i = ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:76:13:76:18 | Before Int32 i = ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:76:17:76:18 | 10 | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | M4 | | Finally.cs:77:16:77:20 | ... > ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:16:77:20 | After ... > ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:16:77:20 | Before ... > ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:77:20:77:20 | 0 | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:78:9:100:9 | After {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:78:9:100:9 | {...} | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:80:13:87:13 | After {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:80:13:87:13 | {...} | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:81:17:82:27 | After if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:81:21:81:21 | access to local variable i | Finally.cs:74:10:74:11 | M4 | | Finally.cs:81:21:81:26 | ... == ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:81:21:81:26 | Before ... == ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:81:26:81:26 | 0 | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:82:21:82:27 | Before return ...; | Finally.cs:74:10:74:11 | M4 | | Finally.cs:82:21:82:27 | return ...; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:83:17:84:29 | After if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:83:21:83:21 | access to local variable i | Finally.cs:74:10:74:11 | M4 | | Finally.cs:83:21:83:26 | ... == ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:83:21:83:26 | Before ... == ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:83:26:83:26 | 1 | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:84:21:84:29 | Before continue; | Finally.cs:74:10:74:11 | M4 | | Finally.cs:84:21:84:29 | continue; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:85:17:86:26 | After if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:85:21:85:21 | access to local variable i | Finally.cs:74:10:74:11 | M4 | | Finally.cs:85:21:85:26 | ... == ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:85:21:85:26 | Before ... == ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:85:26:85:26 | 2 | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:86:21:86:26 | Before break; | Finally.cs:74:10:74:11 | M4 | | Finally.cs:86:21:86:26 | break; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:89:13:99:13 | {...} | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:90:17:98:17 | try {...} ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:91:17:94:17 | After {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:91:17:94:17 | {...} | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:92:21:93:46 | After if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:92:25:92:25 | access to local variable i | Finally.cs:74:10:74:11 | M4 | | Finally.cs:92:25:92:30 | ... == ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:92:25:92:30 | Before ... == ... | Finally.cs:74:10:74:11 | M4 | | Finally.cs:92:30:92:30 | 3 | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:93:25:93:46 | Before throw ...; | Finally.cs:74:10:74:11 | M4 | | Finally.cs:93:25:93:46 | throw ...; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:93:31:93:45 | Before object creation of type Exception | Finally.cs:74:10:74:11 | M4 | | Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:96:17:98:17 | After {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:96:17:98:17 | {...} | Finally.cs:74:10:74:11 | M4 | | Finally.cs:97:21:97:21 | access to local variable i | Finally.cs:74:10:74:11 | M4 | | Finally.cs:97:21:97:23 | ...-- | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:97:21:97:23 | After ...-- | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:97:21:97:23 | Before ...-- | Finally.cs:74:10:74:11 | M4 | | Finally.cs:97:21:97:24 | ...; | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:103:10:103:11 | exit M5 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:103:10:103:11 | exit M5 (abnormal) | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:97:21:97:24 | After ...; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Exceptional Exit | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Exit | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:104:5:119:5 | After {...} | Finally.cs:103:10:103:11 | M5 | | Finally.cs:104:5:119:5 | {...} | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:106:9:111:9 | After {...} | Finally.cs:103:10:103:11 | M5 | | Finally.cs:106:9:111:9 | {...} | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:13:108:23 | After if (...) ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:21 | Before access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:107:17:107:21 | access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:107:17:107:21 | this access | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:28 | Before access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:107:17:107:28 | access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:107:17:107:33 | ... == ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:33 | Before ... == ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:107:33:107:33 | 0 | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:108:17:108:23 | Before return ...; | Finally.cs:103:10:103:11 | M5 | | Finally.cs:108:17:108:23 | return ...; | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:13:110:49 | After if (...) ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:21 | Before access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:109:17:109:21 | access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:109:17:109:21 | this access | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:28 | Before access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:109:17:109:28 | access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:109:17:109:33 | ... == ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:33 | Before ... == ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:109:33:109:33 | 1 | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:110:17:110:49 | Before throw ...; | Finally.cs:103:10:103:11 | M5 | | Finally.cs:110:17:110:49 | throw ...; | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | Finally.cs:103:10:103:11 | M5 | | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:103:10:103:11 | M5 | | Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:17:114:36 | !... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:17:114:36 | After !... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:17:114:36 | After !... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:23 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:23 | Before access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:114:19:114:23 | access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:114:19:114:23 | this access | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:30 | After access to property Length | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:30 | Before access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:114:19:114:30 | access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:114:19:114:35 | ... == ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:35 | Before ... == ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:114:35:114:35 | 0 | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:115:17:115:40 | After call to method WriteLine | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:115:17:115:40 | Before call to method WriteLine | Finally.cs:103:10:103:11 | M5 | | Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:103:10:103:11 | M5 | | Finally.cs:115:17:115:41 | ...; | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:115:17:115:41 | After ...; | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:115:35:115:39 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:115:35:115:39 | Before access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:115:35:115:39 | access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:115:35:115:39 | this access | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:21 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:21 | Before access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:116:17:116:21 | access to field Field | Finally.cs:103:10:103:11 | M5 | | Finally.cs:116:17:116:21 | this access | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:28 | After access to property Length | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:28 | Before access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:116:17:116:28 | access to property Length | Finally.cs:103:10:103:11 | M5 | | Finally.cs:116:17:116:32 | ... > ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:32 | After ... > ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:32 | Before ... > ... | Finally.cs:103:10:103:11 | M5 | | Finally.cs:116:32:116:32 | 0 | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:117:17:117:36 | After call to method WriteLine | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:117:17:117:36 | Before call to method WriteLine | Finally.cs:103:10:103:11 | M5 | | Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:103:10:103:11 | M5 | | Finally.cs:117:17:117:37 | ...; | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:117:17:117:37 | After ...; | Finally.cs:103:10:103:11 | M5 | | Finally.cs:117:35:117:35 | 1 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:121:10:121:11 | M6 | -| Finally.cs:121:10:121:11 | exit M6 | Finally.cs:121:10:121:11 | M6 | -| Finally.cs:121:10:121:11 | exit M6 (normal) | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:121:10:121:11 | Exit | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:121:10:121:11 | Normal Exit | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:122:5:131:5 | After {...} | Finally.cs:121:10:121:11 | M6 | | Finally.cs:122:5:131:5 | {...} | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:123:9:130:9 | After try {...} ... | Finally.cs:121:10:121:11 | M6 | | Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:124:9:126:9 | After {...} | Finally.cs:121:10:121:11 | M6 | | Finally.cs:124:9:126:9 | {...} | Finally.cs:121:10:121:11 | M6 | | Finally.cs:125:13:125:41 | ... ...; | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:13:125:41 | After ... ...; | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:17:125:20 | access to local variable temp | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:17:125:40 | After Double temp = ... | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:17:125:40 | Before Double temp = ... | Finally.cs:121:10:121:11 | M6 | | Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:121:10:121:11 | M6 | | Finally.cs:125:24:125:24 | 0 | Finally.cs:121:10:121:11 | M6 | | Finally.cs:125:24:125:24 | (...) ... | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:24:125:24 | After (...) ... | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:24:125:24 | Before (...) ... | Finally.cs:121:10:121:11 | M6 | | Finally.cs:125:24:125:40 | ... / ... | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:24:125:40 | After ... / ... | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:125:24:125:40 | Before ... / ... | Finally.cs:121:10:121:11 | M6 | | Finally.cs:125:28:125:40 | access to constant E | Finally.cs:121:10:121:11 | M6 | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:133:10:133:11 | M7 | -| Finally.cs:133:10:133:11 | exit M7 | Finally.cs:133:10:133:11 | M7 | -| Finally.cs:133:10:133:11 | exit M7 (abnormal) | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:133:10:133:11 | Exceptional Exit | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:133:10:133:11 | Exit | Finally.cs:133:10:133:11 | M7 | | Finally.cs:134:5:145:5 | {...} | Finally.cs:133:10:133:11 | M7 | | Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:136:9:138:9 | After {...} | Finally.cs:133:10:133:11 | M7 | | Finally.cs:136:9:138:9 | {...} | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:137:13:137:36 | Before call to method WriteLine | Finally.cs:133:10:133:11 | M7 | | Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:133:10:133:11 | M7 | | Finally.cs:137:13:137:37 | ...; | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:137:13:137:37 | After ...; | Finally.cs:133:10:133:11 | M7 | | Finally.cs:137:31:137:35 | "Try" | Finally.cs:133:10:133:11 | M7 | | Finally.cs:140:9:143:9 | {...} | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:141:13:141:44 | Before throw ...; | Finally.cs:133:10:133:11 | M7 | | Finally.cs:141:13:141:44 | throw ...; | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:141:19:141:43 | After object creation of type ArgumentException | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | Finally.cs:133:10:133:11 | M7 | | Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:133:10:133:11 | M7 | | Finally.cs:141:41:141:42 | "" | Finally.cs:133:10:133:11 | M7 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:147:10:147:11 | exit M8 | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:147:10:147:11 | exit M8 (abnormal) | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:147:10:147:11 | Exceptional Exit | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:147:10:147:11 | Exit | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:147:10:147:11 | Normal Exit | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:148:5:170:5 | After {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:148:5:170:5 | {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:150:9:153:9 | After {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:150:9:153:9 | {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:151:13:152:50 | After if (...) ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:151:17:151:20 | access to parameter args | Finally.cs:147:10:147:11 | M8 | | Finally.cs:151:17:151:28 | ... == ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:151:17:151:28 | Before ... == ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:151:25:151:28 | null | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:152:17:152:50 | Before throw ...; | Finally.cs:147:10:147:11 | M8 | | Finally.cs:152:17:152:50 | throw ...; | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | Finally.cs:147:10:147:11 | M8 | | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:155:9:169:9 | After {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:157:13:160:13 | After {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:157:13:160:13 | {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:17:159:45 | After if (...) ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:158:21:158:24 | access to parameter args | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:31 | Before access to property Length | Finally.cs:147:10:147:11 | M8 | | Finally.cs:158:21:158:31 | access to property Length | Finally.cs:147:10:147:11 | M8 | | Finally.cs:158:21:158:36 | ... == ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:36 | Before ... == ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:158:36:158:36 | 1 | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:159:21:159:45 | Before throw ...; | Finally.cs:147:10:147:11 | M8 | | Finally.cs:159:21:159:45 | throw ...; | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:159:27:159:44 | Before object creation of type Exception | Finally.cs:147:10:147:11 | M8 | | Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:147:10:147:11 | M8 | | Finally.cs:159:41:159:43 | "1" | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:30:161:30 | Exception e | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:39:161:39 | access to local variable e | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:39:161:47 | After access to property Message | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:39:161:47 | Before access to property Message | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:39:161:47 | access to property Message | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:39:161:54 | ... == ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:39:161:54 | After ... == ... [false] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:39:161:54 | Before ... == ... | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:52:161:54 | "1" | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:162:13:164:13 | After {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:162:13:164:13 | {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:163:17:163:42 | After call to method WriteLine | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:163:17:163:42 | Before call to method WriteLine | Finally.cs:147:10:147:11 | M8 | | Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:147:10:147:11 | M8 | | Finally.cs:163:17:163:43 | ...; | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:163:17:163:43 | After ...; | Finally.cs:147:10:147:11 | M8 | | Finally.cs:163:35:163:38 | access to parameter args | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:163:35:163:41 | After access to array element | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:163:35:163:41 | Before access to array element | Finally.cs:147:10:147:11 | M8 | | Finally.cs:163:35:163:41 | access to array element | Finally.cs:147:10:147:11 | M8 | | Finally.cs:163:40:163:40 | 0 | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:165:13:168:13 | After catch {...} [match] | Finally.cs:147:10:147:11 | M8 | | Finally.cs:165:13:168:13 | catch {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:166:13:168:13 | After {...} | Finally.cs:147:10:147:11 | M8 | | Finally.cs:166:13:168:13 | {...} | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:167:17:167:37 | After call to method WriteLine | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:167:17:167:37 | Before call to method WriteLine | Finally.cs:147:10:147:11 | M8 | | Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:147:10:147:11 | M8 | | Finally.cs:167:17:167:38 | ...; | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:167:17:167:38 | After ...; | Finally.cs:147:10:147:11 | M8 | | Finally.cs:167:35:167:36 | "" | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:172:11:172:20 | After call to constructor Exception | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:172:11:172:20 | After call to method | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:172:11:172:20 | Before call to constructor Exception | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:172:11:172:20 | Before call to method | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:172:11:172:20 | Exit | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:172:11:172:20 | Normal Exit | Finally.cs:172:11:172:20 | ExceptionA | | Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | ExceptionA | | Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | ExceptionA | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | ExceptionA | -| Finally.cs:172:11:172:20 | exit ExceptionA | Finally.cs:172:11:172:20 | ExceptionA | -| Finally.cs:172:11:172:20 | exit ExceptionA (normal) | Finally.cs:172:11:172:20 | ExceptionA | | Finally.cs:172:11:172:20 | this access | Finally.cs:172:11:172:20 | ExceptionA | | Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:173:11:173:20 | After call to constructor Exception | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:173:11:173:20 | After call to method | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:173:11:173:20 | Before call to constructor Exception | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:173:11:173:20 | Before call to method | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:173:11:173:20 | Exit | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:173:11:173:20 | Normal Exit | Finally.cs:173:11:173:20 | ExceptionB | | Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | ExceptionB | | Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | ExceptionB | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | ExceptionB | -| Finally.cs:173:11:173:20 | exit ExceptionB | Finally.cs:173:11:173:20 | ExceptionB | -| Finally.cs:173:11:173:20 | exit ExceptionB (normal) | Finally.cs:173:11:173:20 | ExceptionB | | Finally.cs:173:11:173:20 | this access | Finally.cs:173:11:173:20 | ExceptionB | | Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:174:11:174:20 | After call to constructor Exception | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:174:11:174:20 | After call to method | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:174:11:174:20 | Before call to constructor Exception | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:174:11:174:20 | Before call to method | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:174:11:174:20 | Exit | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:174:11:174:20 | Normal Exit | Finally.cs:174:11:174:20 | ExceptionC | | Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | ExceptionC | | Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | ExceptionC | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | ExceptionC | -| Finally.cs:174:11:174:20 | exit ExceptionC | Finally.cs:174:11:174:20 | ExceptionC | -| Finally.cs:174:11:174:20 | exit ExceptionC (normal) | Finally.cs:174:11:174:20 | ExceptionC | | Finally.cs:174:11:174:20 | this access | Finally.cs:174:11:174:20 | ExceptionC | | Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | ExceptionC | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:176:10:176:11 | exit M9 | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:176:10:176:11 | exit M9 (abnormal) | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:176:10:176:11 | Exceptional Exit | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:176:10:176:11 | Exit | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:176:10:176:11 | Normal Exit | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:177:5:193:5 | After {...} | Finally.cs:176:10:176:11 | M9 | | Finally.cs:177:5:193:5 | {...} | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:176:10:176:11 | M9 | | Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:179:9:181:9 | After {...} | Finally.cs:176:10:176:11 | M9 | | Finally.cs:179:9:181:9 | {...} | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:13:180:43 | After if (...) ... | Finally.cs:176:10:176:11 | M9 | | Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:176:10:176:11 | M9 | | Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:21:180:43 | Before throw ...; | Finally.cs:176:10:176:11 | M9 | | Finally.cs:180:21:180:43 | throw ...; | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | Finally.cs:176:10:176:11 | M9 | | Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:183:9:192:9 | After {...} | Finally.cs:176:10:176:11 | M9 | | Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:176:10:176:11 | M9 | | Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:185:13:187:13 | After {...} | Finally.cs:176:10:176:11 | M9 | | Finally.cs:185:13:187:13 | {...} | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:17:186:47 | After if (...) ... | Finally.cs:176:10:176:11 | M9 | | Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:176:10:176:11 | M9 | | Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:25:186:47 | Before throw ...; | Finally.cs:176:10:176:11 | M9 | | Finally.cs:186:25:186:47 | throw ...; | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | Finally.cs:176:10:176:11 | M9 | | Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | Finally.cs:176:10:176:11 | M9 | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:176:10:176:11 | M9 | | Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:189:13:191:13 | After {...} | Finally.cs:176:10:176:11 | M9 | | Finally.cs:189:13:191:13 | {...} | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:17:190:47 | After if (...) ... | Finally.cs:176:10:176:11 | M9 | | Finally.cs:190:17:190:47 | if (...) ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:176:10:176:11 | M9 | | Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:25:190:47 | Before throw ...; | Finally.cs:176:10:176:11 | M9 | | Finally.cs:190:25:190:47 | throw ...; | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:31:190:46 | After object creation of type ExceptionC | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | Finally.cs:176:10:176:11 | M9 | | Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:195:10:195:12 | exit M10 (abnormal) | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:195:10:195:12 | exit M10 (normal) | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:195:10:195:12 | Exceptional Exit | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:195:10:195:12 | Exit | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:195:10:195:12 | Normal Exit | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:196:5:214:5 | After {...} | Finally.cs:195:10:195:12 | M10 | | Finally.cs:196:5:214:5 | {...} | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:198:9:200:9 | After {...} | Finally.cs:195:10:195:12 | M10 | | Finally.cs:198:9:200:9 | {...} | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:13:199:43 | After if (...) ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:195:10:195:12 | M10 | | Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:21:199:43 | Before throw ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:199:21:199:43 | throw ...; | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 | | Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:202:9:212:9 | After {...} | Finally.cs:195:10:195:12 | M10 | | Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:204:13:206:13 | After {...} | Finally.cs:195:10:195:12 | M10 | | Finally.cs:204:13:206:13 | {...} | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:17:205:47 | After if (...) ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:195:10:195:12 | M10 | | Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:25:205:47 | Before throw ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:205:25:205:47 | throw ...; | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 | | Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:208:13:210:13 | After {...} | Finally.cs:195:10:195:12 | M10 | | Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:17:209:47 | After if (...) ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:195:10:195:12 | M10 | | Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:25:209:47 | Before throw ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:31:209:46 | After object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 | | Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:16 | this access | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:211:13:211:22 | After access to field Field | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:211:13:211:22 | Before access to field Field | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:22 | access to field Field | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:211:13:211:28 | After ... = ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:211:13:211:28 | Before ... = ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:211:13:211:29 | After ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:26:211:28 | "0" | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:12 | this access | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:213:9:213:18 | After access to field Field | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:213:9:213:18 | Before access to field Field | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:18 | access to field Field | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:213:9:213:24 | After ... = ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:213:9:213:24 | Before ... = ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:213:9:213:25 | After ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:22:213:24 | "1" | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:216:10:216:12 | M11 | -| Finally.cs:216:10:216:12 | exit M11 | Finally.cs:216:10:216:12 | M11 | -| Finally.cs:216:10:216:12 | exit M11 (normal) | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:216:10:216:12 | Exit | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:216:10:216:12 | Normal Exit | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:217:5:231:5 | After {...} | Finally.cs:216:10:216:12 | M11 | | Finally.cs:217:5:231:5 | {...} | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:218:9:229:9 | After try {...} ... | Finally.cs:216:10:216:12 | M11 | | Finally.cs:218:9:229:9 | try {...} ... | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:219:9:221:9 | After {...} | Finally.cs:216:10:216:12 | M11 | | Finally.cs:219:9:221:9 | {...} | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:220:13:220:36 | Before call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:220:13:220:37 | ...; | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:220:13:220:37 | After ...; | Finally.cs:216:10:216:12 | M11 | | Finally.cs:220:31:220:35 | "Try" | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:222:9:225:9 | After catch {...} [match] | Finally.cs:216:10:216:12 | M11 | | Finally.cs:222:9:225:9 | catch {...} | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:223:9:225:9 | After {...} | Finally.cs:216:10:216:12 | M11 | | Finally.cs:223:9:225:9 | {...} | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:224:13:224:38 | After call to method WriteLine | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:224:13:224:38 | Before call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:224:13:224:38 | call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:224:13:224:39 | ...; | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:224:13:224:39 | After ...; | Finally.cs:216:10:216:12 | M11 | | Finally.cs:224:31:224:37 | "Catch" | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:227:9:229:9 | After {...} | Finally.cs:216:10:216:12 | M11 | | Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:228:13:228:40 | After call to method WriteLine | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:228:13:228:40 | Before call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:228:13:228:41 | ...; | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:228:13:228:41 | After ...; | Finally.cs:216:10:216:12 | M11 | | Finally.cs:228:31:228:39 | "Finally" | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:230:9:230:33 | After call to method WriteLine | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:230:9:230:33 | Before call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:230:9:230:34 | ...; | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:230:9:230:34 | After ...; | Finally.cs:216:10:216:12 | M11 | | Finally.cs:230:27:230:32 | "Done" | Finally.cs:216:10:216:12 | M11 | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:233:10:233:12 | exit M12 | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:233:10:233:12 | exit M12 (abnormal) | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:233:10:233:12 | exit M12 (normal) | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Exceptional Exit | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Exit | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Normal Exit | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:234:5:261:5 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:234:5:261:5 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:233:10:233:12 | M12 | | Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:236:9:255:9 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:236:9:255:9 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:233:10:233:12 | M12 | | Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:238:13:241:13 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:238:13:241:13 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:239:17:240:43 | After if (...) ... | Finally.cs:233:10:233:12 | M12 | | Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:233:10:233:12 | M12 | | Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:240:21:240:43 | Before throw ...; | Finally.cs:233:10:233:12 | M12 | | Finally.cs:240:21:240:43 | throw ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | | Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:243:13:253:13 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:233:10:233:12 | M12 | | Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:245:17:248:17 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:245:17:248:17 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:246:21:247:47 | After if (...) ... | Finally.cs:233:10:233:12 | M12 | | Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:233:10:233:12 | M12 | | Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:247:25:247:47 | Before throw ...; | Finally.cs:233:10:233:12 | M12 | | Finally.cs:247:25:247:47 | throw ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | | Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:250:17:252:17 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:251:21:251:54 | After call to method WriteLine | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:251:21:251:54 | Before call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:251:21:251:55 | ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:251:21:251:55 | After ...; | Finally.cs:233:10:233:12 | M12 | | Finally.cs:251:39:251:53 | "Inner finally" | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:254:13:254:44 | Before call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:254:13:254:45 | ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:254:13:254:45 | After ...; | Finally.cs:233:10:233:12 | M12 | | Finally.cs:254:31:254:43 | "Mid finally" | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:257:9:259:9 | After {...} | Finally.cs:233:10:233:12 | M12 | | Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:258:13:258:46 | After call to method WriteLine | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:258:13:258:46 | Before call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:258:13:258:47 | ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:258:13:258:47 | After ...; | Finally.cs:233:10:233:12 | M12 | | Finally.cs:258:31:258:45 | "Outer finally" | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:260:9:260:33 | After call to method WriteLine | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:260:9:260:33 | Before call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:260:9:260:34 | ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:260:9:260:34 | After ...; | Finally.cs:233:10:233:12 | M12 | | Finally.cs:260:27:260:32 | "Done" | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | M13 | -| Finally.cs:263:10:263:12 | exit M13 | Finally.cs:263:10:263:12 | M13 | -| Finally.cs:263:10:263:12 | exit M13 (abnormal) | Finally.cs:263:10:263:12 | M13 | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:263:10:263:12 | Exceptional Exit | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:263:10:263:12 | Exit | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:263:10:263:12 | Normal Exit | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:264:5:274:5 | After {...} | Finally.cs:263:10:263:12 | M13 | | Finally.cs:264:5:274:5 | {...} | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:263:10:263:12 | M13 | | Finally.cs:265:9:273:9 | try {...} ... | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:266:9:268:9 | After {...} | Finally.cs:263:10:263:12 | M13 | | Finally.cs:266:9:268:9 | {...} | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:267:13:267:34 | Before call to method WriteLine | Finally.cs:263:10:263:12 | M13 | | Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:263:10:263:12 | M13 | | Finally.cs:267:13:267:35 | ...; | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:267:13:267:35 | After ...; | Finally.cs:263:10:263:12 | M13 | | Finally.cs:267:31:267:33 | "1" | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:270:9:273:9 | After {...} | Finally.cs:263:10:263:12 | M13 | | Finally.cs:270:9:273:9 | {...} | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:271:13:271:34 | After call to method WriteLine | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:271:13:271:34 | Before call to method WriteLine | Finally.cs:263:10:263:12 | M13 | | Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:263:10:263:12 | M13 | | Finally.cs:271:13:271:35 | ...; | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:271:13:271:35 | After ...; | Finally.cs:263:10:263:12 | M13 | | Finally.cs:271:31:271:33 | "3" | Finally.cs:263:10:263:12 | M13 | | Finally.cs:272:13:272:13 | access to parameter i | Finally.cs:263:10:263:12 | M13 | | Finally.cs:272:13:272:18 | ... += ... | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:272:13:272:18 | After ... += ... | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:272:13:272:18 | Before ... += ... | Finally.cs:263:10:263:12 | M13 | | Finally.cs:272:13:272:19 | ...; | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:272:13:272:19 | After ...; | Finally.cs:263:10:263:12 | M13 | | Finally.cs:272:18:272:18 | 3 | Finally.cs:263:10:263:12 | M13 | +| Foreach.cs:4:7:4:13 | After call to constructor Object | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:4:7:4:13 | After call to method | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:4:7:4:13 | Before call to constructor Object | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:4:7:4:13 | Before call to method | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:4:7:4:13 | Exit | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:4:7:4:13 | Normal Exit | Foreach.cs:4:7:4:13 | Foreach | | Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | Foreach | | Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | Foreach | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | Foreach | -| Foreach.cs:4:7:4:13 | exit Foreach | Foreach.cs:4:7:4:13 | Foreach | -| Foreach.cs:4:7:4:13 | exit Foreach (normal) | Foreach.cs:4:7:4:13 | Foreach | | Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | Foreach | | Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | Foreach | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | M1 | -| Foreach.cs:6:10:6:11 | exit M1 | Foreach.cs:6:10:6:11 | M1 | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:6:10:6:11 | Exit | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:6:10:6:11 | Normal Exit | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:7:5:10:5 | After {...} | Foreach.cs:6:10:6:11 | M1 | | Foreach.cs:7:5:10:5 | {...} | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | M1 | | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | M1 | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:8:29:8:32 | After access to parameter args [empty] | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:6:10:6:11 | M1 | | Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:6:10:6:11 | M1 | | Foreach.cs:9:13:9:13 | ; | Foreach.cs:6:10:6:11 | M1 | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:12:10:12:11 | M2 | -| Foreach.cs:12:10:12:11 | exit M2 | Foreach.cs:12:10:12:11 | M2 | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:12:10:12:11 | Exit | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:12:10:12:11 | Normal Exit | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:13:5:16:5 | After {...} | Foreach.cs:12:10:12:11 | M2 | | Foreach.cs:13:5:16:5 | {...} | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | M2 | | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | M2 | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:14:27:14:30 | After access to parameter args [empty] | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:12:10:12:11 | M2 | | Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:12:10:12:11 | M2 | | Foreach.cs:15:13:15:13 | ; | Foreach.cs:12:10:12:11 | M2 | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:18:10:18:11 | exit M3 | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:18:10:18:11 | Exit | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:18:10:18:11 | Normal Exit | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:19:5:22:5 | After {...} | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:19:5:22:5 | {...} | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:27 | After access to parameter e [null] | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:38 | Before call to method ToArray | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:43:20:68 | After call to method Empty [empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:43:20:68 | Before call to method Empty | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:21:11:21:11 | ; | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:24:10:24:11 | exit M4 | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:24:10:24:11 | Exit | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:24:10:24:11 | Normal Exit | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:25:5:28:5 | After {...} | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:25:5:28:5 | {...} | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:18:26:31 | After (..., ...) | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:26:23:26:23 | String x | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:36:26:39 | After access to parameter args [empty] | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:24:10:24:11 | M4 | | Foreach.cs:27:11:27:11 | ; | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:30:10:30:11 | exit M5 | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:30:10:30:11 | Exit | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:30:10:30:11 | Normal Exit | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:31:5:34:5 | After {...} | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:31:5:34:5 | {...} | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:18:32:27 | After (..., ...) | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:32:23:32:23 | String x | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:32:32:35 | After access to parameter args [empty] | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:30:10:30:11 | M5 | | Foreach.cs:33:11:33:11 | ; | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:36:10:36:11 | M6 | -| Foreach.cs:36:10:36:11 | exit M6 | Foreach.cs:36:10:36:11 | M6 | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:36:10:36:11 | Exit | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:36:10:36:11 | Normal Exit | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:37:5:40:5 | After {...} | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:37:5:40:5 | {...} | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:18:38:34 | After (..., ...) | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:38:26:38:26 | String x | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:39:38:42 | After access to parameter args [empty] | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:36:10:36:11 | M6 | | Foreach.cs:39:11:39:11 | ; | Foreach.cs:36:10:36:11 | M6 | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | Initializers | -| Initializers.cs:3:7:3:18 | exit | Initializers.cs:3:7:3:18 | | -| Initializers.cs:3:7:3:18 | exit (normal) | Initializers.cs:3:7:3:18 | | -| Initializers.cs:3:7:3:18 | exit Initializers | Initializers.cs:3:7:3:18 | Initializers | -| Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:3:7:3:18 | Exit | Initializers.cs:3:7:3:18 | | +| Initializers.cs:3:7:3:18 | Exit | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | Initializers | | Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:5:9:5:9 | After access to field F | Initializers.cs:3:7:3:18 | | +| Initializers.cs:5:9:5:9 | Before access to field F | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:9:5:9 | this access | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:5:9:5:17 | After ... = ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:5:9:5:17 | Before ... = ... | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:5:13:5:17 | After ... + ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:5:13:5:17 | Before ... + ... | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:3:7:3:18 | | +| Initializers.cs:6:9:6:9 | After access to property G | Initializers.cs:3:7:3:18 | | +| Initializers.cs:6:9:6:9 | Before access to property G | Initializers.cs:3:7:3:18 | | | Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:3:7:3:18 | | | Initializers.cs:6:9:6:9 | this access | Initializers.cs:3:7:3:18 | | | Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:6:25:6:31 | After ... = ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:6:25:6:31 | Before ... = ... | Initializers.cs:3:7:3:18 | | | Initializers.cs:6:27:6:27 | access to field H | Initializers.cs:3:7:3:18 | | | Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:6:27:6:31 | After ... + ... | Initializers.cs:3:7:3:18 | | +| Initializers.cs:6:27:6:31 | Before ... + ... | Initializers.cs:3:7:3:18 | | | Initializers.cs:6:31:6:31 | 2 | Initializers.cs:3:7:3:18 | | +| Initializers.cs:8:5:8:16 | After call to constructor Object | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:8:5:8:16 | After call to method | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:8:5:8:16 | Before call to constructor Object | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:8:5:8:16 | Before call to method | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:8:5:8:16 | Exit | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:8:5:8:16 | Normal Exit | Initializers.cs:8:5:8:16 | Initializers | | Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:5:8:16 | Initializers | | Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | Initializers | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | Initializers | -| Initializers.cs:8:5:8:16 | exit Initializers | Initializers.cs:8:5:8:16 | Initializers | -| Initializers.cs:8:5:8:16 | exit Initializers (normal) | Initializers.cs:8:5:8:16 | Initializers | | Initializers.cs:8:5:8:16 | this access | Initializers.cs:8:5:8:16 | Initializers | | Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:10:5:10:16 | After call to constructor Object | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:10:5:10:16 | After call to method | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:10:5:10:16 | Before call to constructor Object | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:10:5:10:16 | Before call to method | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:10:5:10:16 | Exit | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:10:5:10:16 | Normal Exit | Initializers.cs:10:5:10:16 | Initializers | | Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:5:10:16 | Initializers | | Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | Initializers | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | Initializers | -| Initializers.cs:10:5:10:16 | exit Initializers | Initializers.cs:10:5:10:16 | Initializers | -| Initializers.cs:10:5:10:16 | exit Initializers (normal) | Initializers.cs:10:5:10:16 | Initializers | | Initializers.cs:10:5:10:16 | this access | Initializers.cs:10:5:10:16 | Initializers | | Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | Initializers | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | M | -| Initializers.cs:12:10:12:10 | exit M | Initializers.cs:12:10:12:10 | M | -| Initializers.cs:12:10:12:10 | exit M (normal) | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:12:10:12:10 | Exit | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:12:10:12:10 | Normal Exit | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:13:5:16:5 | After {...} | Initializers.cs:12:10:12:10 | M | | Initializers.cs:13:5:16:5 | {...} | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:9:14:54 | After ... ...; | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:13:14:13 | access to local variable i | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:13:14:53 | After Initializers i = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:13:14:53 | Before Initializers i = ... | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:17:14:53 | After object creation of type Initializers | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:17:14:53 | Before object creation of type Initializers | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:38:14:53 | After { ..., ... } | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:38:14:53 | Before { ..., ... } | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:40:14:44 | After ... = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:40:14:44 | Before ... = ... | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:44:14:44 | 0 | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:47:14:47 | After access to property G | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:47:14:47 | Before access to property G | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:47:14:51 | After ... = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:47:14:51 | Before ... = ... | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:51:14:51 | 1 | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:9:15:64 | After ... ...; | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:13:15:14 | access to local variable iz | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:18:15:63 | 2 | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:37:15:63 | After { ..., ... } | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:37:15:63 | Before { ..., ... } | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:42:15:61 | After object creation of type Initializers | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:15:42:15:61 | Before object creation of type Initializers | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:12:10:12:10 | M | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:18:16:18:20 | After ... = ... | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:18:16:18:20 | Before ... = ... | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:20:11:20:23 | After call to constructor Object | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:20:11:20:23 | After call to method | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:20:11:20:23 | Before call to constructor Object | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:20:11:20:23 | Before call to method | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:20:11:20:23 | Exit | Initializers.cs:20:11:20:23 | | +| Initializers.cs:20:11:20:23 | Exit | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | NoConstructor | | Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | NoConstructor | | Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | NoConstructor | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | NoConstructor | -| Initializers.cs:20:11:20:23 | exit | Initializers.cs:20:11:20:23 | | -| Initializers.cs:20:11:20:23 | exit (normal) | Initializers.cs:20:11:20:23 | | -| Initializers.cs:20:11:20:23 | exit NoConstructor | Initializers.cs:20:11:20:23 | NoConstructor | -| Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | NoConstructor | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | NoConstructor | | Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:22:23:22:23 | After access to field F | Initializers.cs:20:11:20:23 | | +| Initializers.cs:22:23:22:23 | Before access to field F | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:23:22:23 | this access | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:20:11:20:23 | | +| Initializers.cs:22:23:22:27 | After ... = ... | Initializers.cs:20:11:20:23 | | +| Initializers.cs:22:23:22:27 | Before ... = ... | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:27:22:27 | 0 | Initializers.cs:20:11:20:23 | | +| Initializers.cs:23:23:23:23 | After access to field G | Initializers.cs:20:11:20:23 | | +| Initializers.cs:23:23:23:23 | Before access to field G | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:23:23:23 | this access | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:20:11:20:23 | | +| Initializers.cs:23:23:23:27 | After ... = ... | Initializers.cs:20:11:20:23 | | +| Initializers.cs:23:23:23:27 | Before ... = ... | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:27:23:27 | 1 | Initializers.cs:20:11:20:23 | | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | | -| Initializers.cs:26:11:26:13 | exit | Initializers.cs:26:11:26:13 | | -| Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:26:11:26:13 | | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:26:11:26:13 | | +| Initializers.cs:26:11:26:13 | Exit | Initializers.cs:26:11:26:13 | | +| Initializers.cs:26:11:26:13 | Normal Exit | Initializers.cs:26:11:26:13 | | +| Initializers.cs:28:13:28:13 | After access to field H | Initializers.cs:26:11:26:13 | | +| Initializers.cs:28:13:28:13 | Before access to field H | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:13:28:13 | this access | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:26:11:26:13 | | +| Initializers.cs:28:13:28:17 | After ... = ... | Initializers.cs:26:11:26:13 | | +| Initializers.cs:28:13:28:17 | Before ... = ... | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:17:28:17 | 2 | Initializers.cs:26:11:26:13 | | +| Initializers.cs:31:9:31:11 | After call to method | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:9:31:11 | Before call to method | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:9:31:11 | Exit | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:9:31:11 | Normal Exit | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:9:31:11 | Sub | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | Sub | -| Initializers.cs:31:9:31:11 | exit Sub | Initializers.cs:31:9:31:11 | Sub | -| Initializers.cs:31:9:31:11 | exit Sub (normal) | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:24:31:33 | After {...} | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:26:31:26 | After access to field I | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:26:31:26 | Before access to field I | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:26:31:30 | After ... = ... | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:26:31:30 | Before ... = ... | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:26:31:31 | After ...; | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:9:31:11 | Sub | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | Sub | -| Initializers.cs:33:9:33:11 | exit Sub | Initializers.cs:33:9:33:11 | Sub | -| Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:9:33:11 | Exit | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:9:33:11 | Normal Exit | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:22:33:25 | After call to constructor Sub | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:22:33:25 | Before call to constructor Sub | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:29:33:38 | After {...} | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:31:33:31 | After access to field I | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:31:33:31 | Before access to field I | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:31:33:35 | After ... = ... | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:31:33:35 | Before ... = ... | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:31:33:36 | After ...; | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:9:35:11 | After call to method | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:9:35:11 | Before call to method | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:9:35:11 | Exit | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:9:35:11 | Normal Exit | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | Sub | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | Sub | -| Initializers.cs:35:9:35:11 | exit Sub | Initializers.cs:35:9:35:11 | Sub | -| Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:27:35:40 | After {...} | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:29:35:29 | After access to field I | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:29:35:29 | Before access to field I | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:29:35:37 | After ... = ... | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:29:35:37 | Before ... = ... | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:29:35:38 | After ...; | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:33:35:37 | After ... + ... | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:33:35:37 | Before ... + ... | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:39:7:39:23 | After call to constructor Object | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:39:7:39:23 | After call to method | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:39:7:39:23 | Before call to constructor Object | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:39:7:39:23 | Before call to method | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:39:7:39:23 | Exit | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:39:7:39:23 | Normal Exit | Initializers.cs:39:7:39:23 | IndexInitializers | | Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | IndexInitializers | | Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | IndexInitializers | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | IndexInitializers | -| Initializers.cs:39:7:39:23 | exit IndexInitializers | Initializers.cs:39:7:39:23 | IndexInitializers | -| Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | Initializers.cs:39:7:39:23 | IndexInitializers | | Initializers.cs:39:7:39:23 | this access | Initializers.cs:39:7:39:23 | IndexInitializers | | Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:41:11:41:18 | After call to constructor Object | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:41:11:41:18 | After call to method | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:41:11:41:18 | Before call to constructor Object | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:41:11:41:18 | Before call to method | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:41:11:41:18 | Exit | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:41:11:41:18 | Normal Exit | Initializers.cs:41:11:41:18 | Compound | | Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | Compound | | Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | Compound | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | Compound | -| Initializers.cs:41:11:41:18 | exit Compound | Initializers.cs:41:11:41:18 | Compound | -| Initializers.cs:41:11:41:18 | exit Compound (normal) | Initializers.cs:41:11:41:18 | Compound | | Initializers.cs:41:11:41:18 | this access | Initializers.cs:41:11:41:18 | Compound | | Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | Compound | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | Test | -| Initializers.cs:51:10:51:13 | exit Test | Initializers.cs:51:10:51:13 | Test | -| Initializers.cs:51:10:51:13 | exit Test (normal) | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:51:10:51:13 | Exit | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:51:10:51:13 | Normal Exit | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:52:5:66:5 | After {...} | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:52:5:66:5 | {...} | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:9:54:96 | After ... ...; | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:13:54:16 | access to local variable dict | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:13:54:95 | After Dictionary dict = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:20:54:95 | After object creation of type Dictionary | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:50:54:95 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:50:54:95 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:52:54:54 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:52:54:54 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:52:54:63 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:52:54:63 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:53:54:53 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:66:54:68 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:66:54:68 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:66:54:76 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:66:54:76 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:67:54:67 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:72:54:76 | "One" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:79:54:85 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:79:54:85 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:79:54:93 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:79:54:93 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:80:54:84 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:54:80:54:84 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:84:54:84 | 2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:57:9:65:10 | After ... ...; | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:57:13:57:20 | access to local variable compound | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:57:13:65:9 | After Compound compound = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:57:13:65:9 | Before Compound compound = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:57:24:65:9 | After object creation of type Compound | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:57:24:65:9 | Before object creation of type Compound | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:58:9:65:9 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:58:9:65:9 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:13:59:76 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:13:59:76 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:31:59:76 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:31:59:76 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:33:59:35 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:33:59:35 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:33:59:44 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:33:59:44 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:34:59:34 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:47:59:49 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:47:59:49 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:47:59:57 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:47:59:57 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:48:59:48 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:53:59:57 | "One" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:60:59:66 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:60:59:66 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:60:59:74 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:60:59:74 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:61:59:65 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:61:59:65 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:65:59:65 | 2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:13:60:80 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:13:60:80 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:34:60:80 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:34:60:80 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:36:60:38 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:36:60:38 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:36:60:48 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:36:60:48 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:37:60:37 | 3 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:51:60:53 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:51:60:53 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:51:60:61 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:51:60:61 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:52:60:52 | 2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:64:60:70 | After access to indexer | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:64:60:70 | Before access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:64:60:78 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:64:60:78 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:65:60:69 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:60:65:60:69 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:74:60:78 | "One" | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:13:61:58 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:13:61:58 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:26:61:58 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:26:61:58 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:28:61:30 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:28:61:30 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:28:61:39 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:28:61:39 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:29:61:29 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:42:61:48 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:42:61:48 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:42:61:56 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:42:61:56 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:43:61:47 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:43:61:47 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:52:61:56 | "One" | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:13:62:60 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:13:62:60 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:27:62:60 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:27:62:60 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:29:62:34 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:29:62:34 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:29:62:40 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:29:62:40 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:33:62:33 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:38:62:40 | "i" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:43:62:52 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:43:62:52 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:43:62:58 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:43:62:58 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:44:62:44 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:47:62:51 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:47:62:51 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:56:62:58 | "1" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:13:63:25 | After access to property ArrayProperty | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:13:63:60 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:13:63:60 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:29:63:60 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:29:63:60 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:31:63:33 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:31:63:33 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:31:63:41 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:31:63:41 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:32:63:32 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:37:63:41 | "One" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:44:63:50 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:44:63:50 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:44:63:58 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:44:63:58 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:45:63:49 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:45:63:49 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:13:64:63 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:13:64:63 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:30:64:63 | After { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:30:64:63 | Before { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:32:64:37 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:32:64:37 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:32:64:43 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:32:64:43 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:36:64:36 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:41:64:43 | "i" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:46:64:55 | After access to array element | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:46:64:55 | Before access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:46:64:61 | After ... = ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:46:64:61 | Before ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:47:64:47 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:50:64:54 | After ... + ... | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:50:64:54 | Before ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:54:64:54 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:59:64:61 | "1" | Initializers.cs:51:10:51:13 | Test | +| LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:5:7:5:19 | After call to method | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:5:7:5:19 | Before call to method | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:5:7:5:19 | Exit | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:5:7:5:19 | Normal Exit | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | | LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | -| LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | -| LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | | LoopUnrolling.cs:5:7:5:19 | this access | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | | LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:7:10:7:11 | exit M1 | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:7:10:7:11 | Exit | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:8:5:13:5 | After {...} | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:9:10:19 | After if (...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:9:13:9:16 | access to parameter args | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:23 | After access to property Length | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:23 | Before access to property Length | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:28 | Before ... == ... | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:10:13:10:19 | Before return ...; | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:12:13:12:35 | After ...; | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:15:10:15:11 | M2 | -| LoopUnrolling.cs:15:10:15:11 | exit M2 | LoopUnrolling.cs:15:10:15:11 | M2 | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:15:10:15:11 | Exit | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:15:10:15:11 | Normal Exit | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:16:5:20:5 | After {...} | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:9:17:48 | After ... ...; | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:13:17:14 | access to local variable xs | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:38:17:40 | "b" | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:17:43:17:45 | "c" | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:19:13:19:33 | After ...; | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:15:10:15:11 | M2 | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:22:10:22:11 | Exit | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:22:10:22:11 | Normal Exit | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:23:5:27:5 | After {...} | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:26:17:26:40 | After ...; | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:29:10:29:11 | M4 | -| LoopUnrolling.cs:29:10:29:11 | exit M4 | LoopUnrolling.cs:29:10:29:11 | M4 | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:29:10:29:11 | Exit | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:29:10:29:11 | Normal Exit | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:30:5:34:5 | After {...} | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:31:9:31:31 | After ... ...; | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:31:13:31:14 | access to local variable xs | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:33:13:33:33 | After ...; | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:29:10:29:11 | M4 | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:36:10:36:11 | exit M5 | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:36:10:36:11 | Exit | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:36:10:36:11 | Normal Exit | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:37:5:43:5 | After {...} | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:9:38:48 | After ... ...; | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:13:38:14 | access to local variable xs | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:38:38:40 | "b" | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:38:43:38:45 | "c" | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:9:39:48 | After ... ...; | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:13:39:14 | access to local variable ys | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:38:39:40 | "1" | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:39:43:39:45 | "2" | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:42:17:42:41 | After ...; | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:42:35:42:35 | access to local variable x | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:42:35:42:39 | After ... + ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:42:35:42:39 | Before ... + ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:42:39:42:39 | access to local variable y | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:45:10:45:11 | M6 | -| LoopUnrolling.cs:45:10:45:11 | exit M6 | LoopUnrolling.cs:45:10:45:11 | M6 | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:45:10:45:11 | Exit | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:45:10:45:11 | Normal Exit | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:46:5:53:5 | After {...} | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:9:47:48 | After ... ...; | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:13:47:14 | access to local variable xs | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:38:47:40 | "b" | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:47:43:47:45 | "c" | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:49:9:52:9 | {...} | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:50:16:50:36 | After ...; | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:50:34:50:34 | access to local variable x | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:51:13:51:23 | Before goto ...; | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:51:13:51:23 | goto ...; | LoopUnrolling.cs:45:10:45:11 | M6 | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:55:10:55:11 | exit M7 | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:55:10:55:11 | Exit | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:55:10:55:11 | Normal Exit | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:56:5:65:5 | After {...} | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:9:57:48 | After ... ...; | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:13:57:14 | access to local variable xs | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:38:57:40 | "b" | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:57:43:57:45 | "c" | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:59:9:64:9 | After {...} | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:60:13:61:37 | if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:61:17:61:37 | After ...; | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:61:35:61:35 | access to local variable x | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:63:17:63:37 | After ...; | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:67:10:67:11 | exit M8 | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:67:10:67:11 | Exit | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:68:5:74:5 | After {...} | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:9:70:19 | After if (...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:13:69:23 | After !... [false] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:13:69:23 | After !... [true] | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:14:69:23 | Before call to method Any | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:70:13:70:19 | Before return ...; | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:71:9:71:20 | After call to method Clear | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:71:9:71:21 | After ...; | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:73:13:73:35 | After ...; | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:76:10:76:11 | M9 | -| LoopUnrolling.cs:76:10:76:11 | exit M9 | LoopUnrolling.cs:76:10:76:11 | M9 | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:76:10:76:11 | Exit | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:76:10:76:11 | Normal Exit | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:77:5:83:5 | After {...} | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:78:9:78:34 | After ... ...; | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:78:13:78:14 | access to local variable xs | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:78:32:78:32 | 0 | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:80:9:82:9 | After {...} | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:80:9:82:9 | {...} | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:81:13:81:33 | After ...; | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:76:10:76:11 | M9 | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:85:10:85:12 | M10 | -| LoopUnrolling.cs:85:10:85:12 | exit M10 | LoopUnrolling.cs:85:10:85:12 | M10 | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:85:10:85:12 | Exit | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:85:10:85:12 | Normal Exit | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:86:5:92:5 | After {...} | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:87:9:87:34 | After ... ...; | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:87:13:87:14 | access to local variable xs | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:87:32:87:32 | 2 | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:89:9:91:9 | After {...} | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:89:9:91:9 | {...} | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:90:13:90:33 | After ...; | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:85:10:85:12 | M10 | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:94:10:94:12 | M11 | -| LoopUnrolling.cs:94:10:94:12 | exit M11 | LoopUnrolling.cs:94:10:94:12 | M11 | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:94:10:94:12 | Exit | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:94:10:94:12 | Normal Exit | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:95:5:101:5 | After {...} | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:96:9:96:34 | After ... ...; | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:96:13:96:14 | access to local variable xs | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:96:32:96:32 | 2 | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:98:9:100:9 | After {...} | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:98:9:100:9 | {...} | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:99:13:99:33 | After ...; | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:99:31:99:31 | access to local variable x | LoopUnrolling.cs:94:10:94:12 | M11 | +| MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | After call to method | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Exit | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:4:7:4:8 | exit C1 | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationA.cs:4:7:4:8 | {...} | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 (abnormal) | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 (normal) | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Exceptional Exit | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Exit | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Normal Exit | MultiImplementationA.cs:6:22:6:31 | get_P1 | | MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:22:6:31 | get_P1 | | MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:21:7:23 | get_P2 | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 | MultiImplementationA.cs:7:21:7:23 | get_P2 | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 (abnormal) | MultiImplementationA.cs:7:21:7:23 | get_P2 | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationA.cs:7:21:7:23 | Exceptional Exit | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationA.cs:7:21:7:23 | Exit | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationA.cs:7:21:7:23 | Normal Exit | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationA.cs:7:27:7:37 | Before throw ...; | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationA.cs:7:33:7:36 | null | MultiImplementationA.cs:7:21:7:23 | get_P2 | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:41:7:43 | set_P2 | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 | MultiImplementationA.cs:7:41:7:43 | set_P2 | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 (abnormal) | MultiImplementationA.cs:7:41:7:43 | set_P2 | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Exceptional Exit | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Exit | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Normal Exit | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:47:7:57 | Before throw ...; | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationA.cs:7:53:7:56 | null | MultiImplementationA.cs:7:41:7:43 | set_P2 | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:8:16:8:16 | exit M | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:8:16:8:16 | exit M (normal) | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:16:8:16 | Exceptional Exit | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:16:8:16 | Exit | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:16:8:16 | Normal Exit | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:16:8:16 | M | | MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:16:8:16 | M | | MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | | -| MultiImplementationA.cs:11:7:11:8 | exit | MultiImplementationA.cs:11:7:11:8 | | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:11:7:11:8 | Exit | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:13:16:13:16 | After access to field F | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:13:16:13:16 | Before access to field F | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:13:16:13:20 | After ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | get_Item | +| MultiImplementationA.cs:14:31:14:31 | Exceptional Exit | MultiImplementationA.cs:14:31:14:31 | get_Item | +| MultiImplementationA.cs:14:31:14:31 | Exit | MultiImplementationA.cs:14:31:14:31 | get_Item | +| MultiImplementationA.cs:14:31:14:31 | Normal Exit | MultiImplementationA.cs:14:31:14:31 | get_Item | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:36:15:38 | get_Item | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item | MultiImplementationA.cs:15:36:15:38 | get_Item | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | MultiImplementationA.cs:15:36:15:38 | get_Item | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item (normal) | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:36:15:38 | Exceptional Exit | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:36:15:38 | Exit | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:36:15:38 | Normal Exit | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:42:15:50 | Before return ...; | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:36:15:38 | get_Item | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:54:15:56 | set_Item | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item | MultiImplementationA.cs:15:54:15:56 | set_Item | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | set_Item | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:54:15:56 | set_Item | +| MultiImplementationA.cs:15:54:15:56 | Exit | MultiImplementationA.cs:15:54:15:56 | set_Item | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | set_Item | | MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:54:15:56 | set_Item | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationA.cs:16:17:16:18 | exit M1 | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:16:17:16:18 | Exit | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:17:5:19:5 | After {...} | MultiImplementationA.cs:16:17:16:18 | M1 | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:9:18:22 | M2 | +| MultiImplementationA.cs:18:9:18:22 | Exit | MultiImplementationA.cs:18:9:18:22 | M2 | | MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:9:18:22 | M2 | -| MultiImplementationA.cs:18:9:18:22 | exit M2 | MultiImplementationA.cs:18:9:18:22 | M2 | -| MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | MultiImplementationA.cs:18:9:18:22 | M2 | +| MultiImplementationA.cs:18:9:18:22 | Normal Exit | MultiImplementationA.cs:18:9:18:22 | M2 | | MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | M2 | +| MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | After call to method | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Exceptional Exit | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Exit | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Normal Exit | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:20:12:20:13 | exit C2 | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:20:12:20:13 | exit C2 (abnormal) | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:22:20:31 | After {...} | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:24:20:24 | After access to field F | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:24:20:24 | Before access to field F | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:24:20:28 | After ... = ... | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:24:20:28 | Before ... = ... | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:24:20:29 | After ...; | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | C2 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 | MultiImplementationA.cs:21:12:21:13 | C2 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:12:21:13 | Exit | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationA.cs:21:27:21:29 | {...} | MultiImplementationA.cs:21:12:21:13 | C2 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 (abnormal) | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 (normal) | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationA.cs:22:6:22:7 | Exceptional Exit | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationA.cs:22:6:22:7 | Exit | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationA.cs:22:6:22:7 | Normal Exit | MultiImplementationA.cs:22:6:22:7 | ~C2 | | MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:28:23:35 | implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | MultiImplementationA.cs:23:28:23:35 | implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (abnormal) | MultiImplementationA.cs:23:28:23:35 | implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (normal) | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Exceptional Exit | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Exit | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Normal Exit | MultiImplementationA.cs:23:28:23:35 | implicit conversion | | MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:24:16:24:16 | After access to property P | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:24:16:24:16 | Before access to property P | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:24:32:24:34 | After ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:24:32:24:34 | Before ... = ... | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | After call to method | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Exit | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:28:7:28:8 | exit C3 | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationA.cs:28:7:28:8 | {...} | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:21:30:23 | get_P3 | -| MultiImplementationA.cs:30:21:30:23 | exit get_P3 | MultiImplementationA.cs:30:21:30:23 | get_P3 | -| MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | MultiImplementationA.cs:30:21:30:23 | get_P3 | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:21:30:23 | get_P3 | +| MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | MultiImplementationA.cs:30:21:30:23 | get_P3 | +| MultiImplementationA.cs:30:21:30:23 | Exit | MultiImplementationA.cs:30:21:30:23 | get_P3 | +| MultiImplementationA.cs:30:28:30:37 | Before throw ... | MultiImplementationA.cs:30:21:30:23 | get_P3 | | MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:21:30:23 | get_P3 | | MultiImplementationA.cs:30:34:30:37 | null | MultiImplementationA.cs:30:21:30:23 | get_P3 | +| MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | After call to method | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Exit | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:34:15:34:16 | exit C4 | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationA.cs:34:15:34:16 | {...} | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:9:36:10 | M1 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 | MultiImplementationA.cs:36:9:36:10 | M1 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 (abnormal) | MultiImplementationA.cs:36:9:36:10 | M1 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 (normal) | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:36:9:36:10 | Exceptional Exit | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:36:9:36:10 | Exit | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:36:9:36:10 | Normal Exit | MultiImplementationA.cs:36:9:36:10 | M1 | | MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:36:16:36:26 | Before throw ...; | MultiImplementationA.cs:36:9:36:10 | M1 | | MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:9:36:10 | M1 | | MultiImplementationA.cs:36:22:36:25 | null | MultiImplementationA.cs:36:9:36:10 | M1 | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:9:37:10 | M2 | -| MultiImplementationA.cs:37:9:37:10 | exit M2 | MultiImplementationA.cs:37:9:37:10 | M2 | -| MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | MultiImplementationA.cs:37:9:37:10 | M2 | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:9:37:10 | M2 | +| MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | MultiImplementationA.cs:37:9:37:10 | M2 | +| MultiImplementationA.cs:37:9:37:10 | Exit | MultiImplementationA.cs:37:9:37:10 | M2 | | MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:9:37:10 | M2 | +| MultiImplementationA.cs:37:16:37:26 | Before throw ...; | MultiImplementationA.cs:37:9:37:10 | M2 | | MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:9:37:10 | M2 | | MultiImplementationA.cs:37:22:37:25 | null | MultiImplementationA.cs:37:9:37:10 | M2 | +| MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationB.cs:1:7:1:8 | After call to method | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationB.cs:1:7:1:8 | {...} | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | get_P1 | | MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationB.cs:4:27:4:35 | Before return ...; | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationB.cs:11:16:11:16 | After access to field F | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:11:16:11:16 | Before access to field F | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:11:16:11:20 | After ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationA.cs:14:31:14:31 | get_Item | | MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | get_Item | | MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationA.cs:14:31:14:31 | get_Item | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationB.cs:13:42:13:52 | Before throw ...; | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationA.cs:15:54:15:56 | set_Item | +| MultiImplementationB.cs:15:5:17:5 | After {...} | MultiImplementationA.cs:16:17:16:18 | M1 | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:9:16:31 | M2 | +| MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | MultiImplementationB.cs:16:9:16:31 | M2 | +| MultiImplementationB.cs:16:9:16:31 | Exit | MultiImplementationB.cs:16:9:16:31 | M2 | | MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:9:16:31 | M2 | -| MultiImplementationB.cs:16:9:16:31 | exit M2 | MultiImplementationB.cs:16:9:16:31 | M2 | -| MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | MultiImplementationB.cs:16:9:16:31 | M2 | +| MultiImplementationB.cs:16:21:16:30 | Before throw ... | MultiImplementationB.cs:16:9:16:31 | M2 | | MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:9:16:31 | M2 | | MultiImplementationB.cs:16:27:16:30 | null | MultiImplementationB.cs:16:9:16:31 | M2 | +| MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationB.cs:18:12:18:13 | After call to method | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationB.cs:18:24:18:34 | Before throw ...; | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationB.cs:18:30:18:33 | null | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationB.cs:19:27:19:29 | {...} | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationB.cs:20:13:20:23 | Before throw ...; | MultiImplementationA.cs:22:6:22:7 | ~C2 | | MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationA.cs:22:6:22:7 | ~C2 | | MultiImplementationB.cs:20:19:20:22 | null | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationA.cs:23:28:23:35 | implicit conversion | | MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationA.cs:23:28:23:35 | implicit conversion | | MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationB.cs:22:16:22:16 | After access to property P | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:22:16:22:16 | Before access to property P | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:22:32:22:34 | After ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:22:32:22:34 | Before ... = ... | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationB.cs:25:7:25:8 | After call to method | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationA.cs:28:7:28:8 | C3 | | MultiImplementationB.cs:25:7:25:8 | {...} | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationB.cs:30:15:30:16 | After call to method | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationB.cs:30:15:30:16 | {...} | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | M1 | +| NullCoalescing.cs:1:7:1:20 | After call to constructor Object | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:1:7:1:20 | After call to method | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:1:7:1:20 | Before call to method | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:1:7:1:20 | Exit | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:1:7:1:20 | Normal Exit | NullCoalescing.cs:1:7:1:20 | NullCoalescing | | NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | NullCoalescing | | NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | NullCoalescing | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | NullCoalescing | -| NullCoalescing.cs:1:7:1:20 | exit NullCoalescing | NullCoalescing.cs:1:7:1:20 | NullCoalescing | -| NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | NullCoalescing.cs:1:7:1:20 | NullCoalescing | | NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | NullCoalescing | | NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | NullCoalescing | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:9:3:10 | M1 | -| NullCoalescing.cs:3:9:3:10 | exit M1 | NullCoalescing.cs:3:9:3:10 | M1 | -| NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:9:3:10 | Exit | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:9:3:10 | Normal Exit | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:9:3:10 | M1 | | NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:9:3:10 | M1 | | NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:9:3:10 | M1 | | NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:9:3:10 | M1 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:9:5:10 | exit M2 | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:9:5:10 | Exit | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:9:5:10 | Normal Exit | NullCoalescing.cs:5:9:5:10 | M2 | | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:9:5:10 | M2 | | NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:30:5:34 | After false [false] | NullCoalescing.cs:5:9:5:10 | M2 | | NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:9:5:10 | M2 | | NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:9:5:10 | M2 | | NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:7:12:7:13 | exit M3 | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:12:7:13 | Exit | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:12:7:13 | Normal Exit | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:12:7:13 | M3 | | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:12:7:13 | M3 | | NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:12:7:13 | M3 | | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:12:7:13 | M3 | | NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | | NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:12:9:13 | exit M4 | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:12:9:13 | Exit | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:12:9:13 | Normal Exit | NullCoalescing.cs:9:12:9:13 | M4 | | NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:12:9:13 | M4 | | NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | NullCoalescing.cs:9:12:9:13 | M4 | | NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | NullCoalescing.cs:9:12:9:13 | M4 | | NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:12:9:13 | M4 | | NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:51:9:52 | After "" [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:12:9:13 | M4 | | NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:9:11:10 | exit M5 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:57:9:58 | "" | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:9:11:10 | Exit | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:9:11:10 | Normal Exit | NullCoalescing.cs:11:9:11:10 | M5 | | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:9:11:10 | M5 | | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:9:11:10 | M5 | | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:9:11:10 | M5 | | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:9:11:10 | M5 | | NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:9:11:10 | M5 | | NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:13:10:13:11 | M6 | -| NullCoalescing.cs:13:10:13:11 | exit M6 | NullCoalescing.cs:13:10:13:11 | M6 | -| NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:13:10:13:11 | Exit | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:13:10:13:11 | Normal Exit | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:14:5:18:5 | After {...} | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:9:15:32 | After ... ...; | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:13:15:13 | access to local variable j | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:26 | Before (...) ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:9:16:26 | After ... ...; | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:13:16:13 | access to local variable s | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:13:16:25 | After String s = ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:13:16:25 | Before String s = ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:17:16:18 | After "" [non-null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:23:16:25 | "a" | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:9:17:9 | access to local variable j | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:9:17:24 | After ... = ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:9:17:24 | Before ... = ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:9:17:25 | After ...; | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:19 | Before (...) ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | | NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:13:10:13:11 | M6 | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | | -| PartialImplementationA.cs:1:15:1:21 | exit | PartialImplementationA.cs:1:15:1:21 | | -| PartialImplementationA.cs:1:15:1:21 | exit (normal) | PartialImplementationA.cs:1:15:1:21 | | +| NullCoalescing.cs:17:24:17:24 | 1 | NullCoalescing.cs:13:10:13:11 | M6 | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationA.cs:1:15:1:21 | Exit | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationA.cs:1:15:1:21 | Normal Exit | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationA.cs:3:12:3:18 | After call to method | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationA.cs:3:12:3:18 | Before call to method | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationA.cs:3:12:3:18 | Exit | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationA.cs:3:12:3:18 | Normal Exit | PartialImplementationA.cs:3:12:3:18 | Partial | | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | Partial | | PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | Partial | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | Partial | -| PartialImplementationA.cs:3:12:3:18 | exit Partial | PartialImplementationA.cs:3:12:3:18 | Partial | -| PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:12:3:18 | Partial | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | Partial | | PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationB.cs:3:16:3:16 | After access to field F | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:3:16:3:16 | Before access to field F | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:3:16:3:20 | After ... = ... | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:3:16:3:20 | Before ... = ... | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | After call to method | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | Before call to method | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | Exit | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | Normal Exit | PartialImplementationB.cs:4:12:4:18 | Partial | | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | Partial | | PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | Partial | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | Partial | -| PartialImplementationB.cs:4:12:4:18 | exit Partial | PartialImplementationB.cs:4:12:4:18 | Partial | -| PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | PartialImplementationB.cs:4:12:4:18 | Partial | | PartialImplementationB.cs:4:12:4:18 | this access | PartialImplementationB.cs:4:12:4:18 | Partial | | PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | Partial | +| PartialImplementationB.cs:5:16:5:16 | After access to property P | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:5:16:5:16 | Before access to property P | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:5:32:5:34 | After ... = ... | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationB.cs:5:32:5:34 | Before ... = ... | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationA.cs:1:15:1:21 | | +| Patterns.cs:3:7:3:14 | After call to constructor Object | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:3:7:3:14 | After call to method | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:3:7:3:14 | Before call to constructor Object | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:3:7:3:14 | Before call to method | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:3:7:3:14 | Exit | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:3:7:3:14 | Normal Exit | Patterns.cs:3:7:3:14 | Patterns | | Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | Patterns | | Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | Patterns | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | Patterns | -| Patterns.cs:3:7:3:14 | exit Patterns | Patterns.cs:3:7:3:14 | Patterns | -| Patterns.cs:3:7:3:14 | exit Patterns (normal) | Patterns.cs:3:7:3:14 | Patterns | | Patterns.cs:3:7:3:14 | this access | Patterns.cs:3:7:3:14 | Patterns | | Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | Patterns | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:5:10:5:11 | exit M1 | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:5:10:5:11 | exit M1 (normal) | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:5:10:5:11 | Exit | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:5:10:5:11 | Normal Exit | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:6:5:43:5 | After {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:6:5:43:5 | {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:7:9:7:24 | After ... ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:7:16:7:16 | access to local variable o | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:7:16:7:23 | After Object o = ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:7:16:7:23 | Before Object o = ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:7:20:7:23 | null | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | After ... is ... [true] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | Before ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:9:9:11:9 | After {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:9:9:11:9 | {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:13:10:42 | After call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:13:10:42 | Before call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:10:13:10:43 | ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:13:10:43 | After ...; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:31:10:41 | After $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:31:10:41 | Before $"..." | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:10:33:10:36 | "int " | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:37:10:40 | After {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:10:37:10:40 | Before {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:10:37:10:40 | {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | After ... is ... [true] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | Before ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:13:9:15:9 | After {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:13:9:15:9 | {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:13:14:45 | After call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:13:14:45 | Before call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:14:13:14:46 | ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:13:14:46 | After ...; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:31:14:44 | After $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:31:14:44 | Before $"..." | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:14:33:14:39 | "string " | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:40:14:43 | After {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:14:40:14:43 | Before {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:14:40:14:43 | {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | After ... is ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | After ... is ... [true] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | Before ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:17:9:18:9 | {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:20:17:20:17 | access to local variable o | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:23:17:23:22 | Before break; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:23:17:23:22 | break; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:13:24:36 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:30:24:35 | After ... > ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:30:24:35 | Before ... > ... | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:24:35:24:35 | 0 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:17:25:51 | After call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:17:25:51 | Before call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:25:17:25:52 | ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:17:25:52 | After ...; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:35:25:50 | After $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:35:25:50 | Before $"..." | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:46:25:49 | After {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:25:46:25:49 | Before {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:25:46:25:49 | {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:26:17:26:22 | Before break; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:26:17:26:22 | break; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:17:28:46 | After call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:17:28:46 | Before call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:28:17:28:47 | ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:17:28:47 | After ...; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:35:28:45 | After $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:35:28:45 | Before $"..." | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:28:37:28:40 | "int " | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:41:28:44 | After {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:28:41:28:44 | Before {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:28:41:28:44 | {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:29:17:29:22 | Before break; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:29:17:29:22 | break; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:17:31:49 | After call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:17:31:49 | Before call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:31:17:31:50 | ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:17:31:50 | After ...; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:35:31:48 | After $"..." | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:35:31:48 | Before $"..." | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:31:37:31:43 | "string " | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:44:31:47 | After {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:31:44:31:47 | Before {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:31:44:31:47 | {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:32:17:32:22 | Before break; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:32:17:32:22 | break; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:34:17:34:22 | Before break; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:34:17:34:22 | break; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:35:13:35:20 | After default: [match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:35:13:35:20 | default: | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:36:17:36:51 | After call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:36:17:36:51 | Before call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:36:17:36:52 | ...; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:36:17:36:52 | After ...; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:37:17:37:22 | Before break; | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:37:17:37:22 | break; | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:40:9:42:9 | After switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:47:24:47:25 | M2 | -| Patterns.cs:47:24:47:25 | exit M2 | Patterns.cs:47:24:47:25 | M2 | -| Patterns.cs:47:24:47:25 | exit M2 (normal) | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:47:24:47:25 | Exit | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:47:24:47:25 | Normal Exit | Patterns.cs:47:24:47:25 | M2 | | Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:47:24:47:25 | M2 | | Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:9:48:20 | Before ... is ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:14:48:20 | After not ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:14:48:20 | Before not ... | Patterns.cs:47:24:47:25 | M2 | | Patterns.cs:48:14:48:20 | not ... | Patterns.cs:47:24:47:25 | M2 | | Patterns.cs:48:18:48:20 | a | Patterns.cs:47:24:47:25 | M2 | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:50:24:50:25 | exit M3 | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:50:24:50:25 | exit M3 (normal) | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:50:24:50:25 | Exit | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:50:24:50:25 | Normal Exit | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | After ... is ... [true] | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | Before ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:14:51:21 | After not ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:14:51:21 | Before not ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:14:51:21 | not ... | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:18:51:21 | null | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:25:51:30 | Before ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:30:51:30 | 1 | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:34:51:39 | Before ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:50:24:50:25 | M3 | | Patterns.cs:51:39:51:39 | 2 | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:53:24:53:25 | exit M4 | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:53:24:53:25 | exit M4 (normal) | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:53:24:53:25 | Exit | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:53:24:53:25 | Normal Exit | Patterns.cs:53:24:53:25 | M4 | | Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:53:24:53:25 | M4 | | Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:9:54:37 | Before ... is ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:14:54:37 | After not ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:14:54:37 | Before not ... | Patterns.cs:53:24:53:25 | M4 | | Patterns.cs:54:14:54:37 | not ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:18:54:25 | access to type Patterns | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:18:54:37 | After { ... } | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:18:54:37 | Before { ... } | Patterns.cs:53:24:53:25 | M4 | | Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:53:24:53:25 | M4 | | Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:54:27:54:35 | [match] { ... } | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:54:27:54:35 | [no-match] { ... } | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:27:54:35 | After { ... } | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:27:54:35 | Before { ... } | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:53:24:53:25 | M4 | | Patterns.cs:54:33:54:33 | 1 | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:56:26:56:27 | exit M5 | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:56:26:56:27 | exit M5 (normal) | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:56:26:56:27 | Exit | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:56:26:56:27 | Normal Exit | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:57:5:63:5 | {...} | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:58:9:62:10 | Before return ...; | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:17 | After not ... | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:17 | Before not ... | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:17 | not ... | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:60:17:60:17 | 1 | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:61:13:61:13 | _ | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:61:13:61:24 | After ... => ... [match] | Patterns.cs:56:26:56:27 | M5 | | Patterns.cs:61:18:61:24 | "other" | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:65:26:65:27 | exit M6 | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:65:26:65:27 | exit M6 (normal) | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:65:26:65:27 | Exit | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:65:26:65:27 | Normal Exit | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:66:5:72:5 | {...} | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:67:9:71:10 | Before return ...; | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:67:16:67:16 | 2 | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:17 | After not ... | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:17 | Before not ... | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:17 | not ... | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:69:17:69:17 | 2 | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:22:69:33 | "impossible" | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:70:13:70:13 | 2 | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:70:13:70:27 | After ... => ... [no-match] | Patterns.cs:65:26:65:27 | M6 | | Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:74:26:74:27 | exit M7 | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:74:26:74:27 | exit M7 (normal) | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:74:26:74:27 | Exit | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:74:26:74:27 | Normal Exit | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:75:5:83:5 | {...} | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:76:9:82:10 | Before return ...; | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:78:13:78:15 | > ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:78:13:78:15 | After > ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:78:13:78:15 | Before > ... | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:78:15:78:15 | 1 | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:79:13:79:15 | < ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:79:13:79:15 | After < ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:79:13:79:15 | Before < ... | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:79:15:79:15 | 0 | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:80:13:80:13 | 1 | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:80:18:80:20 | "1" | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:81:13:81:13 | _ | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:81:13:81:20 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | | Patterns.cs:81:18:81:20 | "0" | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:26:85:27 | exit M8 | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:26:85:27 | exit M8 (normal) | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:26:85:27 | Exit | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:26:85:27 | Normal Exit | Patterns.cs:85:26:85:27 | M8 | | Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | After ... is ... [true] | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | Before ... is ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:26:85:27 | M8 | | Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:26:85:27 | M8 | | Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:49:85:53 | [match] not ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:44:85:53 | After ... or ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:44:85:53 | Before ... or ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:49:85:53 | After not ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:49:85:53 | Before not ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:26:85:27 | M8 | | Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:26:85:27 | M8 | | Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:26:85:27 | M8 | | Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:26:87:27 | exit M9 | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:26:87:27 | exit M9 (normal) | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:26:87:27 | Exit | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:26:87:27 | Normal Exit | Patterns.cs:87:26:87:27 | M9 | | Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | After ... is ... [true] | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | Before ... is ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:26:87:27 | M9 | | Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:26:87:27 | M9 | | Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:50:87:54 | [no-match] not ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:44:87:54 | After ... and ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:44:87:54 | Before ... and ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:50:87:54 | After not ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:50:87:54 | Before not ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:26:87:27 | M9 | | Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:26:87:27 | M9 | | Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:26:87:27 | M9 | | Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:93:17:93:19 | exit M10 | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:93:17:93:19 | Exit | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:93:17:93:19 | Normal Exit | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:94:5:99:5 | After {...} | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:94:5:99:5 | {...} | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:95:13:95:16 | this access | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | After ... is ... [false] | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | After ... is ... [true] | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | Before ... is ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:29:95:38 | ... or ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:29:95:38 | After ... or ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:29:95:38 | Before ... or ... | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:96:9:98:9 | After {...} | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:96:9:98:9 | {...} | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:97:13:97:38 | After call to method WriteLine | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:97:13:97:38 | Before call to method WriteLine | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:97:13:97:38 | call to method WriteLine | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:97:13:97:39 | ...; | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:97:13:97:39 | After ...; | Patterns.cs:93:17:93:19 | M10 | | Patterns.cs:97:31:97:37 | "not C" | Patterns.cs:93:17:93:19 | M10 | +| PostDominance.cs:3:7:3:19 | After call to constructor Object | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:3:7:3:19 | After call to method | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:3:7:3:19 | Before call to constructor Object | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:3:7:3:19 | Before call to method | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:3:7:3:19 | Exit | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:3:7:3:19 | Normal Exit | PostDominance.cs:3:7:3:19 | PostDominance | | PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | PostDominance | | PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | PostDominance | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | PostDominance | -| PostDominance.cs:3:7:3:19 | exit PostDominance | PostDominance.cs:3:7:3:19 | PostDominance | -| PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | PostDominance.cs:3:7:3:19 | PostDominance | | PostDominance.cs:3:7:3:19 | this access | PostDominance.cs:3:7:3:19 | PostDominance | | PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | PostDominance | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:5:10:5:11 | M1 | -| PostDominance.cs:5:10:5:11 | exit M1 | PostDominance.cs:5:10:5:11 | M1 | -| PostDominance.cs:5:10:5:11 | exit M1 (normal) | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:5:10:5:11 | Exit | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:5:10:5:11 | Normal Exit | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:6:5:8:5 | After {...} | PostDominance.cs:5:10:5:11 | M1 | | PostDominance.cs:6:5:8:5 | {...} | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:7:9:7:28 | After call to method WriteLine | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:7:9:7:28 | Before call to method WriteLine | PostDominance.cs:5:10:5:11 | M1 | | PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:5:10:5:11 | M1 | | PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:7:9:7:29 | After ...; | PostDominance.cs:5:10:5:11 | M1 | | PostDominance.cs:7:27:7:27 | access to parameter s | PostDominance.cs:5:10:5:11 | M1 | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:10:10:10:11 | exit M2 | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:10:10:10:11 | Exit | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:11:5:15:5 | After {...} | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:9:13:19 | After if (...) ... | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | After ... is ... [true] | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | Before ... is ... | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:12:18:12:21 | null | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:13:13:13:19 | Before return ...; | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:14:9:14:28 | After call to method WriteLine | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:14:9:14:28 | Before call to method WriteLine | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:14:9:14:28 | call to method WriteLine | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:14:9:14:29 | After ...; | PostDominance.cs:10:10:10:11 | M2 | | PostDominance.cs:14:27:14:27 | access to parameter s | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:17:10:17:11 | exit M3 | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:17:10:17:11 | exit M3 (abnormal) | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:17:10:17:11 | exit M3 (normal) | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:17:10:17:11 | Exceptional Exit | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:17:10:17:11 | Exit | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:17:10:17:11 | Normal Exit | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:18:5:22:5 | After {...} | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:9:20:55 | After if (...) ... | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | After ... is ... [true] | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | Before ... is ... | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:19:18:19:21 | null | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:20:13:20:55 | Before throw ...; | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:21:9:21:28 | After call to method WriteLine | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:21:9:21:28 | Before call to method WriteLine | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:21:9:21:29 | After ...; | PostDominance.cs:17:10:17:11 | M3 | | PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:17:10:17:11 | M3 | +| Qualifiers.cs:1:7:1:16 | After call to constructor Object | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:1:7:1:16 | After call to method | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:1:7:1:16 | Before call to constructor Object | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:1:7:1:16 | Before call to method | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:1:7:1:16 | Exit | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:1:7:1:16 | Normal Exit | Qualifiers.cs:1:7:1:16 | Qualifiers | | Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | Qualifiers | | Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | Qualifiers | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | Qualifiers | -| Qualifiers.cs:1:7:1:16 | exit Qualifiers | Qualifiers.cs:1:7:1:16 | Qualifiers | -| Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | Qualifiers.cs:1:7:1:16 | Qualifiers | | Qualifiers.cs:1:7:1:16 | this access | Qualifiers.cs:1:7:1:16 | Qualifiers | | Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | Qualifiers | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:16:7:21 | Method | -| Qualifiers.cs:7:16:7:21 | exit Method | Qualifiers.cs:7:16:7:21 | Method | -| Qualifiers.cs:7:16:7:21 | exit Method (normal) | Qualifiers.cs:7:16:7:21 | Method | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:16:7:21 | Method | +| Qualifiers.cs:7:16:7:21 | Exit | Qualifiers.cs:7:16:7:21 | Method | +| Qualifiers.cs:7:16:7:21 | Normal Exit | Qualifiers.cs:7:16:7:21 | Method | | Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | Method | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:23:8:34 | StaticMethod | -| Qualifiers.cs:8:23:8:34 | exit StaticMethod | Qualifiers.cs:8:23:8:34 | StaticMethod | -| Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | Qualifiers.cs:8:23:8:34 | StaticMethod | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:23:8:34 | StaticMethod | +| Qualifiers.cs:8:23:8:34 | Exit | Qualifiers.cs:8:23:8:34 | StaticMethod | +| Qualifiers.cs:8:23:8:34 | Normal Exit | Qualifiers.cs:8:23:8:34 | StaticMethod | | Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | StaticMethod | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:10:10:10:10 | M | -| Qualifiers.cs:10:10:10:10 | exit M | Qualifiers.cs:10:10:10:10 | M | -| Qualifiers.cs:10:10:10:10 | exit M (normal) | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:10:10:10:10 | Exit | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:10:10:10:10 | Normal Exit | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:11:5:31:5 | After {...} | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:12:9:12:22 | After ... ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:12:13:12:13 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:12:17:12:21 | After access to field Field | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:12:17:12:21 | Before access to field Field | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:13:9:13:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:13:9:13:20 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:13:9:13:20 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:13:9:13:21 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:13:13:13:20 | After access to property Property | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:13:13:13:20 | Before access to property Property | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:14:9:14:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:14:9:14:20 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:14:9:14:20 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:14:9:14:21 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:14:13:14:20 | After call to method Method | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:14:13:14:20 | Before call to method Method | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:16:9:16:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:16:9:16:22 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:16:9:16:22 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:16:9:16:23 | After ...; | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:16:13:16:22 | After access to field Field | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:16:13:16:22 | Before access to field Field | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:17:9:17:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:17:9:17:25 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:17:9:17:25 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:17:9:17:26 | After ...; | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:17:13:17:25 | After access to property Property | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:17:13:17:25 | Before access to property Property | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:18:9:18:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:18:9:18:25 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:18:9:18:25 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:18:9:18:26 | After ...; | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:18:13:18:25 | After call to method Method | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:18:13:18:25 | Before call to method Method | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:20:9:20:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:20:9:20:23 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:20:9:20:23 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:20:9:20:24 | After ...; | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:21:9:21:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:21:9:21:26 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:21:9:21:26 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:21:9:21:27 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:22:9:22:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:22:9:22:26 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:22:9:22:26 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:22:9:22:27 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:24:9:24:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:24:9:24:34 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:24:9:24:34 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:24:9:24:35 | After ...; | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:25:9:25:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:25:9:25:37 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:25:9:25:37 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:25:9:25:38 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:26:9:26:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:26:9:26:37 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:26:9:26:37 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:26:9:26:38 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:28:9:28:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:28:9:28:40 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:28:9:28:40 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:28:9:28:41 | After ...; | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:28:13:28:40 | After access to field Field | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:28:13:28:40 | Before access to field Field | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:9:29:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:9:29:46 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:9:29:46 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:9:29:47 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:13:29:46 | After access to property Property | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:29:13:29:46 | Before access to property Property | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:9:30:9 | access to local variable q | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:9:30:46 | After ... = ... | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:9:30:46 | Before ... = ... | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:9:30:47 | After ...; | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:13:30:46 | After call to method Method | Qualifiers.cs:10:10:10:10 | M | +| Qualifiers.cs:30:13:30:46 | Before call to method Method | Qualifiers.cs:10:10:10:10 | M | | Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:10:10:10:10 | M | +| Switch.cs:3:7:3:12 | After call to constructor Object | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:3:7:3:12 | After call to method | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:3:7:3:12 | Before call to constructor Object | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:3:7:3:12 | Before call to method | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:3:7:3:12 | Exit | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:3:7:3:12 | Normal Exit | Switch.cs:3:7:3:12 | Switch | | Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | Switch | | Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | Switch | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | Switch | -| Switch.cs:3:7:3:12 | exit Switch | Switch.cs:3:7:3:12 | Switch | -| Switch.cs:3:7:3:12 | exit Switch (normal) | Switch.cs:3:7:3:12 | Switch | | Switch.cs:3:7:3:12 | this access | Switch.cs:3:7:3:12 | Switch | | Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | Switch | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:5:10:5:11 | M1 | -| Switch.cs:5:10:5:11 | exit M1 | Switch.cs:5:10:5:11 | M1 | -| Switch.cs:5:10:5:11 | exit M1 (normal) | Switch.cs:5:10:5:11 | M1 | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:5:10:5:11 | M1 | +| Switch.cs:5:10:5:11 | Exit | Switch.cs:5:10:5:11 | M1 | +| Switch.cs:5:10:5:11 | Normal Exit | Switch.cs:5:10:5:11 | M1 | +| Switch.cs:6:5:8:5 | After {...} | Switch.cs:5:10:5:11 | M1 | | Switch.cs:6:5:8:5 | {...} | Switch.cs:5:10:5:11 | M1 | +| Switch.cs:7:9:7:22 | After switch (...) {...} | Switch.cs:5:10:5:11 | M1 | | Switch.cs:7:9:7:22 | switch (...) {...} | Switch.cs:5:10:5:11 | M1 | | Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:5:10:5:11 | M1 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:10:10:10:11 | exit M2 | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:10:10:10:11 | exit M2 (abnormal) | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Exceptional Exit | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Exit | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | M2 | | Switch.cs:11:5:33:5 | {...} | Switch.cs:10:10:10:11 | M2 | | Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:10:10:10:11 | M2 | | Switch.cs:12:17:12:17 | access to parameter o | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:14:13:14:21 | case ...: | Switch.cs:10:10:10:11 | M2 | | Switch.cs:14:18:14:20 | "a" | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:15:17:15:23 | Before return ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:15:17:15:23 | return ...; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:16:13:16:19 | case ...: | Switch.cs:10:10:10:11 | M2 | | Switch.cs:16:18:16:18 | 0 | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:17:17:17:38 | Before throw ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:17:17:17:38 | throw ...; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:17:23:17:37 | After object creation of type Exception | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:17:23:17:37 | Before object creation of type Exception | Switch.cs:10:10:10:11 | M2 | | Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:18:13:18:22 | case ...: | Switch.cs:10:10:10:11 | M2 | | Switch.cs:18:18:18:21 | null | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:19:17:19:29 | Before goto default; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:19:17:19:29 | goto default; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:20:13:20:23 | case ...: | Switch.cs:10:10:10:11 | M2 | | Switch.cs:20:18:20:22 | Int32 i | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:21:17:22:27 | After if (...) ... | Switch.cs:10:10:10:11 | M2 | | Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:10:10:10:11 | M2 | | Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:10:10:10:11 | M2 | | Switch.cs:21:21:21:29 | ... == ... | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:21:21:21:29 | Before ... == ... | Switch.cs:10:10:10:11 | M2 | | Switch.cs:21:26:21:29 | null | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:22:21:22:27 | Before return ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:22:21:22:27 | return ...; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:23:17:23:28 | Before goto case ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:23:17:23:28 | goto case ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:23:27:23:27 | 0 | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:13:24:56 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:13:24:56 | case ...: | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:18:24:25 | String s | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:39 | After access to property Length | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:39 | Before access to property Length | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:32:24:39 | access to property Length | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:32:24:43 | ... > ... | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:43 | Before ... > ... | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:55 | After ... && ... [true] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:43:24:43 | 0 | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:48:24:55 | ... != ... | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:48:24:55 | Before ... != ... | Switch.cs:10:10:10:11 | M2 | | Switch.cs:24:53:24:55 | "a" | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:25:17:25:36 | After call to method WriteLine | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:25:17:25:36 | Before call to method WriteLine | Switch.cs:10:10:10:11 | M2 | | Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:10:10:10:11 | M2 | | Switch.cs:25:17:25:37 | ...; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:25:17:25:37 | After ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:26:17:26:23 | Before return ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:26:17:26:23 | return ...; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:27:13:27:39 | case ...: | Switch.cs:10:10:10:11 | M2 | | Switch.cs:27:18:27:25 | Double d | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:27:32:27:38 | Before call to method Throw | Switch.cs:10:10:10:11 | M2 | | Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:10:10:10:11 | M2 | | Switch.cs:28:13:28:17 | Label: | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:29:17:29:23 | Before return ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:29:17:29:23 | return ...; | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:30:13:30:20 | default: | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:31:17:31:27 | Before goto ...; | Switch.cs:10:10:10:11 | M2 | | Switch.cs:31:17:31:27 | goto ...; | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:35:10:35:11 | M3 | -| Switch.cs:35:10:35:11 | exit M3 | Switch.cs:35:10:35:11 | M3 | -| Switch.cs:35:10:35:11 | exit M3 (abnormal) | Switch.cs:35:10:35:11 | M3 | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:35:10:35:11 | M3 | +| Switch.cs:35:10:35:11 | Exceptional Exit | Switch.cs:35:10:35:11 | M3 | +| Switch.cs:35:10:35:11 | Exit | Switch.cs:35:10:35:11 | M3 | | Switch.cs:36:5:42:5 | {...} | Switch.cs:35:10:35:11 | M3 | | Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:35:10:35:11 | M3 | +| Switch.cs:37:17:37:23 | Before call to method Throw | Switch.cs:35:10:35:11 | M3 | | Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:35:10:35:11 | M3 | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:44:10:44:11 | exit M4 | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:44:10:44:11 | Exit | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:44:10:44:11 | Normal Exit | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:45:5:53:5 | After {...} | Switch.cs:44:10:44:11 | M4 | | Switch.cs:45:5:53:5 | {...} | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:44:10:44:11 | M4 | | Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:44:10:44:11 | M4 | | Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:44:10:44:11 | M4 | | Switch.cs:48:13:48:23 | case ...: | Switch.cs:44:10:44:11 | M4 | | Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:49:17:49:22 | Before break; | Switch.cs:44:10:44:11 | M4 | | Switch.cs:49:17:49:22 | break; | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:13:50:39 | After case ...: [no-match] | Switch.cs:44:10:44:11 | M4 | | Switch.cs:50:13:50:39 | case ...: | Switch.cs:44:10:44:11 | M4 | | Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:44:10:44:11 | M4 | | Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:44:10:44:11 | M4 | | Switch.cs:50:30:50:38 | ... != ... | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:30:50:38 | After ... != ... [false] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:30:50:38 | Before ... != ... | Switch.cs:44:10:44:11 | M4 | | Switch.cs:50:35:50:38 | null | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:51:17:51:22 | Before break; | Switch.cs:44:10:44:11 | M4 | | Switch.cs:51:17:51:22 | break; | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:55:10:55:11 | M5 | -| Switch.cs:55:10:55:11 | exit M5 | Switch.cs:55:10:55:11 | M5 | -| Switch.cs:55:10:55:11 | exit M5 (normal) | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:55:10:55:11 | Exit | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:55:10:55:11 | Normal Exit | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:56:5:64:5 | After {...} | Switch.cs:55:10:55:11 | M5 | | Switch.cs:56:5:64:5 | {...} | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:55:10:55:11 | M5 | | Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:55:10:55:11 | M5 | | Switch.cs:57:17:57:17 | 1 | Switch.cs:55:10:55:11 | M5 | | Switch.cs:57:17:57:21 | ... + ... | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:57:17:57:21 | After ... + ... | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:57:17:57:21 | Before ... + ... | Switch.cs:55:10:55:11 | M5 | | Switch.cs:57:21:57:21 | 2 | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:55:10:55:11 | M5 | | Switch.cs:59:13:59:19 | case ...: | Switch.cs:55:10:55:11 | M5 | | Switch.cs:59:18:59:18 | 2 | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:60:17:60:22 | Before break; | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:60:17:60:22 | break; | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:61:13:61:19 | After case ...: [no-match] | Switch.cs:55:10:55:11 | M5 | | Switch.cs:61:13:61:19 | case ...: | Switch.cs:55:10:55:11 | M5 | | Switch.cs:61:18:61:18 | 3 | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:62:17:62:22 | Before break; | Switch.cs:55:10:55:11 | M5 | | Switch.cs:62:17:62:22 | break; | Switch.cs:55:10:55:11 | M5 | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:66:10:66:11 | exit M6 | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:66:10:66:11 | Exit | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:66:10:66:11 | Normal Exit | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:67:5:75:5 | After {...} | Switch.cs:66:10:66:11 | M6 | | Switch.cs:67:5:75:5 | {...} | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:66:10:66:11 | M6 | | Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:66:10:66:11 | M6 | | Switch.cs:68:17:68:25 | (...) ... | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:68:17:68:25 | After (...) ... | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:68:17:68:25 | Before (...) ... | Switch.cs:66:10:66:11 | M6 | | Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:66:10:66:11 | M6 | | Switch.cs:70:13:70:23 | case ...: | Switch.cs:66:10:66:11 | M6 | | Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:71:17:71:22 | Before break; | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:71:17:71:22 | break; | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:72:13:72:20 | After case ...: [no-match] | Switch.cs:66:10:66:11 | M6 | | Switch.cs:72:13:72:20 | case ...: | Switch.cs:66:10:66:11 | M6 | | Switch.cs:72:18:72:19 | "" | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:73:17:73:22 | Before break; | Switch.cs:66:10:66:11 | M6 | | Switch.cs:73:17:73:22 | break; | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:77:10:77:11 | exit M7 | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:77:10:77:11 | Exit | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | M7 | | Switch.cs:78:5:89:5 | {...} | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:77:10:77:11 | M7 | | Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:77:10:77:11 | M7 | | Switch.cs:79:17:79:17 | access to parameter i | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:77:10:77:11 | M7 | | Switch.cs:81:13:81:19 | case ...: | Switch.cs:77:10:77:11 | M7 | | Switch.cs:81:18:81:18 | 1 | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:82:17:82:28 | Before return ...; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:82:17:82:28 | return ...; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:82:24:82:27 | true | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:83:13:83:19 | After case ...: [no-match] | Switch.cs:77:10:77:11 | M7 | | Switch.cs:83:13:83:19 | case ...: | Switch.cs:77:10:77:11 | M7 | | Switch.cs:83:18:83:18 | 2 | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:84:17:85:26 | After if (...) ... | Switch.cs:77:10:77:11 | M7 | | Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:77:10:77:11 | M7 | | Switch.cs:84:21:84:21 | access to parameter j | Switch.cs:77:10:77:11 | M7 | | Switch.cs:84:21:84:25 | ... > ... | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:84:21:84:25 | Before ... > ... | Switch.cs:77:10:77:11 | M7 | | Switch.cs:84:25:84:25 | 2 | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:85:21:85:26 | Before break; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:85:21:85:26 | break; | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:86:17:86:28 | Before return ...; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:86:17:86:28 | return ...; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:86:24:86:27 | true | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:88:9:88:21 | Before return ...; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:88:9:88:21 | return ...; | Switch.cs:77:10:77:11 | M7 | | Switch.cs:88:16:88:20 | false | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:91:10:91:11 | exit M8 | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:91:10:91:11 | Exit | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | M8 | | Switch.cs:92:5:99:5 | {...} | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:93:9:97:9 | After switch (...) {...} | Switch.cs:91:10:91:11 | M8 | | Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:91:10:91:11 | M8 | | Switch.cs:93:17:93:17 | access to parameter o | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:91:10:91:11 | M8 | | Switch.cs:95:13:95:23 | case ...: | Switch.cs:91:10:91:11 | M8 | | Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:96:17:96:28 | Before return ...; | Switch.cs:91:10:91:11 | M8 | | Switch.cs:96:17:96:28 | return ...; | Switch.cs:91:10:91:11 | M8 | | Switch.cs:96:24:96:27 | true | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:98:9:98:21 | Before return ...; | Switch.cs:91:10:91:11 | M8 | | Switch.cs:98:9:98:21 | return ...; | Switch.cs:91:10:91:11 | M8 | | Switch.cs:98:16:98:20 | false | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:101:9:101:10 | exit M9 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:101:9:101:10 | Exit | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | M9 | | Switch.cs:102:5:109:5 | {...} | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:9:107:9 | After switch (...) {...} | Switch.cs:101:9:101:10 | M9 | | Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:17 | After access to parameter s [null] | Switch.cs:101:9:101:10 | M9 | | Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:25 | Before access to property Length | Switch.cs:101:9:101:10 | M9 | | Switch.cs:103:17:103:25 | access to property Length | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:101:9:101:10 | M9 | | Switch.cs:105:13:105:19 | case ...: | Switch.cs:101:9:101:10 | M9 | | Switch.cs:105:18:105:18 | 0 | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:105:21:105:29 | Before return ...; | Switch.cs:101:9:101:10 | M9 | | Switch.cs:105:21:105:29 | return ...; | Switch.cs:101:9:101:10 | M9 | | Switch.cs:105:28:105:28 | 0 | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:101:9:101:10 | M9 | | Switch.cs:106:13:106:19 | case ...: | Switch.cs:101:9:101:10 | M9 | | Switch.cs:106:18:106:18 | 1 | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:106:21:106:29 | Before return ...; | Switch.cs:101:9:101:10 | M9 | | Switch.cs:106:21:106:29 | return ...; | Switch.cs:101:9:101:10 | M9 | | Switch.cs:106:28:106:28 | 1 | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:108:9:108:18 | Before return ...; | Switch.cs:101:9:101:10 | M9 | | Switch.cs:108:9:108:18 | return ...; | Switch.cs:101:9:101:10 | M9 | | Switch.cs:108:16:108:17 | -... | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:108:16:108:17 | After -... | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:108:16:108:17 | Before -... | Switch.cs:101:9:101:10 | M9 | | Switch.cs:108:17:108:17 | 1 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:17:111:21 | Throw | -| Switch.cs:111:17:111:21 | exit Throw | Switch.cs:111:17:111:21 | Throw | -| Switch.cs:111:17:111:21 | exit Throw (abnormal) | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:111:17:111:21 | Exceptional Exit | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:111:17:111:21 | Exit | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:111:28:111:48 | Before throw ... | Switch.cs:111:17:111:21 | Throw | | Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:111:34:111:48 | After object creation of type Exception | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:111:34:111:48 | Before object creation of type Exception | Switch.cs:111:17:111:21 | Throw | | Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:17:111:21 | Throw | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:113:9:113:11 | exit M10 | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:113:9:113:11 | Exit | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | M10 | | Switch.cs:114:5:121:5 | {...} | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:113:9:113:11 | M10 | | Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:113:9:113:11 | M10 | | Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:115:17:115:24 | After access to property Length | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:115:17:115:24 | Before access to property Length | Switch.cs:113:9:113:11 | M10 | | Switch.cs:115:17:115:24 | access to property Length | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:13:117:35 | After case ...: [no-match] | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:13:117:35 | case ...: | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:18:117:18 | 3 | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:25:117:34 | ... == ... | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:25:117:34 | After ... == ... [false] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:25:117:34 | Before ... == ... | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:30:117:34 | "foo" | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:37:117:45 | Before return ...; | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:37:117:45 | return ...; | Switch.cs:113:9:113:11 | M10 | | Switch.cs:117:44:117:44 | 1 | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:13:118:34 | After case ...: [no-match] | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:13:118:34 | case ...: | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:18:118:18 | 2 | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:25:118:33 | ... == ... | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:25:118:33 | After ... == ... [false] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:25:118:33 | Before ... == ... | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:30:118:33 | "fu" | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:36:118:44 | Before return ...; | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:36:118:44 | return ...; | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:43:118:43 | 2 | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:120:9:120:18 | Before return ...; | Switch.cs:113:9:113:11 | M10 | | Switch.cs:120:9:120:18 | return ...; | Switch.cs:113:9:113:11 | M10 | | Switch.cs:120:16:120:17 | -... | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:120:16:120:17 | After -... | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:120:16:120:17 | Before -... | Switch.cs:113:9:113:11 | M10 | | Switch.cs:120:17:120:17 | 1 | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:123:10:123:12 | exit M11 | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:123:10:123:12 | Exit | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:124:5:127:5 | After {...} | Switch.cs:123:10:123:12 | M11 | | Switch.cs:124:5:127:5 | {...} | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:9:126:19 | After if (...) ... | Switch.cs:123:10:123:12 | M11 | | Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:123:10:123:12 | M11 | | Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:123:10:123:12 | M11 | | Switch.cs:125:24:125:29 | Boolean b | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:123:10:123:12 | M11 | | Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:123:10:123:12 | M11 | | Switch.cs:125:37:125:37 | _ | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:37:125:46 | After ... => ... [match] | Switch.cs:123:10:123:12 | M11 | | Switch.cs:125:42:125:46 | false | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:126:13:126:19 | Before return ...; | Switch.cs:123:10:123:12 | M11 | | Switch.cs:126:13:126:19 | return ...; | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:129:12:129:14 | exit M12 | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:129:12:129:14 | exit M12 (normal) | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:129:12:129:14 | Exit | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:129:12:129:14 | Normal Exit | Switch.cs:129:12:129:14 | M12 | | Switch.cs:130:5:132:5 | {...} | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:9:131:67 | Before return ...; | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:16:131:66 | Before call to method ToString | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:17:131:53 | After ... switch { ... } [null] | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:28:131:35 | String s | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:28:131:40 | [null] ... => ... | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:43:131:43 | _ | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:43:131:51 | After ... => ... [match] | Switch.cs:129:12:129:14 | M12 | | Switch.cs:131:48:131:51 | null | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:134:9:134:11 | exit M13 | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:134:9:134:11 | Exit | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | M13 | | Switch.cs:135:5:142:5 | {...} | Switch.cs:134:9:134:11 | M13 | | Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:134:9:134:11 | M13 | | Switch.cs:136:17:136:17 | access to parameter i | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:138:13:138:20 | After default: [match] | Switch.cs:134:9:134:11 | M13 | | Switch.cs:138:13:138:20 | default: | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:138:22:138:31 | Before return ...; | Switch.cs:134:9:134:11 | M13 | | Switch.cs:138:22:138:31 | return ...; | Switch.cs:134:9:134:11 | M13 | | Switch.cs:138:29:138:30 | -... | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:138:29:138:30 | After -... | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:138:29:138:30 | Before -... | Switch.cs:134:9:134:11 | M13 | | Switch.cs:138:30:138:30 | 1 | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:134:9:134:11 | M13 | | Switch.cs:139:13:139:19 | case ...: | Switch.cs:134:9:134:11 | M13 | | Switch.cs:139:18:139:18 | 1 | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:139:21:139:29 | Before return ...; | Switch.cs:134:9:134:11 | M13 | | Switch.cs:139:21:139:29 | return ...; | Switch.cs:134:9:134:11 | M13 | | Switch.cs:139:28:139:28 | 1 | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:134:9:134:11 | M13 | | Switch.cs:140:13:140:19 | case ...: | Switch.cs:134:9:134:11 | M13 | | Switch.cs:140:18:140:18 | 2 | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:140:21:140:29 | Before return ...; | Switch.cs:134:9:134:11 | M13 | | Switch.cs:140:21:140:29 | return ...; | Switch.cs:134:9:134:11 | M13 | | Switch.cs:140:28:140:28 | 2 | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:144:9:144:11 | exit M14 | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:144:9:144:11 | Exit | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | M14 | | Switch.cs:145:5:152:5 | {...} | Switch.cs:144:9:144:11 | M14 | | Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:144:9:144:11 | M14 | | Switch.cs:146:17:146:17 | access to parameter i | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:144:9:144:11 | M14 | | Switch.cs:148:13:148:19 | case ...: | Switch.cs:144:9:144:11 | M14 | | Switch.cs:148:18:148:18 | 1 | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:148:21:148:29 | Before return ...; | Switch.cs:144:9:144:11 | M14 | | Switch.cs:148:21:148:29 | return ...; | Switch.cs:144:9:144:11 | M14 | | Switch.cs:148:28:148:28 | 1 | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:149:13:149:20 | After default: [match] | Switch.cs:144:9:144:11 | M14 | | Switch.cs:149:13:149:20 | default: | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:149:22:149:31 | Before return ...; | Switch.cs:144:9:144:11 | M14 | | Switch.cs:149:22:149:31 | return ...; | Switch.cs:144:9:144:11 | M14 | | Switch.cs:149:29:149:30 | -... | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:149:29:149:30 | After -... | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:149:29:149:30 | Before -... | Switch.cs:144:9:144:11 | M14 | | Switch.cs:149:30:149:30 | 1 | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:144:9:144:11 | M14 | | Switch.cs:150:13:150:19 | case ...: | Switch.cs:144:9:144:11 | M14 | | Switch.cs:150:18:150:18 | 2 | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:150:21:150:29 | Before return ...; | Switch.cs:144:9:144:11 | M14 | | Switch.cs:150:21:150:29 | return ...; | Switch.cs:144:9:144:11 | M14 | | Switch.cs:150:28:150:28 | 2 | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:154:10:154:12 | exit M15 | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:154:10:154:12 | exit M15 (abnormal) | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:154:10:154:12 | Exit | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:154:10:154:12 | Normal Exit | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:155:5:161:5 | After {...} | Switch.cs:154:10:154:12 | M15 | | Switch.cs:155:5:161:5 | {...} | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:9:156:55 | ... ...; | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:9:156:55 | After ... ...; | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:13:156:13 | access to local variable s | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:13:156:54 | After String s = ... | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:13:156:54 | Before String s = ... | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:13:156:54 | String s = ... | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:28:156:31 | true | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:28:156:38 | ... => ... | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:36:156:38 | "a" | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:41:156:45 | false | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:41:156:52 | ... => ... | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:41:156:52 | After ... => ... [no-match] | Switch.cs:154:10:154:12 | M15 | | Switch.cs:156:50:156:52 | "b" | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:154:10:154:12 | M15 | | Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:154:10:154:12 | M15 | | Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:13:158:48 | After call to method WriteLine | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:13:158:48 | Before call to method WriteLine | Switch.cs:154:10:154:12 | M15 | | Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:154:10:154:12 | M15 | | Switch.cs:158:13:158:49 | ...; | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:13:158:49 | After ...; | Switch.cs:154:10:154:12 | M15 | | Switch.cs:158:38:158:47 | $"..." | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:38:158:47 | After $"..." | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:38:158:47 | Before $"..." | Switch.cs:154:10:154:12 | M15 | | Switch.cs:158:40:158:43 | "a = " | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:44:158:46 | After {...} | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:158:44:158:46 | Before {...} | Switch.cs:154:10:154:12 | M15 | | Switch.cs:158:44:158:46 | {...} | Switch.cs:154:10:154:12 | M15 | | Switch.cs:158:45:158:45 | access to local variable s | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:13:160:48 | After call to method WriteLine | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:13:160:48 | Before call to method WriteLine | Switch.cs:154:10:154:12 | M15 | | Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:154:10:154:12 | M15 | | Switch.cs:160:13:160:49 | ...; | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:13:160:49 | After ...; | Switch.cs:154:10:154:12 | M15 | | Switch.cs:160:38:160:47 | $"..." | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:38:160:47 | After $"..." | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:38:160:47 | Before $"..." | Switch.cs:154:10:154:12 | M15 | | Switch.cs:160:40:160:43 | "b = " | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:44:160:46 | After {...} | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:160:44:160:46 | Before {...} | Switch.cs:154:10:154:12 | M15 | | Switch.cs:160:44:160:46 | {...} | Switch.cs:154:10:154:12 | M15 | | Switch.cs:160:45:160:45 | access to local variable s | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:163:10:163:12 | exit M16 | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:163:10:163:12 | Exit | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:163:10:163:12 | Normal Exit | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:164:5:178:5 | After {...} | Switch.cs:163:10:163:12 | M16 | | Switch.cs:164:5:178:5 | {...} | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:163:10:163:12 | M16 | | Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:163:10:163:12 | M16 | | Switch.cs:165:17:165:17 | access to parameter i | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:163:10:163:12 | M16 | | Switch.cs:167:13:167:19 | case ...: | Switch.cs:163:10:163:12 | M16 | | Switch.cs:167:18:167:18 | 1 | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:163:10:163:12 | M16 | | Switch.cs:168:13:168:19 | case ...: | Switch.cs:163:10:163:12 | M16 | | Switch.cs:168:18:168:18 | 2 | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:169:17:169:50 | After call to method WriteLine | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:169:17:169:50 | Before call to method WriteLine | Switch.cs:163:10:163:12 | M16 | | Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:163:10:163:12 | M16 | | Switch.cs:169:17:169:51 | ...; | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:169:17:169:51 | After ...; | Switch.cs:163:10:163:12 | M16 | | Switch.cs:169:42:169:49 | "1 or 2" | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:170:17:170:22 | Before break; | Switch.cs:163:10:163:12 | M16 | | Switch.cs:170:17:170:22 | break; | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:163:10:163:12 | M16 | | Switch.cs:171:13:171:19 | case ...: | Switch.cs:163:10:163:12 | M16 | | Switch.cs:171:18:171:18 | 3 | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:172:17:172:45 | After call to method WriteLine | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:172:17:172:45 | Before call to method WriteLine | Switch.cs:163:10:163:12 | M16 | | Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:163:10:163:12 | M16 | | Switch.cs:172:17:172:46 | ...; | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:172:17:172:46 | After ...; | Switch.cs:163:10:163:12 | M16 | | Switch.cs:172:42:172:44 | "3" | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:173:17:173:22 | Before break; | Switch.cs:163:10:163:12 | M16 | | Switch.cs:173:17:173:22 | break; | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:174:13:174:20 | After default: [match] | Switch.cs:163:10:163:12 | M16 | | Switch.cs:174:13:174:20 | default: | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:175:17:175:47 | After call to method WriteLine | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:175:17:175:47 | Before call to method WriteLine | Switch.cs:163:10:163:12 | M16 | | Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:163:10:163:12 | M16 | | Switch.cs:175:17:175:48 | ...; | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:175:17:175:48 | After ...; | Switch.cs:163:10:163:12 | M16 | | Switch.cs:175:42:175:46 | "def" | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:176:17:176:22 | Before break; | Switch.cs:163:10:163:12 | M16 | | Switch.cs:176:17:176:22 | break; | Switch.cs:163:10:163:12 | M16 | +| TypeAccesses.cs:1:7:1:18 | After call to constructor Object | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:1:7:1:18 | After call to method | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:1:7:1:18 | Before call to method | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:1:7:1:18 | Exit | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:1:7:1:18 | Normal Exit | TypeAccesses.cs:1:7:1:18 | TypeAccesses | | TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | TypeAccesses | | TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | TypeAccesses | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | TypeAccesses | -| TypeAccesses.cs:1:7:1:18 | exit TypeAccesses | TypeAccesses.cs:1:7:1:18 | TypeAccesses | -| TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | TypeAccesses.cs:1:7:1:18 | TypeAccesses | | TypeAccesses.cs:1:7:1:18 | this access | TypeAccesses.cs:1:7:1:18 | TypeAccesses | | TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | TypeAccesses | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:3:10:3:10 | exit M | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:3:10:3:10 | exit M (normal) | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:3:10:3:10 | Exit | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:3:10:3:10 | Normal Exit | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:4:5:9:5 | After {...} | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:5:9:5:26 | After ... ...; | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:5:13:5:13 | access to local variable s | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:5:13:5:25 | After String s = ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:5:13:5:25 | Before String s = ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:5:17:5:25 | After (...) ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:5:17:5:25 | Before (...) ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:6:9:6:9 | access to local variable s | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:6:9:6:23 | After ... = ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:6:9:6:23 | Before ... = ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:6:9:6:24 | After ...; | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:6:13:6:23 | After ... as ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:6:13:6:23 | Before ... as ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | Before ... is ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:8:9:8:28 | After ... ...; | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:8:13:8:13 | access to local variable t | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:8:13:8:27 | After Type t = ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:8:13:8:27 | Before Type t = ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:3:10:3:10 | M | | TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:3:10:3:10 | M | +| VarDecls.cs:3:7:3:14 | After call to constructor Object | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:3:7:3:14 | After call to method | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:3:7:3:14 | Before call to constructor Object | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:3:7:3:14 | Before call to method | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:3:7:3:14 | Exit | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:3:7:3:14 | Normal Exit | VarDecls.cs:3:7:3:14 | VarDecls | | VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | VarDecls | | VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | VarDecls | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | VarDecls | -| VarDecls.cs:3:7:3:14 | exit VarDecls | VarDecls.cs:3:7:3:14 | VarDecls | -| VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | VarDecls.cs:3:7:3:14 | VarDecls | | VarDecls.cs:3:7:3:14 | this access | VarDecls.cs:3:7:3:14 | VarDecls | | VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | VarDecls | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:5:18:5:19 | M1 | -| VarDecls.cs:5:18:5:19 | exit M1 | VarDecls.cs:5:18:5:19 | M1 | -| VarDecls.cs:5:18:5:19 | exit M1 (normal) | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:5:18:5:19 | Exit | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:5:18:5:19 | Normal Exit | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:22:7:23 | access to local variable c1 | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:22:7:36 | After Char* c1 = ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:27:7:36 | After (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:27:7:36 | After access to array element | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:27:7:36 | Before (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:27:7:36 | Before access to array element | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:39:7:40 | access to local variable c2 | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:39:7:53 | After Char* c2 = ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:44:7:53 | After (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:44:7:53 | After access to array element | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:44:7:53 | Before (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:7:44:7:53 | Before access to array element | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:7:52:7:52 | 1 | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:9:13:9:29 | Before return ...; | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:9:20:9:28 | After (...) ... | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:9:20:9:28 | Before (...) ... | VarDecls.cs:5:18:5:19 | M1 | | VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:5:18:5:19 | M1 | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:13:12:13:13 | M2 | -| VarDecls.cs:13:12:13:13 | exit M2 | VarDecls.cs:13:12:13:13 | M2 | -| VarDecls.cs:13:12:13:13 | exit M2 (normal) | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:13:12:13:13 | Exit | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:13:12:13:13 | Normal Exit | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:9:15:30 | After ... ...; | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:16:15:17 | access to local variable s1 | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:16:15:21 | After String s1 = ... | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:16:15:21 | Before String s1 = ... | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:24:15:25 | access to local variable s2 | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:24:15:29 | After String s2 = ... | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:15:24:15:29 | Before String s2 = ... | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:16:9:16:23 | Before return ...; | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:16:16:16:22 | After ... + ... | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:16:16:16:22 | Before ... + ... | VarDecls.cs:13:12:13:13 | M2 | | VarDecls.cs:16:21:16:22 | access to local variable s2 | VarDecls.cs:13:12:13:13 | M2 | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:19:7:19:8 | M3 | -| VarDecls.cs:19:7:19:8 | exit M3 | VarDecls.cs:19:7:19:8 | M3 | -| VarDecls.cs:19:7:19:8 | exit M3 (normal) | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:19:7:19:8 | Exit | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:19:7:19:8 | Normal Exit | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:21:9:22:13 | After using (...) {...} | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:21:16:21:22 | After object creation of type C | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:21:16:21:22 | Before object creation of type C | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:18:24:18 | access to local variable x | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:18:24:28 | After C x = ... | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:18:24:28 | Before C x = ... | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:22:24:28 | After object creation of type C | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:22:24:28 | Before object creation of type C | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:31:24:31 | access to local variable y | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:31:24:41 | After C y = ... | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:31:24:41 | Before C y = ... | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:35:24:41 | After object creation of type C | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:24:35:24:41 | Before object creation of type C | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:13:25:29 | Before return ...; | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:19:7:19:8 | M3 | | VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:28:11:28:11 | After call to constructor Object | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:11:28:11 | After call to method | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:11:28:11 | Before call to constructor Object | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:11:28:11 | Before call to method | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:11:28:11 | Exit | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:11:28:11 | Normal Exit | VarDecls.cs:28:11:28:11 | C | | VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | C | | VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | C | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | C | -| VarDecls.cs:28:11:28:11 | exit C | VarDecls.cs:28:11:28:11 | C | -| VarDecls.cs:28:11:28:11 | exit C (normal) | VarDecls.cs:28:11:28:11 | C | | VarDecls.cs:28:11:28:11 | this access | VarDecls.cs:28:11:28:11 | C | | VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | C | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:41:28:47 | Dispose | -| VarDecls.cs:28:41:28:47 | exit Dispose | VarDecls.cs:28:41:28:47 | Dispose | -| VarDecls.cs:28:41:28:47 | exit Dispose (normal) | VarDecls.cs:28:41:28:47 | Dispose | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:41:28:47 | Dispose | +| VarDecls.cs:28:41:28:47 | Exit | VarDecls.cs:28:41:28:47 | Dispose | +| VarDecls.cs:28:41:28:47 | Normal Exit | VarDecls.cs:28:41:28:47 | Dispose | | VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | Dispose | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:5:17:5:20 | Main | -| cflow.cs:5:17:5:20 | exit Main | cflow.cs:5:17:5:20 | Main | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | Main | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:5:17:5:20 | Main | +| cflow.cs:5:17:5:20 | Exit | cflow.cs:5:17:5:20 | Main | +| cflow.cs:5:17:5:20 | Normal Exit | cflow.cs:5:17:5:20 | Main | +| cflow.cs:6:5:35:5 | After {...} | cflow.cs:5:17:5:20 | Main | | cflow.cs:6:5:35:5 | {...} | cflow.cs:5:17:5:20 | Main | | cflow.cs:7:9:7:28 | ... ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:7:9:7:28 | After ... ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:7:13:7:13 | access to local variable a | cflow.cs:5:17:5:20 | Main | +| cflow.cs:7:13:7:27 | After Int32 a = ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:7:13:7:27 | Before Int32 a = ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:5:17:5:20 | Main | +| cflow.cs:7:17:7:27 | After access to property Length | cflow.cs:5:17:5:20 | Main | +| cflow.cs:7:17:7:27 | Before access to property Length | cflow.cs:5:17:5:20 | Main | | cflow.cs:7:17:7:27 | access to property Length | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:9:9:9 | access to local variable a | cflow.cs:5:17:5:20 | Main | | cflow.cs:9:9:9:39 | ... = ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:9:9:39 | After ... = ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:9:9:39 | Before ... = ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:9:9:9:40 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:9:9:40 | After ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:13:9:29 | After object creation of type ControlFlow | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | cflow.cs:5:17:5:20 | Main | | cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:13:9:39 | After call to method Switch | cflow.cs:5:17:5:20 | Main | +| cflow.cs:9:13:9:39 | Before call to method Switch | cflow.cs:5:17:5:20 | Main | | cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:5:17:5:20 | Main | | cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:5:17:5:20 | Main | | cflow.cs:11:13:11:17 | ... > ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:13:11:17 | After ... > ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:13:11:17 | Before ... > ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:11:17:11:17 | 3 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:12:13:12:48 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:12:13:12:48 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:12:13:12:49 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:12:13:12:49 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:9:17:9 | After while (...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:5:17:5:20 | Main | | cflow.cs:14:16:14:20 | ... > ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:16:14:20 | Before ... > ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:14:20:14:20 | 0 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:15:9:17:9 | After {...} | cflow.cs:5:17:5:20 | Main | | cflow.cs:15:9:17:9 | {...} | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:13:16:40 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:13:16:40 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:16:13:16:41 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:13:16:41 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:5:17:5:20 | Main | | cflow.cs:16:31:16:33 | ...-- | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:31:16:33 | After ...-- | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:31:16:33 | Before ...-- | cflow.cs:5:17:5:20 | Main | | cflow.cs:16:31:16:39 | ... * ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:31:16:39 | After ... * ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:16:31:16:39 | Before ... * ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:16:37:16:39 | 100 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:19:9:22:25 | After do ... while (...); | cflow.cs:5:17:5:20 | Main | +| cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | cflow.cs:5:17:5:20 | Main | | cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:5:17:5:20 | Main | +| cflow.cs:20:9:22:9 | After {...} | cflow.cs:5:17:5:20 | Main | | cflow.cs:20:9:22:9 | {...} | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:13:21:35 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:13:21:35 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:21:13:21:36 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:13:21:36 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:21:31:21:34 | -... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:31:21:34 | After -... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:31:21:34 | Before -... | cflow.cs:5:17:5:20 | Main | | cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:5:17:5:20 | Main | | cflow.cs:21:32:21:34 | ...++ | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:32:21:34 | After ...++ | cflow.cs:5:17:5:20 | Main | +| cflow.cs:21:32:21:34 | Before ...++ | cflow.cs:5:17:5:20 | Main | | cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:5:17:5:20 | Main | | cflow.cs:22:18:22:23 | ... < ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:22:18:22:23 | After ... < ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:22:18:22:23 | Before ... < ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:22:22:22:23 | 10 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:9:34:9 | After for (...;...;...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:18:24:18 | access to local variable i | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:18:24:22 | After Int32 i = ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:18:24:22 | Before Int32 i = ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:22:24:22 | 1 | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:30:24:31 | 20 | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:5:17:5:20 | Main | | cflow.cs:24:34:24:36 | ...++ | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:34:24:36 | After ...++ | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:34:24:36 | Before ...++ | cflow.cs:5:17:5:20 | Main | +| cflow.cs:25:9:34:9 | After {...} | cflow.cs:5:17:5:20 | Main | | cflow.cs:25:9:34:9 | {...} | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:17:26:21 | ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:21 | After ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:21 | Before ... % ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:17:26:26 | ... == ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:26 | Before ... == ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:40 | After ... && ... [true] | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:21:26:21 | 3 | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:26:26:26 | 0 | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:31:26:35 | ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:35 | After ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:35 | Before ... % ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:31:26:40 | ... == ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:40 | Before ... == ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:35:26:35 | 5 | cflow.cs:5:17:5:20 | Main | | cflow.cs:26:40:26:40 | 0 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:27:17:27:45 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:27:17:27:45 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:27:17:27:46 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:27:17:27:46 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:5:17:5:20 | Main | | cflow.cs:28:22:28:26 | ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:26 | After ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:26 | Before ... % ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:28:22:28:31 | ... == ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:31 | Before ... == ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:28:26:28:26 | 3 | cflow.cs:5:17:5:20 | Main | | cflow.cs:28:31:28:31 | 0 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:29:17:29:41 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:29:17:29:41 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:29:17:29:42 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:29:17:29:42 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:5:17:5:20 | Main | | cflow.cs:30:22:30:26 | ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:26 | After ... % ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:26 | Before ... % ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:30:22:30:31 | ... == ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:31 | Before ... == ... | cflow.cs:5:17:5:20 | Main | | cflow.cs:30:26:30:26 | 5 | cflow.cs:5:17:5:20 | Main | | cflow.cs:30:31:30:31 | 0 | cflow.cs:5:17:5:20 | Main | +| cflow.cs:31:17:31:41 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:31:17:31:41 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:31:17:31:42 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:31:17:31:42 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:5:17:5:20 | Main | +| cflow.cs:33:17:33:36 | After call to method WriteLine | cflow.cs:5:17:5:20 | Main | +| cflow.cs:33:17:33:36 | Before call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:5:17:5:20 | Main | | cflow.cs:33:17:33:37 | ...; | cflow.cs:5:17:5:20 | Main | +| cflow.cs:33:17:33:37 | After ...; | cflow.cs:5:17:5:20 | Main | | cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:5:17:5:20 | Main | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:37:17:37:22 | exit Switch | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:37:17:37:22 | exit Switch (abnormal) | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:37:17:37:22 | exit Switch (normal) | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:37:17:37:22 | Exceptional Exit | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:37:17:37:22 | Exit | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:37:17:37:22 | Normal Exit | cflow.cs:37:17:37:22 | Switch | | cflow.cs:38:5:68:5 | {...} | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Switch | | cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:37:17:37:22 | Switch | | cflow.cs:39:17:39:17 | access to parameter a | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | | cflow.cs:41:13:41:19 | case ...: | cflow.cs:37:17:37:22 | Switch | | cflow.cs:41:18:41:18 | 1 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:42:17:42:38 | After call to method WriteLine | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:42:17:42:38 | Before call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:42:17:42:39 | ...; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:42:17:42:39 | After ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:42:35:42:37 | "1" | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:43:17:43:28 | Before goto case ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:43:17:43:28 | goto case ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:43:27:43:27 | 2 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | | cflow.cs:44:13:44:19 | case ...: | cflow.cs:37:17:37:22 | Switch | | cflow.cs:44:18:44:18 | 2 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:45:17:45:38 | After call to method WriteLine | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:45:17:45:38 | Before call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:45:17:45:39 | ...; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:45:17:45:39 | After ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:45:35:45:37 | "2" | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:46:17:46:28 | Before goto case ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:46:17:46:28 | goto case ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:46:27:46:27 | 1 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:47:13:47:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | | cflow.cs:47:13:47:19 | case ...: | cflow.cs:37:17:37:22 | Switch | | cflow.cs:47:18:47:18 | 3 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:48:17:48:38 | After call to method WriteLine | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:48:17:48:38 | Before call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:48:17:48:39 | ...; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:48:17:48:39 | After ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:48:35:48:37 | "3" | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:49:17:49:22 | Before break; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:49:17:49:22 | break; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Switch | | cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:37:17:37:22 | Switch | | cflow.cs:51:17:51:17 | access to parameter a | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | | cflow.cs:53:13:53:20 | case ...: | cflow.cs:37:17:37:22 | Switch | | cflow.cs:53:18:53:19 | 42 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:54:17:54:47 | After call to method WriteLine | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:54:17:54:47 | Before call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:54:17:54:48 | ...; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:54:17:54:48 | After ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:54:35:54:46 | "The answer" | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:55:17:55:22 | Before break; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:55:17:55:22 | break; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:56:13:56:20 | After default: [match] | cflow.cs:37:17:37:22 | Switch | | cflow.cs:56:13:56:20 | default: | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:57:17:57:51 | After call to method WriteLine | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:57:17:57:51 | Before call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:37:17:37:22 | Switch | | cflow.cs:57:17:57:52 | ...; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:57:17:57:52 | After ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:58:17:58:22 | Before break; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:58:17:58:22 | break; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Switch | | cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:60:17:60:32 | After call to method Parse | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:60:17:60:32 | Before call to method Parse | cflow.cs:37:17:37:22 | Switch | | cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:60:27:60:31 | After access to field Field | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:60:27:60:31 | Before access to field Field | cflow.cs:37:17:37:22 | Switch | | cflow.cs:60:27:60:31 | access to field Field | cflow.cs:37:17:37:22 | Switch | | cflow.cs:60:27:60:31 | this access | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:62:13:62:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | | cflow.cs:62:13:62:19 | case ...: | cflow.cs:37:17:37:22 | Switch | | cflow.cs:62:18:62:18 | 0 | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:17:64:55 | After if (...) ... | cflow.cs:37:17:37:22 | Switch | | cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:21:63:34 | !... | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:21:63:34 | After !... [false] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:21:63:34 | After !... [true] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:27 | After access to field Field | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:27 | Before access to field Field | cflow.cs:37:17:37:22 | Switch | | cflow.cs:63:23:63:27 | access to field Field | cflow.cs:37:17:37:22 | Switch | | cflow.cs:63:23:63:27 | this access | cflow.cs:37:17:37:22 | Switch | | cflow.cs:63:23:63:33 | ... == ... | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:33 | Before ... == ... | cflow.cs:37:17:37:22 | Switch | | cflow.cs:63:32:63:33 | "" | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:64:21:64:55 | Before throw ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:64:21:64:55 | throw ...; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | cflow.cs:37:17:37:22 | Switch | | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:65:17:65:22 | Before break; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:65:17:65:22 | break; | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:67:9:67:17 | Before return ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:67:9:67:17 | return ...; | cflow.cs:37:17:37:22 | Switch | | cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:70:18:70:18 | M | -| cflow.cs:70:18:70:18 | exit M | cflow.cs:70:18:70:18 | M | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | M | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:70:18:70:18 | M | +| cflow.cs:70:18:70:18 | Exit | cflow.cs:70:18:70:18 | M | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | M | +| cflow.cs:71:5:82:5 | After {...} | cflow.cs:70:18:70:18 | M | | cflow.cs:71:5:82:5 | {...} | cflow.cs:70:18:70:18 | M | +| cflow.cs:72:9:73:19 | After if (...) ... | cflow.cs:70:18:70:18 | M | | cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:70:18:70:18 | M | | cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:70:18:70:18 | M | | cflow.cs:72:13:72:21 | ... == ... | cflow.cs:70:18:70:18 | M | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:70:18:70:18 | M | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:70:18:70:18 | M | +| cflow.cs:72:13:72:21 | Before ... == ... | cflow.cs:70:18:70:18 | M | | cflow.cs:72:18:72:21 | null | cflow.cs:70:18:70:18 | M | +| cflow.cs:73:13:73:19 | Before return ...; | cflow.cs:70:18:70:18 | M | | cflow.cs:73:13:73:19 | return ...; | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:70:18:70:18 | M | | cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:70:18:70:18 | M | | cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:20 | After access to property Length | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:20 | Before access to property Length | cflow.cs:70:18:70:18 | M | | cflow.cs:74:13:74:20 | access to property Length | cflow.cs:70:18:70:18 | M | | cflow.cs:74:13:74:24 | ... > ... | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:24 | Before ... > ... | cflow.cs:70:18:70:18 | M | | cflow.cs:74:24:74:24 | 0 | cflow.cs:70:18:70:18 | M | +| cflow.cs:75:9:77:9 | After {...} | cflow.cs:70:18:70:18 | M | | cflow.cs:75:9:77:9 | {...} | cflow.cs:70:18:70:18 | M | +| cflow.cs:76:13:76:32 | After call to method WriteLine | cflow.cs:70:18:70:18 | M | +| cflow.cs:76:13:76:32 | Before call to method WriteLine | cflow.cs:70:18:70:18 | M | | cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:70:18:70:18 | M | | cflow.cs:76:13:76:33 | ...; | cflow.cs:70:18:70:18 | M | +| cflow.cs:76:13:76:33 | After ...; | cflow.cs:70:18:70:18 | M | | cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:70:18:70:18 | M | +| cflow.cs:79:9:81:9 | After {...} | cflow.cs:70:18:70:18 | M | | cflow.cs:79:9:81:9 | {...} | cflow.cs:70:18:70:18 | M | +| cflow.cs:80:13:80:47 | After call to method WriteLine | cflow.cs:70:18:70:18 | M | +| cflow.cs:80:13:80:47 | Before call to method WriteLine | cflow.cs:70:18:70:18 | M | | cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:70:18:70:18 | M | | cflow.cs:80:13:80:48 | ...; | cflow.cs:70:18:70:18 | M | +| cflow.cs:80:13:80:48 | After ...; | cflow.cs:70:18:70:18 | M | | cflow.cs:80:31:80:46 | "" | cflow.cs:70:18:70:18 | M | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:84:18:84:19 | exit M2 | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:84:18:84:19 | Exit | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:84:18:84:19 | Normal Exit | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:85:5:88:5 | After {...} | cflow.cs:84:18:84:19 | M2 | | cflow.cs:85:5:88:5 | {...} | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:13:86:21 | ... != ... | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:21 | Before ... != ... | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:37 | After ... && ... [true] | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:18:86:21 | null | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:33 | After access to property Length | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:33 | Before access to property Length | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:26:86:33 | access to property Length | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:26:86:37 | ... > ... | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:37 | Before ... > ... | cflow.cs:84:18:84:19 | M2 | | cflow.cs:86:37:86:37 | 0 | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:87:13:87:32 | After call to method WriteLine | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:87:13:87:32 | Before call to method WriteLine | cflow.cs:84:18:84:19 | M2 | | cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:84:18:84:19 | M2 | | cflow.cs:87:13:87:33 | ...; | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:87:13:87:33 | After ...; | cflow.cs:84:18:84:19 | M2 | | cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:90:18:90:19 | exit M3 | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:90:18:90:19 | exit M3 (abnormal) | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:90:18:90:19 | Exceptional Exit | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:90:18:90:19 | Exit | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:90:18:90:19 | Normal Exit | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:91:5:104:5 | After {...} | cflow.cs:90:18:90:19 | M3 | | cflow.cs:91:5:104:5 | {...} | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:92:9:93:49 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:92:13:92:27 | Before call to method Equals | cflow.cs:90:18:90:19 | M3 | | cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:90:18:90:19 | M3 | | cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:90:18:90:19 | M3 | | cflow.cs:92:23:92:26 | null | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:93:13:93:49 | Before throw ...; | cflow.cs:90:18:90:19 | M3 | | cflow.cs:93:13:93:49 | throw ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | cflow.cs:90:18:90:19 | M3 | | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:90:18:90:19 | M3 | | cflow.cs:93:45:93:47 | "s" | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:94:9:94:28 | After call to method WriteLine | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:94:9:94:28 | Before call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:94:9:94:29 | ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:94:9:94:29 | After ...; | cflow.cs:90:18:90:19 | M3 | | cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:17 | After access to field Field | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:17 | Before access to field Field | cflow.cs:90:18:90:19 | M3 | | cflow.cs:96:13:96:17 | access to field Field | cflow.cs:90:18:90:19 | M3 | | cflow.cs:96:13:96:17 | this access | cflow.cs:90:18:90:19 | M3 | | cflow.cs:96:13:96:25 | ... != ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:25 | After ... != ... [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:25 | Before ... != ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:96:22:96:25 | null | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:13:97:54 | After call to method WriteLine | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:13:97:54 | Before call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:97:13:97:55 | ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:13:97:55 | After ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:31:97:47 | After object creation of type ControlFlow | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | cflow.cs:90:18:90:19 | M3 | | cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:31:97:53 | After access to field Field | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:97:31:97:53 | Before access to field Field | cflow.cs:90:18:90:19 | M3 | | cflow.cs:97:31:97:53 | access to field Field | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:17 | After access to field Field | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:17 | Before access to field Field | cflow.cs:90:18:90:19 | M3 | | cflow.cs:99:13:99:17 | access to field Field | cflow.cs:90:18:90:19 | M3 | | cflow.cs:99:13:99:17 | this access | cflow.cs:90:18:90:19 | M3 | | cflow.cs:99:13:99:25 | ... != ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:25 | After ... != ... [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:25 | Before ... != ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:99:22:99:25 | null | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:100:13:100:41 | After call to method WriteLine | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:100:13:100:41 | Before call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:100:13:100:42 | ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:100:13:100:42 | After ...; | cflow.cs:90:18:90:19 | M3 | | cflow.cs:100:31:100:34 | this access | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:100:31:100:40 | After access to field Field | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:100:31:100:40 | Before access to field Field | cflow.cs:90:18:90:19 | M3 | | cflow.cs:100:31:100:40 | access to field Field | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:102:13:102:16 | this access | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:21 | After access to property Prop | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:21 | Before access to property Prop | cflow.cs:90:18:90:19 | M3 | | cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:90:18:90:19 | M3 | | cflow.cs:102:13:102:29 | ... != ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:29 | After ... != ... [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:29 | Before ... != ... | cflow.cs:90:18:90:19 | M3 | | cflow.cs:102:26:102:29 | null | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:103:13:103:35 | After call to method WriteLine | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:103:13:103:35 | Before call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:90:18:90:19 | M3 | | cflow.cs:103:13:103:36 | ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:103:13:103:36 | After ...; | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:103:31:103:34 | After access to property Prop | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:103:31:103:34 | Before access to property Prop | cflow.cs:90:18:90:19 | M3 | | cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:90:18:90:19 | M3 | | cflow.cs:103:31:103:34 | this access | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:106:18:106:19 | exit M4 | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:106:18:106:19 | exit M4 (normal) | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:106:18:106:19 | Exit | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:106:18:106:19 | Normal Exit | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:107:5:117:5 | After {...} | cflow.cs:106:18:106:19 | M4 | | cflow.cs:107:5:117:5 | {...} | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:108:9:115:9 | After if (...) ... | cflow.cs:106:18:106:19 | M4 | | cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:106:18:106:19 | M4 | | cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:106:18:106:19 | M4 | | cflow.cs:108:13:108:21 | ... != ... | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:108:13:108:21 | Before ... != ... | cflow.cs:106:18:106:19 | M4 | | cflow.cs:108:18:108:21 | null | cflow.cs:106:18:106:19 | M4 | | cflow.cs:109:9:115:9 | {...} | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:106:18:106:19 | M4 | | cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:110:20:110:23 | After true [true] | cflow.cs:106:18:106:19 | M4 | | cflow.cs:110:20:110:23 | true | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:111:13:113:13 | After {...} | cflow.cs:106:18:106:19 | M4 | | cflow.cs:111:13:113:13 | {...} | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:112:17:112:36 | After call to method WriteLine | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:112:17:112:36 | Before call to method WriteLine | cflow.cs:106:18:106:19 | M4 | | cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:106:18:106:19 | M4 | | cflow.cs:112:17:112:37 | ...; | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:112:17:112:37 | After ...; | cflow.cs:106:18:106:19 | M4 | | cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:116:9:116:28 | After call to method WriteLine | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:116:9:116:28 | Before call to method WriteLine | cflow.cs:106:18:106:19 | M4 | | cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:106:18:106:19 | M4 | | cflow.cs:116:9:116:29 | ...; | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:116:9:116:29 | After ...; | cflow.cs:106:18:106:19 | M4 | | cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:119:20:119:21 | M5 | -| cflow.cs:119:20:119:21 | exit M5 | cflow.cs:119:20:119:21 | M5 | -| cflow.cs:119:20:119:21 | exit M5 (normal) | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:119:20:119:21 | Exit | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:119:20:119:21 | Normal Exit | cflow.cs:119:20:119:21 | M5 | | cflow.cs:120:5:124:5 | {...} | cflow.cs:119:20:119:21 | M5 | | cflow.cs:121:9:121:18 | ... ...; | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:121:9:121:18 | After ... ...; | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:121:13:121:13 | access to local variable x | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:121:13:121:17 | After String x = ... | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:121:13:121:17 | Before String x = ... | cflow.cs:119:20:119:21 | M5 | | cflow.cs:121:13:121:17 | String x = ... | cflow.cs:119:20:119:21 | M5 | | cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:122:9:122:9 | access to local variable x | cflow.cs:119:20:119:21 | M5 | | cflow.cs:122:9:122:19 | ... = ... | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:122:9:122:19 | After ... = ... | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:122:9:122:19 | Before ... = ... | cflow.cs:119:20:119:21 | M5 | | cflow.cs:122:9:122:20 | ...; | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:122:9:122:20 | After ...; | cflow.cs:119:20:119:21 | M5 | | cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:119:20:119:21 | M5 | | cflow.cs:122:13:122:19 | ... + ... | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:122:13:122:19 | After ... + ... | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:122:13:122:19 | Before ... + ... | cflow.cs:119:20:119:21 | M5 | | cflow.cs:122:17:122:19 | " " | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:123:9:123:17 | Before return ...; | cflow.cs:119:20:119:21 | M5 | | cflow.cs:123:9:123:17 | return ...; | cflow.cs:119:20:119:21 | M5 | | cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:119:20:119:21 | M5 | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:19:127:21 | exit get_Prop | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:19:127:21 | exit get_Prop (normal) | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:19:127:21 | Exit | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:19:127:21 | Normal Exit | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:23:127:60 | {...} | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:25:127:58 | Before return ...; | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:36 | After access to field Field | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:36 | Before access to field Field | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:32:127:36 | this access | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:44 | Before ... == ... | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:41:127:44 | null | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:48:127:49 | "" | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:53:127:57 | After access to field Field | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:53:127:57 | Before access to field Field | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:19:127:21 | get_Prop | | cflow.cs:127:53:127:57 | this access | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | set_Prop | -| cflow.cs:127:62:127:64 | exit set_Prop | cflow.cs:127:62:127:64 | set_Prop | -| cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:62:127:64 | Exit | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:62:127:64 | Normal Exit | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:66:127:83 | After {...} | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:68:127:72 | After access to field Field | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:68:127:72 | Before access to field Field | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:72 | this access | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:68:127:80 | After ... = ... | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:68:127:80 | Before ... = ... | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:81 | ...; | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:68:127:81 | After ...; | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:129:5:129:15 | After call to constructor Object | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:129:5:129:15 | After call to method | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:129:5:129:15 | Before call to constructor Object | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:129:5:129:15 | Before call to method | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:129:5:129:15 | Exit | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:129:5:129:15 | Normal Exit | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | ControlFlow | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | ControlFlow | -| cflow.cs:129:5:129:15 | exit ControlFlow | cflow.cs:129:5:129:15 | ControlFlow | -| cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:130:5:132:5 | After {...} | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:130:5:132:5 | {...} | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:131:9:131:13 | After access to field Field | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:131:9:131:13 | Before access to field Field | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:13 | access to field Field | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:13 | this access | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:131:9:131:17 | After ... = ... | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:131:9:131:17 | Before ... = ... | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:18 | ...; | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:131:9:131:18 | After ...; | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:129:5:129:15 | ControlFlow | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:5:134:15 | ControlFlow | -| cflow.cs:134:5:134:15 | exit ControlFlow | cflow.cs:134:5:134:15 | ControlFlow | -| cflow.cs:134:5:134:15 | exit ControlFlow (normal) | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:5:134:15 | Exit | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:5:134:15 | Normal Exit | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:26:134:29 | After call to constructor ControlFlow | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | cflow.cs:134:5:134:15 | ControlFlow | | cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:5:134:15 | ControlFlow | | cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:31:134:31 | After (...) ... | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:31:134:31 | Before (...) ... | cflow.cs:134:5:134:15 | ControlFlow | | cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:5:134:15 | ControlFlow | | cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:31:134:36 | After ... + ... | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:134:31:134:36 | Before ... + ... | cflow.cs:134:5:134:15 | ControlFlow | | cflow.cs:134:35:134:36 | "" | cflow.cs:134:5:134:15 | ControlFlow | | cflow.cs:134:39:134:41 | {...} | cflow.cs:134:5:134:15 | ControlFlow | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:12:136:22 | ControlFlow | -| cflow.cs:136:12:136:22 | exit ControlFlow | cflow.cs:136:12:136:22 | ControlFlow | -| cflow.cs:136:12:136:22 | exit ControlFlow (normal) | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:12:136:22 | Exit | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:12:136:22 | Normal Exit | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:28:136:31 | After call to constructor ControlFlow | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | cflow.cs:136:12:136:22 | ControlFlow | | cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:12:136:22 | ControlFlow | | cflow.cs:136:33:136:33 | 0 | cflow.cs:136:12:136:22 | ControlFlow | | cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:33:136:37 | After ... + ... | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:136:33:136:37 | Before ... + ... | cflow.cs:136:12:136:22 | ControlFlow | | cflow.cs:136:37:136:37 | 1 | cflow.cs:136:12:136:22 | ControlFlow | | cflow.cs:136:40:136:42 | {...} | cflow.cs:136:12:136:22 | ControlFlow | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:138:40:138:40 | + | -| cflow.cs:138:40:138:40 | exit + | cflow.cs:138:40:138:40 | + | -| cflow.cs:138:40:138:40 | exit + (normal) | cflow.cs:138:40:138:40 | + | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:138:40:138:40 | + | +| cflow.cs:138:40:138:40 | Exit | cflow.cs:138:40:138:40 | + | +| cflow.cs:138:40:138:40 | Normal Exit | cflow.cs:138:40:138:40 | + | | cflow.cs:139:5:142:5 | {...} | cflow.cs:138:40:138:40 | + | +| cflow.cs:140:9:140:28 | After call to method WriteLine | cflow.cs:138:40:138:40 | + | +| cflow.cs:140:9:140:28 | Before call to method WriteLine | cflow.cs:138:40:138:40 | + | | cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:138:40:138:40 | + | | cflow.cs:140:9:140:29 | ...; | cflow.cs:138:40:138:40 | + | +| cflow.cs:140:9:140:29 | After ...; | cflow.cs:138:40:138:40 | + | | cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:138:40:138:40 | + | +| cflow.cs:141:9:141:17 | Before return ...; | cflow.cs:138:40:138:40 | + | | cflow.cs:141:9:141:17 | return ...; | cflow.cs:138:40:138:40 | + | | cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:138:40:138:40 | + | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:33:144:35 | get_Item | -| cflow.cs:144:33:144:35 | exit get_Item | cflow.cs:144:33:144:35 | get_Item | -| cflow.cs:144:33:144:35 | exit get_Item (normal) | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:33:144:35 | Exit | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:33:144:35 | Normal Exit | cflow.cs:144:33:144:35 | get_Item | | cflow.cs:144:37:144:54 | {...} | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:39:144:52 | Before return ...; | cflow.cs:144:33:144:35 | get_Item | | cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:33:144:35 | get_Item | | cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:46:144:46 | After (...) ... | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:46:144:46 | Before (...) ... | cflow.cs:144:33:144:35 | get_Item | | cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:33:144:35 | get_Item | | cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:46:144:51 | After ... + ... | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:46:144:51 | Before ... + ... | cflow.cs:144:33:144:35 | get_Item | | cflow.cs:144:50:144:51 | "" | cflow.cs:144:33:144:35 | get_Item | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:56:144:58 | set_Item | -| cflow.cs:144:56:144:58 | exit set_Item | cflow.cs:144:56:144:58 | set_Item | -| cflow.cs:144:56:144:58 | exit set_Item (normal) | cflow.cs:144:56:144:58 | set_Item | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:56:144:58 | set_Item | +| cflow.cs:144:56:144:58 | Exit | cflow.cs:144:56:144:58 | set_Item | +| cflow.cs:144:56:144:58 | Normal Exit | cflow.cs:144:56:144:58 | set_Item | | cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | set_Item | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:146:10:146:12 | For | -| cflow.cs:146:10:146:12 | exit For | cflow.cs:146:10:146:12 | For | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | For | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:146:10:146:12 | For | +| cflow.cs:146:10:146:12 | Exit | cflow.cs:146:10:146:12 | For | +| cflow.cs:146:10:146:12 | Normal Exit | cflow.cs:146:10:146:12 | For | +| cflow.cs:147:5:177:5 | After {...} | cflow.cs:146:10:146:12 | For | | cflow.cs:147:5:177:5 | {...} | cflow.cs:146:10:146:12 | For | | cflow.cs:148:9:148:18 | ... ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:148:9:148:18 | After ... ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:148:13:148:13 | access to local variable x | cflow.cs:146:10:146:12 | For | +| cflow.cs:148:13:148:17 | After Int32 x = ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:148:13:148:17 | Before Int32 x = ... | cflow.cs:146:10:146:12 | For | | cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:146:10:146:12 | For | | cflow.cs:148:17:148:17 | 0 | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:9:150:33 | After for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:149:16:149:21 | ... < ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:146:10:146:12 | For | | cflow.cs:149:20:149:21 | 10 | cflow.cs:146:10:146:12 | For | | cflow.cs:149:24:149:26 | ++... | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:24:149:26 | After ++... | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:24:149:26 | Before ++... | cflow.cs:146:10:146:12 | For | | cflow.cs:149:26:149:26 | access to local variable x | cflow.cs:146:10:146:12 | For | +| cflow.cs:150:13:150:32 | After call to method WriteLine | cflow.cs:146:10:146:12 | For | +| cflow.cs:150:13:150:32 | Before call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:150:13:150:33 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:150:13:150:33 | After ...; | cflow.cs:146:10:146:12 | For | | cflow.cs:150:31:150:31 | access to local variable x | cflow.cs:146:10:146:12 | For | +| cflow.cs:152:9:157:9 | After for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:152:18:152:20 | ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:152:18:152:20 | After ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:152:18:152:20 | Before ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:153:9:157:9 | After {...} | cflow.cs:146:10:146:12 | For | | cflow.cs:153:9:157:9 | {...} | cflow.cs:146:10:146:12 | For | +| cflow.cs:154:13:154:32 | After call to method WriteLine | cflow.cs:146:10:146:12 | For | +| cflow.cs:154:13:154:32 | Before call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:154:13:154:33 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:154:13:154:33 | After ...; | cflow.cs:146:10:146:12 | For | | cflow.cs:154:31:154:31 | access to local variable x | cflow.cs:146:10:146:12 | For | +| cflow.cs:155:13:156:22 | After if (...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:155:17:155:17 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:155:17:155:22 | ... > ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:155:17:155:22 | Before ... > ... | cflow.cs:146:10:146:12 | For | | cflow.cs:155:21:155:22 | 20 | cflow.cs:146:10:146:12 | For | +| cflow.cs:156:17:156:22 | Before break; | cflow.cs:146:10:146:12 | For | | cflow.cs:156:17:156:22 | break; | cflow.cs:146:10:146:12 | For | +| cflow.cs:159:9:165:9 | After for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:159:9:165:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:160:9:165:9 | After {...} | cflow.cs:146:10:146:12 | For | | cflow.cs:160:9:165:9 | {...} | cflow.cs:146:10:146:12 | For | +| cflow.cs:161:13:161:32 | After call to method WriteLine | cflow.cs:146:10:146:12 | For | +| cflow.cs:161:13:161:32 | Before call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:161:13:161:33 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:161:13:161:33 | After ...; | cflow.cs:146:10:146:12 | For | | cflow.cs:161:31:161:31 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:162:13:162:13 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:162:13:162:15 | ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:162:13:162:15 | After ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:162:13:162:15 | Before ...++ | cflow.cs:146:10:146:12 | For | | cflow.cs:162:13:162:16 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:162:13:162:16 | After ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:163:13:164:22 | After if (...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:163:17:163:17 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:163:17:163:22 | ... > ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:163:17:163:22 | Before ... > ... | cflow.cs:146:10:146:12 | For | | cflow.cs:163:21:163:22 | 30 | cflow.cs:146:10:146:12 | For | +| cflow.cs:164:17:164:22 | Before break; | cflow.cs:146:10:146:12 | For | | cflow.cs:164:17:164:22 | break; | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:9:171:9 | After for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:167:16:167:21 | ... < ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:146:10:146:12 | For | | cflow.cs:167:20:167:21 | 40 | cflow.cs:146:10:146:12 | For | +| cflow.cs:168:9:171:9 | After {...} | cflow.cs:146:10:146:12 | For | | cflow.cs:168:9:171:9 | {...} | cflow.cs:146:10:146:12 | For | +| cflow.cs:169:13:169:32 | After call to method WriteLine | cflow.cs:146:10:146:12 | For | +| cflow.cs:169:13:169:32 | Before call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:169:13:169:33 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:169:13:169:33 | After ...; | cflow.cs:146:10:146:12 | For | | cflow.cs:169:31:169:31 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:170:13:170:13 | access to local variable x | cflow.cs:146:10:146:12 | For | | cflow.cs:170:13:170:15 | ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:170:13:170:15 | After ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:170:13:170:15 | Before ...++ | cflow.cs:146:10:146:12 | For | | cflow.cs:170:13:170:16 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:170:13:170:16 | After ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:9:176:9 | After for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:18:173:18 | access to local variable i | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:18:173:22 | After Int32 i = ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:18:173:22 | Before Int32 i = ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:22:173:22 | 0 | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:25:173:25 | access to local variable j | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:25:173:29 | After Int32 j = ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:25:173:29 | Before Int32 j = ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:29:173:29 | 0 | cflow.cs:146:10:146:12 | For | | cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:146:10:146:12 | For | | cflow.cs:173:32:173:36 | ... + ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:36 | After ... + ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:36 | Before ... + ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:32:173:41 | ... < ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:146:10:146:12 | For | | cflow.cs:173:36:173:36 | access to local variable j | cflow.cs:146:10:146:12 | For | | cflow.cs:173:40:173:41 | 10 | cflow.cs:146:10:146:12 | For | | cflow.cs:173:44:173:44 | access to local variable i | cflow.cs:146:10:146:12 | For | | cflow.cs:173:44:173:46 | ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:44:173:46 | After ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:44:173:46 | Before ...++ | cflow.cs:146:10:146:12 | For | | cflow.cs:173:49:173:49 | access to local variable j | cflow.cs:146:10:146:12 | For | | cflow.cs:173:49:173:51 | ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:49:173:51 | After ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:49:173:51 | Before ...++ | cflow.cs:146:10:146:12 | For | +| cflow.cs:174:9:176:9 | After {...} | cflow.cs:146:10:146:12 | For | | cflow.cs:174:9:176:9 | {...} | cflow.cs:146:10:146:12 | For | +| cflow.cs:175:13:175:36 | After call to method WriteLine | cflow.cs:146:10:146:12 | For | +| cflow.cs:175:13:175:36 | Before call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:146:10:146:12 | For | | cflow.cs:175:13:175:37 | ...; | cflow.cs:146:10:146:12 | For | +| cflow.cs:175:13:175:37 | After ...; | cflow.cs:146:10:146:12 | For | | cflow.cs:175:31:175:31 | access to local variable i | cflow.cs:146:10:146:12 | For | | cflow.cs:175:31:175:35 | ... + ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:175:31:175:35 | After ... + ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:175:31:175:35 | Before ... + ... | cflow.cs:146:10:146:12 | For | | cflow.cs:175:35:175:35 | access to local variable j | cflow.cs:146:10:146:12 | For | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:179:10:179:16 | Lambdas | -| cflow.cs:179:10:179:16 | exit Lambdas | cflow.cs:179:10:179:16 | Lambdas | -| cflow.cs:179:10:179:16 | exit Lambdas (normal) | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:179:10:179:16 | Exit | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:179:10:179:16 | Normal Exit | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:180:5:183:5 | After {...} | cflow.cs:179:10:179:16 | Lambdas | | cflow.cs:180:5:183:5 | {...} | cflow.cs:179:10:179:16 | Lambdas | | cflow.cs:181:9:181:38 | ... ...; | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:181:9:181:38 | After ... ...; | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:181:24:181:24 | access to local variable y | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:181:24:181:37 | After Func y = ... | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:181:24:181:37 | Before Func y = ... | cflow.cs:179:10:179:16 | Lambdas | | cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:179:10:179:16 | Lambdas | | cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:179:10:179:16 | Lambdas | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:28:181:37 | (...) => ... | -| cflow.cs:181:28:181:37 | exit (...) => ... | cflow.cs:181:28:181:37 | (...) => ... | -| cflow.cs:181:28:181:37 | exit (...) => ... (normal) | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:28:181:37 | Exit | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:28:181:37 | Normal Exit | cflow.cs:181:28:181:37 | (...) => ... | | cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:28:181:37 | (...) => ... | | cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:33:181:37 | After ... + ... | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:33:181:37 | Before ... + ... | cflow.cs:181:28:181:37 | (...) => ... | | cflow.cs:181:37:181:37 | 1 | cflow.cs:181:28:181:37 | (...) => ... | | cflow.cs:182:9:182:62 | ... ...; | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:182:9:182:62 | After ... ...; | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:182:24:182:24 | access to local variable z | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:182:24:182:61 | After Func z = ... | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:182:24:182:61 | Before Func z = ... | cflow.cs:179:10:179:16 | Lambdas | | cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:28:182:61 | Exit | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:28:182:61 | Normal Exit | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:179:10:179:16 | Lambdas | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:28:182:61 | delegate(...) { ... } | -| cflow.cs:182:28:182:61 | exit delegate(...) { ... } | cflow.cs:182:28:182:61 | delegate(...) { ... } | -| cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:45:182:61 | {...} | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:47:182:59 | Before return ...; | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:54:182:54 | access to parameter x | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:54:182:58 | After ... + ... | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:54:182:58 | Before ... + ... | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:58:182:58 | 1 | cflow.cs:182:28:182:61 | delegate(...) { ... } | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:185:10:185:18 | exit LogicalOr | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:185:10:185:18 | exit LogicalOr (normal) | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:185:10:185:18 | Exit | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:185:10:185:18 | Normal Exit | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:186:5:191:5 | After {...} | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:186:5:191:5 | {...} | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:13:187:13 | 1 | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:13:187:18 | ... == ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:18 | Before ... == ... | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:28 | After ... \|\| ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:50 | After ... \|\| ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:18:187:18 | 2 | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:23:187:23 | 2 | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:23:187:28 | ... == ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:23:187:28 | Before ... == ... | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:28:187:28 | 3 | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:34:187:34 | 1 | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:34:187:39 | ... == ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:39 | Before ... == ... | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:34:187:49 | ... && ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:49 | After ... && ... [true] | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:187:39:187:39 | 3 | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:44 | 3 | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:49 | Before ... == ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:49:187:49 | 1 | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:188:13:188:54 | After call to method WriteLine | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:188:13:188:54 | Before call to method WriteLine | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:188:13:188:54 | call to method WriteLine | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:188:13:188:55 | ...; | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:188:13:188:55 | After ...; | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:188:31:188:53 | "This shouldn't happen" | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:190:13:190:51 | After call to method WriteLine | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:190:13:190:51 | Before call to method WriteLine | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:190:13:190:52 | ...; | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:190:13:190:52 | After ...; | cflow.cs:185:10:185:18 | LogicalOr | | cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:193:10:193:17 | exit Booleans | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:193:10:193:17 | exit Booleans (abnormal) | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:193:10:193:17 | Exceptional Exit | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:193:10:193:17 | Exit | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:193:10:193:17 | Normal Exit | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:194:5:206:5 | After {...} | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:194:5:206:5 | {...} | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:9:195:57 | ... ...; | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:9:195:57 | After ... ...; | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:13:195:13 | access to local variable b | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:13:195:56 | After Boolean b = ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:13:195:56 | Before Boolean b = ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:21 | After access to field Field | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:21 | Before access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:17:195:21 | access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:17:195:21 | this access | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:28 | After access to property Length | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:28 | Before access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:17:195:28 | access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:17:195:32 | ... > ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:32 | After ... > ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:32 | Before ... > ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:17:195:56 | ... && ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:32:195:32 | 0 | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:37:195:56 | !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:37:195:56 | After !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:39:195:43 | After access to field Field | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:39:195:43 | Before access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:39:195:43 | access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:39:195:43 | this access | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:39:195:50 | After access to property Length | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:39:195:50 | Before access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:39:195:50 | access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:39:195:55 | ... == ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:39:195:55 | After ... == ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:39:195:55 | Before ... == ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:195:55:195:55 | 1 | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:13:197:47 | !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:13:197:47 | After !... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:13:197:47 | After !... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:19 | After access to field Field | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:19 | Before access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:15:197:19 | access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:15:197:19 | this access | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:26 | After access to property Length | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:26 | Before access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:15:197:26 | access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:15:197:31 | ... == ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:31 | Before ... == ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:31:197:31 | 0 | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:35:197:39 | After false [false] | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:35:197:39 | false | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:43:197:46 | After true [true] | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:197:43:197:46 | true | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:13:198:13 | access to local variable b | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:13:198:48 | ... = ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:13:198:48 | After ... = ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:13:198:48 | Before ... = ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:13:198:49 | ...; | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:13:198:49 | After ...; | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:21 | After access to field Field | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:21 | Before access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:17:198:21 | access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:17:198:21 | this access | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:28 | After access to property Length | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:28 | Before access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:17:198:28 | access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:17:198:33 | ... == ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:33 | Before ... == ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:33:198:33 | 0 | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:37:198:41 | false | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:198:45:198:48 | true | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:9:205:9 | After if (...) ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:32 | !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:32 | After !... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:32 | After !... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:62 | After ... \|\| ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:19 | After access to field Field | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:19 | Before access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:15:200:19 | access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:15:200:19 | this access | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:26 | After access to property Length | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:26 | Before access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:15:200:26 | access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:15:200:31 | ... == ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:31 | Before ... == ... | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:31:200:31 | 0 | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:37:200:62 | !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:37:200:62 | After !... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:37:200:62 | After !... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:38:200:62 | !... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:38:200:62 | After !... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:38:200:62 | After !... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:44 | After access to field Field | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:44 | Before access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:40:200:44 | access to field Field | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:40:200:44 | this access | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:51 | After access to property Length | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:51 | Before access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:40:200:51 | access to property Length | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:40:200:56 | ... == ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:56 | Before ... == ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:61 | After ... && ... [true] | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:56:200:56 | 1 | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:201:9:205:9 | {...} | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:202:13:204:13 | {...} | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:203:17:203:38 | Before throw ...; | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:203:17:203:38 | throw ...; | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:203:23:203:37 | After object creation of type Exception | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:203:23:203:37 | Before object creation of type Exception | cflow.cs:193:10:193:17 | Booleans | | cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:208:10:208:11 | Do | -| cflow.cs:208:10:208:11 | exit Do | cflow.cs:208:10:208:11 | Do | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | Do | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:208:10:208:11 | Do | +| cflow.cs:208:10:208:11 | Exit | cflow.cs:208:10:208:11 | Do | +| cflow.cs:208:10:208:11 | Normal Exit | cflow.cs:208:10:208:11 | Do | +| cflow.cs:209:5:222:5 | After {...} | cflow.cs:208:10:208:11 | Do | | cflow.cs:209:5:222:5 | {...} | cflow.cs:208:10:208:11 | Do | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:208:10:208:11 | Do | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:208:10:208:11 | Do | | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:208:10:208:11 | Do | +| cflow.cs:211:9:221:9 | After {...} | cflow.cs:208:10:208:11 | Do | | cflow.cs:211:9:221:9 | {...} | cflow.cs:208:10:208:11 | Do | +| cflow.cs:212:13:212:17 | After access to field Field | cflow.cs:208:10:208:11 | Do | +| cflow.cs:212:13:212:17 | Before access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:17 | access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:17 | this access | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:24 | ... += ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:212:13:212:24 | After ... += ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:212:13:212:24 | Before ... += ... | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:25 | ...; | cflow.cs:208:10:208:11 | Do | +| cflow.cs:212:13:212:25 | After ...; | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:22:212:24 | "a" | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:13:216:13 | After if (...) ... | cflow.cs:208:10:208:11 | Do | | cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:21 | After access to field Field | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:21 | Before access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:213:17:213:21 | access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:213:17:213:21 | this access | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:28 | After access to property Length | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:28 | Before access to property Length | cflow.cs:208:10:208:11 | Do | | cflow.cs:213:17:213:28 | access to property Length | cflow.cs:208:10:208:11 | Do | | cflow.cs:213:17:213:32 | ... > ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:32 | Before ... > ... | cflow.cs:208:10:208:11 | Do | | cflow.cs:213:32:213:32 | 0 | cflow.cs:208:10:208:11 | Do | | cflow.cs:214:13:216:13 | {...} | cflow.cs:208:10:208:11 | Do | +| cflow.cs:215:17:215:25 | Before continue; | cflow.cs:208:10:208:11 | Do | | cflow.cs:215:17:215:25 | continue; | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:13:220:13 | After if (...) ... | cflow.cs:208:10:208:11 | Do | | cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:21 | After access to field Field | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:21 | Before access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:217:17:217:21 | access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:217:17:217:21 | this access | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:28 | After access to property Length | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:28 | Before access to property Length | cflow.cs:208:10:208:11 | Do | | cflow.cs:217:17:217:28 | access to property Length | cflow.cs:208:10:208:11 | Do | | cflow.cs:217:17:217:32 | ... < ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:32 | Before ... < ... | cflow.cs:208:10:208:11 | Do | | cflow.cs:217:32:217:32 | 0 | cflow.cs:208:10:208:11 | Do | | cflow.cs:218:13:220:13 | {...} | cflow.cs:208:10:208:11 | Do | +| cflow.cs:219:17:219:22 | Before break; | cflow.cs:208:10:208:11 | Do | | cflow.cs:219:17:219:22 | break; | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:22 | After access to field Field | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:22 | Before access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:221:18:221:22 | access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:221:18:221:22 | this access | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:29 | After access to property Length | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:29 | Before access to property Length | cflow.cs:208:10:208:11 | Do | | cflow.cs:221:18:221:29 | access to property Length | cflow.cs:208:10:208:11 | Do | | cflow.cs:221:18:221:34 | ... < ... | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:34 | After ... < ... [false] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:34 | After ... < ... [true] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:34 | Before ... < ... | cflow.cs:208:10:208:11 | Do | | cflow.cs:221:33:221:34 | 10 | cflow.cs:208:10:208:11 | Do | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:224:10:224:16 | exit Foreach | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:224:10:224:16 | Exit | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:224:10:224:16 | Normal Exit | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:225:5:238:5 | After {...} | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:225:5:238:5 | {...} | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:226:22:226:22 | String x | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:27:226:64 | After call to method Repeat [empty] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:27:226:64 | Before call to method Repeat | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:226:57:226:59 | "a" | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:226:62:226:63 | 10 | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:227:9:237:9 | After {...} | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:227:9:237:9 | {...} | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:228:13:228:17 | After access to field Field | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:228:13:228:17 | Before access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:17 | access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:17 | this access | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:22 | ... += ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:228:13:228:22 | After ... += ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:228:13:228:22 | Before ... += ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:23 | ...; | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:228:13:228:23 | After ...; | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:13:232:13 | After if (...) ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:21 | After access to field Field | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:21 | Before access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:229:17:229:21 | access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:229:17:229:21 | this access | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:28 | After access to property Length | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:28 | Before access to property Length | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:229:17:229:28 | access to property Length | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:229:17:229:32 | ... > ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:32 | Before ... > ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:229:32:229:32 | 0 | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:230:13:232:13 | {...} | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:231:17:231:25 | Before continue; | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:231:17:231:25 | continue; | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:13:236:13 | After if (...) ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:21 | After access to field Field | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:21 | Before access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:233:17:233:21 | access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:233:17:233:21 | this access | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:28 | After access to property Length | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:28 | Before access to property Length | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:233:17:233:28 | access to property Length | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:233:17:233:32 | ... < ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:32 | Before ... < ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:233:32:233:32 | 0 | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:234:13:236:13 | {...} | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:235:17:235:22 | Before break; | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:235:17:235:22 | break; | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:240:10:240:13 | exit Goto | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:240:10:240:13 | Exit | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:240:10:240:13 | Normal Exit | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:241:5:259:5 | After {...} | cflow.cs:240:10:240:13 | Goto | | cflow.cs:241:5:259:5 | {...} | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:5:242:9 | Label: | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:16:242:36 | !... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:16:242:36 | After !... [false] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:16:242:36 | After !... [true] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:17:242:36 | !... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:17:242:36 | After !... [false] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:17:242:36 | After !... [true] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:23 | After access to field Field | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:23 | Before access to field Field | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:19:242:23 | access to field Field | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:19:242:23 | this access | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:30 | After access to property Length | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:30 | Before access to property Length | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:19:242:30 | access to property Length | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:19:242:35 | ... == ... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:35 | Before ... == ... | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:35:242:35 | 0 | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:39:242:41 | {...} | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:9:244:41 | After if (...) ... | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:17 | After access to field Field | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:17 | Before access to field Field | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:13:244:17 | access to field Field | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:13:244:17 | this access | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:24 | After access to property Length | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:24 | Before access to property Length | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:13:244:24 | access to property Length | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:13:244:28 | ... > ... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:28 | Before ... > ... | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:28:244:28 | 0 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:31:244:41 | Before goto ...; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:244:31:244:41 | goto ...; | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:240:10:240:13 | Goto | | cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:17:246:21 | After access to field Field | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:17:246:21 | Before access to field Field | cflow.cs:240:10:240:13 | Goto | | cflow.cs:246:17:246:21 | access to field Field | cflow.cs:240:10:240:13 | Goto | | cflow.cs:246:17:246:21 | this access | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:17:246:28 | After access to property Length | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:17:246:28 | Before access to property Length | cflow.cs:240:10:240:13 | Goto | | cflow.cs:246:17:246:28 | access to property Length | cflow.cs:240:10:240:13 | Goto | | cflow.cs:246:17:246:32 | ... + ... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:17:246:32 | After ... + ... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:17:246:32 | Before ... + ... | cflow.cs:240:10:240:13 | Goto | | cflow.cs:246:32:246:32 | 3 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:240:10:240:13 | Goto | | cflow.cs:248:13:248:19 | case ...: | cflow.cs:240:10:240:13 | Goto | | cflow.cs:248:18:248:18 | 0 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:249:17:249:29 | Before goto default; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:249:17:249:29 | goto default; | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:240:10:240:13 | Goto | | cflow.cs:250:13:250:19 | case ...: | cflow.cs:240:10:240:13 | Goto | | cflow.cs:250:18:250:18 | 1 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:251:17:251:36 | After call to method WriteLine | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:251:17:251:36 | Before call to method WriteLine | cflow.cs:240:10:240:13 | Goto | | cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:240:10:240:13 | Goto | | cflow.cs:251:17:251:37 | ...; | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:251:17:251:37 | After ...; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:251:35:251:35 | 1 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:252:17:252:22 | Before break; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:252:17:252:22 | break; | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:240:10:240:13 | Goto | | cflow.cs:253:13:253:19 | case ...: | cflow.cs:240:10:240:13 | Goto | | cflow.cs:253:18:253:18 | 2 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:254:17:254:27 | Before goto ...; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:254:17:254:27 | goto ...; | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:240:10:240:13 | Goto | | cflow.cs:255:13:255:20 | default: | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:256:17:256:36 | After call to method WriteLine | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:256:17:256:36 | Before call to method WriteLine | cflow.cs:240:10:240:13 | Goto | | cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:240:10:240:13 | Goto | | cflow.cs:256:17:256:37 | ...; | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:256:17:256:37 | After ...; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:256:35:256:35 | 0 | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:257:17:257:22 | Before break; | cflow.cs:240:10:240:13 | Goto | | cflow.cs:257:17:257:22 | break; | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:261:49:261:53 | exit Yield | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:261:49:261:53 | exit Yield (abnormal) | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Exceptional Exit | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Exit | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:262:5:277:5 | After {...} | cflow.cs:261:49:261:53 | Yield | | cflow.cs:262:5:277:5 | {...} | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:263:9:263:23 | After yield return ...; | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:263:9:263:23 | Before yield return ...; | cflow.cs:261:49:261:53 | Yield | | cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:261:49:261:53 | Yield | | cflow.cs:263:22:263:22 | 0 | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:9:267:9 | After for (...;...;...) ... | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:18:264:18 | access to local variable i | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:18:264:22 | After Int32 i = ... | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:18:264:22 | Before Int32 i = ... | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:22:264:22 | 1 | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:25:264:30 | ... < ... | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:29:264:30 | 10 | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:33:264:33 | access to local variable i | cflow.cs:261:49:261:53 | Yield | | cflow.cs:264:33:264:35 | ...++ | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:33:264:35 | After ...++ | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:33:264:35 | Before ...++ | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:265:9:267:9 | After {...} | cflow.cs:261:49:261:53 | Yield | | cflow.cs:265:9:267:9 | {...} | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:266:13:266:27 | After yield return ...; | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:266:13:266:27 | Before yield return ...; | cflow.cs:261:49:261:53 | Yield | | cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:261:49:261:53 | Yield | | cflow.cs:266:26:266:26 | access to local variable i | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:261:49:261:53 | Yield | | cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:261:49:261:53 | Yield | | cflow.cs:269:9:272:9 | {...} | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:270:13:270:24 | Before yield break; | cflow.cs:261:49:261:53 | Yield | | cflow.cs:270:13:270:24 | yield break; | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:261:49:261:53 | Yield | | cflow.cs:274:9:276:9 | {...} | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:275:13:275:41 | After call to method WriteLine | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:275:13:275:41 | Before call to method WriteLine | cflow.cs:261:49:261:53 | Yield | | cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:261:49:261:53 | Yield | | cflow.cs:275:13:275:42 | ...; | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:275:13:275:42 | After ...; | cflow.cs:261:49:261:53 | Yield | | cflow.cs:275:31:275:40 | "not dead" | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:282:5:282:18 | After call to method | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:282:5:282:18 | Before call to method | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:282:5:282:18 | Exit | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:282:5:282:18 | Normal Exit | cflow.cs:282:5:282:18 | ControlFlowSub | | cflow.cs:282:5:282:18 | call to method | cflow.cs:282:5:282:18 | ControlFlowSub | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | ControlFlowSub | -| cflow.cs:282:5:282:18 | exit ControlFlowSub | cflow.cs:282:5:282:18 | ControlFlowSub | -| cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | cflow.cs:282:5:282:18 | ControlFlowSub | | cflow.cs:282:5:282:18 | this access | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:282:24:282:27 | After call to constructor ControlFlow | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | cflow.cs:282:5:282:18 | ControlFlowSub | | cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:5:282:18 | ControlFlowSub | | cflow.cs:282:31:282:33 | {...} | cflow.cs:282:5:282:18 | ControlFlowSub | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:5:284:18 | ControlFlowSub | -| cflow.cs:284:5:284:18 | exit ControlFlowSub | cflow.cs:284:5:284:18 | ControlFlowSub | -| cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | cflow.cs:284:5:284:18 | ControlFlowSub | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:5:284:18 | ControlFlowSub | +| cflow.cs:284:5:284:18 | Exit | cflow.cs:284:5:284:18 | ControlFlowSub | +| cflow.cs:284:5:284:18 | Normal Exit | cflow.cs:284:5:284:18 | ControlFlowSub | +| cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | cflow.cs:284:5:284:18 | ControlFlowSub | +| cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | cflow.cs:284:5:284:18 | ControlFlowSub | | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:5:284:18 | ControlFlowSub | | cflow.cs:284:39:284:41 | {...} | cflow.cs:284:5:284:18 | ControlFlowSub | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:5:286:18 | ControlFlowSub | -| cflow.cs:286:5:286:18 | exit ControlFlowSub | cflow.cs:286:5:286:18 | ControlFlowSub | -| cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:5:286:18 | Exit | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:5:286:18 | Normal Exit | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | cflow.cs:286:5:286:18 | ControlFlowSub | | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:5:286:18 | ControlFlowSub | | cflow.cs:286:34:286:34 | access to parameter i | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:34:286:45 | After call to method ToString | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:286:34:286:45 | Before call to method ToString | cflow.cs:286:5:286:18 | ControlFlowSub | | cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:5:286:18 | ControlFlowSub | | cflow.cs:286:48:286:50 | {...} | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:289:7:289:18 | After call to constructor Object | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:289:7:289:18 | After call to method | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:289:7:289:18 | Before call to constructor Object | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:289:7:289:18 | Before call to method | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:289:7:289:18 | Exit | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:289:7:289:18 | Normal Exit | cflow.cs:289:7:289:18 | DelegateCall | | cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | DelegateCall | | cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | DelegateCall | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | DelegateCall | -| cflow.cs:289:7:289:18 | exit DelegateCall | cflow.cs:289:7:289:18 | DelegateCall | -| cflow.cs:289:7:289:18 | exit DelegateCall (normal) | cflow.cs:289:7:289:18 | DelegateCall | | cflow.cs:289:7:289:18 | this access | cflow.cs:289:7:289:18 | DelegateCall | | cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | DelegateCall | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:12:291:12 | M | -| cflow.cs:291:12:291:12 | exit M | cflow.cs:291:12:291:12 | M | -| cflow.cs:291:12:291:12 | exit M (normal) | cflow.cs:291:12:291:12 | M | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:12:291:12 | M | +| cflow.cs:291:12:291:12 | Exit | cflow.cs:291:12:291:12 | M | +| cflow.cs:291:12:291:12 | Normal Exit | cflow.cs:291:12:291:12 | M | | cflow.cs:291:38:291:38 | access to parameter f | cflow.cs:291:12:291:12 | M | +| cflow.cs:291:38:291:41 | After delegate call | cflow.cs:291:12:291:12 | M | +| cflow.cs:291:38:291:41 | Before delegate call | cflow.cs:291:12:291:12 | M | | cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:12:291:12 | M | | cflow.cs:291:40:291:40 | 0 | cflow.cs:291:12:291:12 | M | +| cflow.cs:296:5:296:25 | After call to constructor Object | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:296:5:296:25 | After call to method | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:296:5:296:25 | Before call to constructor Object | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:296:5:296:25 | Before call to method | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:296:5:296:25 | Exit | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:296:5:296:25 | Normal Exit | cflow.cs:296:5:296:25 | NegationInConstructor | | cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:5:296:25 | NegationInConstructor | | cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | NegationInConstructor | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | NegationInConstructor | -| cflow.cs:296:5:296:25 | exit NegationInConstructor | cflow.cs:296:5:296:25 | NegationInConstructor | -| cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | cflow.cs:296:5:296:25 | NegationInConstructor | | cflow.cs:296:5:296:25 | this access | cflow.cs:296:5:296:25 | NegationInConstructor | | cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | NegationInConstructor | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:298:10:298:10 | M | -| cflow.cs:298:10:298:10 | exit M | cflow.cs:298:10:298:10 | M | -| cflow.cs:298:10:298:10 | exit M (normal) | cflow.cs:298:10:298:10 | M | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:298:10:298:10 | M | +| cflow.cs:298:10:298:10 | Exit | cflow.cs:298:10:298:10 | M | +| cflow.cs:298:10:298:10 | Normal Exit | cflow.cs:298:10:298:10 | M | +| cflow.cs:299:5:301:5 | After {...} | cflow.cs:298:10:298:10 | M | | cflow.cs:299:5:301:5 | {...} | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | cflow.cs:298:10:298:10 | M | | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:298:10:298:10 | M | | cflow.cs:300:9:300:73 | ...; | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:9:300:73 | After ...; | cflow.cs:298:10:298:10 | M | | cflow.cs:300:38:300:38 | 0 | cflow.cs:298:10:298:10 | M | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:298:10:298:10 | M | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:44:300:51 | !... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:44:300:51 | After !... [false] | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:44:300:51 | After !... [true] | cflow.cs:298:10:298:10 | M | | cflow.cs:300:44:300:64 | ... && ... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:298:10:298:10 | M | | cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:298:10:298:10 | M | | cflow.cs:300:46:300:50 | ... > ... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:46:300:50 | Before ... > ... | cflow.cs:298:10:298:10 | M | | cflow.cs:300:50:300:50 | 0 | cflow.cs:298:10:298:10 | M | | cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:298:10:298:10 | M | | cflow.cs:300:56:300:64 | ... != ... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:56:300:64 | After ... != ... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:56:300:64 | Before ... != ... | cflow.cs:298:10:298:10 | M | | cflow.cs:300:61:300:64 | null | cflow.cs:298:10:298:10 | M | | cflow.cs:300:70:300:71 | "" | cflow.cs:298:10:298:10 | M | +| cflow.cs:304:7:304:18 | After call to constructor Object | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:304:7:304:18 | After call to method | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:304:7:304:18 | Before call to constructor Object | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:304:7:304:18 | Before call to method | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:304:7:304:18 | Exit | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:304:7:304:18 | Normal Exit | cflow.cs:304:7:304:18 | LambdaGetter | | cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | LambdaGetter | | cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | LambdaGetter | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | LambdaGetter | -| cflow.cs:304:7:304:18 | exit LambdaGetter | cflow.cs:304:7:304:18 | LambdaGetter | -| cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | cflow.cs:304:7:304:18 | LambdaGetter | | cflow.cs:304:7:304:18 | this access | cflow.cs:304:7:304:18 | LambdaGetter | | cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | LambdaGetter | | cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | get__getter | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:306:60:310:5 | (...) => ... | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | get__getter | -| cflow.cs:306:60:310:5 | exit (...) => ... | cflow.cs:306:60:310:5 | (...) => ... | -| cflow.cs:306:60:310:5 | exit (...) => ... (normal) | cflow.cs:306:60:310:5 | (...) => ... | -| cflow.cs:306:60:310:5 | exit get__getter | cflow.cs:306:60:310:5 | get__getter | -| cflow.cs:306:60:310:5 | exit get__getter (normal) | cflow.cs:306:60:310:5 | get__getter | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | get__getter | +| cflow.cs:306:60:310:5 | Exit | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:306:60:310:5 | Exit | cflow.cs:306:60:310:5 | get__getter | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | get__getter | | cflow.cs:307:5:310:5 | {...} | cflow.cs:306:60:310:5 | (...) => ... | | cflow.cs:308:9:308:21 | ... ...; | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:308:9:308:21 | After ... ...; | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:308:16:308:16 | access to local variable x | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:308:16:308:20 | After Object x = ... | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:308:16:308:20 | Before Object x = ... | cflow.cs:306:60:310:5 | (...) => ... | | cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:306:60:310:5 | (...) => ... | | cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:309:9:309:17 | Before return ...; | cflow.cs:306:60:310:5 | (...) => ... | | cflow.cs:309:9:309:17 | return ...; | cflow.cs:306:60:310:5 | (...) => ... | | cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:306:60:310:5 | (...) => ... | blockEnclosing -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | AccessorCalls | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:23:5:25 | get_Item | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:33:5:35 | set_Item | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:32:7:34 | add_Event | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:40:7:45 | remove_Event | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | M1 | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | M2 | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:28:10:28:11 | M3 | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:35:10:35:11 | M4 | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | M5 | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | M6 | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | M7 | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | M8 | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:66:10:66:11 | M9 | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | ArrayCreation | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:11:3:12 | M1 | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:12:5:13 | M2 | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:11:7:12 | M3 | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:12:9:13 | M4 | -| 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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 | (...) => ... | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | + | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | SetParamSingle | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | SetParamMulti | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | M2 | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | BreakInTry | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | M1 | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | AccessorCalls | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:23:5:25 | get_Item | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:33:5:35 | set_Item | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:32:7:34 | add_Event | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:40:7:45 | remove_Event | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:28:10:28:11 | M3 | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:35:10:35:11 | M4 | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:66:10:66:11 | M9 | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | ArrayCreation | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:11:3:12 | M1 | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:12:5:13 | M2 | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:11:7:12 | M3 | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:12:9:13 | M4 | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | AssertTests | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:7:10:7:11 | Exceptional Exit | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:7:10:7:11 | Exit | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:7:10:7:11 | M1 | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:14:10:14:11 | Exceptional Exit | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:14:10:14:11 | Exit | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:14:10:14:11 | M2 | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:21:10:21:11 | Exceptional Exit | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:21:10:21:11 | Exit | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:21:10:21:11 | M3 | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:28:10:28:11 | Exceptional Exit | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:28:10:28:11 | Exit | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:28:10:28:11 | M4 | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:35:10:35:11 | Exceptional Exit | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:35:10:35:11 | Exit | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:35:10:35:11 | M5 | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:42:10:42:11 | Exceptional Exit | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:42:10:42:11 | Exit | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:42:10:42:11 | M6 | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:49:10:49:11 | Exceptional Exit | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:49:10:49:11 | Exit | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:49:10:49:11 | M7 | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:56:10:56:11 | Exceptional Exit | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:56:10:56:11 | Exit | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:23:59:31 | After ... != ... [false] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:59:23:59:36 | After ... && ... | Assert.cs:56:10:56:11 | M8 | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:63:10:63:11 | Exceptional Exit | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:63:10:63:11 | Exit | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:24:66:32 | After ... == ... [false] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:24:66:32 | After ... == ... [true] | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:66:24:66:37 | After ... \|\| ... | Assert.cs:63:10:63:11 | M9 | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:70:10:70:12 | Exceptional Exit | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:70:10:70:12 | Exit | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:23:73:31 | After ... == ... [false] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:73:23:73:36 | After ... && ... | Assert.cs:70:10:70:12 | M10 | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:77:10:77:12 | Exceptional Exit | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:77:10:77:12 | Exit | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:24:80:32 | After ... != ... [false] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:24:80:32 | After ... != ... [true] | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:80:24:80:37 | After ... \|\| ... | Assert.cs:77:10:77:12 | M11 | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:84:10:84:12 | Exceptional Exit | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:84:10:84:12 | Exit | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:23:115:31 | After ... != ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:115:23:115:36 | After ... && ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:24:119:32 | After ... == ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:24:119:32 | After ... == ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:119:24:119:38 | After ... \|\| ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:23:123:31 | After ... == ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:123:23:123:36 | After ... && ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:24:127:32 | After ... != ... [false] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:24:127:32 | After ... != ... [true] | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:127:24:127:38 | After ... \|\| ... | Assert.cs:84:10:84:12 | M12 | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:131:18:131:32 | AssertTrueFalse | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:138:10:138:12 | Exceptional Exit | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:138:10:138:12 | Exit | Assert.cs:138:10:138:12 | M13 | +| Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | Assert.cs:138:10:138:12 | M13 | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Assignments | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:3:10:3:10 | M | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:18:14:35 | (...) => ... | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:38:10:38:11 | M2 | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | BreakInTry | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:3:10:3:11 | M1 | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:17:15:28 | After ... == ... [false] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:3:10:3:11 | M1 | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:20:10:20:11 | M2 | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | M2 | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:31:21:31:32 | After ... == ... [false] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:20:10:20:11 | M2 | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | M3 | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:38:10:38:11 | M3 | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:56:10:56:11 | M4 | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | M4 | -| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:38:10:38:11 | M3 | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:56:10:56:11 | M4 | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | M4 | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:56:10:56:11 | M4 | -| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:56:10:56:11 | M4 | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:5:9:5:15 | Default | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:10:9:10:14 | Sizeof | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:15:10:15:15 | Typeof | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:20:12:20:17 | Nameof | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:28:10:28:10 | M | -| CompileTimeOperators.cs:28:10:28:10 | exit M | CompileTimeOperators.cs:28:10:28:10 | M | -| CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | CompileTimeOperators.cs:28:10:28:10 | M | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:28:10:28:10 | M | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:56:10:56:11 | M4 | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:56:10:56:11 | M4 | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:5:9:5:15 | Default | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:10:9:10:14 | Sizeof | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:15:10:15:15 | Typeof | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:20:12:20:17 | Nameof | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:28:10:28:10 | Exit | CompileTimeOperators.cs:28:10:28:10 | M | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:28:10:28:10 | M | | CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:28:10:28:10 | M | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:12:3:13 | M1 | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:10:5:11 | M2 | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | M2 | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:10:5:11 | M2 | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:10:7:11 | M3 | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:9:9:10 | M4 | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:11:9:11:10 | M5 | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:12:19:13 | M6 | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | M6 | -| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:12:19:13 | M6 | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:21:10:21:11 | M7 | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:10:30:12 | Out | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | get_Item | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | set_Item | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:46:10:46:11 | M9 | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | Conditions | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:3:10:3:19 | IncrOrDecr | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:11:9:11:10 | M1 | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:22:9:22:10 | M2 | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:33:9:33:10 | M3 | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:46:9:46:10 | M4 | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:57:9:57:10 | M5 | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | M6 | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:12:3:13 | M1 | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:10:5:11 | M2 | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:10:7:11 | M3 | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:9:9:10 | M4 | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:11:9:11:10 | M5 | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | M6 | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:14 | After "" [null] | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:21:10:21:11 | M7 | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:10:30:12 | Out | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Conditions | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:5:13:5:15 | After access to parameter inc [false] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:3:10:3:19 | IncrOrDecr | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:14:13:14:13 | After access to parameter b [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:13:16:17 | After ... > ... [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:11:9:11:10 | M1 | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:22:9:22:10 | M2 | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:33:9:33:10 | M3 | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:51:17:51:17 | After access to parameter b [false] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:46:9:46:10 | M4 | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:62:17:62:17 | After access to parameter b [false] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:65:13:65:13 | After access to parameter b [false] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:57:9:57:10 | M5 | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:70:9:70:10 | M6 | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:70:9:70:10 | M6 | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:76:17:76:17 | After access to local variable b [false] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:17:78:21 | After ... > ... [false] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:81:13:81:13 | After access to local variable b [false] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:70:9:70:10 | M6 | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:86:9:86:10 | M7 | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:86:9:86:10 | M7 | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:102:12:102:13 | M8 | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:113:10:113:11 | M9 | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:129:10:129:12 | M10 | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:129:10:129:12 | M10 | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:129:10:129:12 | M10 | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:129:10:129:12 | M10 | -| Conditions.cs:136:17:138:17 | {...} | Conditions.cs:129:10:129:12 | M10 | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:143:10:143:12 | M11 | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:143:10:143:12 | M11 | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | ExitMethods | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:8:10:8:11 | M1 | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:14:10:14:11 | M2 | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:20:10:20:11 | M3 | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:26:10:26:11 | M4 | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:32:10:32:11 | M5 | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:38:10:38:11 | M6 | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:54:10:54:11 | M7 | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:60:10:60:11 | M8 | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:66:17:66:26 | ErrorMaybe | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:72:17:72:27 | ErrorAlways | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:87:10:87:13 | Exit | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:92:10:92:18 | ExitInTry | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:105:10:105:24 | ApplicationExit | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:110:13:110:21 | ThrowExpr | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | -| 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: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: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: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 | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:5:23:5:29 | ToInt32 | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:10:24:10:29 | ToBool | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:23:15:33 | CallToInt32 | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:20:17:20:20 | Main | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | Finally | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:7:10:7:11 | exit M1 | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:7:10:7:11 | exit M1 (abnormal) | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | M1 | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:19:10:19:11 | exit M2 | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:19:10:19:11 | exit M2 (abnormal) | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:24:13:24:19 | return ...; | Finally.cs:19:10:19:11 | M2 | +| Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:92:17:92:17 | After access to local variable b [false] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:17:94:21 | After ... > ... [false] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:96:17:96:17 | After access to local variable b [false] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:86:9:86:10 | M7 | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:105:13:105:13 | After access to parameter b [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:24 | After ... > ... [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:102:12:102:13 | M8 | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:121:17:121:20 | After access to local variable last [false] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:113:10:113:11 | M9 | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [false] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [false] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:129:10:129:12 | M10 | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:143:10:143:12 | M11 | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:143:10:143:12 | M11 | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | ExitMethods | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:8:10:8:11 | M1 | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:14:10:14:11 | M2 | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:20:10:20:11 | M3 | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:26:10:26:11 | M4 | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:32:10:32:11 | M5 | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:38:10:38:11 | Exit | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | M6 | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:54:10:54:11 | M7 | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:60:10:60:11 | M8 | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:66:17:66:26 | Exit | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:66:17:66:26 | ErrorMaybe | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:72:17:72:27 | ErrorAlways | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:17:85:28 | ErrorAlways3 | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:87:10:87:13 | Exit | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:92:10:92:18 | Exceptional Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:92:10:92:18 | Exit | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:92:10:92:18 | ExitInTry | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:105:10:105:24 | ApplicationExit | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:110:13:110:21 | Exit | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:110:13:110:21 | ThrowExpr | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | +| ExitMethods.cs:120:17:120:32 | Entry | ExitMethods.cs:120:17:120:32 | FailingAssertion | +| ExitMethods.cs:126:17:126:33 | Entry | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:10:132:20 | Exceptional Exit | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:10:132:20 | Exit | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:10:132:20 | AssertFalse | +| ExitMethods.cs:134:17:134:33 | Entry | ExitMethods.cs:134:17:134:33 | FailingAssertion3 | +| ExitMethods.cs:140:17:140:42 | Entry | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:5:23:5:29 | ToInt32 | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:10:24:10:29 | ToBool | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:23:15:33 | CallToInt32 | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:20:17:20:20 | Main | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Finally | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:7:10:7:11 | Exceptional Exit | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:7:10:7:11 | Exit | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:14:9:16:9 | {...} | Finally.cs:7:10:7:11 | M1 | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Exceptional Exit | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Exit | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:42:9:43:9 | {...} | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:19:10:19:11 | M2 | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:19:10:19:11 | M2 | | Finally.cs:49:9:51:9 | {...} | Finally.cs:19:10:19:11 | M2 | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:54:10:54:11 | exit M3 | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:54:10:54:11 | exit M3 (abnormal) | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:59:13:59:19 | return ...; | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Exceptional Exit | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Exit | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:54:10:54:11 | M3 | | Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:66:9:67:9 | {...} | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:51 | After ... != ... [false] | Finally.cs:54:10:54:11 | M3 | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:54:10:54:11 | M3 | | Finally.cs:69:9:71:9 | {...} | Finally.cs:54:10:54:11 | M3 | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:74:10:74:11 | exit M4 | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:74:10:74:11 | exit M4 (abnormal) | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:82:21:82:27 | return ...; | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:84:21:84:29 | continue; | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:86:21:86:26 | break; | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Exceptional Exit | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Exit | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:16:77:20 | After ... > ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | | Finally.cs:89:13:99:13 | {...} | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:74:10:74:11 | M4 | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:74:10:74:11 | M4 | | Finally.cs:96:17:98:17 | {...} | Finally.cs:74:10:74:11 | M4 | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:103:10:103:11 | exit M5 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:103:10:103:11 | exit M5 (abnormal) | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:108:17:108:23 | return ...; | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Exceptional Exit | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Exit | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:103:10:103:11 | M5 | | Finally.cs:113:9:118:9 | {...} | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:103:10:103:11 | M5 | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:121:10:121:11 | M6 | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:133:10:133:11 | M7 | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:147:10:147:11 | exit M8 | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:147:10:147:11 | exit M8 (abnormal) | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:32 | After ... > ... [false] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:103:10:103:11 | M5 | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:121:10:121:11 | M6 | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:140:9:143:9 | {...} | Finally.cs:133:10:133:11 | M7 | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:147:10:147:11 | Exceptional Exit | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:147:10:147:11 | Exit | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:147:10:147:11 | M8 | | Finally.cs:155:9:169:9 | {...} | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:159:41:159:43 | "1" | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:147:10:147:11 | M8 | | Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:162:13:164:13 | {...} | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:147:10:147:11 | M8 | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | ExceptionA | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | ExceptionB | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | ExceptionC | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:176:10:176:11 | exit M9 | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:176:10:176:11 | exit M9 (abnormal) | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:161:39:161:54 | After ... == ... [false] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:147:10:147:11 | M8 | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | ExceptionA | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | ExceptionB | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | ExceptionC | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:176:10:176:11 | Exceptional Exit | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:176:10:176:11 | Exit | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:176:10:176:11 | M9 | | Finally.cs:183:9:192:9 | {...} | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | Finally.cs:176:10:176:11 | M9 | | Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:176:10:176:11 | M9 | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:195:10:195:12 | exit M10 | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:195:10:195:12 | exit M10 (abnormal) | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:176:10:176:11 | M9 | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:195:10:195:12 | Exceptional Exit | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:195:10:195:12 | Exit | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:195:10:195:12 | M10 | | Finally.cs:202:9:212:9 | {...} | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:195:10:195:12 | M10 | | Finally.cs:208:13:210:13 | {...} | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | M10 | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:216:10:216:12 | M11 | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:216:10:216:12 | M11 | | Finally.cs:222:9:225:9 | catch {...} | Finally.cs:216:10:216:12 | M11 | | Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | M11 | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:233:10:233:12 | exit M12 | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:233:10:233:12 | exit M12 (abnormal) | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Exceptional Exit | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:233:10:233:12 | Exit | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | | Finally.cs:243:13:253:13 | {...} | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:233:10:233:12 | M12 | | Finally.cs:250:17:252:17 | {...} | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:233:10:233:12 | M12 | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:233:10:233:12 | M12 | | Finally.cs:257:9:259:9 | {...} | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:233:10:233:12 | M12 | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:263:10:263:12 | M13 | -| Finally.cs:263:10:263:12 | exit M13 | Finally.cs:263:10:263:12 | M13 | -| Finally.cs:263:10:263:12 | exit M13 (abnormal) | Finally.cs:263:10:263:12 | M13 | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | M13 | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | Foreach | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:6:10:6:11 | M1 | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | M1 | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | M1 | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:263:10:263:12 | Exceptional Exit | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:263:10:263:12 | Exit | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:263:10:263:12 | M13 | +| Finally.cs:270:9:273:9 | {...} | Finally.cs:263:10:263:12 | M13 | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Foreach | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | M1 | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:6:10:6:11 | M1 | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:12:10:12:11 | M2 | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | M2 | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:8:29:8:32 | After access to parameter args [empty] | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:6:10:6:11 | M1 | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | M2 | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:12:10:12:11 | M2 | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:14:27:14:30 | After access to parameter args [empty] | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:12:10:12:11 | M2 | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | M3 | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:18:10:18:11 | M3 | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:26:23:26:23 | String x | Foreach.cs:24:10:24:11 | M4 | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:32:23:32:23 | String x | Foreach.cs:30:10:30:11 | M5 | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:36:10:36:11 | M6 | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | M6 | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | M6 | -| Foreach.cs:38:26:38:26 | String x | Foreach.cs:36:10:36:11 | M6 | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | Initializers | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | Initializers | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | Initializers | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | M | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | NoConstructor | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | Sub | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | Sub | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | Sub | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | IndexInitializers | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | Compound | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | Test | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:27 | After access to parameter e [null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:43:20:68 | After call to method Empty [empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | Foreach.cs:18:10:18:11 | M3 | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:36:26:39 | After access to parameter args [empty] | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:24:10:24:11 | M4 | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:32:32:35 | After access to parameter args [empty] | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:30:10:30:11 | M5 | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:39:38:42 | After access to parameter args [empty] | Foreach.cs:36:10:36:11 | M6 | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:36:10:36:11 | M6 | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Initializers | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Initializers | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:26:11:26:13 | | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | IndexInitializers | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Compound | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:51:10:51:13 | Test | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:7:10:7:11 | M1 | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:7:10:7:11 | M1 | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:15:10:15:11 | M2 | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | M2 | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:7:10:7:11 | M1 | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | M2 | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:15:10:15:11 | M2 | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:15:10:15:11 | M2 | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | M3 | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:22:10:22:11 | M3 | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:29:10:29:11 | M4 | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | M4 | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:22:10:22:11 | M3 | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | M4 | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:29:10:29:11 | M4 | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:29:10:29:11 | M4 | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | M5 | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:36:10:36:11 | M5 | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:45:10:45:11 | M6 | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | M6 | -| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:36:10:36:11 | M5 | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:45:10:45:11 | M6 | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:45:10:45:11 | M6 | | LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:45:10:45:11 | M6 | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:55:10:55:11 | M7 | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:55:10:55:11 | M7 | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:67:10:67:11 | M8 | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:67:10:67:11 | M8 | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:76:10:76:11 | M9 | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | M9 | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:67:10:67:11 | M8 | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | M9 | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:76:10:76:11 | M9 | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:85:10:85:12 | M10 | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | M10 | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:76:10:76:11 | M9 | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | M10 | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:85:10:85:12 | M10 | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:94:10:94:12 | M11 | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | M11 | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:85:10:85:12 | M10 | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | M11 | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:94:10:94:12 | M11 | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | C1 | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:22:6:31 | get_P1 | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:21:7:23 | get_P2 | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | LoopUnrolling.cs:94:10:94:12 | M11 | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:94:10:94:12 | M11 | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:6:22:6:31 | Exit | MultiImplementationA.cs:6:22:6:31 | get_P1 | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:21:7:23 | get_P2 | +| MultiImplementationA.cs:7:21:7:23 | Exit | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:21:7:23 | get_P2 | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:41:7:43 | set_P2 | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:41:7:43 | set_P2 | +| MultiImplementationA.cs:7:41:7:43 | Exit | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:41:7:43 | set_P2 | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:8:16:8:16 | exit M | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:16:8:16 | Exit | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | get_Item | +| MultiImplementationA.cs:14:31:14:31 | Exit | MultiImplementationA.cs:14:31:14:31 | get_Item | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item | MultiImplementationA.cs:14:31:14:31 | get_Item | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:36:15:38 | get_Item | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:36:15:38 | get_Item | +| MultiImplementationA.cs:15:36:15:38 | Exit | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:36:15:38 | get_Item | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:54:15:56 | set_Item | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | set_Item | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:54:15:56 | set_Item | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | set_Item | | MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:54:15:56 | set_Item | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:16:17:16:18 | M1 | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | M1 | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:9:18:22 | M2 | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:20:12:20:13 | exit C2 | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | C2 | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | C2 | -| MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:12:21:13 | C2 | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:9:18:22 | M2 | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:12:20:13 | Exit | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:6:22:7 | ~C2 | +| MultiImplementationA.cs:22:6:22:7 | Exit | MultiImplementationA.cs:22:6:22:7 | ~C2 | | MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:28:23:35 | implicit conversion | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationA.cs:23:28:23:35 | Exit | MultiImplementationA.cs:23:28:23:35 | implicit conversion | | MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | implicit conversion | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:21:30:23 | get_P3 | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | C4 | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:9:36:10 | M1 | -| MultiImplementationA.cs:36:9:36:10 | exit M1 | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:21:30:23 | get_P3 | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:9:36:10 | M1 | +| MultiImplementationA.cs:36:9:36:10 | Exit | MultiImplementationA.cs:36:9:36:10 | M1 | | MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:9:36:10 | M1 | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:9:37:10 | M2 | -| MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationA.cs:4:7:4:8 | C1 | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:9:37:10 | M2 | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | C1 | | MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | get_P1 | | MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | M | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationA.cs:11:7:11:8 | | -| MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationA.cs:14:31:14:31 | get_Item | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationA.cs:14:31:14:31 | get_Item | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationA.cs:15:36:15:38 | get_Item | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationA.cs:15:54:15:56 | set_Item | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationA.cs:16:17:16:18 | M1 | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:9:16:31 | M2 | -| MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | -| MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationA.cs:21:12:21:13 | C2 | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:9:16:31 | M2 | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationA.cs:21:12:21:13 | C2 | | MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationA.cs:22:6:22:7 | ~C2 | -| MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationA.cs:23:28:23:35 | implicit conversion | -| MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationA.cs:28:7:28:8 | C3 | -| MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationA.cs:34:15:34:16 | C4 | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationA.cs:23:28:23:35 | implicit conversion | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | C3 | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | C4 | | MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | M1 | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | NullCoalescing | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:9:3:10 | M1 | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | M1 | -| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:9:3:10 | M1 | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:9:5:10 | M2 | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:12:7:13 | M3 | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:9:11:10 | M5 | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:13:10:13:11 | M6 | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:13:10:13:11 | M6 | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | Partial | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | Partial | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | Patterns | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:23:17:23:22 | break; | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:5:10:5:11 | M1 | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | NullCoalescing | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:9:3:10 | M1 | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:9:5:10 | M2 | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | M3 | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:51:9:52 | After "" [non-null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | M4 | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:9:11:10 | M5 | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:17:16:18 | After "" [non-null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:13:10:13:11 | M6 | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:13:10:13:11 | M6 | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationA.cs:1:15:1:21 | | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Partial | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Patterns | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | After ... is ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:13:24:36 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:30:24:35 | After ... > ... [false] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | | Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:34:17:34:22 | break; | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:5:10:5:11 | M1 | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:47:24:47:25 | M2 | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:50:24:50:25 | M3 | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:54:27:54:35 | [match] { ... } | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:54:27:54:35 | [no-match] { ... } | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:53:24:53:25 | M4 | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:56:26:56:27 | M5 | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:65:26:65:27 | M6 | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:74:26:74:27 | M7 | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:49:85:53 | [match] not ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:26:85:27 | M8 | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:50:87:54 | [no-match] not ... | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:26:87:27 | M9 | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:93:17:93:19 | M10 | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:93:17:93:19 | M10 | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | PostDominance | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:5:10:5:11 | M1 | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:10:10:10:11 | M2 | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:17:10:17:11 | exit M3 | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:17:10:17:11 | M3 | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:17:10:17:11 | M3 | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | Qualifiers | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:16:7:21 | Method | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:23:8:34 | StaticMethod | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:10:10:10:10 | M | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | Switch | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:5:10:5:11 | M1 | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:10:10:10:11 | exit M2 | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:10:10:10:11 | exit M2 (abnormal) | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:15:17:15:23 | return ...; | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:19:17:19:29 | goto default; | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:22:21:22:27 | return ...; | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:23:27:23:27 | 0 | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:10:10:10:11 | M2 | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:5:10:5:11 | M1 | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:47:24:47:25 | M2 | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:50:24:50:25 | M3 | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:53:24:53:25 | M4 | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:56:26:56:27 | M5 | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:70:13:70:27 | After ... => ... [no-match] | Patterns.cs:65:26:65:27 | M6 | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:74:26:74:27 | M7 | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:26:85:27 | M8 | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:26:87:27 | M9 | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | After ... is ... [false] | Patterns.cs:93:17:93:19 | M10 | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:93:17:93:19 | M10 | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | PostDominance | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:5:10:5:11 | M1 | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:10:10:10:11 | M2 | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:17:10:17:11 | Exit | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:17:10:17:11 | M3 | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:17:10:17:11 | M3 | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Qualifiers | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:16:7:21 | Method | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:23:8:34 | StaticMethod | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:10:10:10:10 | M | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Switch | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:5:10:5:11 | M1 | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Exceptional Exit | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Exit | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:13:24:56 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:10:10:10:11 | M2 | | Switch.cs:27:13:27:39 | case ...: | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:30:13:30:20 | default: | Switch.cs:10:10:10:11 | M2 | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:35:10:35:11 | M3 | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:49:17:49:22 | break; | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:51:17:51:22 | break; | Switch.cs:44:10:44:11 | M4 | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:55:10:55:11 | M5 | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:55:10:55:11 | M5 | -| Switch.cs:62:17:62:22 | break; | Switch.cs:55:10:55:11 | M5 | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:73:17:73:22 | break; | Switch.cs:66:10:66:11 | M6 | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:82:24:82:27 | true | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:85:21:85:26 | break; | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:86:24:86:27 | true | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:88:16:88:20 | false | Switch.cs:77:10:77:11 | M7 | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:96:24:96:27 | true | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:98:16:98:20 | false | Switch.cs:91:10:91:11 | M8 | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:105:28:105:28 | 0 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:106:28:106:28 | 1 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:108:17:108:17 | 1 | Switch.cs:101:9:101:10 | M9 | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:17:111:21 | Throw | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:117:44:117:44 | 1 | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:10:10:10:11 | M2 | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:35:10:35:11 | M3 | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:13:50:39 | After case ...: [no-match] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:30:50:38 | After ... != ... [false] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:44:10:44:11 | M4 | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:61:13:61:19 | After case ...: [no-match] | Switch.cs:55:10:55:11 | M5 | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:72:13:72:20 | After case ...: [no-match] | Switch.cs:66:10:66:11 | M6 | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:83:13:83:19 | After case ...: [no-match] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:77:10:77:11 | M7 | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:91:10:91:11 | M8 | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:17 | After access to parameter s [null] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:101:9:101:10 | M9 | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:17:111:21 | Throw | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:13:117:35 | After case ...: [no-match] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:25:117:34 | After ... == ... [false] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:13:118:34 | After case ...: [no-match] | Switch.cs:113:9:113:11 | M10 | | Switch.cs:118:13:118:34 | case ...: | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:118:43:118:43 | 2 | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:120:17:120:17 | 1 | Switch.cs:113:9:113:11 | M10 | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:37:125:37 | _ | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:125:42:125:46 | false | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:123:10:123:12 | M11 | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:28:131:40 | [null] ... => ... | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:43:131:43 | _ | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:131:48:131:51 | null | Switch.cs:129:12:129:14 | M12 | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:138:13:138:20 | default: | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:139:28:139:28 | 1 | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:140:28:140:28 | 2 | Switch.cs:134:9:134:11 | M13 | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:148:28:148:28 | 1 | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:149:13:149:20 | default: | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:150:28:150:28 | 2 | Switch.cs:144:9:144:11 | M14 | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:154:10:154:12 | exit M15 | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:154:10:154:12 | exit M15 (abnormal) | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:156:41:156:45 | false | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:154:10:154:12 | M15 | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:118:25:118:33 | After ... == ... [false] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:113:9:113:11 | M10 | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:123:10:123:12 | M11 | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:17:131:53 | After ... switch { ... } [null] | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:129:12:129:14 | M12 | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:134:9:134:11 | M13 | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:144:9:144:11 | M14 | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:156:41:156:52 | After ... => ... [no-match] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:154:10:154:12 | M15 | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:163:10:163:12 | M16 | | Switch.cs:169:17:169:51 | ...; | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:163:10:163:12 | M16 | -| Switch.cs:174:13:174:20 | default: | Switch.cs:163:10:163:12 | M16 | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | TypeAccesses | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:3:10:3:10 | M | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:3:10:3:10 | M | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | VarDecls | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:5:18:5:19 | M1 | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:13:12:13:13 | M2 | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:19:7:19:8 | M3 | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:19:7:19:8 | M3 | -| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:19:7:19:8 | M3 | -| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:19:7:19:8 | M3 | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | C | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:41:28:47 | Dispose | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:5:17:5:20 | Main | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | Main | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:5:17:5:20 | Main | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:5:17:5:20 | Main | -| cflow.cs:15:9:17:9 | {...} | cflow.cs:5:17:5:20 | Main | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:5:17:5:20 | Main | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:163:10:163:12 | M16 | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:163:10:163:12 | M16 | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | TypeAccesses | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | TypeAccesses.cs:3:10:3:10 | M | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:3:10:3:10 | M | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | VarDecls | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:5:18:5:19 | M1 | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:13:12:13:13 | M2 | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:19:7:19:8 | M3 | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | C | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:41:28:47 | Dispose | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:13:11:17 | After ... > ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:5:17:5:20 | Main | | cflow.cs:20:9:22:9 | {...} | cflow.cs:5:17:5:20 | Main | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:5:17:5:20 | Main | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:5:17:5:20 | Main | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:5:17:5:20 | Main | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:5:17:5:20 | Main | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:5:17:5:20 | Main | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:5:17:5:20 | Main | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:5:17:5:20 | Main | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:5:17:5:20 | Main | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:5:17:5:20 | Main | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:37:17:37:22 | exit Switch | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:56:13:56:20 | default: | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:65:17:65:22 | break; | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:37:17:37:22 | Switch | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:70:18:70:18 | M | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | M | -| cflow.cs:73:13:73:19 | return ...; | cflow.cs:70:18:70:18 | M | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:70:18:70:18 | M | -| cflow.cs:75:9:77:9 | {...} | cflow.cs:70:18:70:18 | M | -| cflow.cs:79:9:81:9 | {...} | cflow.cs:70:18:70:18 | M | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:84:18:84:19 | M2 | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:90:18:90:19 | exit M3 | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:93:45:93:47 | "s" | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:90:18:90:19 | M3 | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:110:20:110:23 | true | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:111:13:113:13 | {...} | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:106:18:106:19 | M4 | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:119:20:119:21 | M5 | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:48:127:49 | "" | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:53:127:57 | this access | cflow.cs:127:19:127:21 | get_Prop | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | set_Prop | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | ControlFlow | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:5:134:15 | ControlFlow | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:12:136:22 | ControlFlow | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:138:40:138:40 | + | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:33:144:35 | get_Item | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:56:144:58 | set_Item | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:146:10:146:12 | For | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | For | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:146:10:146:12 | For | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:146:10:146:12 | For | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | -| cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:146:10:146:12 | For | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:22:18:22:23 | After ... < ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:5:17:5:20 | Main | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:37:17:37:22 | Exit | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:47:13:47:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:62:13:62:19 | After case ...: [no-match] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:37:17:37:22 | Switch | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:70:18:70:18 | M | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | M | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:70:18:70:18 | M | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:70:18:70:18 | M | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:70:18:70:18 | M | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:84:18:84:19 | M2 | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:90:18:90:19 | Exit | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:25 | After ... != ... [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:25 | After ... != ... [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:29 | After ... != ... [false] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:90:18:90:19 | M3 | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:106:18:106:19 | M4 | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:119:20:119:21 | M5 | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:19:127:21 | get_Prop | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:5:134:15 | ControlFlow | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:12:136:22 | ControlFlow | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:138:40:138:40 | + | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:33:144:35 | get_Item | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:56:144:58 | set_Item | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:146:10:146:12 | For | | cflow.cs:153:9:157:9 | {...} | cflow.cs:146:10:146:12 | For | -| cflow.cs:156:17:156:22 | break; | cflow.cs:146:10:146:12 | For | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:146:10:146:12 | For | | cflow.cs:160:9:165:9 | {...} | cflow.cs:146:10:146:12 | For | -| cflow.cs:164:17:164:22 | break; | cflow.cs:146:10:146:12 | For | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:146:10:146:12 | For | -| cflow.cs:168:9:171:9 | {...} | cflow.cs:146:10:146:12 | For | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:146:10:146:12 | For | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:146:10:146:12 | For | -| cflow.cs:174:9:176:9 | {...} | cflow.cs:146:10:146:12 | For | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:179:10:179:16 | Lambdas | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:28:181:37 | (...) => ... | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:28:182:61 | delegate(...) { ... } | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:185:10:185:18 | LogicalOr | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:193:10:193:17 | exit Booleans | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:195:39:195:43 | this access | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:35:197:39 | false | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:197:43:197:46 | true | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:198:37:198:41 | false | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:198:45:198:48 | true | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:40:200:44 | this access | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:201:9:205:9 | {...} | cflow.cs:193:10:193:17 | Booleans | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:208:10:208:11 | Do | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | Do | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:146:10:146:12 | For | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:146:10:146:12 | For | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:179:10:179:16 | Lambdas | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:185:10:185:18 | LogicalOr | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:193:10:193:17 | Exit | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:32 | After ... > ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:193:10:193:17 | Booleans | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:208:10:208:11 | Do | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:208:10:208:11 | Do | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:208:10:208:11 | Do | | cflow.cs:211:9:221:9 | {...} | cflow.cs:208:10:208:11 | Do | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:208:10:208:11 | Do | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:208:10:208:11 | Do | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:208:10:208:11 | Do | -| cflow.cs:221:18:221:22 | this access | cflow.cs:208:10:208:11 | Do | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:34 | After ... < ... [false] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:221:18:221:34 | After ... < ... [true] | cflow.cs:208:10:208:11 | Do | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:226:22:226:22 | String x | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:224:10:224:16 | Foreach | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:226:27:226:64 | After call to method Repeat [empty] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:240:10:240:13 | Goto | | cflow.cs:242:5:242:9 | Label: | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:244:31:244:41 | goto ...; | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:249:17:249:29 | goto default; | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:254:17:254:27 | goto ...; | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:255:13:255:20 | default: | cflow.cs:240:10:240:13 | Goto | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:261:49:261:53 | exit Yield | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:261:49:261:53 | exit Yield (abnormal) | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:261:49:261:53 | Yield | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | ControlFlowSub | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:5:284:18 | ControlFlowSub | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:5:286:18 | ControlFlowSub | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | DelegateCall | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:12:291:12 | M | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | NegationInConstructor | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:298:10:298:10 | M | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:298:10:298:10 | M | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:298:10:298:10 | M | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:298:10:298:10 | M | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:298:10:298:10 | M | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | LambdaGetter | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:306:60:310:5 | (...) => ... | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | get__getter | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:240:10:240:13 | Goto | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Exceptional Exit | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Exit | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:261:49:261:53 | Yield | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | ControlFlowSub | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:5:284:18 | ControlFlowSub | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:5:286:18 | ControlFlowSub | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | DelegateCall | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:12:291:12 | M | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | NegationInConstructor | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:298:10:298:10 | M | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:298:10:298:10 | M | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | LambdaGetter | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | (...) => ... | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | get__getter | diff --git a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.ql b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.ql index 7309151bb7e..54d0c07d553 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.ql +++ b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.ql @@ -3,4 +3,4 @@ import Common query predicate nodeEnclosing(SourceControlFlowNode n, Callable c) { c = n.getEnclosingCallable() } -query predicate blockEnclosing(SourceBasicBlock bb, Callable c) { c = bb.getCallable() } +query predicate blockEnclosing(SourceBasicBlock bb, Callable c) { c = bb.getEnclosingCallable() } diff --git a/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected b/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected index 248562dbc83..ea8c1df4363 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected @@ -163,7 +163,8 @@ | AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:10:58:13 | this access | | AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:22:58:25 | this access | | AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:22:58:25 | this access | -| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:37:58:40 | this access | +| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:34:58:34 | access to parameter i | +| AccessorCalls.cs:58:34:58:34 | access to parameter i | AccessorCalls.cs:58:34:58:34 | access to parameter i | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:37:58:40 | this access | | AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:37:58:40 | this access | | AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:42:58:42 | 0 | @@ -187,7 +188,8 @@ | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:27 | this access | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | | AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:24:63:27 | this access | -| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:41:63:44 | this access | +| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:38:63:38 | access to parameter i | +| AccessorCalls.cs:63:38:63:38 | access to parameter i | AccessorCalls.cs:63:38:63:38 | access to parameter i | | AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:41:63:44 | this access | | AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | | AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:41:63:44 | this access | @@ -207,7 +209,8 @@ | AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:94:63:94 | 1 | | AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:67:5:74:5 | {...} | | AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:9:68:22 | ... ...; | -| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:68:21:68:21 | access to parameter o | +| AccessorCalls.cs:68:17:68:17 | access to local variable d | AccessorCalls.cs:68:17:68:17 | access to local variable d | +| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:68:17:68:17 | access to local variable d | | AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:21:68:21 | access to parameter o | | AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:9:69:9 | access to local variable d | | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:9 | access to local variable d | @@ -239,7 +242,8 @@ | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:10 | access to local variable d | | AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:24:73:27 | this access | | AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:24:73:27 | this access | -| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:39:73:39 | access to local variable d | +| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:36:73:36 | access to parameter i | +| AccessorCalls.cs:73:36:73:36 | access to parameter i | AccessorCalls.cs:73:36:73:36 | access to parameter i | | AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:39:73:39 | access to local variable d | | AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:39:73:39 | access to local variable d | | AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:41:73:41 | 0 | @@ -263,13 +267,13 @@ | ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:28:5:28 | 0 | | ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:31:5:31 | 1 | | ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:19:7:36 | 2 | -| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:19:7:36 | 2 | +| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:31:7:31 | 0 | | ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:31:7:31 | 0 | | ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:31:7:31 | 0 | | ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:34:7:34 | 1 | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | -| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:20:9:52 | 2 | +| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:35:9:35 | 0 | | ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:35:9:35 | 0 | | ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:35:9:35 | 0 | | ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:35:9:35 | 0 | @@ -283,9 +287,10 @@ | Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | {...} | | Assert.cs:8:5:12:5 | {...} | Assert.cs:8:5:12:5 | {...} | | Assert.cs:9:9:9:33 | ... ...; | Assert.cs:9:9:9:33 | ... ...; | -| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:20:9:20 | access to parameter b | +| Assert.cs:9:16:9:16 | access to local variable s | Assert.cs:9:16:9:16 | access to local variable s | +| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:16:9:16 | access to local variable s | | Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | access to parameter b | -| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20:9:20 | access to parameter b | +| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20: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 | call to method Assert | Assert.cs:10:22:10:22 | access to local variable s | @@ -299,9 +304,10 @@ | Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:27:11:27 | access to local variable s | | Assert.cs:15:5:19:5 | {...} | Assert.cs:15:5:19:5 | {...} | | Assert.cs:16:9:16:33 | ... ...; | Assert.cs:16:9:16:33 | ... ...; | -| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:20:16:20 | access to parameter b | +| Assert.cs:16:16:16:16 | access to local variable s | Assert.cs:16:16:16:16 | access to local variable s | +| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:16:16:16 | access to local variable s | | Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | access to parameter b | -| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20:16:20 | access to parameter b | +| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20: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 | call to method IsNull | Assert.cs:17:23:17:23 | access to local variable s | @@ -313,9 +319,10 @@ | Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:27:18:27 | access to local variable s | | Assert.cs:22:5:26:5 | {...} | Assert.cs:22:5:26:5 | {...} | | Assert.cs:23:9:23:33 | ... ...; | Assert.cs:23:9:23:33 | ... ...; | -| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:20:23:20 | access to parameter b | +| Assert.cs:23:16:23:16 | access to local variable s | Assert.cs:23:16:23:16 | access to local variable s | +| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:16:23:16 | access to local variable s | | Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | access to parameter b | -| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20:23:20 | access to parameter b | +| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20: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 | call to method IsNotNull | Assert.cs:24:26:24:26 | access to local variable s | @@ -327,9 +334,10 @@ | Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:27:25:27 | access to local variable s | | Assert.cs:29:5:33:5 | {...} | Assert.cs:29:5:33:5 | {...} | | Assert.cs:30:9:30:33 | ... ...; | Assert.cs:30:9:30:33 | ... ...; | -| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:20:30:20 | access to parameter b | +| Assert.cs:30:16:30:16 | access to local variable s | Assert.cs:30:16:30:16 | access to local variable s | +| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:16:30:16 | access to local variable s | | Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | access to parameter b | -| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20:30:20 | access to parameter b | +| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20: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 | call to method IsTrue | Assert.cs:31:23:31:23 | access to local variable s | @@ -343,9 +351,10 @@ | Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:27:32:27 | access to local variable s | | Assert.cs:36:5:40:5 | {...} | Assert.cs:36:5:40:5 | {...} | | Assert.cs:37:9:37:33 | ... ...; | Assert.cs:37:9:37:33 | ... ...; | -| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:20:37:20 | access to parameter b | +| Assert.cs:37:16:37:16 | access to local variable s | Assert.cs:37:16:37:16 | access to local variable s | +| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:16:37:16 | access to local variable s | | Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | access to parameter b | -| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20:37:20 | access to parameter b | +| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20: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 | call to method IsTrue | Assert.cs:38:23:38:23 | access to local variable s | @@ -359,9 +368,10 @@ | Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:27:39:27 | access to local variable s | | Assert.cs:43:5:47:5 | {...} | Assert.cs:43:5:47:5 | {...} | | Assert.cs:44:9:44:33 | ... ...; | Assert.cs:44:9:44:33 | ... ...; | -| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:20:44:20 | access to parameter b | +| Assert.cs:44:16:44:16 | access to local variable s | Assert.cs:44:16:44:16 | access to local variable s | +| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:16:44:16 | access to local variable s | | Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | access to parameter b | -| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20:44:20 | access to parameter b | +| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20: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 | call to method IsFalse | Assert.cs:45:24:45:24 | access to local variable s | @@ -375,9 +385,10 @@ | Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:27:46:27 | access to local variable s | | Assert.cs:50:5:54:5 | {...} | Assert.cs:50:5:54:5 | {...} | | Assert.cs:51:9:51:33 | ... ...; | Assert.cs:51:9:51:33 | ... ...; | -| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:20:51:20 | access to parameter b | +| Assert.cs:51:16:51:16 | access to local variable s | Assert.cs:51:16:51:16 | access to local variable s | +| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:16:51:16 | access to local variable s | | Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | access to parameter b | -| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20:51:20 | access to parameter b | +| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20: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 | call to method IsFalse | Assert.cs:52:24:52:24 | access to local variable s | @@ -391,16 +402,17 @@ | Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:27:53:27 | access to local variable s | | Assert.cs:57:5:61:5 | {...} | Assert.cs:57:5:61:5 | {...} | | Assert.cs:58:9:58:33 | ... ...; | Assert.cs:58:9:58:33 | ... ...; | -| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:20:58:20 | access to parameter b | +| Assert.cs:58:16:58:16 | access to local variable s | Assert.cs:58:16:58:16 | access to local variable s | +| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:16:58:16 | access to local variable s | | Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | -| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20: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 | call to method IsTrue | Assert.cs:59:23:59:23 | access to local variable s | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:23:59:36 | ... && ... | | Assert.cs:59:9:59:38 | ...; | 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:23:59:31 | ... != ... | Assert.cs:59:23:59:23 | access to local variable s | -| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:23 | access to local variable s | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:36 | ... && ... | | Assert.cs:59:28:59:31 | null | Assert.cs:59:28:59:31 | null | | 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:35 | call to method WriteLine | Assert.cs:60:27:60:27 | access to local variable s | @@ -409,16 +421,17 @@ | Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:27:60:27 | access to local variable s | | Assert.cs:64:5:68:5 | {...} | Assert.cs:64:5:68:5 | {...} | | Assert.cs:65:9:65:33 | ... ...; | Assert.cs:65:9:65:33 | ... ...; | -| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:20:65:20 | access to parameter b | +| Assert.cs:65:16:65:16 | access to local variable s | Assert.cs:65:16:65:16 | access to local variable s | +| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:16:65:16 | access to local variable s | | Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | -| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20: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 | call to method IsFalse | Assert.cs:66:24:66:24 | access to local variable s | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:24:66:37 | ... \|\| ... | | Assert.cs:66:9:66:39 | ...; | 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:24:66:32 | ... == ... | Assert.cs:66:24:66:24 | access to local variable s | -| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:24 | access to local variable s | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:37 | ... \|\| ... | | Assert.cs:66:29:66:32 | null | Assert.cs:66:29:66:32 | null | | 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:35 | call to method WriteLine | Assert.cs:67:27:67:27 | access to local variable s | @@ -427,16 +440,17 @@ | Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:27:67:27 | access to local variable s | | Assert.cs:71:5:75:5 | {...} | Assert.cs:71:5:75:5 | {...} | | Assert.cs:72:9:72:33 | ... ...; | Assert.cs:72:9:72:33 | ... ...; | -| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:20:72:20 | access to parameter b | +| Assert.cs:72:16:72:16 | access to local variable s | Assert.cs:72:16:72:16 | access to local variable s | +| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:16:72:16 | access to local variable s | | Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | -| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:20 | access to parameter b | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20: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 | call to method IsTrue | Assert.cs:73:23:73:23 | access to local variable s | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:23:73:36 | ... && ... | | Assert.cs:73:9:73:38 | ...; | 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:23:73:31 | ... == ... | Assert.cs:73:23:73:23 | access to local variable s | -| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:23 | access to local variable s | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:36 | ... && ... | | Assert.cs:73:28:73:31 | null | Assert.cs:73:28:73:31 | null | | 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:35 | call to method WriteLine | Assert.cs:74:27:74:27 | access to local variable s | @@ -445,16 +459,17 @@ | Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:27:74:27 | access to local variable s | | Assert.cs:78:5:82:5 | {...} | Assert.cs:78:5:82:5 | {...} | | Assert.cs:79:9:79:33 | ... ...; | Assert.cs:79:9:79:33 | ... ...; | -| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:20:79:20 | access to parameter b | +| Assert.cs:79:16:79:16 | access to local variable s | Assert.cs:79:16:79:16 | access to local variable s | +| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:16:79:16 | access to local variable s | | Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | access to parameter b | -| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:20 | access to parameter b | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20: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 | call to method IsFalse | Assert.cs:80:24:80:24 | access to local variable s | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:24:80:37 | ... \|\| ... | | Assert.cs:80:9:80:39 | ...; | 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:24:80:32 | ... != ... | Assert.cs:80:24:80:24 | access to local variable s | -| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:24 | access to local variable s | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:37 | ... \|\| ... | | Assert.cs:80:29:80:32 | null | Assert.cs:80:29:80:32 | null | | 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:35 | call to method WriteLine | Assert.cs:81:27:81:27 | access to local variable s | @@ -463,9 +478,10 @@ | Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:27:81:27 | access to local variable s | | Assert.cs:85:5:129:5 | {...} | Assert.cs:85:5:129:5 | {...} | | Assert.cs:86:9:86:33 | ... ...; | Assert.cs:86:9:86:33 | ... ...; | -| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:20:86:20 | access to parameter b | +| Assert.cs:86:16:86:16 | access to local variable s | Assert.cs:86:16:86:16 | access to local variable s | +| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:16:86:16 | access to local variable s | | Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | access to parameter b | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20:86:20 | access to parameter b | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20: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 | call to method Assert | Assert.cs:87:22:87:22 | access to local variable s | @@ -477,10 +493,11 @@ | Assert.cs:88:9:88:36 | ...; | Assert.cs:88:9:88:36 | ...; | | Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:88:27:88:27 | access to local variable s | | 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:13 | access to parameter b | +| Assert.cs:90:9:90:9 | access to local variable s | Assert.cs:90:9:90:9 | access to local variable s | +| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:90:9:90:9 | access to local variable s | | Assert.cs:90:9:90:26 | ...; | Assert.cs:90:9:90:26 | ...; | | Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | access to parameter b | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13:90:13 | access to parameter b | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13: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 | call to method IsNull | Assert.cs:91:23:91:23 | access to local variable s | @@ -490,10 +507,11 @@ | Assert.cs:92:9:92:36 | ...; | 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 | Assert.cs:92:27:92:27 | access to local variable s | -| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:13:94:13 | access to parameter b | +| Assert.cs:94:9:94:9 | access to local variable s | Assert.cs:94:9:94:9 | access to local variable s | +| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:9:94:9 | access to local variable s | | Assert.cs:94:9:94:26 | ...; | Assert.cs:94:9:94:26 | ...; | | Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | access to parameter b | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13:94:13 | access to parameter b | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13: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 | call to method IsNotNull | Assert.cs:95:26:95:26 | access to local variable s | @@ -503,10 +521,11 @@ | Assert.cs:96:9:96:36 | ...; | 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 | Assert.cs:96:27:96:27 | access to local variable s | -| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:13:98:13 | access to parameter b | +| Assert.cs:98:9:98:9 | access to local variable s | Assert.cs:98:9:98:9 | access to local variable s | +| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:9:98:9 | access to local variable s | | Assert.cs:98:9:98:26 | ...; | Assert.cs:98:9:98:26 | ...; | | Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | access to parameter b | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13:98:13 | access to parameter b | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13: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 | call to method IsTrue | Assert.cs:99:23:99:23 | access to local variable s | @@ -518,10 +537,11 @@ | Assert.cs:100:9:100:36 | ...; | Assert.cs:100:9:100:36 | ...; | | Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:100:27:100:27 | access to local variable s | | 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:13 | access to parameter b | +| Assert.cs:102:9:102:9 | access to local variable s | Assert.cs:102:9:102:9 | access to local variable s | +| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:102:9:102:9 | access to local variable s | | Assert.cs:102:9:102:26 | ...; | Assert.cs:102:9:102:26 | ...; | | Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | access to parameter b | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13:102:13 | access to parameter b | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13: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 | call to method IsTrue | Assert.cs:103:23:103:23 | access to local variable s | @@ -533,10 +553,11 @@ | Assert.cs:104:9:104:36 | ...; | Assert.cs:104:9:104:36 | ...; | | Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:104:27:104:27 | access to local variable s | | 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:13 | access to parameter b | +| Assert.cs:106:9:106:9 | access to local variable s | Assert.cs:106:9:106:9 | access to local variable s | +| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:106:9:106:9 | access to local variable s | | Assert.cs:106:9:106:26 | ...; | Assert.cs:106:9:106:26 | ...; | | Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | access to parameter b | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13:106:13 | access to parameter b | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13: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 | call to method IsFalse | Assert.cs:107:24:107:24 | access to local variable s | @@ -548,10 +569,11 @@ | Assert.cs:108:9:108:36 | ...; | Assert.cs:108:9:108:36 | ...; | | Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:108:27:108:27 | access to local variable s | | 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:13 | access to parameter b | +| Assert.cs:110:9:110:9 | access to local variable s | Assert.cs:110:9:110:9 | access to local variable s | +| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:110:9:110:9 | access to local variable s | | Assert.cs:110:9:110:26 | ...; | Assert.cs:110:9:110:26 | ...; | | Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | access to parameter b | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13:110:13 | access to parameter b | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13: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 | call to method IsFalse | Assert.cs:111:24:111:24 | access to local variable s | @@ -563,71 +585,75 @@ | Assert.cs:112:9:112:36 | ...; | Assert.cs:112:9:112:36 | ...; | | Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:112:27:112:27 | access to local variable s | | 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:13 | access to parameter b | +| Assert.cs:114:9:114:9 | access to local variable s | Assert.cs:114:9:114:9 | access to local variable s | +| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:114:9:114:9 | access to local variable s | | Assert.cs:114:9:114:26 | ...; | Assert.cs:114:9:114:26 | ...; | | Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | access to parameter b | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13:114:13 | access to parameter b | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13: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 | call to method IsTrue | Assert.cs:115:23:115:23 | access to local variable s | +| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:115:9:115:38 | ...; | 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:23:115:31 | ... != ... | Assert.cs:115:23:115:23 | access to local variable s | -| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:23 | access to local variable s | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:36 | ... && ... | | Assert.cs:115:28:115:31 | null | Assert.cs:115:28:115:31 | null | | 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:35 | call to method WriteLine | Assert.cs:116:27:116:27 | access to local variable s | | Assert.cs:116:9:116:36 | ...; | 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 | Assert.cs:116:27:116:27 | access to local variable s | -| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:13:118:13 | access to parameter b | +| Assert.cs:118:9:118:9 | access to local variable s | Assert.cs:118:9:118:9 | access to local variable s | +| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:9:118:9 | access to local variable s | | Assert.cs:118:9:118:26 | ...; | Assert.cs:118:9:118:26 | ...; | | Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | access to parameter b | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13:118:13 | access to parameter b | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13: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 | call to method IsFalse | Assert.cs:119:24:119:24 | access to local variable s | +| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:119:9:119:40 | ...; | 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:24:119:32 | ... == ... | Assert.cs:119:24:119:24 | access to local variable s | -| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:24 | access to local variable s | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:38 | ... \|\| ... | | Assert.cs:119:29:119:32 | null | Assert.cs:119:29:119:32 | null | -| Assert.cs:119:37:119:38 | !... | Assert.cs:119:38:119:38 | access to parameter b | +| Assert.cs:119:37:119:38 | !... | Assert.cs:119:37:119:38 | !... | | 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:35 | call to method WriteLine | Assert.cs:120:27:120:27 | access to local variable s | | Assert.cs:120:9:120:36 | ...; | 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 | Assert.cs:120:27:120:27 | access to local variable s | -| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:13:122:13 | access to parameter b | +| Assert.cs:122:9:122:9 | access to local variable s | Assert.cs:122:9:122:9 | access to local variable s | +| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:9:122:9 | access to local variable s | | Assert.cs:122:9:122:26 | ...; | Assert.cs:122:9:122:26 | ...; | | Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | access to parameter b | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13:122:13 | access to parameter b | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13: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 | call to method IsTrue | Assert.cs:123:23:123:23 | access to local variable s | +| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:123:9:123:38 | ...; | 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:23:123:31 | ... == ... | Assert.cs:123:23:123:23 | access to local variable s | -| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:23 | access to local variable s | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:36 | ... && ... | | Assert.cs:123:28:123:31 | null | Assert.cs:123:28:123:31 | null | | 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:35 | call to method WriteLine | Assert.cs:124:27:124:27 | access to local variable s | | Assert.cs:124:9:124:36 | ...; | 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 | Assert.cs:124:27:124:27 | access to local variable s | -| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:13:126:13 | access to parameter b | +| Assert.cs:126:9:126:9 | access to local variable s | Assert.cs:126:9:126:9 | access to local variable s | +| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:9:126:9 | access to local variable s | | Assert.cs:126:9:126:26 | ...; | Assert.cs:126:9:126:26 | ...; | | Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | access to parameter b | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13:126:13 | access to parameter b | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13: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 | call to method IsFalse | Assert.cs:127:24:127:24 | access to local variable s | +| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:127:9:127:40 | ...; | 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:24:127:32 | ... != ... | Assert.cs:127:24:127:24 | access to local variable s | -| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:24 | access to local variable s | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:38 | ... \|\| ... | | Assert.cs:127:29:127:32 | null | Assert.cs:127:29:127:32 | null | -| Assert.cs:127:37:127:38 | !... | Assert.cs:127:38:127:38 | access to parameter b | +| Assert.cs:127:37:127:38 | !... | Assert.cs:127:37:127:38 | !... | | 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:35 | call to method WriteLine | Assert.cs:128:27:128:27 | access to local variable s | | Assert.cs:128:9:128:36 | ...; | Assert.cs:128:9:128:36 | ...; | @@ -648,14 +674,16 @@ | Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | {...} | | Assignments.cs:4:5:15:5 | {...} | Assignments.cs:4:5:15:5 | {...} | | Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:9:5:18 | ... ...; | -| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:5:17:5:17 | 0 | +| Assignments.cs:5:13:5:13 | access to local variable x | Assignments.cs:5:13:5:13 | access to local variable x | +| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:5:13:5:13 | access to local variable x | | Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:17:5:17 | 0 | | Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:9:6:9 | access to local variable x | | Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:6:9:6:9 | access to local variable x | | Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:15 | ...; | | Assignments.cs:6:14:6:14 | 1 | Assignments.cs:6:14:6:14 | 1 | | Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:9:8:22 | ... ...; | -| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:21:8:21 | 0 | +| Assignments.cs:8:17:8:17 | access to local variable d | Assignments.cs:8:17:8:17 | access to local variable d | +| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:17:8:17 | access to local variable d | | Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:21:8:21 | 0 | | Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:21:8:21 | 0 | | Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:9:9:9 | access to local variable d | @@ -663,7 +691,8 @@ | Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:15 | ...; | | Assignments.cs:9:14:9:14 | 2 | Assignments.cs:9:14:9:14 | 2 | | Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:9:11:34 | ... ...; | -| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:17:11:33 | object creation of type Assignments | +| Assignments.cs:11:13:11:13 | access to local variable a | Assignments.cs:11:13:11:13 | access to local variable a | +| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:13:11:13 | access to local variable a | | Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:17:11:33 | object creation of type Assignments | | Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:9:12:9 | access to local variable a | | Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:12:9:12:9 | access to local variable a | @@ -679,14 +708,17 @@ | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:19:16:19:16 | access to parameter x | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:16:19:16 | access to parameter x | | Assignments.cs:28:5:30:5 | {...} | Assignments.cs:28:5:30:5 | {...} | -| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:9:29:9 | access to parameter x | Assignments.cs:29:9:29:9 | access to parameter x | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:9:29:9 | access to parameter x | | Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:9:29:15 | ...; | | Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:13:29:14 | 42 | | Assignments.cs:33:5:36:5 | {...} | Assignments.cs:33:5:36:5 | {...} | -| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:9:34:9 | access to parameter x | Assignments.cs:34:9:34:9 | access to parameter x | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:9:34:9 | access to parameter x | | Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:9:34:15 | ...; | | Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:13:34:14 | 42 | -| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:35:9:35:9 | access to parameter y | Assignments.cs:35:9:35:9 | access to parameter y | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:9:35:9 | access to parameter y | | Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:9:35:20 | ...; | | Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:13:35:19 | "Hello" | | Assignments.cs:39:5:45:5 | {...} | Assignments.cs:39:5:45:5 | {...} | @@ -695,6 +727,7 @@ | Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | this access | | Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | this access | | Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:31 | ...; | +| Assignments.cs:41:28:41:29 | access to local variable x1 | Assignments.cs:41:28:41:29 | access to local variable x1 | | Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:9:42:36 | this access | | Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:36 | this access | | Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:37 | ...; | @@ -703,6 +736,7 @@ | Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:9:43:55 | this access | | Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:55 | this access | | Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:56 | ...; | +| Assignments.cs:43:31:43:31 | Int32 y | Assignments.cs:43:31:43:31 | Int32 y | | Assignments.cs:43:34:43:37 | null | Assignments.cs:43:34:43:37 | null | | Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | this access | | Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | this access | @@ -721,7 +755,7 @@ | BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:4:5:18:5 | {...} | | BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:5:9:17:9 | try {...} ... | | BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:6:9:12:9 | {...} | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | access to parameter args | +| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:7:26:7:28 | String arg | | BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:33:7:36 | access to parameter args | | BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:8:13:11:13 | {...} | @@ -737,7 +771,7 @@ | BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:15:25:15:28 | null | | BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:16:17:16:17 | ; | | BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:21:5:36:5 | {...} | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | access to parameter args | +| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:22:22:24 | String arg | | BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | access to parameter args | | BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:23:9:34:9 | {...} | @@ -764,7 +798,7 @@ | BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:42:25:42:28 | null | | BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:43:17:43:23 | return ...; | | BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:46:9:52:9 | {...} | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | access to parameter args | +| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:47:26:47:28 | String arg | | BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:33:47:36 | access to parameter args | | BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:48:13:51:13 | {...} | @@ -783,7 +817,7 @@ | BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:60:25:60:28 | null | | BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:61:17:61:23 | return ...; | | BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:64:9:70:9 | {...} | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | access to parameter args | +| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:65:26:65:28 | String arg | | BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:33:65:36 | access to parameter args | | BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:66:13:69:13 | {...} | @@ -808,7 +842,6 @@ | CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:21:5:23:5 | {...} | | CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | -| CompileTimeOperators.cs:22:23:22:23 | access to parameter i | CompileTimeOperators.cs:22:23:22:23 | access to parameter i | | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | | CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | this access | | CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | this access | @@ -817,9 +850,6 @@ | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | | CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:31:9:34:9 | {...} | | CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:32:13:32:21 | goto ...; | -| CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | CompileTimeOperators.cs:33:31:33:36 | "Dead" | -| CompileTimeOperators.cs:33:13:33:38 | ...; | CompileTimeOperators.cs:33:13:33:38 | ...; | -| CompileTimeOperators.cs:33:31:33:36 | "Dead" | CompileTimeOperators.cs:33:31:33:36 | "Dead" | | CompileTimeOperators.cs:36:9:38:9 | {...} | CompileTimeOperators.cs:36:9:38:9 | {...} | | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:37:31:37:39 | "Finally" | | CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:37:13:37:41 | ...; | @@ -840,13 +870,13 @@ | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:26 | access to parameter i | | ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | access to parameter s | | ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:26 | access to parameter s | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | +| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | +| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | | ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | access to parameter s | | ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:25 | access to parameter s | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:25 | access to parameter s | +| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | | ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:38:9:38 | 0 | | ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:12:5:17:5 | {...} | | ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:13:9:16:21 | if (...) ... | @@ -864,30 +894,36 @@ | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | | ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:22:5:26:5 | {...} | | ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:9:23:39 | ... ...; | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:26:23:29 | null | +| ConditionalAccess.cs:23:13:23:13 | access to local variable j | ConditionalAccess.cs:23:13:23:13 | access to local variable j | +| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:13:23:13 | access to local variable j | | ConditionalAccess.cs:23:17:23:38 | access to property Length | ConditionalAccess.cs:23:26:23:29 | null | | ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:26:23:29 | null | | ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:26:23:29 | null | | ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:9:24:38 | ... ...; | -| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:24:24:24 | access to parameter i | +| ConditionalAccess.cs:24:13:24:13 | access to local variable s | ConditionalAccess.cs:24:13:24:13 | access to local variable s | +| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:13:24:13 | access to local variable s | | ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:24:24:24 | access to parameter i | | ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:24:24:24 | access to parameter i | | ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:24:24:24 | access to parameter i | -| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:13:25:14 | "" | +| ConditionalAccess.cs:25:9:25:9 | access to local variable s | ConditionalAccess.cs:25:9:25:9 | access to local variable s | +| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:9:25:9 | access to local variable s | | ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:9:25:33 | ...; | | ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:14 | "" | | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:14 | "" | | ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:31:25:31 | access to local variable s | -| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:32:30:32 | 0 | +| ConditionalAccess.cs:30:28:30:28 | access to parameter i | ConditionalAccess.cs:30:28:30:28 | access to parameter i | +| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:28:30:28 | access to parameter i | | ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:32:30:32 | 0 | | ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:33:5:36:5 | {...} | -| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:34:13:34:13 | 0 | +| ConditionalAccess.cs:34:9:34:9 | access to parameter i | ConditionalAccess.cs:34:9:34:9 | access to parameter i | +| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:34:9:34:9 | access to parameter i | | ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:34:9:34:14 | ...; | | ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:34:13:34:13 | 0 | | ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | this access | | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | this access | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:12 | this access | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:25 | ...; | +| ConditionalAccess.cs:35:23:35:23 | access to parameter i | ConditionalAccess.cs:35:23:35:23 | access to parameter i | | ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:13:42:28 | {...} | | ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:22:42:25 | null | | ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:22:42:25 | null | @@ -947,14 +983,15 @@ | Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:6:13:6:13 | access to parameter x | | Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:16 | ...; | | Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:9:8:16 | if (...) ... | -| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:14:7:16 | access to parameter inc | +| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:13:7:16 | !... | | Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | access to parameter inc | | Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:13 | access to parameter x | | Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:8:13:8:13 | access to parameter x | | Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:16 | ...; | | Conditions.cs:12:5:20:5 | {...} | Conditions.cs:12:5:20:5 | {...} | | Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:9:13:18 | ... ...; | -| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:13:17:13:17 | 0 | +| Conditions.cs:13:13:13:13 | access to local variable x | Conditions.cs:13:13:13:13 | access to local variable x | +| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:13:13:13:13 | access to local variable x | | Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:17:13:17 | 0 | | Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:14:9:15:16 | if (...) ... | | Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | access to parameter b | @@ -966,7 +1003,7 @@ | Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:13 | access to local variable x | | Conditions.cs:16:17:16:17 | 0 | Conditions.cs:16:17:16:17 | 0 | | Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:13:18:20 | if (...) ... | -| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:18:17:18 | access to parameter b | +| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:17:17:18 | !... | | Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | access to parameter b | | Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:17 | access to local variable x | | Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:18:17:18:17 | access to local variable x | @@ -975,7 +1012,8 @@ | Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:16:19:16 | access to local variable x | | Conditions.cs:23:5:31:5 | {...} | Conditions.cs:23:5:31:5 | {...} | | Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:9:24:18 | ... ...; | -| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:24:17:24:17 | 0 | +| Conditions.cs:24:13:24:13 | access to local variable x | Conditions.cs:24:13:24:13 | access to local variable x | +| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:24:13:24:13 | access to local variable x | | Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:17:24:17 | 0 | | Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:25:9:27:20 | if (...) ... | | Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | access to parameter b1 | @@ -993,14 +1031,17 @@ | Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:16:30:16 | access to local variable x | | Conditions.cs:34:5:44:5 | {...} | Conditions.cs:34:5:44:5 | {...} | | Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:9:35:18 | ... ...; | -| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:35:17:35:17 | 0 | +| Conditions.cs:35:13:35:13 | access to local variable x | Conditions.cs:35:13:35:13 | access to local variable x | +| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:35:13:35:13 | access to local variable x | | Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:17:35:17 | 0 | | Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:9:36:23 | ... ...; | -| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:36:18:36:22 | false | +| Conditions.cs:36:13:36:14 | access to local variable b2 | Conditions.cs:36:13:36:14 | access to local variable b2 | +| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:36:13:36:14 | access to local variable b2 | | Conditions.cs:36:18:36:22 | false | Conditions.cs:36:18:36:22 | false | | Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:37:9:38:20 | if (...) ... | | Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | access to parameter b1 | -| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:38:18:38:19 | access to parameter b1 | +| Conditions.cs:38:13:38:14 | access to local variable b2 | Conditions.cs:38:13:38:14 | access to local variable b2 | +| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:38:13:38:14 | access to local variable b2 | | Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:20 | ...; | | Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:18:38:19 | access to parameter b1 | | Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:9:40:16 | if (...) ... | @@ -1017,7 +1058,8 @@ | Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:16:43:16 | access to local variable x | | Conditions.cs:47:5:55:5 | {...} | Conditions.cs:47:5:55:5 | {...} | | Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:9:48:18 | ... ...; | -| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:48:17:48:17 | 0 | +| Conditions.cs:48:13:48:13 | access to local variable y | Conditions.cs:48:13:48:13 | access to local variable y | +| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:48:13:48:13 | access to local variable y | | Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:17:48:17 | 0 | | Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:9:53:9 | while (...) ... | | Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:16 | access to parameter x | @@ -1034,7 +1076,8 @@ | Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:16:54:16 | access to local variable y | | Conditions.cs:58:5:68:5 | {...} | Conditions.cs:58:5:68:5 | {...} | | Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:9:59:18 | ... ...; | -| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:59:17:59:17 | 0 | +| Conditions.cs:59:13:59:13 | access to local variable y | Conditions.cs:59:13:59:13 | access to local variable y | +| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:59:13:59:13 | access to local variable y | | Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:17:59:17 | 0 | | Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:9:64:9 | while (...) ... | | Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:16 | access to parameter x | @@ -1056,15 +1099,17 @@ | Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:16:67:16 | access to local variable y | | Conditions.cs:71:5:84:5 | {...} | Conditions.cs:71:5:84:5 | {...} | | Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:9:72:30 | ... ...; | -| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:17:72:18 | access to parameter ss | +| Conditions.cs:72:13:72:13 | access to local variable b | Conditions.cs:72:13:72:13 | access to local variable b | +| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:13:72:13 | access to local variable b | | Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:17:72:18 | access to parameter ss | | Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:17:72:18 | access to parameter ss | | Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:17:72:18 | access to parameter ss | | Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:29:72:29 | 0 | | Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:9:73:18 | ... ...; | -| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:73:17:73:17 | 0 | +| Conditions.cs:73:13:73:13 | access to local variable x | Conditions.cs:73:13:73:13 | access to local variable x | +| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:73:13:73:13 | access to local variable x | | Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:17:73:17 | 0 | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | access to parameter ss | +| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:74:22:74:22 | String _ | | Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:27:74:28 | access to parameter ss | | Conditions.cs:75:9:80:9 | {...} | Conditions.cs:75:9:80:9 | {...} | @@ -1077,7 +1122,8 @@ | Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:17:78:17 | access to local variable x | | Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:17 | access to local variable x | | Conditions.cs:78:21:78:21 | 0 | Conditions.cs:78:21:78:21 | 0 | -| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:79:21:79:25 | false | +| Conditions.cs:79:17:79:17 | access to local variable b | Conditions.cs:79:17:79:17 | access to local variable b | +| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:79:17:79:17 | access to local variable b | | Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:26 | ...; | | Conditions.cs:79:21:79:25 | false | Conditions.cs:79:21:79:25 | false | | Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:9:82:16 | if (...) ... | @@ -1089,15 +1135,17 @@ | Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:16:83:16 | access to local variable x | | Conditions.cs:87:5:100:5 | {...} | Conditions.cs:87:5:100:5 | {...} | | Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:9:88:30 | ... ...; | -| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:17:88:18 | access to parameter ss | +| Conditions.cs:88:13:88:13 | access to local variable b | Conditions.cs:88:13:88:13 | access to local variable b | +| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:13:88:13 | access to local variable b | | Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:17:88:18 | access to parameter ss | | Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:17:88:18 | access to parameter ss | | Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:17:88:18 | access to parameter ss | | Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:29:88:29 | 0 | | Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:9:89:18 | ... ...; | -| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:89:17:89:17 | 0 | +| Conditions.cs:89:13:89:13 | access to local variable x | Conditions.cs:89:13:89:13 | access to local variable x | +| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:89:13:89:13 | access to local variable x | | Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:17:89:17 | 0 | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | access to parameter ss | +| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:90:22:90:22 | String _ | | Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:27:90:28 | access to parameter ss | | Conditions.cs:91:9:98:9 | {...} | Conditions.cs:91:9:98:9 | {...} | @@ -1110,7 +1158,8 @@ | Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:17:94:17 | access to local variable x | | Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:17 | access to local variable x | | Conditions.cs:94:21:94:21 | 0 | Conditions.cs:94:21:94:21 | 0 | -| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:95:21:95:25 | false | +| Conditions.cs:95:17:95:17 | access to local variable b | Conditions.cs:95:17:95:17 | access to local variable b | +| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:95:17:95:17 | access to local variable b | | Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:26 | ...; | | Conditions.cs:95:21:95:25 | false | Conditions.cs:95:21:95:25 | false | | Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:13:97:20 | if (...) ... | @@ -1122,7 +1171,8 @@ | Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:16:99:16 | access to local variable x | | Conditions.cs:103:5:111:5 | {...} | Conditions.cs:103:5:111:5 | {...} | | Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:9:104:29 | ... ...; | -| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:17:104:17 | access to parameter b | +| Conditions.cs:104:13:104:13 | access to local variable x | Conditions.cs:104:13:104:13 | access to local variable x | +| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:13:104:13 | access to local variable x | | Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:17:104:17 | access to parameter b | | Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:17:104:17 | access to parameter b | | Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:105:9:106:20 | if (...) ... | @@ -1137,7 +1187,7 @@ | Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:13 | access to local variable x | | Conditions.cs:107:24:107:24 | 0 | Conditions.cs:107:24:107:24 | 0 | | Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:13:109:24 | if (...) ... | -| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:18:108:18 | access to parameter b | +| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:17:108:18 | !... | | Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | access to parameter b | | Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:17:109:17 | access to local variable x | | Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:109:17:109:17 | access to local variable x | @@ -1147,10 +1197,12 @@ | Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:16:110:16 | access to local variable x | | Conditions.cs:114:5:124:5 | {...} | Conditions.cs:114:5:124:5 | {...} | | Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:9:115:24 | ... ...; | -| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:115:20:115:23 | null | +| Conditions.cs:115:16:115:16 | access to local variable s | Conditions.cs:115:16:115:16 | access to local variable s | +| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:115:16:115:16 | access to local variable s | | Conditions.cs:115:20:115:23 | null | Conditions.cs:115:20:115:23 | null | | Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:9:123:9 | for (...;...;...) ... | -| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:22:116:22 | 0 | +| Conditions.cs:116:18:116:18 | access to local variable i | Conditions.cs:116:18:116:18 | access to local variable i | +| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:18:116:18 | access to local variable i | | Conditions.cs:116:22:116:22 | 0 | Conditions.cs:116:22:116:22 | 0 | | Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:25:116:25 | access to local variable i | | Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:25 | access to local variable i | @@ -1160,7 +1212,8 @@ | Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:116:42:116:42 | access to local variable i | | Conditions.cs:117:9:123:9 | {...} | Conditions.cs:117:9:123:9 | {...} | | Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:13:118:44 | ... ...; | -| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:24:118:24 | access to local variable i | +| Conditions.cs:118:17:118:20 | access to local variable last | Conditions.cs:118:17:118:20 | access to local variable last | +| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:17:118:20 | access to local variable last | | Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:24:118:24 | access to local variable i | | Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:24:118:24 | access to local variable i | | Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:29:118:32 | access to parameter args | @@ -1168,14 +1221,16 @@ | Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:29:118:32 | access to parameter args | | Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:43:118:43 | 1 | | Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:13:120:23 | if (...) ... | -| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:18:119:21 | access to local variable last | +| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:17:119:21 | !... | | Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | access to local variable last | -| Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:120:21:120:22 | "" | +| Conditions.cs:120:17:120:17 | access to local variable s | Conditions.cs:120:17:120:17 | access to local variable s | +| Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:120:17:120:17 | access to local variable s | | Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:23 | ...; | | Conditions.cs:120:21:120:22 | "" | Conditions.cs:120:21:120:22 | "" | | Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:13:122:25 | if (...) ... | | Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | access to local variable last | -| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:122:21:122:24 | null | +| Conditions.cs:122:17:122:17 | access to local variable s | Conditions.cs:122:17:122:17 | access to local variable s | +| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:122:17:122:17 | access to local variable s | | Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:25 | ...; | | Conditions.cs:122:21:122:24 | null | Conditions.cs:122:21:122:24 | null | | Conditions.cs:130:5:141:5 | {...} | Conditions.cs:130:5:141:5 | {...} | @@ -1196,9 +1251,10 @@ | Conditions.cs:137:21:137:38 | ...; | Conditions.cs:137:21:137:38 | ...; | | Conditions.cs:144:5:150:5 | {...} | Conditions.cs:144:5:150:5 | {...} | | Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:145:9:145:30 | ... ...; | -| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:17:145:17 | access to parameter b | +| Conditions.cs:145:13:145:13 | access to local variable s | Conditions.cs:145:13:145:13 | access to local variable s | +| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:13:145:13 | access to local variable s | | Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | access to parameter b | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:17 | access to parameter b | +| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:29 | ... ? ... : ... | | Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:21:145:23 | "a" | | Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:27:145:29 | "b" | | Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:146:9:149:49 | if (...) ... | @@ -1233,17 +1289,14 @@ | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:22:21:22:24 | true | | ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:9:22:26 | ...; | | ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:22:21:22:24 | true | -| ExitMethods.cs:23:9:23:15 | return ...; | ExitMethods.cs:23:9:23:15 | return ...; | | ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:27:5:30:5 | {...} | | ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:28:9:28:14 | this access | | ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:28:9:28:14 | this access | | ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:28:9:28:15 | ...; | -| ExitMethods.cs:29:9:29:15 | return ...; | ExitMethods.cs:29:9:29:15 | return ...; | | ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:33:5:36:5 | {...} | | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:34:9:34:25 | this access | | ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:34:9:34:25 | this access | | ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:34:9:34:26 | ...; | -| ExitMethods.cs:35:9:35:15 | return ...; | ExitMethods.cs:35:9:35:15 | return ...; | | ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:39:5:52:5 | {...} | | ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:40:9:51:9 | try {...} ... | | ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:41:9:43:9 | {...} | @@ -1259,11 +1312,9 @@ | ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:55:5:58:5 | {...} | | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | | ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:56:9:56:23 | ...; | -| ExitMethods.cs:57:9:57:15 | return ...; | ExitMethods.cs:57:9:57:15 | return ...; | | ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:61:5:64:5 | {...} | | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | | ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:62:9:62:23 | ...; | -| ExitMethods.cs:63:9:63:15 | return ...; | ExitMethods.cs:63:9:63:15 | return ...; | | ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:67:5:70:5 | {...} | | ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:68:9:69:34 | if (...) ... | | ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | access to parameter b | @@ -1300,10 +1351,10 @@ | ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:107:9:107:47 | call to method Exit | | ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:107:9:107:48 | ...; | | ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:111:5:113:5 | {...} | -| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:112:16:112:20 | access to parameter input | +| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | | ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:16:112:20 | access to parameter input | | ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:20 | access to parameter input | -| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:16:112:20 | access to parameter input | +| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | | ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:112:25:112:25 | 0 | | ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:25:112:25 | 0 | | ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | 1 | @@ -1314,10 +1365,10 @@ | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:69:112:75 | "input" | | ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:69:112:75 | "input" | | ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:116:5:118:5 | {...} | -| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:117:16:117:16 | access to parameter s | +| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | | ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:117:16:117:16 | access to parameter s | | ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:16 | access to parameter s | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:16 | access to parameter s | +| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | | ExitMethods.cs:117:27:117:29 | - | ExitMethods.cs:117:27:117:29 | - | | 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 | @@ -1325,16 +1376,10 @@ | 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:122:9:122:29 | ...; | | ExitMethods.cs:122:23:122:27 | false | ExitMethods.cs:122:23:122:27 | false | -| ExitMethods.cs:123:9:123:18 | ... ...; | ExitMethods.cs:123:9:123:18 | ... ...; | -| ExitMethods.cs:123:13:123:17 | Int32 x = ... | ExitMethods.cs:123:17:123:17 | 0 | -| ExitMethods.cs:123:17:123:17 | 0 | ExitMethods.cs:123:17:123:17 | 0 | | ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:127:5:130:5 | {...} | | 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:26 | this access | | ExitMethods.cs:128:9:128:27 | ...; | ExitMethods.cs:128:9:128:27 | ...; | -| ExitMethods.cs:129:9:129:18 | ... ...; | ExitMethods.cs:129:9:129:18 | ... ...; | -| ExitMethods.cs:129:13:129:17 | Int32 x = ... | ExitMethods.cs:129:17:129:17 | 0 | -| ExitMethods.cs:129:17:129:17 | 0 | ExitMethods.cs:129:17:129:17 | 0 | | 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:48:132:48 | access to parameter b | | ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:135:5:138:5 | {...} | @@ -1342,9 +1387,6 @@ | ExitMethods.cs:136:9:136:25 | this access | ExitMethods.cs:136:9:136:25 | this access | | ExitMethods.cs:136:9:136:26 | ...; | ExitMethods.cs:136:9:136:26 | ...; | | ExitMethods.cs:136:21:136:24 | true | ExitMethods.cs:136:21:136:24 | true | -| ExitMethods.cs:137:9:137:18 | ... ...; | ExitMethods.cs:137:9:137:18 | ... ...; | -| ExitMethods.cs:137:13:137:17 | Int32 x = ... | ExitMethods.cs:137:17:137:17 | 0 | -| ExitMethods.cs:137:17:137:17 | 0 | ExitMethods.cs:137:17:137:17 | 0 | | ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:141:5:147:5 | {...} | | ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:142:9:145:53 | if (...) ... | | ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | access to parameter b | @@ -1355,9 +1397,6 @@ | ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:145:43:145:43 | access to parameter e | | ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:53 | ...; | | ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:145:43:145:43 | access to parameter e | -| ExitMethods.cs:146:9:146:33 | call to method WriteLine | ExitMethods.cs:146:27:146:32 | "dead" | -| ExitMethods.cs:146:9:146:34 | ...; | ExitMethods.cs:146:9:146:34 | ...; | -| ExitMethods.cs:146:27:146:32 | "dead" | ExitMethods.cs:146:27:146:32 | "dead" | | Extensions.cs:6:5:8:5 | {...} | Extensions.cs:6:5:8:5 | {...} | | Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:7:28:7:28 | access to parameter s | | Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:28:7:28 | access to parameter s | @@ -1458,7 +1497,8 @@ | Finally.cs:70:31:70:39 | "Finally" | Finally.cs:70:31:70:39 | "Finally" | | Finally.cs:75:5:101:5 | {...} | Finally.cs:75:5:101:5 | {...} | | Finally.cs:76:9:76:19 | ... ...; | Finally.cs:76:9:76:19 | ... ...; | -| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:76:17:76:18 | 10 | +| Finally.cs:76:13:76:13 | access to local variable i | Finally.cs:76:13:76:13 | access to local variable i | +| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:76:13:76:13 | access to local variable i | | Finally.cs:76:17:76:18 | 10 | Finally.cs:76:17:76:18 | 10 | | Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:77:9:100:9 | while (...) ... | | Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:16:77:16 | access to local variable i | @@ -1515,7 +1555,7 @@ | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | | Finally.cs:113:9:118:9 | {...} | Finally.cs:113:9:118:9 | {...} | | Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:114:13:115:41 | if (...) ... | -| Finally.cs:114:17:114:36 | !... | Finally.cs:114:19:114:23 | this access | +| Finally.cs:114:17:114:36 | !... | Finally.cs:114:17:114:36 | !... | | Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:23 | this access | | Finally.cs:114:19:114:23 | this access | Finally.cs:114:19:114:23 | this access | | Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:19:114:23 | this access | @@ -1538,14 +1578,12 @@ | Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:123:9:130:9 | try {...} ... | | Finally.cs:124:9:126:9 | {...} | Finally.cs:124:9:126:9 | {...} | | Finally.cs:125:13:125:41 | ... ...; | Finally.cs:125:13:125:41 | ... ...; | -| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:24:125:24 | 0 | +| Finally.cs:125:17:125:20 | access to local variable temp | Finally.cs:125:17:125:20 | access to local variable temp | +| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:17:125:20 | access to local variable temp | | Finally.cs:125:24:125:24 | 0 | Finally.cs:125:24:125:24 | 0 | | Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:24:125:24 | 0 | | Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:24:125:24 | 0 | | Finally.cs:125:28:125:40 | access to constant E | Finally.cs:125:28:125:40 | access to constant E | -| Finally.cs:127:9:130:9 | catch {...} | Finally.cs:127:9:130:9 | catch {...} | -| Finally.cs:128:9:130:9 | {...} | Finally.cs:128:9:130:9 | {...} | -| Finally.cs:129:13:129:13 | ; | Finally.cs:129:13:129:13 | ; | | Finally.cs:134:5:145:5 | {...} | Finally.cs:134:5:145:5 | {...} | | Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:135:9:143:9 | try {...} ... | | Finally.cs:136:9:138:9 | {...} | Finally.cs:136:9:138:9 | {...} | @@ -1556,12 +1594,6 @@ | Finally.cs:141:13:141:44 | throw ...; | Finally.cs:141:41:141:42 | "" | | Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:41:141:42 | "" | | Finally.cs:141:41:141:42 | "" | Finally.cs:141:41:141:42 | "" | -| Finally.cs:142:13:142:37 | call to method WriteLine | Finally.cs:142:31:142:36 | "Dead" | -| Finally.cs:142:13:142:38 | ...; | Finally.cs:142:13:142:38 | ...; | -| Finally.cs:142:31:142:36 | "Dead" | Finally.cs:142:31:142:36 | "Dead" | -| Finally.cs:144:9:144:33 | call to method WriteLine | Finally.cs:144:27:144:32 | "Dead" | -| Finally.cs:144:9:144:34 | ...; | Finally.cs:144:9:144:34 | ...; | -| Finally.cs:144:27:144:32 | "Dead" | Finally.cs:144:27:144:32 | "Dead" | | Finally.cs:148:5:170:5 | {...} | Finally.cs:148:5:170:5 | {...} | | Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:149:9:169:9 | try {...} ... | | Finally.cs:150:9:153:9 | {...} | Finally.cs:150:9:153:9 | {...} | @@ -1728,39 +1760,39 @@ | Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | this access | | Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | {...} | | Foreach.cs:7:5:10:5 | {...} | Foreach.cs:7:5:10:5 | {...} | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | access to parameter args | +| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:22:8:24 | String arg | | Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:29:8:32 | access to parameter args | | Foreach.cs:9:13:9:13 | ; | Foreach.cs:9:13:9:13 | ; | | Foreach.cs:13:5:16:5 | {...} | Foreach.cs:13:5:16:5 | {...} | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | access to parameter args | +| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:22:14:22 | String _ | | Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:27:14:30 | access to parameter args | | Foreach.cs:15:13:15:13 | ; | Foreach.cs:15:13:15:13 | ; | | Foreach.cs:19:5:22:5 | {...} | Foreach.cs:19:5:22:5 | {...} | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:27:20:27 | access to parameter e | +| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:22:20:22 | String x | | Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | access to parameter e | | Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:27 | access to parameter e | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:27 | access to parameter e | +| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:68 | ... ?? ... | | Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | | Foreach.cs:21:11:21:11 | ; | Foreach.cs:21:11:21:11 | ; | | Foreach.cs:25:5:28:5 | {...} | Foreach.cs:25:5:28:5 | {...} | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | access to parameter args | +| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | | Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:26:23:26:23 | String x | | Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:23:26:23 | String x | | Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:26:30:26:30 | Int32 y | | Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:36:26:39 | access to parameter args | | Foreach.cs:27:11:27:11 | ; | Foreach.cs:27:11:27:11 | ; | | Foreach.cs:31:5:34:5 | {...} | Foreach.cs:31:5:34:5 | {...} | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | access to parameter args | +| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | | Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:32:23:32:23 | String x | | Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:23:32:23 | String x | | Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:32:26:32:26 | Int32 y | | Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:32:32:35 | access to parameter args | | Foreach.cs:33:11:33:11 | ; | Foreach.cs:33:11:33:11 | ; | | Foreach.cs:37:5:40:5 | {...} | Foreach.cs:37:5:40:5 | {...} | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | access to parameter args | +| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | | Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:38:26:38:26 | String x | | Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:26:38:26 | String x | | Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:38:33:38:33 | Int32 y | @@ -1789,23 +1821,28 @@ | Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:28:10:30 | {...} | | Initializers.cs:13:5:16:5 | {...} | Initializers.cs:13:5:16:5 | {...} | | Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:14:9:14:54 | ... ...; | -| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:34:14:35 | "" | +| Initializers.cs:14:13:14:13 | access to local variable i | Initializers.cs:14:13:14:13 | access to local variable i | +| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:13:14:13 | access to local variable i | | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:34:14:35 | "" | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:34:14:35 | "" | -| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:44:14:44 | 0 | -| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:44:14:44 | 0 | +| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:40:14:40 | access to field F | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:40:14:40 | access to field F | +| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:40:14:40 | access to field F | | Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:44:14:44 | 0 | -| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:51:14:51 | 1 | +| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:47 | access to property G | +| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:47:14:47 | access to property G | | Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:51:14:51 | 1 | | Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:15:9:15:64 | ... ...; | -| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:18:15:63 | 2 | +| Initializers.cs:15:13:15:14 | access to local variable iz | Initializers.cs:15:13:15:14 | access to local variable iz | +| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:13:15:14 | access to local variable iz | | Initializers.cs:15:18:15:63 | 2 | Initializers.cs:15:18:15:63 | 2 | -| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:18:15:63 | 2 | +| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:39:15:39 | access to local variable i | | Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:39:15:39 | access to local variable i | | Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:39:15:39 | access to local variable i | | Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:59:15:60 | "" | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:59:15:60 | "" | -| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:20:18:20 | 1 | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:16:18:16 | access to field H | +| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | access to field H | | Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:20:18:20 | 1 | | Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | call to constructor Object | | Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | this access | @@ -1860,7 +1897,8 @@ | Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | {...} | | Initializers.cs:52:5:66:5 | {...} | Initializers.cs:52:5:66:5 | {...} | | Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:9:54:96 | ... ...; | -| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:20:54:95 | object creation of type Dictionary | +| Initializers.cs:54:13:54:16 | access to local variable dict | Initializers.cs:54:13:54:16 | access to local variable dict | +| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:13:54:16 | access to local variable dict | | Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:20:54:95 | object creation of type Dictionary | | Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:53:54:53 | 0 | | Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:53:54:53 | 0 | @@ -1878,10 +1916,12 @@ | Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:84:54:84 | 2 | | Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:89:54:93 | "Two" | | Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:9:65:10 | ... ...; | -| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:57:24:65:9 | object creation of type Compound | +| Initializers.cs:57:13:57:20 | access to local variable compound | Initializers.cs:57:13:57:20 | access to local variable compound | +| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:57:13:57:20 | access to local variable compound | | Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:57:24:65:9 | object creation of type Compound | -| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:59:34:59:34 | 0 | -| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:34:59:34 | 0 | +| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:59:13:59:27 | access to field DictionaryField | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:13:59:27 | access to field DictionaryField | +| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:13:59:27 | access to field DictionaryField | | Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:34:59:34 | 0 | | Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:34:59:34 | 0 | | Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:34:59:34 | 0 | @@ -1897,7 +1937,8 @@ | Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:61:59:61 | access to parameter i | | Initializers.cs:59:65:59:65 | 2 | Initializers.cs:59:65:59:65 | 2 | | Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:70:59:74 | "Two" | -| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:37:60:37 | 3 | +| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | +| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | | Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:37:60:37 | 3 | | Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:37:60:37 | 3 | | Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:37:60:37 | 3 | @@ -1913,7 +1954,8 @@ | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:65:60:65 | access to parameter i | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:69:60:69 | 1 | | Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:74:60:78 | "One" | -| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:29:61:29 | 0 | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:13:61:22 | access to field ArrayField | +| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:13:61:22 | access to field ArrayField | | Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:29:61:29 | 0 | | Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:29:61:29 | 0 | | Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:29:61:29 | 0 | @@ -1925,7 +1967,8 @@ | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:43:61:43 | access to parameter i | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:47:61:47 | 1 | | Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:52:61:56 | "One" | -| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:30:62:30 | 0 | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:13:62:23 | access to field ArrayField2 | +| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:13:62:23 | access to field ArrayField2 | | Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:30:62:30 | 0 | | Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:30:62:30 | 0 | | Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:30:62:30 | 0 | @@ -1939,7 +1982,8 @@ | Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:47:62:47 | access to parameter i | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:51:62:51 | 0 | | Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:56:62:58 | "1" | -| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 | +| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:25 | access to property ArrayProperty | +| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:13:63:25 | access to property ArrayProperty | | Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:32:63:32 | 1 | | Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:32:63:32 | 1 | | Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:32:63:32 | 1 | @@ -1951,7 +1995,8 @@ | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:45:63:45 | access to parameter i | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:49:63:49 | 2 | | Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:54:63:58 | "Two" | -| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:33:64:33 | 0 | +| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | +| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | | Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:33:64:33 | 0 | | Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:33:64:33 | 0 | | Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:33:64:33 | 0 | @@ -1976,7 +2021,7 @@ | LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:16 | access to parameter args | | LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:9:28:9:28 | 0 | | LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | +| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:22:11:24 | String arg | | LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | access to parameter args | | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | @@ -1984,24 +2029,25 @@ | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | | LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:16:5:20:5 | {...} | | LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:17:9:17:48 | ... ...; | -| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:18:17:47 | 3 | +| LoopUnrolling.cs:17:13:17:14 | access to local variable xs | LoopUnrolling.cs:17:13:17:14 | access to local variable xs | +| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:13:17:14 | access to local variable xs | | LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:17:18:17:47 | 3 | -| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:18:17:47 | 3 | +| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:33:17:35 | "a" | | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:33:17:35 | "a" | | LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:17:33:17:35 | "a" | | LoopUnrolling.cs:17:38:17:40 | "b" | LoopUnrolling.cs:17:38:17:40 | "b" | | LoopUnrolling.cs:17:43:17:45 | "c" | LoopUnrolling.cs:17:43:17:45 | "c" | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | +| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:22:18:22 | String x | | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:19:31:19:31 | access to local variable x | | LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:19:13:19:33 | ...; | | LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:19:31:19:31 | access to local variable x | | LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:23:5:27:5 | {...} | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | access to parameter args | +| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | | LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:24:22:24:24 | Char arg | | LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:29:24:32 | access to parameter args | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | access to parameter args | +| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:26:25:29 | Char arg0 | | LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:34:25:37 | access to parameter args | | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | @@ -2009,10 +2055,11 @@ | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | | LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:30:5:34:5 | {...} | | LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:31:9:31:31 | ... ...; | -| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:29:31:29 | 0 | +| LoopUnrolling.cs:31:13:31:14 | access to local variable xs | LoopUnrolling.cs:31:13:31:14 | access to local variable xs | +| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:13:31:14 | access to local variable xs | | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:29:31:29 | 0 | | LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:31:29:31:29 | 0 | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | +| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:22:32:22 | String x | | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:33:31:33:31 | access to local variable x | @@ -2020,25 +2067,27 @@ | LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:33:31:33:31 | access to local variable x | | LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:37:5:43:5 | {...} | | LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:38:9:38:48 | ... ...; | -| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:18:38:47 | 3 | +| LoopUnrolling.cs:38:13:38:14 | access to local variable xs | LoopUnrolling.cs:38:13:38:14 | access to local variable xs | +| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:13:38:14 | access to local variable xs | | LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:38:18:38:47 | 3 | -| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:18:38:47 | 3 | +| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:33:38:35 | "a" | | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:33:38:35 | "a" | | LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:38:33:38:35 | "a" | | LoopUnrolling.cs:38:38:38:40 | "b" | LoopUnrolling.cs:38:38:38:40 | "b" | | LoopUnrolling.cs:38:43:38:45 | "c" | LoopUnrolling.cs:38:43:38:45 | "c" | | LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:39:9:39:48 | ... ...; | -| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:18:39:47 | 3 | +| LoopUnrolling.cs:39:13:39:14 | access to local variable ys | LoopUnrolling.cs:39:13:39:14 | access to local variable ys | +| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:13:39:14 | access to local variable ys | | LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:39:18:39:47 | 3 | -| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:18:39:47 | 3 | +| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:33:39:35 | "0" | | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:33:39:35 | "0" | | LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:39:33:39:35 | "0" | | LoopUnrolling.cs:39:38:39:40 | "1" | LoopUnrolling.cs:39:38:39:40 | "1" | | LoopUnrolling.cs:39:43:39:45 | "2" | LoopUnrolling.cs:39:43:39:45 | "2" | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | +| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | | LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:40:22:40:22 | String x | | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | +| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:26:41:26 | String y | | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:42:35:42:35 | access to local variable x | @@ -2048,14 +2097,15 @@ | LoopUnrolling.cs:42:39:42:39 | access to local variable y | LoopUnrolling.cs:42:39:42:39 | access to local variable y | | LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:46:5:53:5 | {...} | | LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:47:9:47:48 | ... ...; | -| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:18:47:47 | 3 | +| LoopUnrolling.cs:47:13:47:14 | access to local variable xs | LoopUnrolling.cs:47:13:47:14 | access to local variable xs | +| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:13:47:14 | access to local variable xs | | LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:47:18:47:47 | 3 | -| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:18:47:47 | 3 | +| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:33:47:35 | "a" | | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:33:47:35 | "a" | | LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:47:33:47:35 | "a" | | LoopUnrolling.cs:47:38:47:40 | "b" | LoopUnrolling.cs:47:38:47:40 | "b" | | LoopUnrolling.cs:47:43:47:45 | "c" | LoopUnrolling.cs:47:43:47:45 | "c" | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | +| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | | LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:48:22:48:22 | String x | | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | | LoopUnrolling.cs:49:9:52:9 | {...} | LoopUnrolling.cs:49:9:52:9 | {...} | @@ -2066,14 +2116,15 @@ | LoopUnrolling.cs:51:13:51:23 | goto ...; | LoopUnrolling.cs:51:13:51:23 | goto ...; | | LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:56:5:65:5 | {...} | | LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:57:9:57:48 | ... ...; | -| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:18:57:47 | 3 | +| LoopUnrolling.cs:57:13:57:14 | access to local variable xs | LoopUnrolling.cs:57:13:57:14 | access to local variable xs | +| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:13:57:14 | access to local variable xs | | LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:57:18:57:47 | 3 | -| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:18:57:47 | 3 | +| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:33:57:35 | "a" | | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:33:57:35 | "a" | | LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:57:33:57:35 | "a" | | LoopUnrolling.cs:57:38:57:40 | "b" | LoopUnrolling.cs:57:38:57:40 | "b" | | LoopUnrolling.cs:57:43:57:45 | "c" | LoopUnrolling.cs:57:43:57:45 | "c" | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | +| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:58:22:58:22 | String x | | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | | LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:59:9:64:9 | {...} | @@ -2089,14 +2140,14 @@ | LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:63:35:63:35 | access to local variable x | | LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:68:5:74:5 | {...} | | LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:69:9:70:19 | if (...) ... | -| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:14:69:17 | access to parameter args | +| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:13:69:23 | !... | | LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:69:14:69:17 | access to parameter args | | LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:17 | access to parameter args | | LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | | LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:71:9:71:12 | access to parameter args | | LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:71:9:71:12 | access to parameter args | | LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:21 | ...; | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | access to parameter args | +| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:22:72:24 | String arg | | LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:29:72:32 | access to parameter args | | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | @@ -2104,11 +2155,12 @@ | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | | LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:77:5:83:5 | {...} | | LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:78:9:78:34 | ... ...; | -| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:29:78:29 | 2 | +| LoopUnrolling.cs:78:13:78:14 | access to local variable xs | LoopUnrolling.cs:78:13:78:14 | access to local variable xs | +| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:13:78:14 | access to local variable xs | | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:29:78:29 | 2 | | LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:78:29:78:29 | 2 | | LoopUnrolling.cs:78:32:78:32 | 0 | LoopUnrolling.cs:78:32:78:32 | 0 | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | +| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:22:79:22 | String x | | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | | LoopUnrolling.cs:80:9:82:9 | {...} | LoopUnrolling.cs:80:9:82:9 | {...} | @@ -2117,11 +2169,12 @@ | LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:81:31:81:31 | access to local variable x | | LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:86:5:92:5 | {...} | | LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:87:9:87:34 | ... ...; | -| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:29:87:29 | 0 | +| LoopUnrolling.cs:87:13:87:14 | access to local variable xs | LoopUnrolling.cs:87:13:87:14 | access to local variable xs | +| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:13:87:14 | access to local variable xs | | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:29:87:29 | 0 | | LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:87:29:87:29 | 0 | | LoopUnrolling.cs:87:32:87:32 | 2 | LoopUnrolling.cs:87:32:87:32 | 2 | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | +| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:22:88:22 | String x | | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | | LoopUnrolling.cs:89:9:91:9 | {...} | LoopUnrolling.cs:89:9:91:9 | {...} | @@ -2130,11 +2183,12 @@ | LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:90:31:90:31 | access to local variable x | | LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:95:5:101:5 | {...} | | LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:96:9:96:34 | ... ...; | -| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:29:96:29 | 2 | +| LoopUnrolling.cs:96:13:96:14 | access to local variable xs | LoopUnrolling.cs:96:13:96:14 | access to local variable xs | +| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:13:96:14 | access to local variable xs | | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:29:96:29 | 2 | | LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:96:29:96:29 | 2 | | LoopUnrolling.cs:96:32:96:32 | 2 | LoopUnrolling.cs:96:32:96:32 | 2 | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | +| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:22:97:22 | String x | | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | | LoopUnrolling.cs:98:9:100:9 | {...} | LoopUnrolling.cs:98:9:100:9 | {...} | @@ -2164,7 +2218,6 @@ | MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:49:15:49 | access to parameter s | | MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:49:15:49 | access to parameter s | | MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:58:15:60 | {...} | -| MultiImplementationA.cs:16:28:16:28 | 0 | MultiImplementationA.cs:16:28:16:28 | 0 | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:17:5:19:5 | {...} | | MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:18:9:18:22 | M2(...) | | MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:21:18:21 | 0 | @@ -2222,7 +2275,6 @@ | MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationB.cs:13:48:13:51 | null | | MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationB.cs:13:48:13:51 | null | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationB.cs:13:60:13:62 | {...} | -| MultiImplementationB.cs:14:28:14:28 | 1 | MultiImplementationB.cs:14:28:14:28 | 1 | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:15:5:17:5 | {...} | | MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationB.cs:16:9:16:31 | M2(...) | | MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:27:16:30 | null | @@ -2259,51 +2311,54 @@ | NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | this access | | NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | {...} | | NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | access to parameter i | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:23 | access to parameter i | +| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:28 | ... ?? ... | | NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:28:3:28 | 0 | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:25:5:25 | access to parameter b | +| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | | NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | access to parameter b | -| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:25 | access to parameter b | +| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:34 | ... ?? ... | | NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | false | | NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:39:5:39 | 0 | | NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:43:5:43 | 1 | | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | +| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:53 | ... ?? ... | | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | +| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | | NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:52:7:53 | "" | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:37 | access to parameter b | +| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | | NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | access to parameter b | -| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:37 | access to parameter b | +| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | | NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | access to parameter s | | NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | access to parameter s | | NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | "" | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | +| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | | NullCoalescing.cs:9:57:9:58 | "" | NullCoalescing.cs:9:57:9:58 | "" | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | +| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | -| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | +| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:59 | ... ?? ... | | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | -| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | +| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:58 | ... && ... | | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | | NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:64:11:64 | 0 | | NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:68:11:68 | 1 | | NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:14:5:18:5 | {...} | | NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:9:15:32 | ... ...; | -| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:23:15:26 | null | +| NullCoalescing.cs:15:13:15:13 | access to local variable j | NullCoalescing.cs:15:13:15:13 | access to local variable j | +| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:13:15:13 | access to local variable j | | NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:23:15:26 | null | -| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:23:15:26 | null | +| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:17:15:31 | ... ?? ... | | NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:23:15:26 | null | | NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:31:15:31 | 0 | | NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:9:16:26 | ... ...; | -| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:17:16:18 | "" | +| NullCoalescing.cs:16:13:16:13 | access to local variable s | NullCoalescing.cs:16:13:16:13 | access to local variable s | +| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:13:16:13 | access to local variable s | | NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:18 | "" | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:18 | "" | +| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:25 | ... ?? ... | | NullCoalescing.cs:16:23:16:25 | "a" | NullCoalescing.cs:16:23:16:25 | "a" | -| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | +| NullCoalescing.cs:17:9:17:9 | access to local variable j | NullCoalescing.cs:17:9:17:9 | access to local variable j | +| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:9:17:9 | access to local variable j | | NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:9:17:25 | ...; | | NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | +| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | | NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:19:17:19 | access to parameter i | | NullCoalescing.cs:17:24:17:24 | 1 | NullCoalescing.cs:17:24:17:24 | 1 | | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | @@ -2328,7 +2383,8 @@ | Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | {...} | | Patterns.cs:6:5:43:5 | {...} | Patterns.cs:6:5:43:5 | {...} | | Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:9:7:24 | ... ...; | -| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:7:20:7:23 | null | +| Patterns.cs:7:16:7:16 | access to local variable o | Patterns.cs:7:16:7:16 | access to local variable o | +| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:7:16:7:16 | access to local variable o | | Patterns.cs:7:20:7:23 | null | Patterns.cs:7:20:7:23 | null | | Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:8:9:18:9 | if (...) ... | | Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:13:8:13 | access to local variable o | @@ -2408,7 +2464,7 @@ | Patterns.cs:48:18:48:20 | a | Patterns.cs:48:18:48:20 | a | | Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:9:51:9 | access to parameter c | | Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:9 | access to parameter c | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:9 | access to parameter c | +| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | | Patterns.cs:51:14:51:21 | not ... | Patterns.cs:51:18:51:21 | null | | Patterns.cs:51:18:51:21 | null | Patterns.cs:51:18:51:21 | null | | Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:25 | access to parameter c | @@ -2426,48 +2482,48 @@ | Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:54:33:54:33 | 1 | | Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:33:54:33 | 1 | | Patterns.cs:57:5:63:5 | {...} | Patterns.cs:57:5:63:5 | {...} | -| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:58:16:58:16 | access to parameter i | +| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:58:16:62:9 | ... switch { ... } | | Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:58:16:58:16 | access to parameter i | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:58:16 | access to parameter i | +| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:62:9 | ... switch { ... } | | Patterns.cs:60:13:60:17 | not ... | Patterns.cs:60:17:60:17 | 1 | -| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:17:60:17 | 1 | +| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:13:60:28 | ... => ... | | Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:17:60:17 | 1 | | Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:22:60:28 | "not 1" | | Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:13:61:13 | _ | -| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:61:13:61:13 | _ | +| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:61:13:61:24 | ... => ... | | Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:18:61:24 | "other" | | Patterns.cs:66:5:72:5 | {...} | Patterns.cs:66:5:72:5 | {...} | -| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:67:16:67:16 | 2 | +| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:67:16:71:9 | ... switch { ... } | | Patterns.cs:67:16:67:16 | 2 | Patterns.cs:67:16:67:16 | 2 | -| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:16:67:16 | 2 | +| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:16:71:9 | ... switch { ... } | | Patterns.cs:69:13:69:17 | not ... | Patterns.cs:69:17:69:17 | 2 | -| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:17:69:17 | 2 | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:13:69:33 | ... => ... | | Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:17:69:17 | 2 | | Patterns.cs:69:22:69:33 | "impossible" | Patterns.cs:69:22:69:33 | "impossible" | | Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:13:70:13 | 2 | -| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:13 | 2 | +| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:27 | ... => ... | | Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:18:70:27 | "possible" | | Patterns.cs:75:5:83:5 | {...} | Patterns.cs:75:5:83:5 | {...} | -| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:76:16:76:16 | access to parameter i | +| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:76:16:82:9 | ... switch { ... } | | Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:76:16:76:16 | access to parameter i | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:76:16 | access to parameter i | +| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:82:9 | ... switch { ... } | | Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:15:78:15 | 1 | -| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:15:78:15 | 1 | +| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:13:78:24 | ... => ... | | Patterns.cs:78:15:78:15 | 1 | Patterns.cs:78:15:78:15 | 1 | | Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:20:78:24 | "> 1" | | Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:15:79:15 | 0 | -| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:15:79:15 | 0 | +| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:13:79:24 | ... => ... | | Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:15:79:15 | 0 | | Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:20:79:24 | "< 0" | | Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:13 | 1 | -| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:13 | 1 | +| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:20 | ... => ... | | Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:18:80:20 | "1" | | Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:13:81:13 | _ | -| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:81:13:81:13 | _ | +| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:81:13:81:20 | ... => ... | | Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:18:81:20 | "0" | | Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:39:85:39 | access to parameter i | | Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:39 | access to parameter i | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:39 | access to parameter i | +| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:69 | ... ? ... : ... | | Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:44:85:44 | 1 | | Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:44:85:44 | 1 | | Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:53:85:53 | 2 | @@ -2476,7 +2532,7 @@ | Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:67:85:69 | "2" | | Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:39:87:39 | access to parameter i | | Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:39 | access to parameter i | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:39 | access to parameter i | +| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:70 | ... ? ... : ... | | Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:44:87:44 | 1 | | Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:44:87:44 | 1 | | Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:54:87:54 | 2 | @@ -2521,7 +2577,6 @@ | PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:20:45:20:53 | nameof(...) | | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:45:20:53 | nameof(...) | | PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:45:20:53 | nameof(...) | -| PostDominance.cs:20:52:20:52 | access to parameter s | PostDominance.cs:20:52:20:52 | access to parameter s | | PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:21:27:21:27 | access to parameter s | | PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:9:21:29 | ...; | | PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:21:27:21:27 | access to parameter s | @@ -2533,56 +2588,71 @@ | Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:41:8:44 | null | | Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:11:5:31:5 | {...} | | Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:9:12:22 | ... ...; | -| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:17:12:21 | this access | +| Qualifiers.cs:12:13:12:13 | access to local variable q | Qualifiers.cs:12:13:12:13 | access to local variable q | +| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:13:12:13 | access to local variable q | | Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:17:12:21 | this access | | Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:17:12:21 | this access | -| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:13:13:20 | this access | +| Qualifiers.cs:13:9:13:9 | access to local variable q | Qualifiers.cs:13:9:13:9 | access to local variable q | +| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:9:13:9 | access to local variable q | | Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:9:13:21 | ...; | | Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:13:13:20 | this access | | Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:13:13:20 | this access | -| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:13:14:20 | this access | +| Qualifiers.cs:14:9:14:9 | access to local variable q | Qualifiers.cs:14:9:14:9 | access to local variable q | +| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:9:14:9 | access to local variable q | | Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:9:14:21 | ...; | | Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:13:14:20 | this access | | Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:13:14:20 | this access | -| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:13:16:16 | this access | +| Qualifiers.cs:16:9:16:9 | access to local variable q | Qualifiers.cs:16:9:16:9 | access to local variable q | +| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:9:16:9 | access to local variable q | | Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:9:16:23 | ...; | | Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:13:16:16 | this access | | Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:13:16:16 | this access | -| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:13:17:16 | this access | +| Qualifiers.cs:17:9:17:9 | access to local variable q | Qualifiers.cs:17:9:17:9 | access to local variable q | +| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:9:17:9 | access to local variable q | | Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:9:17:26 | ...; | | Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:13:17:16 | this access | | Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:13:17:16 | this access | -| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:13:18:16 | this access | +| Qualifiers.cs:18:9:18:9 | access to local variable q | Qualifiers.cs:18:9:18:9 | access to local variable q | +| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:9:18:9 | access to local variable q | | Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:9:18:26 | ...; | | Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:13:18:16 | this access | | Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:13:18:16 | this access | -| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:20:13:20:23 | access to field StaticField | +| Qualifiers.cs:20:9:20:9 | access to local variable q | Qualifiers.cs:20:9:20:9 | access to local variable q | +| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:20:9:20:9 | access to local variable q | | Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:9:20:24 | ...; | | Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:13:20:23 | access to field StaticField | -| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | +| Qualifiers.cs:21:9:21:9 | access to local variable q | Qualifiers.cs:21:9:21:9 | access to local variable q | +| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:9:21:9 | access to local variable q | | Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:9:21:27 | ...; | | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | -| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | +| Qualifiers.cs:22:9:22:9 | access to local variable q | Qualifiers.cs:22:9:22:9 | access to local variable q | +| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:9:22:9 | access to local variable q | | Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:9:22:27 | ...; | | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | -| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:24:13:24:34 | access to field StaticField | +| Qualifiers.cs:24:9:24:9 | access to local variable q | Qualifiers.cs:24:9:24:9 | access to local variable q | +| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:24:9:24:9 | access to local variable q | | Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:9:24:35 | ...; | | Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:13:24:34 | access to field StaticField | -| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | +| Qualifiers.cs:25:9:25:9 | access to local variable q | Qualifiers.cs:25:9:25:9 | access to local variable q | +| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:9:25:9 | access to local variable q | | Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:9:25:38 | ...; | | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | -| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | +| Qualifiers.cs:26:9:26:9 | access to local variable q | Qualifiers.cs:26:9:26:9 | access to local variable q | +| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:9:26:9 | access to local variable q | | Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:9:26:38 | ...; | | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | -| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:13:28:34 | access to field StaticField | +| Qualifiers.cs:28:9:28:9 | access to local variable q | Qualifiers.cs:28:9:28:9 | access to local variable q | +| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:9:28:9 | access to local variable q | | Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:9:28:41 | ...; | | Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:13:28:34 | access to field StaticField | | Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:13:28:34 | access to field StaticField | -| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | +| Qualifiers.cs:29:9:29:9 | access to local variable q | Qualifiers.cs:29:9:29:9 | access to local variable q | +| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:9:29:9 | access to local variable q | | Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:9:29:47 | ...; | | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | | Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | -| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | +| Qualifiers.cs:30:9:30:9 | access to local variable q | Qualifiers.cs:30:9:30:9 | access to local variable q | +| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:9:30:9 | access to local variable q | | Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:9:30:47 | ...; | | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | | Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | @@ -2620,7 +2690,7 @@ | Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:32 | access to local variable s | | Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:32:24:32 | access to local variable s | | Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:32 | access to local variable s | -| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:32 | access to local variable s | +| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:55 | ... && ... | | Switch.cs:24:43:24:43 | 0 | Switch.cs:24:43:24:43 | 0 | | Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:48:24:48 | access to local variable s | | Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:48 | access to local variable s | @@ -2639,8 +2709,6 @@ | Switch.cs:36:5:42:5 | {...} | Switch.cs:36:5:42:5 | {...} | | Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:9:41:9 | switch (...) {...} | | Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:37:17:37:23 | call to method Throw | -| Switch.cs:39:13:39:20 | default: | Switch.cs:39:13:39:20 | default: | -| Switch.cs:40:17:40:23 | return ...; | Switch.cs:40:17:40:23 | return ...; | | Switch.cs:45:5:53:5 | {...} | Switch.cs:45:5:53:5 | {...} | | Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:46:9:52:9 | switch (...) {...} | | Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:46:17:46:17 | access to parameter o | @@ -2742,24 +2810,24 @@ | Switch.cs:124:5:127:5 | {...} | Switch.cs:124:5:127:5 | {...} | | Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:9:126:19 | if (...) ... | | Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:13:125:13 | access to parameter o | -| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:13 | access to parameter o | +| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:48 | ... switch { ... } | | Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:24:125:29 | Boolean b | -| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:29 | Boolean b | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | ... => ... | | Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:34:125:34 | access to local variable b | | Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:37 | _ | -| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:37 | _ | +| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:46 | ... => ... | | Switch.cs:125:42:125:46 | false | Switch.cs:125:42:125:46 | false | | Switch.cs:126:13:126:19 | return ...; | Switch.cs:126:13:126:19 | return ...; | | Switch.cs:130:5:132:5 | {...} | Switch.cs:130:5:132:5 | {...} | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:17:131:17 | access to parameter o | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:17:131:17 | access to parameter o | +| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:17:131:53 | ... switch { ... } | +| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:17:131:53 | ... switch { ... } | | Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:17:131:17 | access to parameter o | -| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:17 | access to parameter o | +| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:53 | ... switch { ... } | | Switch.cs:131:28:131:35 | String s | Switch.cs:131:28:131:35 | String s | -| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:35 | String s | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | ... => ... | | Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:40:131:40 | access to local variable s | | Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:43 | _ | -| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:43 | _ | +| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:51 | ... => ... | | Switch.cs:131:48:131:51 | null | Switch.cs:131:48:131:51 | null | | Switch.cs:135:5:142:5 | {...} | Switch.cs:135:5:142:5 | {...} | | Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:136:9:141:9 | switch (...) {...} | @@ -2793,14 +2861,15 @@ | Switch.cs:150:28:150:28 | 2 | Switch.cs:150:28:150:28 | 2 | | Switch.cs:155:5:161:5 | {...} | Switch.cs:155:5:161:5 | {...} | | Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:9:156:55 | ... ...; | -| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:17:156:17 | access to parameter b | +| Switch.cs:156:13:156:13 | access to local variable s | Switch.cs:156:13:156:13 | access to local variable s | +| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:13:156:13 | access to local variable s | | Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:17:156:17 | access to parameter b | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:17 | access to parameter b | +| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:54 | ... switch { ... } | | Switch.cs:156:28:156:31 | true | Switch.cs:156:28:156:31 | true | -| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:31 | true | +| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:38 | ... => ... | | Switch.cs:156:36:156:38 | "a" | Switch.cs:156:36:156:38 | "a" | | Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:45 | false | -| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:45 | false | +| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:52 | ... => ... | | Switch.cs:156:50:156:52 | "b" | Switch.cs:156:50:156:52 | "b" | | Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:157:9:160:49 | if (...) ... | | Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | access to parameter b | @@ -2844,10 +2913,12 @@ | TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | {...} | | TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:4:5:9:5 | {...} | | TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:9:5:26 | ... ...; | -| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:25:5:25 | access to parameter o | +| TypeAccesses.cs:5:13:5:13 | access to local variable s | TypeAccesses.cs:5:13:5:13 | access to local variable s | +| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:13:5:13 | access to local variable s | | TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:25:5:25 | access to parameter o | | TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:25:5:25 | access to parameter o | -| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:13:6:13 | access to parameter o | +| TypeAccesses.cs:6:9:6:9 | access to local variable s | TypeAccesses.cs:6:9:6:9 | access to local variable s | +| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:9:6:9 | access to local variable s | | TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:9:6:24 | ...; | | TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:13:6:13 | access to parameter o | | TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:13:6:13 | access to parameter o | @@ -2857,7 +2928,8 @@ | TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:18:7:22 | Int32 j | | TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:25:7:25 | ; | | TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:9:8:28 | ... ...; | -| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:8:17:8:27 | typeof(...) | +| TypeAccesses.cs:8:13:8:13 | access to local variable t | TypeAccesses.cs:8:13:8:13 | access to local variable t | +| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:8:13:8:13 | access to local variable t | | TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:17:8:27 | typeof(...) | | VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | call to constructor Object | | VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | this access | @@ -2865,12 +2937,14 @@ | VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | {...} | | VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:6:5:11:5 | {...} | | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | -| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:27:7:33 | access to parameter strings | +| VarDecls.cs:7:22:7:23 | access to local variable c1 | VarDecls.cs:7:22:7:23 | access to local variable c1 | +| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:22:7:23 | access to local variable c1 | | VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:27:7:33 | access to parameter strings | | VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:27:7:33 | access to parameter strings | | VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:27:7:33 | access to parameter strings | | VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:7:35:7:35 | 0 | -| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:44:7:50 | access to parameter strings | +| VarDecls.cs:7:39:7:40 | access to local variable c2 | VarDecls.cs:7:39:7:40 | access to local variable c2 | +| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:39:7:40 | access to local variable c2 | | VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:44:7:50 | access to parameter strings | | VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:44:7:50 | access to parameter strings | | VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:44:7:50 | access to parameter strings | @@ -2881,9 +2955,11 @@ | VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:9:27:9:28 | access to local variable c1 | | VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:14:5:17:5 | {...} | | VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:9:15:30 | ... ...; | -| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:21:15:21 | access to parameter s | +| VarDecls.cs:15:16:15:17 | access to local variable s1 | VarDecls.cs:15:16:15:17 | access to local variable s1 | +| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:16:15:17 | access to local variable s1 | | VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:21:15:21 | access to parameter s | -| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:15:29:15:29 | access to parameter s | +| VarDecls.cs:15:24:15:25 | access to local variable s2 | VarDecls.cs:15:24:15:25 | access to local variable s2 | +| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:15:24:15:25 | access to local variable s2 | | VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:29:15:29 | access to parameter s | | VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:16:16:16:17 | access to local variable s1 | | VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:16:16:16:17 | access to local variable s1 | @@ -2894,13 +2970,15 @@ | VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:21:16:21:22 | object creation of type C | | VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:22:13:22:13 | ; | | VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:24:9:25:29 | using (...) {...} | -| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:22:24:28 | object creation of type C | +| VarDecls.cs:24:18:24:18 | access to local variable x | VarDecls.cs:24:18:24:18 | access to local variable x | +| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:18:24:18 | access to local variable x | | VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:22:24:28 | object creation of type C | -| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:35:24:41 | object creation of type C | +| VarDecls.cs:24:31:24:31 | access to local variable y | VarDecls.cs:24:31:24:31 | access to local variable y | +| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:31:24:31 | access to local variable y | | VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:35:24:41 | object creation of type C | -| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:25:20:25:20 | access to parameter b | +| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:25:20:25:28 | ... ? ... : ... | | VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | access to parameter b | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:20 | access to parameter b | +| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:28 | ... ? ... : ... | | VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:24:25:24 | access to local variable x | | VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:28:25:28 | access to local variable y | | VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | call to constructor Object | @@ -2910,10 +2988,12 @@ | VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:51:28:53 | {...} | | cflow.cs:6:5:35:5 | {...} | cflow.cs:6:5:35:5 | {...} | | cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:9:7:28 | ... ...; | -| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:17:7:20 | access to parameter args | +| cflow.cs:7:13:7:13 | access to local variable a | cflow.cs:7:13:7:13 | access to local variable a | +| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:13:7:13 | access to local variable a | | cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:17:7:20 | access to parameter args | | cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:17:7:20 | access to parameter args | -| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:13:9:29 | object creation of type ControlFlow | +| cflow.cs:9:9:9:9 | access to local variable a | cflow.cs:9:9:9:9 | access to local variable a | +| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:9:9:9 | access to local variable a | | cflow.cs:9:9:9:40 | ...; | cflow.cs:9:9:9:40 | ...; | | cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:13:9:29 | object creation of type ControlFlow | | cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:13:9:29 | object creation of type ControlFlow | @@ -2947,7 +3027,8 @@ | cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:18 | access to local variable a | | cflow.cs:22:22:22:23 | 10 | cflow.cs:22:22:22:23 | 10 | | cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | -| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:22:24:22 | 1 | +| cflow.cs:24:18:24:18 | access to local variable i | cflow.cs:24:18:24:18 | access to local variable i | +| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:18:24:18 | access to local variable i | | cflow.cs:24:22:24:22 | 1 | cflow.cs:24:22:24:22 | 1 | | cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:25:24:25 | access to local variable i | | cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:25 | access to local variable i | @@ -2959,7 +3040,7 @@ | cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:17:26:17 | access to local variable i | | cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:17:26:17 | access to local variable i | | cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:17 | access to local variable i | -| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:17 | access to local variable i | +| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:40 | ... && ... | | cflow.cs:26:21:26:21 | 3 | cflow.cs:26:21:26:21 | 3 | | cflow.cs:26:26:26:26 | 0 | cflow.cs:26:26:26:26 | 0 | | cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | @@ -3034,7 +3115,7 @@ | cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:13:62:19 | case ...: | | cflow.cs:62:18:62:18 | 0 | cflow.cs:62:18:62:18 | 0 | | cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:17:64:55 | if (...) ... | -| cflow.cs:63:21:63:34 | !... | cflow.cs:63:23:63:27 | this access | +| cflow.cs:63:21:63:34 | !... | cflow.cs:63:21:63:34 | !... | | cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:23:63:27 | this access | | cflow.cs:63:23:63:27 | this access | cflow.cs:63:23:63:27 | this access | | cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:27 | this access | @@ -3067,7 +3148,7 @@ | cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:9:87:33 | if (...) ... | | cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:13:86:13 | access to parameter s | | cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:13 | access to parameter s | -| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:13 | access to parameter s | +| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:37 | ... && ... | | cflow.cs:86:18:86:21 | null | cflow.cs:86:18:86:21 | null | | cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:26 | access to parameter s | | cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:26:86:26 | access to parameter s | @@ -3126,17 +3207,16 @@ | cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:112:35:112:35 | access to parameter s | | cflow.cs:112:17:112:37 | ...; | cflow.cs:112:17:112:37 | ...; | | cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:35:112:35 | access to parameter s | -| cflow.cs:114:13:114:32 | call to method WriteLine | cflow.cs:114:31:114:31 | access to parameter s | -| cflow.cs:114:13:114:33 | ...; | cflow.cs:114:13:114:33 | ...; | -| cflow.cs:114:31:114:31 | access to parameter s | cflow.cs:114:31:114:31 | access to parameter s | | cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:116:27:116:27 | access to parameter s | | cflow.cs:116:9:116:29 | ...; | cflow.cs:116:9:116:29 | ...; | | cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:27:116:27 | access to parameter s | | cflow.cs:120:5:124:5 | {...} | cflow.cs:120:5:124:5 | {...} | | cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:9:121:18 | ... ...; | -| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:121:17:121:17 | access to parameter s | +| cflow.cs:121:13:121:13 | access to local variable x | cflow.cs:121:13:121:13 | access to local variable x | +| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:121:13:121:13 | access to local variable x | | cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:17:121:17 | access to parameter s | -| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:13:122:13 | access to local variable x | +| cflow.cs:122:9:122:9 | access to local variable x | cflow.cs:122:9:122:9 | access to local variable x | +| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:9:122:9 | access to local variable x | | cflow.cs:122:9:122:20 | ...; | cflow.cs:122:9:122:20 | ...; | | cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:13:122:13 | access to local variable x | | cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:13:122:13 | access to local variable x | @@ -3144,11 +3224,11 @@ | cflow.cs:123:9:123:17 | return ...; | cflow.cs:123:16:123:16 | access to local variable x | | cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:123:16:123:16 | access to local variable x | | cflow.cs:127:23:127:60 | {...} | cflow.cs:127:23:127:60 | {...} | -| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:32:127:36 | this access | +| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:32:127:57 | ... ? ... : ... | | cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:32:127:36 | this access | | cflow.cs:127:32:127:36 | this access | cflow.cs:127:32:127:36 | this access | | cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:36 | this access | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:36 | this access | +| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:57 | ... ? ... : ... | | cflow.cs:127:41:127:44 | null | cflow.cs:127:41:127:44 | null | | cflow.cs:127:48:127:49 | "" | cflow.cs:127:48:127:49 | "" | | cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:53:127:57 | this access | @@ -3194,7 +3274,8 @@ | cflow.cs:144:60:144:62 | {...} | cflow.cs:144:60:144:62 | {...} | | cflow.cs:147:5:177:5 | {...} | cflow.cs:147:5:177:5 | {...} | | cflow.cs:148:9:148:18 | ... ...; | cflow.cs:148:9:148:18 | ... ...; | -| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:148:17:148:17 | 0 | +| cflow.cs:148:13:148:13 | access to local variable x | cflow.cs:148:13:148:13 | access to local variable x | +| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:148:13:148:13 | access to local variable x | | cflow.cs:148:17:148:17 | 0 | cflow.cs:148:17:148:17 | 0 | | cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:149:9:150:33 | for (...;...;...) ... | | cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:16:149:16 | access to local variable x | @@ -3242,9 +3323,11 @@ | cflow.cs:170:13:170:15 | ...++ | cflow.cs:170:13:170:13 | access to local variable x | | cflow.cs:170:13:170:16 | ...; | cflow.cs:170:13:170:16 | ...; | | cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | -| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:22:173:22 | 0 | +| cflow.cs:173:18:173:18 | access to local variable i | cflow.cs:173:18:173:18 | access to local variable i | +| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:18:173:18 | access to local variable i | | cflow.cs:173:22:173:22 | 0 | cflow.cs:173:22:173:22 | 0 | -| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:29:173:29 | 0 | +| cflow.cs:173:25:173:25 | access to local variable j | cflow.cs:173:25:173:25 | access to local variable j | +| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:25:173:25 | access to local variable j | | cflow.cs:173:29:173:29 | 0 | cflow.cs:173:29:173:29 | 0 | | cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:32:173:32 | access to local variable i | | cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:32:173:32 | access to local variable i | @@ -3263,13 +3346,15 @@ | cflow.cs:175:35:175:35 | access to local variable j | cflow.cs:175:35:175:35 | access to local variable j | | cflow.cs:180:5:183:5 | {...} | cflow.cs:180:5:183:5 | {...} | | cflow.cs:181:9:181:38 | ... ...; | cflow.cs:181:9:181:38 | ... ...; | -| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:181:28:181:37 | (...) => ... | +| cflow.cs:181:24:181:24 | access to local variable y | cflow.cs:181:24:181:24 | access to local variable y | +| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:181:24:181:24 | access to local variable y | | cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:28:181:37 | (...) => ... | | cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:33:181:33 | access to parameter x | | cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:33:181:33 | access to parameter x | | cflow.cs:181:37:181:37 | 1 | cflow.cs:181:37:181:37 | 1 | | cflow.cs:182:9:182:62 | ... ...; | cflow.cs:182:9:182:62 | ... ...; | -| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:182:28:182:61 | delegate(...) { ... } | +| cflow.cs:182:24:182:24 | access to local variable z | cflow.cs:182:24:182:24 | access to local variable z | +| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:182:24:182:24 | access to local variable z | | cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:28:182:61 | delegate(...) { ... } | | cflow.cs:182:45:182:61 | {...} | cflow.cs:182:45:182:61 | {...} | | cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:54:182:54 | access to parameter x | @@ -3280,15 +3365,15 @@ | cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:187:9:190:52 | if (...) ... | | cflow.cs:187:13:187:13 | 1 | cflow.cs:187:13:187:13 | 1 | | cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:13 | 1 | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:13 | 1 | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:13 | 1 | +| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | +| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | | cflow.cs:187:18:187:18 | 2 | cflow.cs:187:18:187:18 | 2 | | cflow.cs:187:23:187:23 | 2 | cflow.cs:187:23:187:23 | 2 | | cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:23 | 2 | | cflow.cs:187:28:187:28 | 3 | cflow.cs:187:28:187:28 | 3 | | cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:34 | 1 | | cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:34 | 1 | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:34 | 1 | +| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:49 | ... && ... | | cflow.cs:187:39:187:39 | 3 | cflow.cs:187:39:187:39 | 3 | | cflow.cs:187:44:187:44 | 3 | cflow.cs:187:44:187:44 | 3 | | cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:44 | 3 | @@ -3301,54 +3386,56 @@ | cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:190:31:190:50 | "This should happen" | | cflow.cs:194:5:206:5 | {...} | cflow.cs:194:5:206:5 | {...} | | cflow.cs:195:9:195:57 | ... ...; | cflow.cs:195:9:195:57 | ... ...; | -| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:17:195:21 | this access | +| cflow.cs:195:13:195:13 | access to local variable b | cflow.cs:195:13:195:13 | access to local variable b | +| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:13:195:13 | access to local variable b | | cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:21 | this access | | cflow.cs:195:17:195:21 | this access | cflow.cs:195:17:195:21 | this access | | cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:17:195:21 | this access | | cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:21 | this access | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:21 | this access | +| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:56 | ... && ... | | cflow.cs:195:32:195:32 | 0 | cflow.cs:195:32:195:32 | 0 | -| cflow.cs:195:37:195:56 | !... | cflow.cs:195:39:195:43 | this access | +| cflow.cs:195:37:195:56 | !... | cflow.cs:195:37:195:56 | !... | | cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:43 | this access | | cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | this access | | cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:39:195:43 | this access | | cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:39:195:43 | this access | | cflow.cs:195:55:195:55 | 1 | cflow.cs:195:55:195:55 | 1 | | cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:197:9:198:49 | if (...) ... | -| cflow.cs:197:13:197:47 | !... | cflow.cs:197:15:197:19 | this access | +| cflow.cs:197:13:197:47 | !... | cflow.cs:197:13:197:47 | !... | | cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:19 | this access | | cflow.cs:197:15:197:19 | this access | cflow.cs:197:15:197:19 | this access | | cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:15:197:19 | this access | | cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:19 | this access | -| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:15:197:19 | this access | +| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:15:197:46 | ... ? ... : ... | | cflow.cs:197:31:197:31 | 0 | cflow.cs:197:31:197:31 | 0 | | cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | false | | cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | true | -| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:17:198:21 | this access | +| cflow.cs:198:13:198:13 | access to local variable b | cflow.cs:198:13:198:13 | access to local variable b | +| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:13:198:13 | access to local variable b | | cflow.cs:198:13:198:49 | ...; | cflow.cs:198:13:198:49 | ...; | | cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:21 | this access | | cflow.cs:198:17:198:21 | this access | cflow.cs:198:17:198:21 | this access | | cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:17:198:21 | this access | | cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:21 | this access | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:21 | this access | +| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:48 | ... ? ... : ... | | cflow.cs:198:33:198:33 | 0 | cflow.cs:198:33:198:33 | 0 | | cflow.cs:198:37:198:41 | false | cflow.cs:198:37:198:41 | false | | cflow.cs:198:45:198:48 | true | cflow.cs:198:45:198:48 | true | | cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:9:205:9 | if (...) ... | -| cflow.cs:200:13:200:32 | !... | cflow.cs:200:15:200:19 | this access | -| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:15:200:19 | this access | +| cflow.cs:200:13:200:32 | !... | cflow.cs:200:13:200:32 | !... | +| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:13:200:62 | ... \|\| ... | | cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:19 | this access | | cflow.cs:200:15:200:19 | this access | cflow.cs:200:15:200:19 | this access | | cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:15:200:19 | this access | | cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:19 | this access | | cflow.cs:200:31:200:31 | 0 | cflow.cs:200:31:200:31 | 0 | -| cflow.cs:200:37:200:62 | !... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:38:200:62 | !... | cflow.cs:200:40:200:44 | this access | +| cflow.cs:200:37:200:62 | !... | cflow.cs:200:37:200:62 | !... | +| cflow.cs:200:38:200:62 | !... | cflow.cs:200:38:200:62 | !... | | cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:44 | this access | | cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | this access | | cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:40:200:44 | this access | | cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:44 | this access | -| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:40:200:44 | this access | +| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:40:200:61 | ... && ... | | cflow.cs:200:56:200:56 | 1 | cflow.cs:200:56:200:56 | 1 | | cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | access to local variable b | | cflow.cs:201:9:205:9 | {...} | cflow.cs:201:9:205:9 | {...} | @@ -3385,7 +3472,7 @@ | cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:22 | this access | | cflow.cs:221:33:221:34 | 10 | cflow.cs:221:33:221:34 | 10 | | cflow.cs:225:5:238:5 | {...} | cflow.cs:225:5:238:5 | {...} | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:57:226:59 | "a" | +| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | | cflow.cs:226:22:226:22 | String x | cflow.cs:226:22:226:22 | String x | | cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:57:226:59 | "a" | | cflow.cs:226:57:226:59 | "a" | cflow.cs:226:57:226:59 | "a" | @@ -3415,8 +3502,8 @@ | cflow.cs:241:5:259:5 | {...} | cflow.cs:241:5:259:5 | {...} | | cflow.cs:242:5:242:9 | Label: | cflow.cs:242:5:242:9 | Label: | | cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:12:242:41 | if (...) ... | -| cflow.cs:242:16:242:36 | !... | cflow.cs:242:19:242:23 | this access | -| cflow.cs:242:17:242:36 | !... | cflow.cs:242:19:242:23 | this access | +| cflow.cs:242:16:242:36 | !... | cflow.cs:242:16:242:36 | !... | +| cflow.cs:242:17:242:36 | !... | cflow.cs:242:17:242:36 | !... | | cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:23 | this access | | cflow.cs:242:19:242:23 | this access | cflow.cs:242:19:242:23 | this access | | cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:19:242:23 | this access | @@ -3457,7 +3544,8 @@ | cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:263:22:263:22 | 0 | | cflow.cs:263:22:263:22 | 0 | cflow.cs:263:22:263:22 | 0 | | cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:264:9:267:9 | for (...;...;...) ... | -| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:22:264:22 | 1 | +| cflow.cs:264:18:264:18 | access to local variable i | cflow.cs:264:18:264:18 | access to local variable i | +| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:18:264:18 | access to local variable i | | cflow.cs:264:22:264:22 | 1 | cflow.cs:264:22:264:22 | 1 | | cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:25:264:25 | access to local variable i | | cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:25 | access to local variable i | @@ -3470,9 +3558,6 @@ | cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:268:9:276:9 | try {...} ... | | cflow.cs:269:9:272:9 | {...} | cflow.cs:269:9:272:9 | {...} | | cflow.cs:270:13:270:24 | yield break; | cflow.cs:270:13:270:24 | yield break; | -| cflow.cs:271:13:271:42 | call to method WriteLine | cflow.cs:271:31:271:41 | "dead code" | -| cflow.cs:271:13:271:43 | ...; | cflow.cs:271:13:271:43 | ...; | -| cflow.cs:271:31:271:41 | "dead code" | cflow.cs:271:31:271:41 | "dead code" | | cflow.cs:274:9:276:9 | {...} | cflow.cs:274:9:276:9 | {...} | | cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:275:31:275:40 | "not dead" | | cflow.cs:275:13:275:42 | ...; | cflow.cs:275:13:275:42 | ...; | @@ -3502,8 +3587,8 @@ | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:300:38:300:38 | 0 | | cflow.cs:300:9:300:73 | ...; | cflow.cs:300:9:300:73 | ...; | | cflow.cs:300:38:300:38 | 0 | cflow.cs:300:38:300:38 | 0 | -| cflow.cs:300:44:300:51 | !... | cflow.cs:300:46:300:46 | access to parameter i | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:46:300:46 | access to parameter i | +| cflow.cs:300:44:300:51 | !... | cflow.cs:300:44:300:51 | !... | +| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:64 | ... && ... | | cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:300:46:300:46 | access to parameter i | | cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:46 | access to parameter i | | cflow.cs:300:50:300:50 | 0 | cflow.cs:300:50:300:50 | 0 | @@ -3518,7 +3603,8 @@ | cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | (...) => ... | | cflow.cs:307:5:310:5 | {...} | cflow.cs:307:5:310:5 | {...} | | cflow.cs:308:9:308:21 | ... ...; | cflow.cs:308:9:308:21 | ... ...; | -| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:308:20:308:20 | access to parameter o | +| cflow.cs:308:16:308:16 | access to local variable x | cflow.cs:308:16:308:16 | access to local variable x | +| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:308:16:308:16 | access to local variable x | | cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:308:20:308:20 | access to parameter o | | cflow.cs:309:9:309:17 | return ...; | cflow.cs:309:16:309:16 | access to local variable x | | cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:309:16:309:16 | access to local variable x | diff --git a/csharp/ql/test/library-tests/controlflow/graph/EntryElement.ql b/csharp/ql/test/library-tests/controlflow/graph/EntryElement.ql index 08f37467efe..60bd04647fd 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EntryElement.ql +++ b/csharp/ql/test/library-tests/controlflow/graph/EntryElement.ql @@ -1,7 +1,14 @@ import csharp import Common -import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl + +predicate first(SourceControlFlowElement cfe, ControlFlowNode first) { + first.isBefore(cfe) + or + exists(ControlFlowNode mid | + first(cfe, mid) and not mid.injects(_) and first = mid.getASuccessor() + ) +} from SourceControlFlowElement cfe, ControlFlowElement first -where first(cfe, first) +where first(cfe, first.getControlFlowNode()) select cfe, first diff --git a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected b/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected deleted file mode 100644 index 602dd8c2a52..00000000000 --- a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected +++ /dev/null @@ -1,4540 +0,0 @@ -| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | call to constructor Object | normal | -| AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | call to method | normal | -| AccessorCalls.cs:1:7:1:19 | this access | AccessorCalls.cs:1:7:1:19 | this access | normal | -| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | {...} | normal | -| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:30:5:30 | access to parameter i | normal | -| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:37:5:39 | {...} | normal | -| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:36:7:38 | {...} | normal | -| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:47:7:49 | {...} | normal | -| AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:16:9:16:23 | ... -= ... | normal | -| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:9:12:12 | this access | normal | -| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:12 | this access | normal | -| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:9:12:31 | ... = ... | normal | -| AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:31 | ... = ... | normal | -| AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:25 | this access | normal | -| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:22:12:31 | access to field Field | normal | -| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:9:13:12 | this access | normal | -| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:12 | this access | normal | -| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:13:9:13:29 | ... = ... | normal | -| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:13:9:13:29 | ... = ... | normal | -| AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:13:21:13:24 | this access | normal | -| AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:21:13:29 | access to property Prop | normal | -| AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:14:9:14:12 | this access | normal | -| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:14:14:14 | 0 | normal | -| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:14:9:14:25 | ... = ... | normal | -| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:14:9:14:25 | ... = ... | normal | -| AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:14:14:14 | 0 | normal | -| AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:14:19:14:22 | this access | normal | -| AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:19:14:25 | access to indexer | normal | -| AccessorCalls.cs:14:24:14:24 | 1 | AccessorCalls.cs:14:24:14:24 | 1 | normal | -| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:9:15:12 | this access | normal | -| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:12 | this access | normal | -| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:15:9:15:23 | ... += ... | normal | -| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:15:9:15:23 | ... += ... | normal | -| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:23:15:23 | access to parameter e | normal | -| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:9:16:12 | this access | normal | -| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:12 | this access | normal | -| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:16:9:16:23 | ... -= ... | normal | -| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:16:9:16:23 | ... -= ... | normal | -| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:23:16:23 | access to parameter e | normal | -| AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:25:9:25:25 | ... -= ... | normal | -| AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:12 | this access | normal | -| AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:9:21:14 | access to field x | normal | -| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:14 | access to field x | normal | -| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:9:21:35 | ... = ... | normal | -| AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:35 | ... = ... | normal | -| AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:27 | this access | normal | -| AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:29 | access to field x | normal | -| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:24:21:35 | access to field Field | normal | -| AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:12 | this access | normal | -| AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:9:22:14 | access to field x | normal | -| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:14 | access to field x | normal | -| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:22:9:22:33 | ... = ... | normal | -| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:22:9:22:33 | ... = ... | normal | -| AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:22:23:22:26 | this access | normal | -| AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:28 | access to field x | normal | -| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:23:22:33 | access to property Prop | normal | -| AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:23:9:23:12 | this access | normal | -| AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:9:23:14 | access to field x | normal | -| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:16:23:16 | 0 | normal | -| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:23:9:23:29 | ... = ... | normal | -| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:23:9:23:29 | ... = ... | normal | -| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:16:23:16 | 0 | normal | -| AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:23:21:23:24 | this access | normal | -| AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:21:23:26 | access to field x | normal | -| AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:21:23:29 | access to indexer | normal | -| AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:23:28:23:28 | 1 | normal | -| AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:24:9:24:12 | this access | normal | -| AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:9:24:14 | access to field x | normal | -| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:14 | access to field x | normal | -| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:24:9:24:25 | ... += ... | normal | -| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:24:9:24:25 | ... += ... | normal | -| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:25:24:25 | access to parameter e | normal | -| AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:25:9:25:12 | this access | normal | -| AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:9:25:14 | access to field x | normal | -| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:14 | access to field x | normal | -| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:25:9:25:25 | ... -= ... | normal | -| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:25:9:25:25 | ... -= ... | normal | -| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:25:25:25 | access to parameter e | normal | -| AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:32:9:32:17 | ...++ | normal | -| AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:30:9:30:12 | this access | normal | -| AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:18 | access to field Field | normal | -| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:30:9:30:20 | ...++ | normal | -| AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:30:9:30:20 | ...++ | normal | -| AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:31:9:31:12 | this access | normal | -| AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:17 | access to property Prop | normal | -| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:31:9:31:19 | ...++ | normal | -| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:31:9:31:19 | ...++ | normal | -| AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:32:9:32:12 | this access | normal | -| AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:9:32:15 | access to indexer | normal | -| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:32:9:32:17 | ...++ | normal | -| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:32:9:32:17 | ...++ | normal | -| AccessorCalls.cs:32:14:32:14 | 0 | AccessorCalls.cs:32:14:32:14 | 0 | normal | -| AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:39:9:39:19 | ...++ | normal | -| AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:37:9:37:12 | this access | normal | -| AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:14 | access to field x | normal | -| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:20 | access to field Field | normal | -| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:37:9:37:22 | ...++ | normal | -| AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:37:9:37:22 | ...++ | normal | -| AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:38:9:38:12 | this access | normal | -| AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:14 | access to field x | normal | -| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:19 | access to property Prop | normal | -| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:38:9:38:21 | ...++ | normal | -| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:38:9:38:21 | ...++ | normal | -| AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:39:9:39:12 | this access | normal | -| AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:9:39:14 | access to field x | normal | -| AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:9:39:17 | access to indexer | normal | -| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:39:9:39:19 | ...++ | normal | -| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:39:9:39:19 | ...++ | normal | -| AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:39:16:39:16 | 0 | normal | -| AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:46:9:46:26 | ... += ... | normal | -| AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:12 | this access | normal | -| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:18 | access to field Field | normal | -| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:44:9:44:32 | ... += ... | normal | -| AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:32 | ... += ... | normal | -| AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:26 | this access | normal | -| AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:23:44:32 | access to field Field | normal | -| AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:12 | this access | normal | -| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:9:45:17 | access to property Prop | normal | -| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:45:9:45:30 | ... += ... | normal | -| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:45:9:45:30 | ... += ... | normal | -| AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:45:22:45:25 | this access | normal | -| AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:22:45:30 | access to property Prop | normal | -| AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:9:46:12 | this access | normal | -| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:9:46:15 | access to indexer | normal | -| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:46:9:46:26 | ... += ... | normal | -| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:46:9:46:26 | ... += ... | normal | -| AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:46:14:46:14 | 0 | normal | -| AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:46:20:46:23 | this access | normal | -| AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:20:46:26 | access to indexer | normal | -| AccessorCalls.cs:46:25:46:25 | 0 | AccessorCalls.cs:46:25:46:25 | 0 | normal | -| AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:53:9:53:30 | ... += ... | normal | -| AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:12 | this access | normal | -| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:14 | access to field x | normal | -| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:20 | access to field Field | normal | -| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:51:9:51:36 | ... += ... | normal | -| AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:36 | ... += ... | normal | -| AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:28 | this access | normal | -| AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:30 | access to field x | normal | -| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:25:51:36 | access to field Field | normal | -| AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:12 | this access | normal | -| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:14 | access to field x | normal | -| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:9:52:19 | access to property Prop | normal | -| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:52:9:52:34 | ... += ... | normal | -| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:52:9:52:34 | ... += ... | normal | -| AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:52:24:52:27 | this access | normal | -| AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:29 | access to field x | normal | -| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:24:52:34 | access to property Prop | normal | -| AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:12 | this access | normal | -| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:9:53:14 | access to field x | normal | -| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:9:53:17 | access to indexer | normal | -| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:53:9:53:30 | ... += ... | normal | -| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:53:9:53:30 | ... += ... | normal | -| AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:16:53:16 | 0 | normal | -| AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:53:22:53:25 | this access | normal | -| AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:22:53:27 | access to field x | normal | -| AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:22:53:30 | access to indexer | normal | -| AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:53:29:53:29 | 0 | normal | -| AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:58:9:58:85 | ... = ... | normal | -| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | normal | -| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:58:9:58:85 | ... = ... | normal | -| AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:9:58:85 | ... = ... | normal | -| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:10:58:13 | this access | normal | -| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:10:58:13 | this access | normal | -| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:22:58:25 | this access | normal | -| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:22:58:25 | this access | normal | -| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:33:58:44 | (..., ...) | normal | -| AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:37:58:40 | this access | normal | -| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:42:58:42 | 0 | normal | -| AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:42:58:42 | 0 | normal | -| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | normal | -| AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:53 | this access | normal | -| AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:50:58:59 | access to field Field | normal | -| AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:65 | this access | normal | -| AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:62:58:70 | access to property Prop | normal | -| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:73:58:84 | (..., ...) | normal | -| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:74:58:74 | 0 | normal | -| AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:58:77:58:80 | this access | normal | -| AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:77:58:83 | access to indexer | normal | -| AccessorCalls.cs:58:82:58:82 | 1 | AccessorCalls.cs:58:82:58:82 | 1 | normal | -| AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:63:9:63:97 | ... = ... | normal | -| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | normal | -| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:63:9:63:97 | ... = ... | normal | -| AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:9:63:97 | ... = ... | normal | -| AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:13 | this access | normal | -| AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:10:63:15 | access to field x | normal | -| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:10:63:15 | access to field x | normal | -| AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:27 | this access | normal | -| AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:24:63:29 | access to field x | normal | -| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:24:63:29 | access to field x | normal | -| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:37:63:50 | (..., ...) | normal | -| AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:41:63:44 | this access | normal | -| AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:41:63:46 | access to field x | normal | -| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:48:63:48 | 0 | normal | -| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:48:63:48 | 0 | normal | -| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | normal | -| AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:59 | this access | normal | -| AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:61 | access to field x | normal | -| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:56:63:67 | access to field Field | normal | -| AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:63:70:63:73 | this access | normal | -| AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:75 | access to field x | normal | -| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:70:63:80 | access to property Prop | normal | -| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:83:63:96 | (..., ...) | normal | -| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:84:63:84 | 0 | normal | -| AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:63:87:63:90 | this access | normal | -| AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:87:63:92 | access to field x | normal | -| AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:87:63:95 | access to indexer | normal | -| AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:94:63:94 | 1 | normal | -| AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:73:9:73:83 | ... = ... | normal | -| AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | normal | -| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | normal | -| AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:21:68:21 | access to parameter o | normal | -| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:9:69:9 | access to local variable d | normal | -| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:9 | access to local variable d | normal | -| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:69:9:69:35 | ... = ... | normal | -| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:69:9:69:35 | ... = ... | normal | -| AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:69:24:69:24 | access to local variable d | normal | -| AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | normal | -| AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:70:9:70:9 | access to local variable d | normal | -| AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | normal | -| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | normal | -| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | normal | -| AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:9 | access to local variable d | normal | -| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | normal | -| AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:71:9:71:25 | ... += ... | normal | -| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:71:9:71:25 | ... += ... | normal | -| AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:71:25:71:25 | access to parameter e | normal | -| AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:9:72:9 | access to local variable d | normal | -| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:9:72:12 | dynamic access to element | normal | -| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:72:9:72:20 | ... += ... | normal | -| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:72:9:72:20 | ... += ... | normal | -| AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:72:11:72:11 | 0 | normal | -| AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:72:17:72:17 | access to local variable d | normal | -| AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:17:72:20 | dynamic access to element | normal | -| AccessorCalls.cs:72:19:72:19 | 1 | AccessorCalls.cs:72:19:72:19 | 1 | normal | -| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | normal | -| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:73:9:73:83 | ... = ... | normal | -| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:73:9:73:83 | ... = ... | normal | -| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:10:73:10 | access to local variable d | normal | -| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:10 | access to local variable d | normal | -| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:24:73:27 | this access | normal | -| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:24:73:27 | this access | normal | -| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:35:73:43 | (..., ...) | normal | -| AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:39:73:39 | access to local variable d | normal | -| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:41:73:41 | 0 | normal | -| AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:41:73:41 | 0 | normal | -| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | normal | -| AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:73:49:73:49 | access to local variable d | normal | -| AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | normal | -| AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:73:63:73:66 | this access | normal | -| AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:63:73:71 | access to property Prop | normal | -| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:74:73:82 | (..., ...) | normal | -| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:75:73:75 | 0 | normal | -| AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:73:78:73:78 | access to local variable d | normal | -| AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:78:73:81 | dynamic access to element | normal | -| AccessorCalls.cs:73:80:73:80 | 1 | AccessorCalls.cs:73:80:73:80 | 1 | normal | -| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | call to constructor Object | normal | -| ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | call to method | normal | -| ArrayCreation.cs:1:7:1:19 | this access | ArrayCreation.cs:1:7:1:19 | this access | normal | -| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | {...} | normal | -| ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | normal | -| ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:27:3:27 | 0 | normal | -| ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | normal | -| ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:28:5:28 | 0 | normal | -| ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:31:5:31 | 1 | normal | -| ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:19:7:36 | 2 | normal | -| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:29:7:36 | { ..., ... } | normal | -| ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:29:7:36 | { ..., ... } | normal | -| ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:31:7:31 | 0 | normal | -| ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:34:7:34 | 1 | normal | -| ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | normal | -| ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | normal | -| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:31:9:52 | { ..., ... } | normal | -| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | normal | -| ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:33:9:40 | { ..., ... } | normal | -| ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:35:9:35 | 0 | normal | -| ArrayCreation.cs:9:38:9:38 | 1 | ArrayCreation.cs:9:38:9:38 | 1 | normal | -| ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:43:9:50 | { ..., ... } | normal | -| ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:45:9:45 | 2 | normal | -| ArrayCreation.cs:9:48:9:48 | 3 | ArrayCreation.cs:9:48:9:48 | 3 | normal | -| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | call to constructor Object | normal | -| Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | call to method | normal | -| Assert.cs:5:7:5:17 | this access | Assert.cs:5:7:5:17 | this access | normal | -| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | {...} | normal | -| Assert.cs:8:5:12:5 | {...} | Assert.cs:10:9:10:31 | call to method Assert | exit | -| Assert.cs:8:5:12:5 | {...} | Assert.cs:11:9:11:35 | call to method WriteLine | normal | -| Assert.cs:9:9:9:33 | ... ...; | Assert.cs:9:16:9:32 | String s = ... | normal | -| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:16:9:32 | String s = ... | normal | -| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | access to parameter b | false | -| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | access to parameter b | true | -| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20:9:32 | ... ? ... : ... | normal | -| Assert.cs:9:24:9:27 | null | Assert.cs:9:24:9:27 | null | normal | -| Assert.cs:9:31:9:32 | "" | Assert.cs:9:31:9:32 | "" | normal | -| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:9:10:31 | call to method Assert | exit | -| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:9:10:31 | call to method Assert | normal | -| 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 | ... != ... | 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 | -| Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:11:27:11:27 | access to local variable s | normal | -| Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:27:11:34 | access to property Length | normal | -| Assert.cs:15:5:19:5 | {...} | Assert.cs:17:9:17:24 | call to method IsNull | throw(AssertFailedException) | -| Assert.cs:15:5:19:5 | {...} | Assert.cs:18:9:18:35 | call to method WriteLine | normal | -| Assert.cs:16:9:16:33 | ... ...; | Assert.cs:16:16:16:32 | String s = ... | normal | -| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:16:16:32 | String s = ... | normal | -| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | access to parameter b | false | -| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | access to parameter b | true | -| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20:16:32 | ... ? ... : ... | normal | -| Assert.cs:16:24:16:27 | null | Assert.cs:16:24:16:27 | null | normal | -| Assert.cs:16:31:16:32 | "" | Assert.cs:16:31:16:32 | "" | normal | -| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:17:9:17:24 | call to method IsNull | normal | -| 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 | 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 | -| Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:27:18:34 | access to property Length | normal | -| Assert.cs:22:5:26:5 | {...} | Assert.cs:24:9:24:27 | call to method IsNotNull | throw(AssertFailedException) | -| Assert.cs:22:5:26:5 | {...} | Assert.cs:25:9:25:35 | call to method WriteLine | normal | -| Assert.cs:23:9:23:33 | ... ...; | Assert.cs:23:16:23:32 | String s = ... | normal | -| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:16:23:32 | String s = ... | normal | -| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | access to parameter b | false | -| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | access to parameter b | true | -| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20:23:32 | ... ? ... : ... | normal | -| Assert.cs:23:24:23:27 | null | Assert.cs:23:24:23:27 | null | normal | -| Assert.cs:23:31:23:32 | "" | Assert.cs:23:31:23:32 | "" | normal | -| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:24:9:24:27 | call to method IsNotNull | normal | -| 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 | 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 | -| Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:27:25:34 | access to property Length | normal | -| Assert.cs:29:5:33:5 | {...} | Assert.cs:31:9:31:32 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:29:5:33:5 | {...} | Assert.cs:32:9:32:35 | call to method WriteLine | normal | -| Assert.cs:30:9:30:33 | ... ...; | Assert.cs:30:16:30:32 | String s = ... | normal | -| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:16:30:32 | String s = ... | normal | -| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | access to parameter b | false | -| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | access to parameter b | true | -| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20:30:32 | ... ? ... : ... | normal | -| Assert.cs:30:24:30:27 | null | Assert.cs:30:24:30:27 | null | normal | -| Assert.cs:30:31:30:32 | "" | Assert.cs:30:31:30:32 | "" | normal | -| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:9:31:32 | call to method IsTrue | normal | -| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:9:31:32 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... == ... | 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 | -| Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:32:27:32:27 | access to local variable s | normal | -| Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:27:32:34 | access to property Length | normal | -| Assert.cs:36:5:40:5 | {...} | Assert.cs:38:9:38:32 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:36:5:40:5 | {...} | Assert.cs:39:9:39:35 | call to method WriteLine | normal | -| Assert.cs:37:9:37:33 | ... ...; | Assert.cs:37:16:37:32 | String s = ... | normal | -| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:16:37:32 | String s = ... | normal | -| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | access to parameter b | false | -| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | access to parameter b | true | -| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20:37:32 | ... ? ... : ... | normal | -| Assert.cs:37:24:37:27 | null | Assert.cs:37:24:37:27 | null | normal | -| Assert.cs:37:31:37:32 | "" | Assert.cs:37:31:37:32 | "" | normal | -| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:9:38:32 | call to method IsTrue | normal | -| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:9:38:32 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... != ... | 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 | -| Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:39:27:39:27 | access to local variable s | normal | -| Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:27:39:34 | access to property Length | normal | -| Assert.cs:43:5:47:5 | {...} | Assert.cs:45:9:45:33 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:43:5:47:5 | {...} | Assert.cs:46:9:46:35 | call to method WriteLine | normal | -| Assert.cs:44:9:44:33 | ... ...; | Assert.cs:44:16:44:32 | String s = ... | normal | -| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:16:44:32 | String s = ... | normal | -| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | access to parameter b | false | -| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | access to parameter b | true | -| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20:44:32 | ... ? ... : ... | normal | -| Assert.cs:44:24:44:27 | null | Assert.cs:44:24:44:27 | null | normal | -| Assert.cs:44:31:44:32 | "" | Assert.cs:44:31:44:32 | "" | normal | -| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:9:45:33 | call to method IsFalse | normal | -| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:9:45:33 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... != ... | 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 | -| Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:46:27:46:27 | access to local variable s | normal | -| Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:27:46:34 | access to property Length | normal | -| Assert.cs:50:5:54:5 | {...} | Assert.cs:52:9:52:33 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:50:5:54:5 | {...} | Assert.cs:53:9:53:35 | call to method WriteLine | normal | -| Assert.cs:51:9:51:33 | ... ...; | Assert.cs:51:16:51:32 | String s = ... | normal | -| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:16:51:32 | String s = ... | normal | -| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | access to parameter b | false | -| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | access to parameter b | true | -| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20:51:32 | ... ? ... : ... | normal | -| Assert.cs:51:24:51:27 | null | Assert.cs:51:24:51:27 | null | normal | -| Assert.cs:51:31:51:32 | "" | Assert.cs:51:31:51:32 | "" | normal | -| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:9:52:33 | call to method IsFalse | normal | -| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:9:52:33 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... == ... | 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 | -| Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:53:27:53:27 | access to local variable s | normal | -| Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:27:53:34 | access to property Length | normal | -| Assert.cs:57:5:61:5 | {...} | Assert.cs:59:9:59:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:57:5:61:5 | {...} | Assert.cs:60:9:60:35 | call to method WriteLine | normal | -| Assert.cs:58:9:58:33 | ... ...; | Assert.cs:58:16:58:32 | String s = ... | normal | -| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:16:58:32 | String s = ... | normal | -| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | false | -| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | access to parameter b | true | -| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:32 | ... ? ... : ... | normal | -| Assert.cs:58:24:58:27 | null | Assert.cs:58:24:58:27 | null | normal | -| Assert.cs:58:31:58:32 | "" | Assert.cs:58:31:58:32 | "" | normal | -| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:9:59:37 | call to method IsTrue | normal | -| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:9:59:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:59:9:59:38 | ...; | Assert.cs:59:9:59:37 | call to method IsTrue | normal | -| Assert.cs:59:9:59:38 | ...; | Assert.cs:59:9:59:37 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... && ... | 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 | 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 | -| Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:27:60:34 | access to property Length | normal | -| Assert.cs:64:5:68:5 | {...} | Assert.cs:66:9:66:38 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:64:5:68:5 | {...} | Assert.cs:67:9:67:35 | call to method WriteLine | normal | -| Assert.cs:65:9:65:33 | ... ...; | Assert.cs:65:16:65:32 | String s = ... | normal | -| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:16:65:32 | String s = ... | normal | -| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | false | -| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | access to parameter b | true | -| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:32 | ... ? ... : ... | normal | -| Assert.cs:65:24:65:27 | null | Assert.cs:65:24:65:27 | null | normal | -| Assert.cs:65:31:65:32 | "" | Assert.cs:65:31:65:32 | "" | normal | -| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:9:66:38 | call to method IsFalse | normal | -| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:9:66:38 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:66:9:66:39 | ...; | Assert.cs:66:9:66:38 | call to method IsFalse | normal | -| Assert.cs:66:9:66:39 | ...; | Assert.cs:66:9:66:38 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... \|\| ... | 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 | 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 | -| Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:27:67:34 | access to property Length | normal | -| Assert.cs:71:5:75:5 | {...} | Assert.cs:73:9:73:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:71:5:75:5 | {...} | Assert.cs:74:9:74:35 | call to method WriteLine | normal | -| Assert.cs:72:9:72:33 | ... ...; | Assert.cs:72:16:72:32 | String s = ... | normal | -| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:16:72:32 | String s = ... | normal | -| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | false | -| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | access to parameter b | true | -| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:32 | ... ? ... : ... | normal | -| Assert.cs:72:24:72:27 | null | Assert.cs:72:24:72:27 | null | normal | -| Assert.cs:72:31:72:32 | "" | Assert.cs:72:31:72:32 | "" | normal | -| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:9:73:37 | call to method IsTrue | normal | -| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:9:73:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:73:9:73:38 | ...; | Assert.cs:73:9:73:37 | call to method IsTrue | normal | -| Assert.cs:73:9:73:38 | ...; | Assert.cs:73:9:73:37 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... && ... | 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 | 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 | -| Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:27:74:34 | access to property Length | normal | -| Assert.cs:78:5:82:5 | {...} | Assert.cs:80:9:80:38 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:78:5:82:5 | {...} | Assert.cs:81:9:81:35 | call to method WriteLine | normal | -| Assert.cs:79:9:79:33 | ... ...; | Assert.cs:79:16:79:32 | String s = ... | normal | -| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:16:79:32 | String s = ... | normal | -| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | access to parameter b | false | -| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | access to parameter b | true | -| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:32 | ... ? ... : ... | normal | -| Assert.cs:79:24:79:27 | null | Assert.cs:79:24:79:27 | null | normal | -| Assert.cs:79:31:79:32 | "" | Assert.cs:79:31:79:32 | "" | normal | -| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:9:80:38 | call to method IsFalse | normal | -| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:9:80:38 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:80:9:80:39 | ...; | Assert.cs:80:9:80:38 | call to method IsFalse | normal | -| Assert.cs:80:9:80:39 | ...; | Assert.cs:80:9:80:38 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... \|\| ... | 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 | 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 | -| Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:27:81:34 | access to property Length | normal | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:87:9:87:31 | call to method Assert | exit | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:91:9:91:24 | call to method IsNull | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:95:9:95:27 | call to method IsNotNull | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:99:9:99:32 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:103:9:103:32 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:107:9:107:33 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:111:9:111:33 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:115:9:115:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:119:9:119:39 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:123:9:123:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:127:9:127:39 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:85:5:129:5 | {...} | Assert.cs:128:9:128:35 | call to method WriteLine | normal | -| Assert.cs:86:9:86:33 | ... ...; | Assert.cs:86:16:86:32 | String s = ... | normal | -| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:16:86:32 | String s = ... | normal | -| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | access to parameter b | false | -| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | access to parameter b | true | -| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20:86:32 | ... ? ... : ... | normal | -| Assert.cs:86:24:86:27 | null | Assert.cs:86:24:86:27 | null | normal | -| Assert.cs:86:31:86:32 | "" | Assert.cs:86:31:86:32 | "" | normal | -| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:87:9:87:31 | call to method Assert | exit | -| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:87:9:87:31 | call to method Assert | normal | -| 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 | ... != ... | 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 | -| Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:88:27:88:27 | access to local variable s | normal | -| Assert.cs:88:27:88:34 | access to property Length | Assert.cs:88:27:88:34 | access to property Length | normal | -| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:90:9:90:25 | ... = ... | normal | -| Assert.cs:90:9:90:26 | ...; | Assert.cs:90:9:90:25 | ... = ... | normal | -| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | access to parameter b | false | -| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | access to parameter b | true | -| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13:90:25 | ... ? ... : ... | normal | -| Assert.cs:90:17:90:20 | null | Assert.cs:90:17:90:20 | null | normal | -| Assert.cs:90:24:90:25 | "" | Assert.cs:90:24:90:25 | "" | normal | -| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:91:9:91:24 | call to method IsNull | normal | -| 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 | 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 | -| Assert.cs:92:27:92:34 | access to property Length | Assert.cs:92:27:92:34 | access to property Length | normal | -| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:9:94:25 | ... = ... | normal | -| Assert.cs:94:9:94:26 | ...; | Assert.cs:94:9:94:25 | ... = ... | normal | -| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | access to parameter b | false | -| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | access to parameter b | true | -| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13:94:25 | ... ? ... : ... | normal | -| Assert.cs:94:17:94:20 | null | Assert.cs:94:17:94:20 | null | normal | -| Assert.cs:94:24:94:25 | "" | Assert.cs:94:24:94:25 | "" | normal | -| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:95:9:95:27 | call to method IsNotNull | normal | -| 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 | 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 | -| Assert.cs:96:27:96:34 | access to property Length | Assert.cs:96:27:96:34 | access to property Length | normal | -| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:9:98:25 | ... = ... | normal | -| Assert.cs:98:9:98:26 | ...; | Assert.cs:98:9:98:25 | ... = ... | normal | -| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | access to parameter b | false | -| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | access to parameter b | true | -| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13:98:25 | ... ? ... : ... | normal | -| Assert.cs:98:17:98:20 | null | Assert.cs:98:17:98:20 | null | normal | -| Assert.cs:98:24:98:25 | "" | Assert.cs:98:24:98:25 | "" | normal | -| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:99:9:99:32 | call to method IsTrue | normal | -| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:99:9:99:32 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... == ... | 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 | -| Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:100:27:100:27 | access to local variable s | normal | -| Assert.cs:100:27:100:34 | access to property Length | Assert.cs:100:27:100:34 | access to property Length | normal | -| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:102:9:102:25 | ... = ... | normal | -| Assert.cs:102:9:102:26 | ...; | Assert.cs:102:9:102:25 | ... = ... | normal | -| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | access to parameter b | false | -| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | access to parameter b | true | -| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13:102:25 | ... ? ... : ... | normal | -| Assert.cs:102:17:102:20 | null | Assert.cs:102:17:102:20 | null | normal | -| Assert.cs:102:24:102:25 | "" | Assert.cs:102:24:102:25 | "" | normal | -| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:103:9:103:32 | call to method IsTrue | normal | -| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:103:9:103:32 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... != ... | 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 | -| Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:104:27:104:27 | access to local variable s | normal | -| Assert.cs:104:27:104:34 | access to property Length | Assert.cs:104:27:104:34 | access to property Length | normal | -| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:106:9:106:25 | ... = ... | normal | -| Assert.cs:106:9:106:26 | ...; | Assert.cs:106:9:106:25 | ... = ... | normal | -| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | access to parameter b | false | -| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | access to parameter b | true | -| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13:106:25 | ... ? ... : ... | normal | -| Assert.cs:106:17:106:20 | null | Assert.cs:106:17:106:20 | null | normal | -| Assert.cs:106:24:106:25 | "" | Assert.cs:106:24:106:25 | "" | normal | -| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:107:9:107:33 | call to method IsFalse | normal | -| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:107:9:107:33 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... != ... | 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 | -| Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:108:27:108:27 | access to local variable s | normal | -| Assert.cs:108:27:108:34 | access to property Length | Assert.cs:108:27:108:34 | access to property Length | normal | -| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:110:9:110:25 | ... = ... | normal | -| Assert.cs:110:9:110:26 | ...; | Assert.cs:110:9:110:25 | ... = ... | normal | -| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | access to parameter b | false | -| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | access to parameter b | true | -| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13:110:25 | ... ? ... : ... | normal | -| Assert.cs:110:17:110:20 | null | Assert.cs:110:17:110:20 | null | normal | -| Assert.cs:110:24:110:25 | "" | Assert.cs:110:24:110:25 | "" | normal | -| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:111:9:111:33 | call to method IsFalse | normal | -| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:111:9:111:33 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... == ... | 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 | -| Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:112:27:112:27 | access to local variable s | normal | -| Assert.cs:112:27:112:34 | access to property Length | Assert.cs:112:27:112:34 | access to property Length | normal | -| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:114:9:114:25 | ... = ... | normal | -| Assert.cs:114:9:114:26 | ...; | Assert.cs:114:9:114:25 | ... = ... | normal | -| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | access to parameter b | false | -| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | access to parameter b | true | -| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13:114:25 | ... ? ... : ... | normal | -| Assert.cs:114:17:114:20 | null | Assert.cs:114:17:114:20 | null | normal | -| Assert.cs:114:24:114:25 | "" | Assert.cs:114:24:114:25 | "" | normal | -| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:9:115:37 | call to method IsTrue | normal | -| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:9:115:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:115:9:115:38 | ...; | Assert.cs:115:9:115:37 | call to method IsTrue | normal | -| Assert.cs:115:9:115:38 | ...; | Assert.cs:115:9:115:37 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... && ... | 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 | 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 | -| Assert.cs:116:27:116:34 | access to property Length | Assert.cs:116:27:116:34 | access to property Length | normal | -| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:9:118:25 | ... = ... | normal | -| Assert.cs:118:9:118:26 | ...; | Assert.cs:118:9:118:25 | ... = ... | normal | -| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | access to parameter b | false | -| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | access to parameter b | true | -| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13:118:25 | ... ? ... : ... | normal | -| Assert.cs:118:17:118:20 | null | Assert.cs:118:17:118:20 | null | normal | -| Assert.cs:118:24:118:25 | "" | Assert.cs:118:24:118:25 | "" | normal | -| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:9:119:39 | call to method IsFalse | normal | -| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:9:119:39 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:119:9:119:40 | ...; | Assert.cs:119:9:119:39 | call to method IsFalse | normal | -| Assert.cs:119:9:119:40 | ...; | Assert.cs:119:9:119:39 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... \|\| ... | 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 | !... | 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 | -| Assert.cs:120:27:120:34 | access to property Length | Assert.cs:120:27:120:34 | access to property Length | normal | -| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:9:122:25 | ... = ... | normal | -| Assert.cs:122:9:122:26 | ...; | Assert.cs:122:9:122:25 | ... = ... | normal | -| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | access to parameter b | false | -| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | access to parameter b | true | -| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13:122:25 | ... ? ... : ... | normal | -| Assert.cs:122:17:122:20 | null | Assert.cs:122:17:122:20 | null | normal | -| Assert.cs:122:24:122:25 | "" | Assert.cs:122:24:122:25 | "" | normal | -| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:9:123:37 | call to method IsTrue | normal | -| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:9:123:37 | call to method IsTrue | throw(AssertFailedException) | -| Assert.cs:123:9:123:38 | ...; | Assert.cs:123:9:123:37 | call to method IsTrue | normal | -| Assert.cs:123:9:123:38 | ...; | Assert.cs:123:9:123:37 | call to method IsTrue | throw(AssertFailedException) | -| 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 | ... && ... | 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 | 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 | -| Assert.cs:124:27:124:34 | access to property Length | Assert.cs:124:27:124:34 | access to property Length | normal | -| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:9:126:25 | ... = ... | normal | -| Assert.cs:126:9:126:26 | ...; | Assert.cs:126:9:126:25 | ... = ... | normal | -| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | access to parameter b | false | -| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | access to parameter b | true | -| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13:126:25 | ... ? ... : ... | normal | -| Assert.cs:126:17:126:20 | null | Assert.cs:126:17:126:20 | null | normal | -| Assert.cs:126:24:126:25 | "" | Assert.cs:126:24:126:25 | "" | normal | -| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:9:127:39 | call to method IsFalse | normal | -| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:9:127:39 | call to method IsFalse | throw(AssertFailedException) | -| Assert.cs:127:9:127:40 | ...; | Assert.cs:127:9:127:39 | call to method IsFalse | normal | -| Assert.cs:127:9:127:40 | ...; | Assert.cs:127:9:127:39 | call to method IsFalse | throw(AssertFailedException) | -| 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 | ... \|\| ... | 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 | !... | 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 | -| Assert.cs:128:27:128:34 | access to property Length | Assert.cs:128:27:128:34 | access to property Length | normal | -| Assert.cs:135:5:136:5 | {...} | Assert.cs:135:5:136:5 | {...} | normal | -| Assert.cs:139:5:142:5 | {...} | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | throw(Exception) | -| Assert.cs:139:5:142:5 | {...} | Assert.cs:141:9:141:15 | return ...; | return | -| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | normal | -| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:140:9:140:35 | call to method AssertTrueFalse | throw(Exception) | -| 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 | 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 | -| Assignments.cs:1:7:1:17 | call to method | Assignments.cs:1:7:1:17 | call to method | normal | -| Assignments.cs:1:7:1:17 | this access | Assignments.cs:1:7:1:17 | this access | normal | -| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | {...} | normal | -| Assignments.cs:4:5:15:5 | {...} | Assignments.cs:14:9:14:35 | ... += ... | normal | -| Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:13:5:17 | Int32 x = ... | normal | -| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:5:13:5:17 | Int32 x = ... | normal | -| Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:17:5:17 | 0 | normal | -| Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:9:6:9 | access to local variable x | normal | -| Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:6:9:6:14 | ... += ... | normal | -| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:14 | ... += ... | normal | -| Assignments.cs:6:14:6:14 | 1 | Assignments.cs:6:14:6:14 | 1 | normal | -| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:17:8:21 | dynamic d = ... | normal | -| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:17:8:21 | dynamic d = ... | normal | -| Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:21:8:21 | 0 | normal | -| Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:21:8:21 | (...) ... | normal | -| Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:9:9:9 | access to local variable d | normal | -| Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:9:9:9:14 | ... -= ... | normal | -| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:14 | ... -= ... | normal | -| Assignments.cs:9:14:9:14 | 2 | Assignments.cs:9:14:9:14 | 2 | normal | -| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:13:11:33 | Assignments a = ... | normal | -| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:13:11:33 | Assignments a = ... | normal | -| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:17:11:33 | object creation of type Assignments | normal | -| Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:9:12:9 | access to local variable a | normal | -| Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:12:9:12:17 | ... += ... | normal | -| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:12:9:12:17 | ... += ... | normal | -| Assignments.cs:12:14:12:17 | this access | Assignments.cs:12:14:12:17 | this access | normal | -| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:13 | this access | normal | -| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:9:14:13 | this access | normal | -| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:14:9:14:35 | ... += ... | normal | -| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:14:9:14:35 | ... += ... | normal | -| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:18:14:35 | (...) => ... | normal | -| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:33:14:35 | {...} | normal | -| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:9:19:17 | return ...; | return | -| Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:19:9:19:17 | return ...; | return | -| Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:16:19:16 | access to parameter x | normal | -| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:29:9:29:14 | ... = ... | normal | -| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:9:29:14 | ... = ... | normal | -| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:9:29:14 | ... = ... | normal | -| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:13:29:14 | 42 | normal | -| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:35:9:35:19 | ... = ... | normal | -| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:9:34:14 | ... = ... | normal | -| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:9:34:14 | ... = ... | normal | -| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:13:34:14 | 42 | normal | -| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:9:35:19 | ... = ... | normal | -| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:9:35:19 | ... = ... | normal | -| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:13:35:19 | "Hello" | normal | -| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:44:9:44:58 | call to method SetParamMulti | normal | -| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | normal | -| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:13:40:14 | Int32 x1 | normal | -| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | call to method SetParamSingle | normal | -| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | this access | normal | -| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | call to method SetParamSingle | normal | -| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:9:42:36 | call to method SetParamSingle | normal | -| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:36 | this access | normal | -| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | call to method SetParamSingle | normal | -| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | access to field IntField | normal | -| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | this access | normal | -| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:9:43:55 | call to method SetParamMulti | normal | -| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:55 | this access | normal | -| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | call to method SetParamMulti | normal | -| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:34:43:37 | null | normal | -| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | access to field StringField | normal | -| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | this access | normal | -| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:9:44:58 | call to method SetParamMulti | normal | -| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:9:44:58 | this access | normal | -| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | call to method SetParamMulti | normal | -| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | access to field IntField | normal | -| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | this access | normal | -| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:37:44:40 | null | normal | -| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | access to field StringField | normal | -| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | this access | normal | -| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | call to constructor Object | normal | -| BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | call to method | normal | -| BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | this access | normal | -| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | {...} | normal | -| BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:15:17:15:28 | ... == ... | false | -| BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:16:17:16:17 | ; | normal | -| BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:15:17:15:28 | ... == ... | false | -| BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:16:17:16:17 | ; | normal | -| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:10:21:10:26 | break; | normal [break] (0) | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:10:21:10:26 | break; | normal [break] (0) | -| BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:7:26:7:28 | String arg | normal | -| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:33:7:36 | access to parameter args | normal | -| BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:9:21:9:31 | ... == ... | false | -| BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:10:21:10:26 | break; | break | -| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:9:21:9:31 | ... == ... | false | -| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:10:21:10:26 | break; | break | -| BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:9:21:9:23 | access to local variable arg | normal | -| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | ... == ... | false | -| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | ... == ... | true | -| BreakInTry.cs:9:28:9:31 | null | BreakInTry.cs:9:28:9:31 | null | normal | -| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:10:21:10:26 | break; | break | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:15:17:15:28 | ... == ... | false | -| BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:16:17:16:17 | ; | normal | -| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:15:17:15:28 | ... == ... | false | -| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:16:17:16:17 | ; | normal | -| BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:15:17:15:20 | access to parameter args | normal | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | ... == ... | false | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | ... == ... | true | -| BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:15:25:15:28 | null | normal | -| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:16:17:16:17 | ; | normal | -| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:35:7:35:7 | ; | normal | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:31:21:31:32 | ... == ... | false [break] (0) | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:32:21:32:21 | ; | normal [break] (0) | -| BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:22:22:22:24 | String arg | normal | -| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | access to parameter args | normal | -| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | break [false] (0) | -| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | false | -| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:32:21:32:21 | ; | break [normal] (0) | -| BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:32:21:32:21 | ; | normal | -| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:31:21:31:32 | ... == ... | break [false] (0) | -| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:31:21:31:32 | ... == ... | false | -| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:32:21:32:21 | ; | break [normal] (0) | -| BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:32:21:32:21 | ; | normal | -| BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:26:21:26:31 | ... == ... | false | -| BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:27:21:27:26 | break; | break | -| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:26:21:26:31 | ... == ... | false | -| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:27:21:27:26 | break; | break | -| BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:26:21:26:23 | access to local variable arg | normal | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | ... == ... | false | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | ... == ... | true | -| BreakInTry.cs:26:28:26:31 | null | BreakInTry.cs:26:28:26:31 | null | normal | -| BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:27:21:27:26 | break; | break | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:21:31:32 | ... == ... | false | -| BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:32:21:32:21 | ; | normal | -| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:31:21:31:32 | ... == ... | false | -| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:32:21:32:21 | ; | normal | -| BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:31:21:31:24 | access to parameter args | normal | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | ... == ... | false | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | ... == ... | true | -| BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:31:29:31:32 | null | normal | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:32:21:32:21 | ; | normal | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:35:7:35:7 | ; | normal | -| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | return [empty] (0) | -| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:50:21:50:26 | break; | return [normal] (0) | -| BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:53:7:53:7 | ; | normal | -| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | return [empty] (0) | -| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:50:21:50:26 | break; | normal [break] (0) | -| BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:50:21:50:26 | break; | return [normal] (0) | -| BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:42:17:42:28 | ... == ... | false | -| BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:43:17:43:23 | return ...; | return | -| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:28 | ... == ... | false | -| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:43:17:43:23 | return ...; | return | -| BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:42:17:42:20 | access to parameter args | normal | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | ... == ... | false | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | ... == ... | true | -| BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:42:25:42:28 | null | normal | -| BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:43:17:43:23 | return ...; | return | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:50:21:50:26 | break; | normal [break] (0) | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:50:21:50:26 | break; | normal [break] (0) | -| BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:47:26:47:28 | String arg | normal | -| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:33:47:36 | access to parameter args | normal | -| BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:49:21:49:31 | ... == ... | false | -| BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:50:21:50:26 | break; | break | -| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:49:21:49:31 | ... == ... | false | -| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:50:21:50:26 | break; | break | -| BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:49:21:49:23 | access to local variable arg | normal | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | ... == ... | false | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | ... == ... | true | -| BreakInTry.cs:49:28:49:31 | null | BreakInTry.cs:49:28:49:31 | null | normal | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:50:21:50:26 | break; | break | -| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:53:7:53:7 | ; | normal | -| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | return [empty] (0) | -| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:68:21:68:26 | break; | normal [break] (0) | -| BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:68:21:68:26 | break; | return [normal] (0) | -| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | return [empty] (0) | -| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:68:21:68:26 | break; | normal [break] (0) | -| BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:68:21:68:26 | break; | return [normal] (0) | -| BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:60:17:60:28 | ... == ... | false | -| BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:61:17:61:23 | return ...; | return | -| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:28 | ... == ... | false | -| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:61:17:61:23 | return ...; | return | -| BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:60:17:60:20 | access to parameter args | normal | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | ... == ... | false | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | ... == ... | true | -| BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:60:25:60:28 | null | normal | -| BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:61:17:61:23 | return ...; | return | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:68:21:68:26 | break; | normal [break] (0) | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | empty | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:68:21:68:26 | break; | normal [break] (0) | -| BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:65:26:65:28 | String arg | normal | -| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:33:65:36 | access to parameter args | normal | -| BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:67:21:67:31 | ... == ... | false | -| BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:68:21:68:26 | break; | break | -| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:67:21:67:31 | ... == ... | false | -| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:68:21:68:26 | break; | break | -| BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:67:21:67:23 | access to local variable arg | normal | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | ... == ... | false | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | ... == ... | true | -| BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:67:28:67:31 | null | normal | -| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:68:21:68:26 | break; | break | -| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | normal | -| CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | call to method | normal | -| CompileTimeOperators.cs:3:7:3:26 | this access | CompileTimeOperators.cs:3:7:3:26 | this access | normal | -| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | {...} | normal | -| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:7:9:7:28 | return ...; | return | -| CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:7:9:7:28 | return ...; | return | -| CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:7:16:7:27 | default(...) | normal | -| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:12:9:12:27 | return ...; | return | -| CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:12:9:12:27 | return ...; | return | -| CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | normal | -| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:17:9:17:27 | return ...; | return | -| CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:17:9:17:27 | return ...; | return | -| CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | normal | -| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:22:9:22:25 | return ...; | return | -| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:22:9:22:25 | return ...; | return | -| CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | normal | -| CompileTimeOperators.cs:22:23:22:23 | access to parameter i | CompileTimeOperators.cs:22:23:22:23 | access to parameter i | normal | -| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | normal | -| CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | call to method | normal | -| CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | this access | normal | -| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | {...} | normal | -| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | goto(End) [normal] (0) | -| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | normal | -| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | goto(End) [normal] (0) | -| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | normal | -| CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | goto ...; | goto(End) | -| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | normal | -| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | throw(Exception) | -| CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:32:13:32:21 | goto ...; | goto(End) | -| CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | normal | -| CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | throw(Exception) | -| CompileTimeOperators.cs:33:13:33:38 | ...; | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | normal | -| CompileTimeOperators.cs:33:13:33:38 | ...; | CompileTimeOperators.cs:33:13:33:37 | call to method WriteLine | throw(Exception) | -| CompileTimeOperators.cs:33:31:33:36 | "Dead" | CompileTimeOperators.cs:33:31:33:36 | "Dead" | normal | -| CompileTimeOperators.cs:36:9:38:9 | {...} | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | normal | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | normal | -| CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | normal | -| CompileTimeOperators.cs:37:31:37:39 | "Finally" | CompileTimeOperators.cs:37:31:37:39 | "Finally" | normal | -| CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | normal | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | normal | -| CompileTimeOperators.cs:39:27:39:32 | "Dead" | CompileTimeOperators.cs:39:27:39:32 | "Dead" | normal | -| CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:40:9:40:11 | End: | normal | -| CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | normal | -| CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | normal | -| CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:40:32:40:36 | "End" | normal | -| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | normal | -| ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | call to method | normal | -| ConditionalAccess.cs:1:7:1:23 | this access | ConditionalAccess.cs:1:7:1:23 | this access | normal | -| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | {...} | normal | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:26 | access to parameter i | non-null | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:26 | access to parameter i | null | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:26 | access to parameter i | null | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | call to method ToString | non-null | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | call to method ToString | null | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:26 | access to parameter i | null | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:38 | call to method ToString | null | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | normal | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | access to parameter s | non-null | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | access to parameter s | null | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:26 | access to parameter s | null | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:34 | access to property Length | normal | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:38:7:55 | access to property Length | normal | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | null | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | non-null | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | null | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | non-null | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | null | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | non-null | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | null | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | access to parameter s | non-null | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | access to parameter s | null | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:25 | access to parameter s | null | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | access to property Length | non-null | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | access to property Length | null | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | normal | -| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:38:9:38 | 0 | normal | -| ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:14:13:14:21 | return ...; | return | -| ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:16:13:16:21 | return ...; | return | -| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:14:13:14:21 | return ...; | return | -| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:16:13:16:21 | return ...; | return | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:13 | access to parameter s | non-null | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:13 | access to parameter s | null | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:13 | access to parameter s | null | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:21 | access to property Length | normal | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | false | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | true | -| ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | 0 | normal | -| ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:25:13:25 | (...) ... | normal | -| ConditionalAccess.cs:14:13:14:21 | return ...; | ConditionalAccess.cs:14:13:14:21 | return ...; | return | -| ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:20:14:20 | 0 | normal | -| ConditionalAccess.cs:16:13:16:21 | return ...; | ConditionalAccess.cs:16:13:16:21 | return ...; | return | -| ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:20:16:20 | 1 | normal | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | non-null | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | null | -| ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | null | -| ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | normal | -| ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | normal | -| ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:25:9:25:32 | ... = ... | normal | -| ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | normal | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | normal | -| ConditionalAccess.cs:23:17:23:38 | access to property Length | ConditionalAccess.cs:23:17:23:38 | access to property Length | normal | -| ConditionalAccess.cs:23:17:23:38 | access to property Length | ConditionalAccess.cs:23:18:23:29 | (...) ... | null | -| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:18:23:29 | (...) ... | null | -| ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:26:23:29 | null | normal | -| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:13:24:37 | String s = ... | normal | -| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:13:24:37 | String s = ... | normal | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:17:24:37 | call to method ToString | normal | -| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:18:24:24 | (...) ... | non-null | -| ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:24:24:24 | access to parameter i | normal | -| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:9:25:32 | ... = ... | normal | -| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:9:25:32 | ... = ... | normal | -| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:14 | "" | non-null | -| ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | normal | -| ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:31:25:31 | access to local variable s | normal | -| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:28:30:32 | ... = ... | normal | -| ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:32:30:32 | 0 | normal | -| ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:35:9:35:12 | access to property Prop | null | -| ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:35:9:35:24 | call to method Out | normal | -| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:34:9:34:13 | ... = ... | normal | -| ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:34:9:34:13 | ... = ... | normal | -| ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:34:13:34:13 | 0 | normal | -| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | access to property Prop | non-null | -| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | access to property Prop | null | -| ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | this access | normal | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:12 | access to property Prop | null | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | normal | -| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:12 | access to property Prop | null | -| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:24 | call to method Out | normal | -| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:15:42:26 | return ...; | return | -| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:15:42:26 | return ...; | return | -| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:22:42:25 | null | normal | -| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:13:43:15 | {...} | normal | -| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:54:12:54:29 | ... += ... | normal | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | -| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | -| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | -| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:12:48:25 | ... = ... | normal | -| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | -| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:12:48:25 | ... = ... | normal | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | normal | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | -| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:12:49:32 | ... = ... | normal | -| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | -| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:12:49:32 | ... = ... | normal | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | normal | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | -| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | -| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:13:50:13 | 0 | normal | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:12:50:23 | ... = ... | normal | -| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | -| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:12:50:23 | ... = ... | normal | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | normal | -| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:18:50:23 | "Set0" | normal | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | non-null | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | -| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | -| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:16 | access to property Prop | non-null | -| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:18:51:31 | ... = ... | normal | -| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | -| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | -| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:18:51:31 | ... = ... | normal | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | normal | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | non-null | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | -| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | -| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:16 | access to property Prop | non-null | -| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:18:52:38 | ... = ... | normal | -| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | -| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | -| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:18:52:38 | ... = ... | normal | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | normal | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | normal | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:12:53:25 | ... -= ... | normal | -| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:53:12:53:25 | ... -= ... | normal | -| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | normal | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | non-null | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | normal | -| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:12:54:29 | ... += ... | normal | -| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:54:12:54:29 | ... += ... | normal | -| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | normal | -| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | normal | -| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:70:60:78 | ... + ... | normal | -| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:70:60:83 | ... + ... | normal | -| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:75:60:78 | ", " | normal | -| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | normal | -| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | call to constructor Object | normal | -| Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | call to method | normal | -| Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | this access | normal | -| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | {...} | normal | -| Conditions.cs:4:5:9:5 | {...} | Conditions.cs:7:13:7:16 | !... | false | -| Conditions.cs:4:5:9:5 | {...} | Conditions.cs:8:13:8:15 | ...-- | normal | -| Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:5:13:5:15 | access to parameter inc | false | -| Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:6:13:6:15 | ...++ | normal | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | access to parameter inc | false | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | access to parameter inc | true | -| Conditions.cs:6:13:6:13 | access to parameter x | Conditions.cs:6:13:6:13 | access to parameter x | normal | -| Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:6:13:6:15 | ...++ | normal | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:15 | ...++ | normal | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | !... | false | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:8:13:8:15 | ...-- | normal | -| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:13:7:16 | !... | false | -| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:13:7:16 | !... | true | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | access to parameter inc | false | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | access to parameter inc | true | -| Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:13 | access to parameter x | normal | -| Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:8:13:8:15 | ...-- | normal | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:15 | ...-- | normal | -| Conditions.cs:12:5:20:5 | {...} | Conditions.cs:19:9:19:17 | return ...; | return | -| Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:13:13:17 | Int32 x = ... | normal | -| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:13:13:13:17 | Int32 x = ... | normal | -| Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:17:13:17 | 0 | normal | -| Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:14:13:14:13 | access to parameter b | false | -| Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:15:13:15:15 | ...++ | normal | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | access to parameter b | false | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | access to parameter b | true | -| Conditions.cs:15:13:15:13 | access to local variable x | Conditions.cs:15:13:15:13 | access to local variable x | normal | -| Conditions.cs:15:13:15:15 | ...++ | Conditions.cs:15:13:15:15 | ...++ | normal | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:15 | ...++ | normal | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:13:16:17 | ... > ... | false | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | !... | false | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:18:17:18:19 | ...-- | normal | -| Conditions.cs:16:13:16:13 | access to local variable x | Conditions.cs:16:13:16:13 | access to local variable x | normal | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | ... > ... | false | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | ... > ... | true | -| Conditions.cs:16:17:16:17 | 0 | Conditions.cs:16:17:16:17 | 0 | normal | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | !... | false | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:18:17:18:19 | ...-- | normal | -| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:17:17:18 | !... | false | -| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:17:17:18 | !... | true | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | access to parameter b | false | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | access to parameter b | true | -| Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:17 | access to local variable x | normal | -| Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:18:17:18:19 | ...-- | normal | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:19 | ...-- | normal | -| Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:19:9:19:17 | return ...; | return | -| Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:16:19:16 | access to local variable x | normal | -| Conditions.cs:23:5:31:5 | {...} | Conditions.cs:30:9:30:17 | return ...; | return | -| Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:13:24:17 | Int32 x = ... | normal | -| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:24:13:24:17 | Int32 x = ... | normal | -| Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:17:24:17 | 0 | normal | -| Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:25:13:25:14 | access to parameter b1 | false | -| Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | false | -| Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:27:17:27:19 | ...++ | normal | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | access to parameter b1 | false | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | access to parameter b1 | true | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | false | -| Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:27:17:27:19 | ...++ | normal | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | access to parameter b2 | false | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | access to parameter b2 | true | -| Conditions.cs:27:17:27:17 | access to local variable x | Conditions.cs:27:17:27:17 | access to local variable x | normal | -| Conditions.cs:27:17:27:19 | ...++ | Conditions.cs:27:17:27:19 | ...++ | normal | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:19 | ...++ | normal | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:13:28:14 | access to parameter b2 | false | -| Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:29:13:29:15 | ...++ | normal | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | access to parameter b2 | false | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | access to parameter b2 | true | -| Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:29:13:29:13 | access to local variable x | normal | -| Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:29:13:29:15 | ...++ | normal | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:15 | ...++ | normal | -| Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:30:9:30:17 | return ...; | return | -| Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:16:30:16 | access to local variable x | normal | -| Conditions.cs:34:5:44:5 | {...} | Conditions.cs:43:9:43:17 | return ...; | return | -| Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:13:35:17 | Int32 x = ... | normal | -| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:35:13:35:17 | Int32 x = ... | normal | -| Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:17:35:17 | 0 | normal | -| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:13:36:22 | Boolean b2 = ... | normal | -| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:36:13:36:22 | Boolean b2 = ... | normal | -| Conditions.cs:36:18:36:22 | false | Conditions.cs:36:18:36:22 | false | normal | -| Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:37:13:37:14 | access to parameter b1 | false | -| Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:38:13:38:19 | ... = ... | normal | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | access to parameter b1 | false | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | access to parameter b1 | true | -| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:38:13:38:19 | ... = ... | normal | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:19 | ... = ... | normal | -| Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:18:38:19 | access to parameter b1 | normal | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | false | -| Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:40:13:40:15 | ...++ | normal | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | access to local variable b2 | false | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | access to local variable b2 | true | -| Conditions.cs:40:13:40:13 | access to local variable x | Conditions.cs:40:13:40:13 | access to local variable x | normal | -| Conditions.cs:40:13:40:15 | ...++ | Conditions.cs:40:13:40:15 | ...++ | normal | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:15 | ...++ | normal | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:41:13:41:14 | access to local variable b2 | false | -| Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:42:13:42:15 | ...++ | normal | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | access to local variable b2 | false | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | access to local variable b2 | true | -| Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:42:13:42:13 | access to local variable x | normal | -| Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:42:13:42:15 | ...++ | normal | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:15 | ...++ | normal | -| Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:43:9:43:17 | return ...; | return | -| Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:16:43:16 | access to local variable x | normal | -| Conditions.cs:47:5:55:5 | {...} | Conditions.cs:54:9:54:17 | return ...; | return | -| Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:13:48:17 | Int32 y = ... | normal | -| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:48:13:48:17 | Int32 y = ... | normal | -| Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:17:48:17 | 0 | normal | -| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:16:49:22 | ... > ... | false | -| Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:16 | access to parameter x | normal | -| Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:16:49:18 | ...-- | normal | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | ... > ... | false | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | ... > ... | true | -| Conditions.cs:49:22:49:22 | 0 | Conditions.cs:49:22:49:22 | 0 | normal | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:51:17:51:17 | access to parameter b | false | -| Conditions.cs:50:9:53:9 | {...} | Conditions.cs:52:17:52:19 | ...++ | normal | -| Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:51:17:51:17 | access to parameter b | false | -| Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:52:17:52:19 | ...++ | normal | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | access to parameter b | false | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | access to parameter b | true | -| Conditions.cs:52:17:52:17 | access to local variable y | Conditions.cs:52:17:52:17 | access to local variable y | normal | -| Conditions.cs:52:17:52:19 | ...++ | Conditions.cs:52:17:52:19 | ...++ | normal | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:19 | ...++ | normal | -| Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:54:9:54:17 | return ...; | return | -| Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:16:54:16 | access to local variable y | normal | -| Conditions.cs:58:5:68:5 | {...} | Conditions.cs:67:9:67:17 | return ...; | return | -| Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:13:59:17 | Int32 y = ... | normal | -| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:59:13:59:17 | Int32 y = ... | normal | -| Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:17:59:17 | 0 | normal | -| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:16:60:22 | ... > ... | false | -| Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:16 | access to parameter x | normal | -| Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:16:60:18 | ...-- | normal | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | ... > ... | false | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | ... > ... | true | -| Conditions.cs:60:22:60:22 | 0 | Conditions.cs:60:22:60:22 | 0 | normal | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:62:17:62:17 | access to parameter b | false | -| Conditions.cs:61:9:64:9 | {...} | Conditions.cs:63:17:63:19 | ...++ | normal | -| Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:62:17:62:17 | access to parameter b | false | -| Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:63:17:63:19 | ...++ | normal | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | access to parameter b | false | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | access to parameter b | true | -| Conditions.cs:63:17:63:17 | access to local variable y | Conditions.cs:63:17:63:17 | access to local variable y | normal | -| Conditions.cs:63:17:63:19 | ...++ | Conditions.cs:63:17:63:19 | ...++ | normal | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:19 | ...++ | normal | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:13:65:13 | access to parameter b | false | -| Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:66:13:66:15 | ...++ | normal | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | access to parameter b | false | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | access to parameter b | true | -| Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:66:13:66:13 | access to local variable y | normal | -| Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:66:13:66:15 | ...++ | normal | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:15 | ...++ | normal | -| Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:67:9:67:17 | return ...; | return | -| Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:16:67:16 | access to local variable y | normal | -| Conditions.cs:71:5:84:5 | {...} | Conditions.cs:83:9:83:17 | return ...; | return | -| Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:13:72:29 | Boolean b = ... | normal | -| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:13:72:29 | Boolean b = ... | normal | -| Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:17:72:18 | access to parameter ss | normal | -| Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:17:72:25 | access to property Length | normal | -| Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:17:72:29 | ... > ... | normal | -| Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:29:72:29 | 0 | normal | -| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:13:73:17 | Int32 x = ... | normal | -| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:73:13:73:17 | Int32 x = ... | normal | -| Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:17:73:17 | 0 | normal | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | empty | -| Conditions.cs:74:22:74:22 | String _ | Conditions.cs:74:22:74:22 | String _ | normal | -| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:27:74:28 | access to parameter ss | normal | -| Conditions.cs:75:9:80:9 | {...} | Conditions.cs:78:17:78:21 | ... > ... | false | -| Conditions.cs:75:9:80:9 | {...} | Conditions.cs:79:17:79:25 | ... = ... | normal | -| Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:76:17:76:17 | access to local variable b | false | -| Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:77:17:77:19 | ...++ | normal | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | access to local variable b | false | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | access to local variable b | true | -| Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:77:17:77:17 | access to local variable x | normal | -| Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:77:17:77:19 | ...++ | normal | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:19 | ...++ | normal | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:21 | ... > ... | false | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:79:17:79:25 | ... = ... | normal | -| Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:17:78:17 | access to local variable x | normal | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | ... > ... | false | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | ... > ... | true | -| Conditions.cs:78:21:78:21 | 0 | Conditions.cs:78:21:78:21 | 0 | normal | -| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:79:17:79:25 | ... = ... | normal | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:25 | ... = ... | normal | -| Conditions.cs:79:21:79:25 | false | Conditions.cs:79:21:79:25 | false | normal | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:13:81:13 | access to local variable b | false | -| Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:82:13:82:15 | ...++ | normal | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | access to local variable b | false | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | access to local variable b | true | -| Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:82:13:82:13 | access to local variable x | normal | -| Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:82:13:82:15 | ...++ | normal | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:15 | ...++ | normal | -| Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:83:9:83:17 | return ...; | return | -| Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:16:83:16 | access to local variable x | normal | -| Conditions.cs:87:5:100:5 | {...} | Conditions.cs:99:9:99:17 | return ...; | return | -| Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:13:88:29 | Boolean b = ... | normal | -| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:13:88:29 | Boolean b = ... | normal | -| Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:17:88:18 | access to parameter ss | normal | -| Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:17:88:25 | access to property Length | normal | -| Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:17:88:29 | ... > ... | normal | -| Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:29:88:29 | 0 | normal | -| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:13:89:17 | Int32 x = ... | normal | -| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:89:13:89:17 | Int32 x = ... | normal | -| Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:17:89:17 | 0 | normal | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | empty | -| Conditions.cs:90:22:90:22 | String _ | Conditions.cs:90:22:90:22 | String _ | normal | -| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:27:90:28 | access to parameter ss | normal | -| Conditions.cs:91:9:98:9 | {...} | Conditions.cs:96:17:96:17 | access to local variable b | false | -| Conditions.cs:91:9:98:9 | {...} | Conditions.cs:97:17:97:19 | ...++ | normal | -| Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:92:17:92:17 | access to local variable b | false | -| Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:93:17:93:19 | ...++ | normal | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | access to local variable b | false | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | access to local variable b | true | -| Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:93:17:93:17 | access to local variable x | normal | -| Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:93:17:93:19 | ...++ | normal | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:19 | ...++ | normal | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:21 | ... > ... | false | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:95:17:95:25 | ... = ... | normal | -| Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:17:94:17 | access to local variable x | normal | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | ... > ... | false | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | ... > ... | true | -| Conditions.cs:94:21:94:21 | 0 | Conditions.cs:94:21:94:21 | 0 | normal | -| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:95:17:95:25 | ... = ... | normal | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:25 | ... = ... | normal | -| Conditions.cs:95:21:95:25 | false | Conditions.cs:95:21:95:25 | false | normal | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:17:96:17 | access to local variable b | false | -| Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:97:17:97:19 | ...++ | normal | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | access to local variable b | false | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | access to local variable b | true | -| Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:97:17:97:17 | access to local variable x | normal | -| Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:97:17:97:19 | ...++ | normal | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:19 | ...++ | normal | -| Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:99:9:99:17 | return ...; | return | -| Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:16:99:16 | access to local variable x | normal | -| Conditions.cs:103:5:111:5 | {...} | Conditions.cs:110:9:110:17 | return ...; | return | -| Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:13:104:28 | String x = ... | normal | -| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:13:104:28 | String x = ... | normal | -| Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:17:104:17 | access to parameter b | normal | -| Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:17:104:28 | call to method ToString | normal | -| Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:105:13:105:13 | access to parameter b | false | -| Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:106:13:106:19 | ... += ... | normal | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | access to parameter b | false | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | access to parameter b | true | -| Conditions.cs:106:13:106:13 | access to local variable x | Conditions.cs:106:13:106:13 | access to local variable x | normal | -| Conditions.cs:106:13:106:19 | ... += ... | Conditions.cs:106:13:106:19 | ... += ... | normal | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:19 | ... += ... | normal | -| Conditions.cs:106:18:106:19 | "" | Conditions.cs:106:18:106:19 | "" | normal | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:13:107:24 | ... > ... | false | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | !... | false | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:109:17:109:23 | ... += ... | normal | -| Conditions.cs:107:13:107:13 | access to local variable x | Conditions.cs:107:13:107:13 | access to local variable x | normal | -| Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:107:13:107:20 | access to property Length | normal | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | ... > ... | false | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | ... > ... | true | -| Conditions.cs:107:24:107:24 | 0 | Conditions.cs:107:24:107:24 | 0 | normal | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | !... | false | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:109:17:109:23 | ... += ... | normal | -| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:17:108:18 | !... | false | -| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:17:108:18 | !... | true | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | access to parameter b | false | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | access to parameter b | true | -| Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:17:109:17 | access to local variable x | normal | -| Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:109:17:109:23 | ... += ... | normal | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:23 | ... += ... | normal | -| Conditions.cs:109:22:109:23 | "" | Conditions.cs:109:22:109:23 | "" | normal | -| Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:110:9:110:17 | return ...; | return | -| Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:16:110:16 | access to local variable x | normal | -| Conditions.cs:114:5:124:5 | {...} | Conditions.cs:116:25:116:39 | ... < ... | false | -| Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:16:115:23 | String s = ... | normal | -| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:115:16:115:23 | String s = ... | normal | -| Conditions.cs:115:20:115:23 | null | Conditions.cs:115:20:115:23 | null | normal | -| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:25:116:39 | ... < ... | false | -| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:18:116:22 | Int32 i = ... | normal | -| Conditions.cs:116:22:116:22 | 0 | Conditions.cs:116:22:116:22 | 0 | normal | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:25:116:25 | access to local variable i | normal | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | ... < ... | false | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | ... < ... | true | -| Conditions.cs:116:29:116:32 | access to parameter args | Conditions.cs:116:29:116:32 | access to parameter args | normal | -| Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:116:29:116:39 | access to property Length | normal | -| Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:42 | access to local variable i | normal | -| Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:116:42:116:44 | ...++ | normal | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:121:17:121:20 | access to local variable last | false | -| Conditions.cs:117:9:123:9 | {...} | Conditions.cs:122:17:122:24 | ... = ... | normal | -| Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:17:118:43 | Boolean last = ... | normal | -| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:17:118:43 | Boolean last = ... | normal | -| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:24:118:24 | access to local variable i | normal | -| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:24:118:43 | ... == ... | normal | -| Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:29:118:32 | access to parameter args | normal | -| Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:29:118:39 | access to property Length | normal | -| Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:29:118:43 | ... - ... | normal | -| Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:43:118:43 | 1 | normal | -| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:17:119:21 | !... | false | -| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:120:17:120:22 | ... = ... | normal | -| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:17:119:21 | !... | false | -| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:17:119:21 | !... | true | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | access to local variable last | false | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | access to local variable last | true | -| Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:120:17:120:22 | ... = ... | normal | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:22 | ... = ... | normal | -| Conditions.cs:120:21:120:22 | "" | Conditions.cs:120:21:120:22 | "" | normal | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:17:121:20 | access to local variable last | false | -| Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:122:17:122:24 | ... = ... | normal | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | access to local variable last | false | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | access to local variable last | true | -| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:122:17:122:24 | ... = ... | normal | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:24 | ... = ... | normal | -| Conditions.cs:122:21:122:24 | null | Conditions.cs:122:21:122:24 | null | normal | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | true | true | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:133:17:133:22 | access to field Field1 | false | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:135:21:135:26 | access to field Field2 | false | -| Conditions.cs:132:9:140:9 | {...} | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:133:17:133:22 | access to field Field1 | false | -| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:135:21:135:26 | access to field Field2 | false | -| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | access to field Field1 | false | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | access to field Field1 | true | -| Conditions.cs:133:17:133:22 | this access | Conditions.cs:133:17:133:22 | this access | normal | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:135:21:135:26 | access to field Field2 | false | -| Conditions.cs:134:13:139:13 | {...} | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:135:21:135:26 | access to field Field2 | false | -| Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | access to field Field2 | false | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | access to field Field2 | true | -| Conditions.cs:135:21:135:26 | this access | Conditions.cs:135:21:135:26 | this access | normal | -| Conditions.cs:136:17:138:17 | {...} | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:137:21:137:26 | access to field Field1 | normal | -| Conditions.cs:137:21:137:26 | this access | Conditions.cs:137:21:137:26 | this access | normal | -| Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:137:21:137:38 | ...; | Conditions.cs:137:21:137:37 | call to method ToString | normal | -| Conditions.cs:144:5:150:5 | {...} | Conditions.cs:147:13:147:48 | call to method WriteLine | normal | -| Conditions.cs:144:5:150:5 | {...} | Conditions.cs:149:13:149:48 | call to method WriteLine | normal | -| Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:145:13:145:29 | String s = ... | normal | -| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:13:145:29 | String s = ... | normal | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | access to parameter b | false | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | access to parameter b | true | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:29 | ... ? ... : ... | normal | -| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:21:145:23 | "a" | normal | -| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:27:145:29 | "b" | normal | -| Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:147:13:147:48 | call to method WriteLine | normal | -| Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:149:13:149:48 | call to method WriteLine | normal | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | access to parameter b | false | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | access to parameter b | true | -| Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:147:13:147:48 | call to method WriteLine | normal | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:13:147:48 | call to method WriteLine | normal | -| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:38:147:47 | $"..." | normal | -| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:40:147:43 | "a = " | normal | -| Conditions.cs:147:44:147:46 | {...} | Conditions.cs:147:44:147:46 | {...} | normal | -| Conditions.cs:147:45:147:45 | access to local variable s | Conditions.cs:147:45:147:45 | access to local variable s | normal | -| Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:149:13:149:48 | call to method WriteLine | normal | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:13:149:48 | call to method WriteLine | normal | -| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:38:149:47 | $"..." | normal | -| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:40:149:43 | "b = " | normal | -| Conditions.cs:149:44:149:46 | {...} | Conditions.cs:149:44:149:46 | {...} | normal | -| Conditions.cs:149:45:149:45 | access to local variable s | Conditions.cs:149:45:149:45 | access to local variable s | normal | -| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | call to constructor Object | normal | -| ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | call to method | normal | -| ExitMethods.cs:6:7:6:17 | this access | ExitMethods.cs:6:7:6:17 | this access | normal | -| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | {...} | normal | -| ExitMethods.cs:9:5:12:5 | {...} | ExitMethods.cs:11:9:11:15 | return ...; | return | -| ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | normal | -| ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | normal | -| ExitMethods.cs:10:20:10:23 | true | ExitMethods.cs:10:20:10:23 | true | normal | -| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:11:9:11:15 | return ...; | return | -| ExitMethods.cs:15:5:18:5 | {...} | ExitMethods.cs:17:9:17:15 | return ...; | return | -| ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | normal | -| ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | normal | -| ExitMethods.cs:16:20:16:24 | false | ExitMethods.cs:16:20:16:24 | false | normal | -| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:17:9:17:15 | return ...; | return | -| ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | throw(ArgumentException) | -| ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | throw(Exception) | -| ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:23:9:23:15 | return ...; | return | -| ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | throw(ArgumentException) | -| ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | throw(Exception) | -| ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | throw(ArgumentException) | -| ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | throw(Exception) | -| ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:22:21:22:24 | true | normal | -| ExitMethods.cs:23:9:23:15 | return ...; | ExitMethods.cs:23:9:23:15 | return ...; | return | -| ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:28:9:28:14 | call to method Exit | exit | -| ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:29:9:29:15 | return ...; | return | -| ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:28:9:28:14 | call to method Exit | exit | -| ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:28:9:28:14 | this access | normal | -| ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:28:9:28:14 | call to method Exit | exit | -| ExitMethods.cs:29:9:29:15 | return ...; | ExitMethods.cs:29:9:29:15 | return ...; | return | -| ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | exit | -| ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:35:9:35:15 | return ...; | return | -| ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | exit | -| ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:34:9:34:25 | this access | normal | -| ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | exit | -| ExitMethods.cs:35:9:35:15 | return ...; | ExitMethods.cs:35:9:35:15 | return ...; | return | -| ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:46:13:46:19 | return ...; | return | -| ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:50:13:50:19 | return ...; | return | -| ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:46:13:46:19 | return ...; | return | -| ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:50:13:50:19 | return ...; | return | -| ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | throw(ArgumentException) | -| ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | throw(Exception) | -| ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | throw(ArgumentException) | -| ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | throw(Exception) | -| ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | throw(ArgumentException) | -| ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | throw(Exception) | -| ExitMethods.cs:42:25:42:29 | false | ExitMethods.cs:42:25:42:29 | false | normal | -| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:44:9:47:9 | catch (...) {...} | no-match | -| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:46:13:46:19 | return ...; | return | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:46:13:46:19 | return ...; | return | -| ExitMethods.cs:46:13:46:19 | return ...; | ExitMethods.cs:46:13:46:19 | return ...; | return | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:50:13:50:19 | return ...; | return | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:50:13:50:19 | return ...; | return | -| ExitMethods.cs:50:13:50:19 | return ...; | ExitMethods.cs:50:13:50:19 | return ...; | return | -| ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | throw(Exception) | -| ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:57:9:57:15 | return ...; | return | -| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | throw(Exception) | -| ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | throw(Exception) | -| ExitMethods.cs:57:9:57:15 | return ...; | ExitMethods.cs:57:9:57:15 | return ...; | return | -| ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | throw(Exception) | -| ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:63:9:63:15 | return ...; | return | -| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | throw(Exception) | -| ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | throw(Exception) | -| ExitMethods.cs:63:9:63:15 | return ...; | ExitMethods.cs:63:9:63:15 | return ...; | return | -| ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:68:13:68:13 | access to parameter b | false | -| ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:69:13:69:34 | throw ...; | throw(Exception) | -| ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:68:13:68:13 | access to parameter b | false | -| ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:69:13:69:34 | throw ...; | throw(Exception) | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | access to parameter b | false | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | access to parameter b | true | -| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:69:13:69:34 | throw ...; | throw(Exception) | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:19:69:33 | object creation of type Exception | normal | -| ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:75:13:75:34 | throw ...; | throw(Exception) | -| ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:77:13:77:45 | throw ...; | throw(ArgumentException) | -| ExitMethods.cs:74:9:77:45 | if (...) ... | ExitMethods.cs:75:13:75:34 | throw ...; | throw(Exception) | -| ExitMethods.cs:74:9:77:45 | if (...) ... | ExitMethods.cs:77:13:77:45 | throw ...; | throw(ArgumentException) | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | access to parameter b | false | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | access to parameter b | true | -| ExitMethods.cs:75:13:75:34 | throw ...; | ExitMethods.cs:75:13:75:34 | throw ...; | throw(Exception) | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:19:75:33 | object creation of type Exception | normal | -| ExitMethods.cs:77:13:77:45 | throw ...; | ExitMethods.cs:77:13:77:45 | throw ...; | throw(ArgumentException) | -| ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | normal | -| ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:41:77:43 | "b" | normal | -| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:82:9:82:30 | throw ...; | throw(Exception) | -| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:82:9:82:30 | throw ...; | throw(Exception) | -| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:82:15:82:29 | object creation of type Exception | normal | -| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:35:85:55 | throw ... | throw(Exception) | -| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:41:85:55 | object creation of type Exception | normal | -| ExitMethods.cs:88:5:90:5 | {...} | ExitMethods.cs:89:9:89:27 | call to method Exit | exit | -| ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:89:9:89:27 | call to method Exit | exit | -| ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:89:9:89:27 | call to method Exit | exit | -| ExitMethods.cs:89:26:89:26 | 0 | ExitMethods.cs:89:26:89:26 | 0 | normal | -| ExitMethods.cs:93:5:103:5 | {...} | ExitMethods.cs:96:13:96:18 | call to method Exit | exit | -| ExitMethods.cs:94:9:102:9 | try {...} ... | ExitMethods.cs:96:13:96:18 | call to method Exit | exit | -| ExitMethods.cs:95:9:97:9 | {...} | ExitMethods.cs:96:13:96:18 | call to method Exit | exit | -| ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:96:13:96:18 | call to method Exit | exit | -| ExitMethods.cs:96:13:96:18 | this access | ExitMethods.cs:96:13:96:18 | this access | normal | -| ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:96:13:96:18 | call to method Exit | exit | -| ExitMethods.cs:99:9:102:9 | {...} | ExitMethods.cs:101:13:101:40 | call to method WriteLine | normal | -| ExitMethods.cs:101:13:101:40 | call to method WriteLine | ExitMethods.cs:101:13:101:40 | call to method WriteLine | normal | -| ExitMethods.cs:101:13:101:41 | ...; | ExitMethods.cs:101:13:101:40 | call to method WriteLine | normal | -| ExitMethods.cs:101:38:101:39 | "" | ExitMethods.cs:101:38:101:39 | "" | normal | -| ExitMethods.cs:106:5:108:5 | {...} | ExitMethods.cs:107:9:107:47 | call to method Exit | exit | -| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:107:9:107:47 | call to method Exit | exit | -| ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:107:9:107:47 | call to method Exit | exit | -| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:112:9:112:77 | return ...; | return | -| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:112:41:112:76 | throw ... | throw(ArgumentException) | -| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:112:9:112:77 | return ...; | return | -| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:112:41:112:76 | throw ... | throw(ArgumentException) | -| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:16:112:20 | access to parameter input | normal | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | ... != ... | false | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | ... != ... | true | -| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | normal | -| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:41:112:76 | throw ... | throw(ArgumentException) | -| ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:112:25:112:25 | 0 | normal | -| ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:25:112:25 | (...) ... | normal | -| ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | 1 | normal | -| ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:112:29:112:29 | (...) ... | normal | -| ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:112:29:112:37 | ... / ... | normal | -| ExitMethods.cs:112:33:112:37 | access to parameter input | ExitMethods.cs:112:33:112:37 | access to parameter input | normal | -| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:112:41:112:76 | throw ... | throw(ArgumentException) | -| ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | normal | -| ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:69:112:75 | "input" | normal | -| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:117:9:117:39 | return ...; | return | -| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:117:9:117:39 | return ...; | return | -| ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:117:16:117:16 | access to parameter s | normal | -| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | call to method Contains | false | -| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | call to method Contains | true | -| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | normal | -| ExitMethods.cs:117:27:117:29 | - | ExitMethods.cs:117:27:117:29 | - | normal | -| ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:117:34:117:34 | 0 | normal | -| ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:38:117:38 | 1 | normal | -| ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:122:9:122:28 | call to method IsTrue | throw(AssertFailedException) | -| 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 | 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 | -| ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | throw(AssertFailedException) | -| ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:129:13:129:17 | Int32 x = ... | normal | -| ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | throw(AssertFailedException) | -| ExitMethods.cs:128:9:128:26 | this access | ExitMethods.cs:128:9:128:26 | this access | normal | -| ExitMethods.cs:128:9:128:27 | ...; | ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | throw(AssertFailedException) | -| ExitMethods.cs:129:9:129:18 | ... ...; | ExitMethods.cs:129:13:129:17 | Int32 x = ... | normal | -| ExitMethods.cs:129:13:129:17 | Int32 x = ... | ExitMethods.cs:129:13:129:17 | Int32 x = ... | normal | -| 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 | 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 | 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 | -| ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:143:13:143:42 | call to method Throw | throw(ArgumentException) | -| ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:145:13:145:52 | call to method Throw | throw(Exception) | -| ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:146:9:146:33 | call to method WriteLine | normal | -| ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:143:13:143:42 | call to method Throw | throw(ArgumentException) | -| ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:145:13:145:52 | call to method Throw | throw(Exception) | -| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | access to parameter b | false | -| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | access to parameter b | true | -| ExitMethods.cs:143:13:143:42 | call to method Throw | ExitMethods.cs:143:13:143:42 | call to method Throw | throw(ArgumentException) | -| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:13:143:42 | call to method Throw | throw(ArgumentException) | -| ExitMethods.cs:143:41:143:41 | access to parameter e | ExitMethods.cs:143:41:143:41 | access to parameter e | normal | -| ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:145:13:145:44 | call to method Capture | normal | -| ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:145:13:145:52 | call to method Throw | throw(Exception) | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:52 | call to method Throw | throw(Exception) | -| ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:145:43:145:43 | access to parameter e | normal | -| ExitMethods.cs:146:9:146:33 | call to method WriteLine | ExitMethods.cs:146:9:146:33 | call to method WriteLine | normal | -| ExitMethods.cs:146:9:146:34 | ...; | ExitMethods.cs:146:9:146:33 | call to method WriteLine | normal | -| ExitMethods.cs:146:27:146:32 | "dead" | ExitMethods.cs:146:27:146:32 | "dead" | normal | -| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:7:9:7:30 | return ...; | return | -| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:7:9:7:30 | return ...; | return | -| Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:16:7:29 | call to method Parse | normal | -| Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:7:28:7:28 | access to parameter s | normal | -| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:12:9:12:20 | return ...; | return | -| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:12:9:12:20 | return ...; | return | -| Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:12:16:12:16 | access to parameter f | normal | -| Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:16:12:19 | delegate call | normal | -| Extensions.cs:12:18:12:18 | access to parameter s | Extensions.cs:12:18:12:18 | access to parameter s | normal | -| Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:40:15:51 | call to method ToInt32 | normal | -| Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:48:15:50 | "0" | normal | -| Extensions.cs:21:5:26:5 | {...} | Extensions.cs:25:9:25:33 | call to method ToBool | normal | -| Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:22:9:22:9 | access to parameter s | normal | -| Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:22:9:22:19 | call to method ToInt32 | normal | -| Extensions.cs:22:9:22:20 | ...; | Extensions.cs:22:9:22:19 | call to method ToInt32 | normal | -| Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:23:9:23:30 | call to method ToInt32 | normal | -| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:23:9:23:30 | call to method ToInt32 | normal | -| Extensions.cs:23:28:23:29 | "" | Extensions.cs:23:28:23:29 | "" | normal | -| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:24:9:24:45 | call to method ToBool | normal | -| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:24:9:24:45 | call to method ToBool | normal | -| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:27:24:32 | "true" | normal | -| Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:24:35:24:44 | access to method Parse | normal | -| Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:24:35:24:44 | delegate creation of type Func | normal | -| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:9:25:14 | "true" | normal | -| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:25:9:25:33 | call to method ToBool | normal | -| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:25:9:25:33 | call to method ToBool | normal | -| Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:25:23:25:32 | access to method Parse | normal | -| Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:25:23:25:32 | delegate creation of type Func | normal | -| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | call to constructor Object | normal | -| Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | call to method | normal | -| Finally.cs:3:14:3:20 | this access | Finally.cs:3:14:3:20 | this access | normal | -| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | {...} | normal | -| Finally.cs:8:5:17:5 | {...} | Finally.cs:15:13:15:40 | call to method WriteLine | normal | -| Finally.cs:8:5:17:5 | {...} | Finally.cs:15:13:15:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:9:9:16:9 | try {...} ... | Finally.cs:15:13:15:40 | call to method WriteLine | normal | -| Finally.cs:9:9:16:9 | try {...} ... | Finally.cs:15:13:15:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:10:9:12:9 | {...} | Finally.cs:11:13:11:37 | call to method WriteLine | normal | -| Finally.cs:10:9:12:9 | {...} | Finally.cs:11:13:11:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:11:13:11:37 | call to method WriteLine | normal | -| Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:11:13:11:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:11:13:11:38 | ...; | Finally.cs:11:13:11:37 | call to method WriteLine | normal | -| Finally.cs:11:13:11:38 | ...; | Finally.cs:11:13:11:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:11:31:11:36 | "Try1" | Finally.cs:11:31:11:36 | "Try1" | normal | -| Finally.cs:14:9:16:9 | {...} | Finally.cs:15:13:15:40 | call to method WriteLine | normal | -| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:15:13:15:40 | call to method WriteLine | normal | -| Finally.cs:15:13:15:41 | ...; | Finally.cs:15:13:15:40 | call to method WriteLine | normal | -| Finally.cs:15:31:15:39 | "Finally" | Finally.cs:15:31:15:39 | "Finally" | normal | -| Finally.cs:20:5:52:5 | {...} | Finally.cs:50:13:50:40 | call to method WriteLine | normal | -| Finally.cs:20:5:52:5 | {...} | Finally.cs:50:13:50:40 | call to method WriteLine | return [normal] (0) | -| Finally.cs:20:5:52:5 | {...} | Finally.cs:50:13:50:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:20:5:52:5 | {...} | Finally.cs:50:13:50:40 | call to method WriteLine | throw(IOException) [normal] (0) | -| Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:50:13:50:40 | call to method WriteLine | normal | -| Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:50:13:50:40 | call to method WriteLine | return [normal] (0) | -| Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:50:13:50:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:50:13:50:40 | call to method WriteLine | throw(IOException) [normal] (0) | -| Finally.cs:22:9:25:9 | {...} | Finally.cs:23:13:23:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:22:9:25:9 | {...} | Finally.cs:24:13:24:19 | return ...; | return | -| Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:23:13:23:37 | call to method WriteLine | normal | -| Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:23:13:23:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:23:13:23:38 | ...; | Finally.cs:23:13:23:37 | call to method WriteLine | normal | -| Finally.cs:23:13:23:38 | ...; | Finally.cs:23:13:23:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:23:31:23:36 | "Try2" | Finally.cs:23:31:23:36 | "Try2" | normal | -| Finally.cs:24:13:24:19 | return ...; | Finally.cs:24:13:24:19 | return ...; | return | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | catch (...) {...} | no-match | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:28:13:28:18 | throw ...; | throw(IOException) | -| Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:38:26:39 | IOException ex | normal | -| Finally.cs:26:48:26:51 | true | Finally.cs:26:48:26:51 | true | true | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:28:13:28:18 | throw ...; | throw(IOException) | -| Finally.cs:28:13:28:18 | throw ...; | Finally.cs:28:13:28:18 | throw ...; | throw(IOException) | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | no-match | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:38:17:38:44 | throw ...; | throw(Exception) | -| Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:30:41:30:42 | ArgumentException ex | normal | -| Finally.cs:31:9:40:9 | {...} | Finally.cs:38:17:38:44 | throw ...; | throw(Exception) | -| Finally.cs:32:13:39:13 | try {...} ... | Finally.cs:38:17:38:44 | throw ...; | throw(Exception) | -| Finally.cs:33:13:35:13 | {...} | Finally.cs:34:27:34:32 | throw ...; | throw(ArgumentException) | -| Finally.cs:34:17:34:32 | if (...) ... | Finally.cs:34:27:34:32 | throw ...; | throw(ArgumentException) | -| Finally.cs:34:21:34:24 | true | Finally.cs:34:21:34:24 | true | true | -| Finally.cs:34:27:34:32 | throw ...; | Finally.cs:34:27:34:32 | throw ...; | throw(ArgumentException) | -| Finally.cs:37:13:39:13 | {...} | Finally.cs:38:17:38:44 | throw ...; | throw(Exception) | -| Finally.cs:38:17:38:44 | throw ...; | Finally.cs:38:17:38:44 | throw ...; | throw(Exception) | -| Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:38:23:38:43 | object creation of type Exception | normal | -| Finally.cs:38:37:38:42 | "Boo!" | Finally.cs:38:37:38:42 | "Boo!" | normal | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | no-match | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | normal | -| Finally.cs:42:9:43:9 | {...} | Finally.cs:42:9:43:9 | {...} | normal | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:46:13:46:19 | return ...; | return | -| Finally.cs:45:9:47:9 | {...} | Finally.cs:46:13:46:19 | return ...; | return | -| Finally.cs:46:13:46:19 | return ...; | Finally.cs:46:13:46:19 | return ...; | return | -| Finally.cs:49:9:51:9 | {...} | Finally.cs:50:13:50:40 | call to method WriteLine | normal | -| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:50:13:50:40 | call to method WriteLine | normal | -| Finally.cs:50:13:50:41 | ...; | Finally.cs:50:13:50:40 | call to method WriteLine | normal | -| Finally.cs:50:31:50:39 | "Finally" | Finally.cs:50:31:50:39 | "Finally" | normal | -| Finally.cs:55:5:72:5 | {...} | Finally.cs:70:13:70:40 | call to method WriteLine | normal | -| Finally.cs:55:5:72:5 | {...} | Finally.cs:70:13:70:40 | call to method WriteLine | return [normal] (0) | -| Finally.cs:55:5:72:5 | {...} | Finally.cs:70:13:70:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:55:5:72:5 | {...} | Finally.cs:70:13:70:40 | call to method WriteLine | throw(IOException) [normal] (0) | -| Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:70:13:70:40 | call to method WriteLine | normal | -| Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:70:13:70:40 | call to method WriteLine | return [normal] (0) | -| Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:70:13:70:40 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:70:13:70:40 | call to method WriteLine | throw(IOException) [normal] (0) | -| Finally.cs:57:9:60:9 | {...} | Finally.cs:58:13:58:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:57:9:60:9 | {...} | Finally.cs:59:13:59:19 | return ...; | return | -| Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:58:13:58:37 | call to method WriteLine | normal | -| Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:58:13:58:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:58:13:58:38 | ...; | Finally.cs:58:13:58:37 | call to method WriteLine | normal | -| Finally.cs:58:13:58:38 | ...; | Finally.cs:58:13:58:37 | call to method WriteLine | throw(Exception) | -| Finally.cs:58:31:58:36 | "Try3" | Finally.cs:58:31:58:36 | "Try3" | normal | -| Finally.cs:59:13:59:19 | return ...; | Finally.cs:59:13:59:19 | return ...; | return | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | catch (...) {...} | no-match | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:63:13:63:18 | throw ...; | throw(IOException) | -| Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:38:61:39 | IOException ex | normal | -| Finally.cs:61:48:61:51 | true | Finally.cs:61:48:61:51 | true | true | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:63:13:63:18 | throw ...; | throw(IOException) | -| Finally.cs:63:13:63:18 | throw ...; | Finally.cs:63:13:63:18 | throw ...; | throw(IOException) | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | throw(Exception) [no-match] (0) | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:35:65:51 | ... != ... | throw(Exception) [false] (0) | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:66:9:67:9 | {...} | normal | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:26:65:26 | Exception e | normal | -| Finally.cs:65:35:65:35 | access to local variable e | Finally.cs:65:35:65:35 | access to local variable e | normal | -| Finally.cs:65:35:65:43 | access to property Message | Finally.cs:65:35:65:43 | access to property Message | normal | -| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | ... != ... | false | -| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | ... != ... | true | -| Finally.cs:65:48:65:51 | null | Finally.cs:65:48:65:51 | null | normal | -| Finally.cs:66:9:67:9 | {...} | Finally.cs:66:9:67:9 | {...} | normal | -| Finally.cs:69:9:71:9 | {...} | Finally.cs:70:13:70:40 | call to method WriteLine | normal | -| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:70:13:70:40 | call to method WriteLine | normal | -| Finally.cs:70:13:70:41 | ...; | Finally.cs:70:13:70:40 | call to method WriteLine | normal | -| Finally.cs:70:31:70:39 | "Finally" | Finally.cs:70:31:70:39 | "Finally" | normal | -| Finally.cs:75:5:101:5 | {...} | Finally.cs:77:16:77:20 | ... > ... | false | -| Finally.cs:75:5:101:5 | {...} | Finally.cs:97:21:97:23 | ...-- | normal [break] (0) | -| Finally.cs:75:5:101:5 | {...} | Finally.cs:97:21:97:23 | ...-- | return [normal] (0) | -| Finally.cs:75:5:101:5 | {...} | Finally.cs:97:21:97:23 | ...-- | throw(Exception) [normal] (1) | -| Finally.cs:76:9:76:19 | ... ...; | Finally.cs:76:13:76:18 | Int32 i = ... | normal | -| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:76:13:76:18 | Int32 i = ... | normal | -| Finally.cs:76:17:76:18 | 10 | Finally.cs:76:17:76:18 | 10 | normal | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:77:16:77:20 | ... > ... | false | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:97:21:97:23 | ...-- | normal [break] (0) | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:97:21:97:23 | ...-- | return [normal] (0) | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:97:21:97:23 | ...-- | throw(Exception) [normal] (1) | -| Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:16:77:16 | access to local variable i | normal | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | ... > ... | false | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | ... > ... | true | -| Finally.cs:77:20:77:20 | 0 | Finally.cs:77:20:77:20 | 0 | normal | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:97:21:97:23 | ...-- | break [normal] (0) | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:97:21:97:23 | ...-- | continue [normal] (0) | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:97:21:97:23 | ...-- | return [normal] (0) | -| Finally.cs:78:9:100:9 | {...} | Finally.cs:97:21:97:23 | ...-- | throw(Exception) [normal] (1) | -| Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | break [normal] (0) | -| Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | continue [normal] (0) | -| Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | return [normal] (0) | -| Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | throw(Exception) [normal] (1) | -| Finally.cs:80:13:87:13 | {...} | Finally.cs:82:21:82:27 | return ...; | return | -| Finally.cs:80:13:87:13 | {...} | Finally.cs:84:21:84:29 | continue; | continue | -| Finally.cs:80:13:87:13 | {...} | Finally.cs:85:21:85:26 | ... == ... | false | -| Finally.cs:80:13:87:13 | {...} | Finally.cs:86:21:86:26 | break; | break | -| Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:81:21:81:26 | ... == ... | false | -| Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:82:21:82:27 | return ...; | return | -| Finally.cs:81:21:81:21 | access to local variable i | Finally.cs:81:21:81:21 | access to local variable i | normal | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | ... == ... | false | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | ... == ... | true | -| Finally.cs:81:26:81:26 | 0 | Finally.cs:81:26:81:26 | 0 | normal | -| Finally.cs:82:21:82:27 | return ...; | Finally.cs:82:21:82:27 | return ...; | return | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:21:83:26 | ... == ... | false | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:84:21:84:29 | continue; | continue | -| Finally.cs:83:21:83:21 | access to local variable i | Finally.cs:83:21:83:21 | access to local variable i | normal | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | ... == ... | false | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | ... == ... | true | -| Finally.cs:83:26:83:26 | 1 | Finally.cs:83:26:83:26 | 1 | normal | -| Finally.cs:84:21:84:29 | continue; | Finally.cs:84:21:84:29 | continue; | continue | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:21:85:26 | ... == ... | false | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:86:21:86:26 | break; | break | -| Finally.cs:85:21:85:21 | access to local variable i | Finally.cs:85:21:85:21 | access to local variable i | normal | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | ... == ... | false | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | ... == ... | true | -| Finally.cs:85:26:85:26 | 2 | Finally.cs:85:26:85:26 | 2 | normal | -| Finally.cs:86:21:86:26 | break; | Finally.cs:86:21:86:26 | break; | break | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:89:13:99:13 | {...} | Finally.cs:97:21:97:23 | ...-- | throw(Exception) [normal] (1) | -| Finally.cs:90:17:98:17 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:90:17:98:17 | try {...} ... | Finally.cs:97:21:97:23 | ...-- | throw(Exception) [normal] (1) | -| Finally.cs:91:17:94:17 | {...} | Finally.cs:92:25:92:30 | ... == ... | false | -| Finally.cs:91:17:94:17 | {...} | Finally.cs:93:25:93:46 | throw ...; | throw(Exception) | -| Finally.cs:91:17:94:17 | {...} | Finally.cs:93:31:93:45 | object creation of type Exception | throw(Exception) | -| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:92:25:92:30 | ... == ... | false | -| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:93:25:93:46 | throw ...; | throw(Exception) | -| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:93:31:93:45 | object creation of type Exception | throw(Exception) | -| Finally.cs:92:25:92:25 | access to local variable i | Finally.cs:92:25:92:25 | access to local variable i | normal | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | ... == ... | false | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | ... == ... | true | -| Finally.cs:92:30:92:30 | 3 | Finally.cs:92:30:92:30 | 3 | normal | -| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:93:25:93:46 | throw ...; | throw(Exception) | -| Finally.cs:93:25:93:46 | throw ...; | Finally.cs:93:31:93:45 | object creation of type Exception | throw(Exception) | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | normal | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | throw(Exception) | -| Finally.cs:96:17:98:17 | {...} | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:97:21:97:21 | access to local variable i | Finally.cs:97:21:97:21 | access to local variable i | normal | -| Finally.cs:97:21:97:23 | ...-- | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:97:21:97:24 | ...; | Finally.cs:97:21:97:23 | ...-- | normal | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:116:17:116:32 | ... > ... | false | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:116:17:116:32 | ... > ... | return [false] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:116:17:116:32 | ... > ... | throw(Exception) [false] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:116:17:116:32 | ... > ... | throw(NullReferenceException) [false] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:116:17:116:32 | ... > ... | throw(OutOfMemoryException) [false] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:117:17:117:36 | call to method WriteLine | normal | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:117:17:117:36 | call to method WriteLine | return [normal] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:117:17:117:36 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:117:17:117:36 | call to method WriteLine | throw(NullReferenceException) [normal] (0) | -| Finally.cs:104:5:119:5 | {...} | Finally.cs:117:17:117:36 | call to method WriteLine | throw(OutOfMemoryException) [normal] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:116:17:116:32 | ... > ... | false | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:116:17:116:32 | ... > ... | return [false] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:116:17:116:32 | ... > ... | throw(Exception) [false] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:116:17:116:32 | ... > ... | throw(NullReferenceException) [false] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:116:17:116:32 | ... > ... | throw(OutOfMemoryException) [false] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:117:17:117:36 | call to method WriteLine | normal | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:117:17:117:36 | call to method WriteLine | return [normal] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:117:17:117:36 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:117:17:117:36 | call to method WriteLine | throw(NullReferenceException) [normal] (0) | -| Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:117:17:117:36 | call to method WriteLine | throw(OutOfMemoryException) [normal] (0) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:107:17:107:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:107:17:107:28 | access to property Length | throw(Exception) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:107:17:107:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:108:17:108:23 | return ...; | return | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:109:17:109:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:109:17:109:28 | access to property Length | throw(Exception) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:109:17:109:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:109:17:109:33 | ... == ... | false | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:110:17:110:49 | throw ...; | throw(OutOfMemoryException) | -| Finally.cs:106:9:111:9 | {...} | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | throw(Exception) | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:28 | access to property Length | throw(Exception) | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:33 | ... == ... | false | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:108:17:108:23 | return ...; | return | -| Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:21 | access to field Field | normal | -| Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:107:17:107:21 | this access | Finally.cs:107:17:107:21 | this access | normal | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | access to property Length | normal | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | access to property Length | throw(Exception) | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:28 | access to property Length | throw(Exception) | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | ... == ... | false | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | ... == ... | true | -| Finally.cs:107:33:107:33 | 0 | Finally.cs:107:33:107:33 | 0 | normal | -| Finally.cs:108:17:108:23 | return ...; | Finally.cs:108:17:108:23 | return ...; | return | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:28 | access to property Length | throw(Exception) | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:33 | ... == ... | false | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:110:17:110:49 | throw ...; | throw(OutOfMemoryException) | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | throw(Exception) | -| Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:21 | access to field Field | normal | -| Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:109:17:109:21 | this access | Finally.cs:109:17:109:21 | this access | normal | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | normal | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | throw(Exception) | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:21 | access to field Field | throw(NullReferenceException) | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:28 | access to property Length | throw(Exception) | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:28 | access to property Length | throw(NullReferenceException) | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | ... == ... | false | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | ... == ... | true | -| Finally.cs:109:33:109:33 | 1 | Finally.cs:109:33:109:33 | 1 | normal | -| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:110:17:110:49 | throw ...; | throw(OutOfMemoryException) | -| Finally.cs:110:17:110:49 | throw ...; | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | throw(Exception) | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | normal | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | throw(Exception) | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:116:17:116:32 | ... > ... | false | -| Finally.cs:113:9:118:9 | {...} | Finally.cs:117:17:117:36 | call to method WriteLine | normal | -| Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:114:17:114:36 | !... | false | -| Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:115:17:115:40 | call to method WriteLine | normal | -| Finally.cs:114:17:114:36 | !... | Finally.cs:114:17:114:36 | !... | false | -| Finally.cs:114:17:114:36 | !... | Finally.cs:114:17:114:36 | !... | true | -| Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:23 | access to field Field | normal | -| Finally.cs:114:19:114:23 | this access | Finally.cs:114:19:114:23 | this access | normal | -| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:19:114:30 | access to property Length | normal | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | ... == ... | false | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | ... == ... | true | -| Finally.cs:114:35:114:35 | 0 | Finally.cs:114:35:114:35 | 0 | normal | -| Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:115:17:115:40 | call to method WriteLine | normal | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:17:115:40 | call to method WriteLine | normal | -| Finally.cs:115:35:115:39 | access to field Field | Finally.cs:115:35:115:39 | access to field Field | normal | -| Finally.cs:115:35:115:39 | this access | Finally.cs:115:35:115:39 | this access | normal | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:17:116:32 | ... > ... | false | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:117:17:117:36 | call to method WriteLine | normal | -| Finally.cs:116:17:116:21 | access to field Field | Finally.cs:116:17:116:21 | access to field Field | normal | -| Finally.cs:116:17:116:21 | this access | Finally.cs:116:17:116:21 | this access | normal | -| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:17:116:28 | access to property Length | normal | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | ... > ... | false | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | ... > ... | true | -| Finally.cs:116:32:116:32 | 0 | Finally.cs:116:32:116:32 | 0 | normal | -| Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:117:17:117:36 | call to method WriteLine | normal | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:17:117:36 | call to method WriteLine | normal | -| Finally.cs:117:35:117:35 | 1 | Finally.cs:117:35:117:35 | 1 | normal | -| Finally.cs:122:5:131:5 | {...} | Finally.cs:125:17:125:40 | Double temp = ... | normal | -| Finally.cs:122:5:131:5 | {...} | Finally.cs:129:13:129:13 | ; | normal | -| Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:125:17:125:40 | Double temp = ... | normal | -| Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:129:13:129:13 | ; | normal | -| Finally.cs:124:9:126:9 | {...} | Finally.cs:125:17:125:40 | Double temp = ... | normal | -| Finally.cs:125:13:125:41 | ... ...; | Finally.cs:125:17:125:40 | Double temp = ... | normal | -| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:17:125:40 | Double temp = ... | normal | -| Finally.cs:125:24:125:24 | 0 | Finally.cs:125:24:125:24 | 0 | normal | -| Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:24:125:24 | (...) ... | normal | -| Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:24:125:40 | ... / ... | normal | -| Finally.cs:125:28:125:40 | access to constant E | Finally.cs:125:28:125:40 | access to constant E | normal | -| Finally.cs:127:9:130:9 | catch {...} | Finally.cs:129:13:129:13 | ; | normal | -| Finally.cs:128:9:130:9 | {...} | Finally.cs:129:13:129:13 | ; | normal | -| Finally.cs:129:13:129:13 | ; | Finally.cs:129:13:129:13 | ; | normal | -| Finally.cs:134:5:145:5 | {...} | Finally.cs:141:13:141:44 | throw ...; | throw(ArgumentException) | -| Finally.cs:134:5:145:5 | {...} | Finally.cs:142:13:142:37 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:134:5:145:5 | {...} | Finally.cs:144:9:144:33 | call to method WriteLine | normal | -| Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:141:13:141:44 | throw ...; | throw(ArgumentException) | -| Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:142:13:142:37 | call to method WriteLine | normal | -| Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:142:13:142:37 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:136:9:138:9 | {...} | Finally.cs:137:13:137:36 | call to method WriteLine | normal | -| Finally.cs:136:9:138:9 | {...} | Finally.cs:137:13:137:36 | call to method WriteLine | throw(Exception) | -| Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:137:13:137:36 | call to method WriteLine | normal | -| Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:137:13:137:36 | call to method WriteLine | throw(Exception) | -| Finally.cs:137:13:137:37 | ...; | Finally.cs:137:13:137:36 | call to method WriteLine | normal | -| Finally.cs:137:13:137:37 | ...; | Finally.cs:137:13:137:36 | call to method WriteLine | throw(Exception) | -| Finally.cs:137:31:137:35 | "Try" | Finally.cs:137:31:137:35 | "Try" | normal | -| Finally.cs:140:9:143:9 | {...} | Finally.cs:141:13:141:44 | throw ...; | throw(ArgumentException) | -| Finally.cs:140:9:143:9 | {...} | Finally.cs:142:13:142:37 | call to method WriteLine | normal | -| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:141:13:141:44 | throw ...; | throw(ArgumentException) | -| Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:19:141:43 | object creation of type ArgumentException | normal | -| Finally.cs:141:41:141:42 | "" | Finally.cs:141:41:141:42 | "" | normal | -| Finally.cs:142:13:142:37 | call to method WriteLine | Finally.cs:142:13:142:37 | call to method WriteLine | normal | -| Finally.cs:142:13:142:38 | ...; | Finally.cs:142:13:142:37 | call to method WriteLine | normal | -| Finally.cs:142:31:142:36 | "Dead" | Finally.cs:142:31:142:36 | "Dead" | normal | -| Finally.cs:144:9:144:33 | call to method WriteLine | Finally.cs:144:9:144:33 | call to method WriteLine | normal | -| Finally.cs:144:9:144:34 | ...; | Finally.cs:144:9:144:33 | call to method WriteLine | normal | -| Finally.cs:144:27:144:32 | "Dead" | Finally.cs:144:27:144:32 | "Dead" | normal | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:158:21:158:36 | ... == ... | throw(ArgumentNullException) [false] (0) | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:158:21:158:36 | ... == ... | throw(Exception) [false] (0) | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:163:17:163:42 | call to method WriteLine | throw(ArgumentNullException) [normal] (0) | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:163:17:163:42 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:167:17:167:37 | call to method WriteLine | throw(ArgumentNullException) [normal] (0) | -| Finally.cs:148:5:170:5 | {...} | Finally.cs:167:17:167:37 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:158:21:158:36 | ... == ... | throw(ArgumentNullException) [false] (0) | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:158:21:158:36 | ... == ... | throw(Exception) [false] (0) | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:163:17:163:42 | call to method WriteLine | throw(ArgumentNullException) [normal] (0) | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:163:17:163:42 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:167:17:167:37 | call to method WriteLine | throw(ArgumentNullException) [normal] (0) | -| Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:167:17:167:37 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:150:9:153:9 | {...} | Finally.cs:151:17:151:28 | ... == ... | false | -| Finally.cs:150:9:153:9 | {...} | Finally.cs:152:17:152:50 | throw ...; | throw(ArgumentNullException) | -| Finally.cs:150:9:153:9 | {...} | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | throw(Exception) | -| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:151:17:151:28 | ... == ... | false | -| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:152:17:152:50 | throw ...; | throw(ArgumentNullException) | -| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | throw(Exception) | -| Finally.cs:151:17:151:20 | access to parameter args | Finally.cs:151:17:151:20 | access to parameter args | normal | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | ... == ... | false | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | ... == ... | true | -| Finally.cs:151:25:151:28 | null | Finally.cs:151:25:151:28 | null | normal | -| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:152:17:152:50 | throw ...; | throw(ArgumentNullException) | -| Finally.cs:152:17:152:50 | throw ...; | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | throw(Exception) | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | normal | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | throw(Exception) | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:155:9:169:9 | {...} | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:157:13:160:13 | {...} | Finally.cs:158:21:158:31 | access to property Length | throw(Exception) | -| Finally.cs:157:13:160:13 | {...} | Finally.cs:158:21:158:31 | access to property Length | throw(NullReferenceException) | -| Finally.cs:157:13:160:13 | {...} | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:157:13:160:13 | {...} | Finally.cs:159:21:159:45 | throw ...; | throw(Exception) | -| Finally.cs:157:13:160:13 | {...} | Finally.cs:159:27:159:44 | object creation of type Exception | throw(Exception) | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:31 | access to property Length | throw(Exception) | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:31 | access to property Length | throw(NullReferenceException) | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:159:21:159:45 | throw ...; | throw(Exception) | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:159:27:159:44 | object creation of type Exception | throw(Exception) | -| Finally.cs:158:21:158:24 | access to parameter args | Finally.cs:158:21:158:24 | access to parameter args | normal | -| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:21:158:31 | access to property Length | normal | -| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:21:158:31 | access to property Length | throw(Exception) | -| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:21:158:31 | access to property Length | throw(NullReferenceException) | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:31 | access to property Length | throw(Exception) | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:31 | access to property Length | throw(NullReferenceException) | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | ... == ... | false | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | ... == ... | true | -| Finally.cs:158:36:158:36 | 1 | Finally.cs:158:36:158:36 | 1 | normal | -| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:159:21:159:45 | throw ...; | throw(Exception) | -| Finally.cs:159:21:159:45 | throw ...; | Finally.cs:159:27:159:44 | object creation of type Exception | throw(Exception) | -| Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:27:159:44 | object creation of type Exception | normal | -| Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:27:159:44 | object creation of type Exception | throw(Exception) | -| Finally.cs:159:41:159:43 | "1" | Finally.cs:159:41:159:43 | "1" | normal | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | catch (...) {...} | no-match | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:39:161:54 | ... == ... | false | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:30:161:30 | Exception e | normal | -| Finally.cs:161:39:161:39 | access to local variable e | Finally.cs:161:39:161:39 | access to local variable e | normal | -| Finally.cs:161:39:161:47 | access to property Message | Finally.cs:161:39:161:47 | access to property Message | normal | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | ... == ... | false | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | ... == ... | true | -| Finally.cs:161:52:161:54 | "1" | Finally.cs:161:52:161:54 | "1" | normal | -| Finally.cs:162:13:164:13 | {...} | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:163:17:163:43 | ...; | Finally.cs:163:17:163:42 | call to method WriteLine | normal | -| Finally.cs:163:35:163:38 | access to parameter args | Finally.cs:163:35:163:38 | access to parameter args | normal | -| Finally.cs:163:35:163:41 | access to array element | Finally.cs:163:35:163:41 | access to array element | normal | -| Finally.cs:163:40:163:40 | 0 | Finally.cs:163:40:163:40 | 0 | normal | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:166:13:168:13 | {...} | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:167:17:167:38 | ...; | Finally.cs:167:17:167:37 | call to method WriteLine | normal | -| Finally.cs:167:35:167:36 | "" | Finally.cs:167:35:167:36 | "" | normal | -| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | call to constructor Exception | normal | -| Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | call to method | normal | -| Finally.cs:172:11:172:20 | this access | Finally.cs:172:11:172:20 | this access | normal | -| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | {...} | normal | -| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | call to constructor Exception | normal | -| Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | call to method | normal | -| Finally.cs:173:11:173:20 | this access | Finally.cs:173:11:173:20 | this access | normal | -| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | {...} | normal | -| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | call to constructor Exception | normal | -| Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | call to method | normal | -| Finally.cs:174:11:174:20 | this access | Finally.cs:174:11:174:20 | this access | normal | -| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | {...} | normal | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:186:21:186:22 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:186:21:186:22 | access to parameter b2 | throw(ExceptionA) [false] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | throw(Exception) [no-match] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | throw(ExceptionB) [no-match] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | throw(ExceptionB) [false] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:190:21:190:22 | access to parameter b1 | throw(Exception) [false] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:190:21:190:22 | access to parameter b1 | throw(ExceptionA) [false] (0) | -| Finally.cs:177:5:193:5 | {...} | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:186:21:186:22 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:186:21:186:22 | access to parameter b2 | throw(ExceptionA) [false] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:188:13:191:13 | catch (...) {...} | throw(Exception) [no-match] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:188:13:191:13 | catch (...) {...} | throw(ExceptionB) [no-match] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:188:38:188:39 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:188:38:188:39 | access to parameter b2 | throw(ExceptionB) [false] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:190:21:190:22 | access to parameter b1 | throw(Exception) [false] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:190:21:190:22 | access to parameter b1 | throw(ExceptionA) [false] (0) | -| Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:179:9:181:9 | {...} | Finally.cs:180:17:180:18 | access to parameter b1 | false | -| Finally.cs:179:9:181:9 | {...} | Finally.cs:180:21:180:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:179:9:181:9 | {...} | Finally.cs:180:27:180:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:180:17:180:18 | access to parameter b1 | false | -| Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:180:21:180:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:180:27:180:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | access to parameter b1 | false | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | access to parameter b1 | true | -| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:180:21:180:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:180:21:180:43 | throw ...; | Finally.cs:180:27:180:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | normal | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | throw(Exception) [no-match] (0) | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:13:191:13 | catch (...) {...} | throw(ExceptionB) [no-match] (0) | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:188:38:188:39 | access to parameter b2 | throw(ExceptionB) [false] (0) | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:183:9:192:9 | {...} | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:188:13:191:13 | catch (...) {...} | throw(Exception) [no-match] (0) | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:188:13:191:13 | catch (...) {...} | throw(ExceptionB) [no-match] (0) | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:188:38:188:39 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:188:38:188:39 | access to parameter b2 | throw(ExceptionB) [false] (0) | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:185:13:187:13 | {...} | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:185:13:187:13 | {...} | Finally.cs:186:25:186:47 | throw ...; | throw(ExceptionB) | -| Finally.cs:185:13:187:13 | {...} | Finally.cs:186:31:186:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:186:25:186:47 | throw ...; | throw(ExceptionB) | -| Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:186:31:186:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | access to parameter b2 | false | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | access to parameter b2 | true | -| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:186:25:186:47 | throw ...; | throw(ExceptionB) | -| Finally.cs:186:25:186:47 | throw ...; | Finally.cs:186:31:186:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | normal | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | catch (...) {...} | throw(Exception) [no-match] (0) | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | catch (...) {...} | throw(ExceptionB) [no-match] (0) | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | access to parameter b2 | throw(Exception) [false] (0) | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | access to parameter b2 | throw(ExceptionB) [false] (0) | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | access to parameter b2 | false | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | access to parameter b2 | true | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:189:13:191:13 | {...} | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:190:17:190:47 | if (...) ... | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:190:17:190:47 | if (...) ... | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | access to parameter b1 | false | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | access to parameter b1 | true | -| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:190:25:190:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | normal | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] (1) | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] (1) | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:211:13:211:28 | ... = ... | throw(Exception) [normal] (0) | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:211:13:211:28 | ... = ... | throw(ExceptionA) [normal] (0) | -| Finally.cs:196:5:214:5 | {...} | Finally.cs:213:9:213:24 | ... = ... | normal | -| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] (1) | -| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] (1) | -| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:211:13:211:28 | ... = ... | normal | -| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:211:13:211:28 | ... = ... | throw(Exception) [normal] (0) | -| Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:211:13:211:28 | ... = ... | throw(ExceptionA) [normal] (0) | -| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:17:199:18 | access to parameter b1 | false | -| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:21:199:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:198:9:200:9 | {...} | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:17:199:18 | access to parameter b1 | false | -| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:21:199:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | access to parameter b1 | false | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | access to parameter b1 | true | -| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:21:199:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:199:21:199:43 | throw ...; | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | normal | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] (1) | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] (1) | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:202:9:212:9 | {...} | Finally.cs:211:13:211:28 | ... = ... | normal | -| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | false | -| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(Exception) [false] (1) | -| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:21:209:22 | access to parameter b3 | throw(ExceptionB) [false] (1) | -| Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:21:205:22 | access to parameter b2 | false | -| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:25:205:47 | throw ...; | throw(ExceptionB) | -| Finally.cs:204:13:206:13 | {...} | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:21:205:22 | access to parameter b2 | false | -| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:25:205:47 | throw ...; | throw(ExceptionB) | -| Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | access to parameter b2 | false | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | access to parameter b2 | true | -| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:25:205:47 | throw ...; | throw(ExceptionB) | -| Finally.cs:205:25:205:47 | throw ...; | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | normal | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | throw(Exception) | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | false | -| Finally.cs:208:13:210:13 | {...} | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:21:209:22 | access to parameter b3 | false | -| Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | access to parameter b3 | false | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | access to parameter b3 | true | -| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:25:209:47 | throw ...; | throw(ExceptionC) | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | normal | -| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:16 | this access | normal | -| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:16 | this access | normal | -| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:28 | ... = ... | normal | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | normal | -| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:26:211:28 | "0" | normal | -| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:12 | this access | normal | -| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:12 | this access | normal | -| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:24 | ... = ... | normal | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:24 | ... = ... | normal | -| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:22:213:24 | "1" | normal | -| Finally.cs:217:5:231:5 | {...} | Finally.cs:230:9:230:33 | call to method WriteLine | normal | -| Finally.cs:218:9:229:9 | try {...} ... | Finally.cs:228:13:228:40 | call to method WriteLine | normal | -| Finally.cs:219:9:221:9 | {...} | Finally.cs:220:13:220:36 | call to method WriteLine | normal | -| Finally.cs:219:9:221:9 | {...} | Finally.cs:220:13:220:36 | call to method WriteLine | throw(Exception) | -| Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:220:13:220:36 | call to method WriteLine | normal | -| Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:220:13:220:36 | call to method WriteLine | throw(Exception) | -| Finally.cs:220:13:220:37 | ...; | Finally.cs:220:13:220:36 | call to method WriteLine | normal | -| Finally.cs:220:13:220:37 | ...; | Finally.cs:220:13:220:36 | call to method WriteLine | throw(Exception) | -| Finally.cs:220:31:220:35 | "Try" | Finally.cs:220:31:220:35 | "Try" | normal | -| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:224:13:224:38 | call to method WriteLine | normal | -| Finally.cs:223:9:225:9 | {...} | Finally.cs:224:13:224:38 | call to method WriteLine | normal | -| Finally.cs:224:13:224:38 | call to method WriteLine | Finally.cs:224:13:224:38 | call to method WriteLine | normal | -| Finally.cs:224:13:224:39 | ...; | Finally.cs:224:13:224:38 | call to method WriteLine | normal | -| Finally.cs:224:31:224:37 | "Catch" | Finally.cs:224:31:224:37 | "Catch" | normal | -| Finally.cs:227:9:229:9 | {...} | Finally.cs:228:13:228:40 | call to method WriteLine | normal | -| Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:228:13:228:40 | call to method WriteLine | normal | -| Finally.cs:228:13:228:41 | ...; | Finally.cs:228:13:228:40 | call to method WriteLine | normal | -| Finally.cs:228:31:228:39 | "Finally" | Finally.cs:228:31:228:39 | "Finally" | normal | -| Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:230:9:230:33 | call to method WriteLine | normal | -| Finally.cs:230:9:230:34 | ...; | Finally.cs:230:9:230:33 | call to method WriteLine | normal | -| Finally.cs:230:27:230:32 | "Done" | Finally.cs:230:27:230:32 | "Done" | normal | -| Finally.cs:234:5:261:5 | {...} | Finally.cs:258:13:258:46 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:234:5:261:5 | {...} | Finally.cs:258:13:258:46 | call to method WriteLine | throw(ExceptionA) [normal] (0) | -| Finally.cs:234:5:261:5 | {...} | Finally.cs:260:9:260:33 | call to method WriteLine | normal | -| Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:258:13:258:46 | call to method WriteLine | normal | -| Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:258:13:258:46 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:258:13:258:46 | call to method WriteLine | throw(ExceptionA) [normal] (0) | -| Finally.cs:236:9:255:9 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:236:9:255:9 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | throw(Exception) [normal] (1) | -| Finally.cs:236:9:255:9 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | throw(ExceptionA) [normal] (0) | -| Finally.cs:236:9:255:9 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | throw(ExceptionA) [normal] (1) | -| Finally.cs:236:9:255:9 | {...} | Finally.cs:254:13:254:44 | call to method WriteLine | normal | -| Finally.cs:236:9:255:9 | {...} | Finally.cs:254:13:254:44 | call to method WriteLine | throw(Exception) | -| Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | normal | -| Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | throw(Exception) [normal] (0) | -| Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | throw(Exception) [normal] (1) | -| Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | throw(ExceptionA) [normal] (0) | -| Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | throw(ExceptionA) [normal] (1) | -| Finally.cs:238:13:241:13 | {...} | Finally.cs:239:21:239:22 | access to parameter b1 | false | -| Finally.cs:238:13:241:13 | {...} | Finally.cs:240:21:240:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:238:13:241:13 | {...} | Finally.cs:240:27:240:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:239:21:239:22 | access to parameter b1 | false | -| Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:240:21:240:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:240:27:240:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | access to parameter b1 | false | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | access to parameter b1 | true | -| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:240:21:240:43 | throw ...; | throw(ExceptionA) | -| Finally.cs:240:21:240:43 | throw ...; | Finally.cs:240:27:240:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | normal | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | normal | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | throw(Exception) [normal] (1) | -| Finally.cs:243:13:253:13 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | throw(ExceptionA) [normal] (1) | -| Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | normal | -| Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | throw(Exception) [normal] (1) | -| Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:251:21:251:54 | call to method WriteLine | throw(ExceptionA) [normal] (1) | -| Finally.cs:245:17:248:17 | {...} | Finally.cs:246:25:246:26 | access to parameter b2 | false | -| Finally.cs:245:17:248:17 | {...} | Finally.cs:247:25:247:47 | throw ...; | throw(ExceptionA) | -| Finally.cs:245:17:248:17 | {...} | Finally.cs:247:31:247:46 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:246:25:246:26 | access to parameter b2 | false | -| Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:247:25:247:47 | throw ...; | throw(ExceptionA) | -| Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:247:31:247:46 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | access to parameter b2 | false | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | access to parameter b2 | true | -| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:247:25:247:47 | throw ...; | throw(ExceptionA) | -| Finally.cs:247:25:247:47 | throw ...; | Finally.cs:247:31:247:46 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | normal | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | throw(Exception) | -| Finally.cs:250:17:252:17 | {...} | Finally.cs:251:21:251:54 | call to method WriteLine | normal | -| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:251:21:251:54 | call to method WriteLine | normal | -| Finally.cs:251:21:251:55 | ...; | Finally.cs:251:21:251:54 | call to method WriteLine | normal | -| Finally.cs:251:39:251:53 | "Inner finally" | Finally.cs:251:39:251:53 | "Inner finally" | normal | -| Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:254:13:254:44 | call to method WriteLine | normal | -| Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:254:13:254:44 | call to method WriteLine | throw(Exception) | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:44 | call to method WriteLine | normal | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:44 | call to method WriteLine | throw(Exception) | -| Finally.cs:254:31:254:43 | "Mid finally" | Finally.cs:254:31:254:43 | "Mid finally" | normal | -| Finally.cs:257:9:259:9 | {...} | Finally.cs:258:13:258:46 | call to method WriteLine | normal | -| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:258:13:258:46 | call to method WriteLine | normal | -| Finally.cs:258:13:258:47 | ...; | Finally.cs:258:13:258:46 | call to method WriteLine | normal | -| Finally.cs:258:31:258:45 | "Outer finally" | Finally.cs:258:31:258:45 | "Outer finally" | normal | -| Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:260:9:260:33 | call to method WriteLine | normal | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:9:260:33 | call to method WriteLine | normal | -| Finally.cs:260:27:260:32 | "Done" | Finally.cs:260:27:260:32 | "Done" | normal | -| Finally.cs:264:5:274:5 | {...} | Finally.cs:272:13:272:18 | ... += ... | normal | -| Finally.cs:264:5:274:5 | {...} | Finally.cs:272:13:272:18 | ... += ... | throw(Exception) [normal] (0) | -| Finally.cs:265:9:273:9 | try {...} ... | Finally.cs:272:13:272:18 | ... += ... | normal | -| Finally.cs:265:9:273:9 | try {...} ... | Finally.cs:272:13:272:18 | ... += ... | throw(Exception) [normal] (0) | -| Finally.cs:266:9:268:9 | {...} | Finally.cs:267:13:267:34 | call to method WriteLine | normal | -| Finally.cs:266:9:268:9 | {...} | Finally.cs:267:13:267:34 | call to method WriteLine | throw(Exception) | -| Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:267:13:267:34 | call to method WriteLine | normal | -| Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:267:13:267:34 | call to method WriteLine | throw(Exception) | -| Finally.cs:267:13:267:35 | ...; | Finally.cs:267:13:267:34 | call to method WriteLine | normal | -| Finally.cs:267:13:267:35 | ...; | Finally.cs:267:13:267:34 | call to method WriteLine | throw(Exception) | -| Finally.cs:267:31:267:33 | "1" | Finally.cs:267:31:267:33 | "1" | normal | -| Finally.cs:270:9:273:9 | {...} | Finally.cs:272:13:272:18 | ... += ... | normal | -| Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:271:13:271:34 | call to method WriteLine | normal | -| Finally.cs:271:13:271:35 | ...; | Finally.cs:271:13:271:34 | call to method WriteLine | normal | -| Finally.cs:271:31:271:33 | "3" | Finally.cs:271:31:271:33 | "3" | normal | -| Finally.cs:272:13:272:13 | access to parameter i | Finally.cs:272:13:272:13 | access to parameter i | normal | -| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:272:13:272:18 | ... += ... | normal | -| Finally.cs:272:13:272:19 | ...; | Finally.cs:272:13:272:18 | ... += ... | normal | -| Finally.cs:272:18:272:18 | 3 | Finally.cs:272:18:272:18 | 3 | normal | -| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | call to constructor Object | normal | -| Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | call to method | normal | -| Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | this access | normal | -| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | {...} | normal | -| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | empty | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | empty | -| Foreach.cs:8:22:8:24 | String arg | Foreach.cs:8:22:8:24 | String arg | normal | -| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:29:8:32 | access to parameter args | normal | -| Foreach.cs:9:13:9:13 | ; | Foreach.cs:9:13:9:13 | ; | normal | -| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | empty | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | empty | -| Foreach.cs:14:22:14:22 | String _ | Foreach.cs:14:22:14:22 | String _ | normal | -| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:27:14:30 | access to parameter args | normal | -| Foreach.cs:15:13:15:13 | ; | Foreach.cs:15:13:15:13 | ; | normal | -| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:20:22:20:22 | String x | Foreach.cs:20:22:20:22 | String x | normal | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | access to parameter e | non-null | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | access to parameter e | null | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:27 | access to parameter e | null | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | call to method ToArray | non-null | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | call to method ToArray | null | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:68 | ... ?? ... | normal | -| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | normal | -| Foreach.cs:21:11:21:11 | ; | Foreach.cs:21:11:21:11 | ; | normal | -| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:26:18:26:31 | (..., ...) | normal | -| Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:23:26:23 | String x | normal | -| Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:26:30:26:30 | Int32 y | normal | -| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:36:26:39 | access to parameter args | normal | -| Foreach.cs:27:11:27:11 | ; | Foreach.cs:27:11:27:11 | ; | normal | -| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:32:18:32:27 | (..., ...) | normal | -| Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:23:32:23 | String x | normal | -| Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:32:26:32:26 | Int32 y | normal | -| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:32:32:35 | access to parameter args | normal | -| Foreach.cs:33:11:33:11 | ; | Foreach.cs:33:11:33:11 | ; | normal | -| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | empty | -| Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:38:18:38:34 | (..., ...) | normal | -| Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:26:38:26 | String x | normal | -| Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:38:33:38:33 | Int32 y | normal | -| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:39:38:42 | access to parameter args | normal | -| Foreach.cs:39:11:39:11 | ; | Foreach.cs:39:11:39:11 | ; | normal | -| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | {...} | normal | -| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:9 | this access | normal | -| Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:9:5:9 | this access | normal | -| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:9:5:17 | ... = ... | normal | -| Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:13:5:13 | access to field H | normal | -| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:13:5:17 | ... + ... | normal | -| Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:17:5:17 | 1 | normal | -| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:9:6:9 | this access | normal | -| Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:9:6:9 | this access | normal | -| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:6:25:6:31 | ... = ... | normal | -| Initializers.cs:6:27:6:27 | access to field H | Initializers.cs:6:27:6:27 | access to field H | normal | -| Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:6:27:6:31 | ... + ... | normal | -| Initializers.cs:6:31:6:31 | 2 | Initializers.cs:6:31:6:31 | 2 | normal | -| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:5:8:16 | call to constructor Object | normal | -| Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | call to method | normal | -| Initializers.cs:8:5:8:16 | this access | Initializers.cs:8:5:8:16 | this access | normal | -| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:20:8:22 | {...} | normal | -| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:5:10:16 | call to constructor Object | normal | -| Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | call to method | normal | -| Initializers.cs:10:5:10:16 | this access | Initializers.cs:10:5:10:16 | this access | normal | -| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:28:10:30 | {...} | normal | -| Initializers.cs:13:5:16:5 | {...} | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | normal | -| Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:14:13:14:53 | Initializers i = ... | normal | -| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:13:14:53 | Initializers i = ... | normal | -| Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:38:14:53 | { ..., ... } | normal | -| Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:34:14:35 | "" | normal | -| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:38:14:53 | { ..., ... } | normal | -| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:40:14:44 | ... = ... | normal | -| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:44:14:44 | 0 | normal | -| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:47:14:51 | ... = ... | normal | -| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:51:14:51 | 1 | normal | -| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | normal | -| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | normal | -| Initializers.cs:15:18:15:63 | 2 | Initializers.cs:15:18:15:63 | 2 | normal | -| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:37:15:63 | { ..., ... } | normal | -| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:37:15:63 | { ..., ... } | normal | -| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:39:15:39 | access to local variable i | normal | -| Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:42:15:61 | object creation of type Initializers | normal | -| Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:59:15:60 | "" | normal | -| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:20 | ... = ... | normal | -| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:20:18:20 | 1 | normal | -| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | call to constructor Object | normal | -| Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | call to method | normal | -| Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | this access | normal | -| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | {...} | normal | -| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:23 | this access | normal | -| Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:23:22:23 | this access | normal | -| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:23:22:27 | ... = ... | normal | -| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:27:22:27 | 0 | normal | -| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:23 | this access | normal | -| Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:23:23:23 | this access | normal | -| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:23:23:27 | ... = ... | normal | -| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:27:23:27 | 1 | normal | -| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:13 | this access | normal | -| Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:13:28:13 | this access | normal | -| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:13:28:17 | ... = ... | normal | -| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:17:28:17 | 2 | normal | -| Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:9:31:11 | call to method | normal | -| Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | this access | normal | -| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | normal | -| Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:26:31:30 | ... = ... | normal | -| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:26 | this access | normal | -| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:26:31:26 | this access | normal | -| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:26:31:30 | ... = ... | normal | -| Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:30 | ... = ... | normal | -| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:30:31:30 | 3 | normal | -| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | normal | -| Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:31:33:35 | ... = ... | normal | -| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:31 | this access | normal | -| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:31:33:31 | this access | normal | -| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:31:33:35 | ... = ... | normal | -| Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:35 | ... = ... | normal | -| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:35:33:35 | access to parameter i | normal | -| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | normal | -| Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | call to method | normal | -| Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | this access | normal | -| Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:29:35:37 | ... = ... | normal | -| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:29 | this access | normal | -| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:29:35:29 | this access | normal | -| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:29:35:37 | ... = ... | normal | -| Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:37 | ... = ... | normal | -| Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:33:35:33 | access to parameter i | normal | -| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:33:35:37 | ... + ... | normal | -| Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:37:35:37 | access to parameter j | normal | -| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | call to constructor Object | normal | -| Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | call to method | normal | -| Initializers.cs:39:7:39:23 | this access | Initializers.cs:39:7:39:23 | this access | normal | -| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | {...} | normal | -| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | call to constructor Object | normal | -| Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | call to method | normal | -| Initializers.cs:41:11:41:18 | this access | Initializers.cs:41:11:41:18 | this access | normal | -| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | {...} | normal | -| Initializers.cs:52:5:66:5 | {...} | Initializers.cs:57:13:65:9 | Compound compound = ... | normal | -| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:13:54:95 | Dictionary dict = ... | normal | -| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:13:54:95 | Dictionary dict = ... | normal | -| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:50:54:95 | { ..., ... } | normal | -| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:50:54:95 | { ..., ... } | normal | -| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:53:54:53 | 0 | normal | -| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:52:54:63 | ... = ... | normal | -| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:53:54:53 | 0 | normal | -| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:58:54:63 | "Zero" | normal | -| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:67:54:67 | 1 | normal | -| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:66:54:76 | ... = ... | normal | -| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:67:54:67 | 1 | normal | -| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:72:54:76 | "One" | normal | -| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:80:54:84 | ... + ... | normal | -| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:79:54:93 | ... = ... | normal | -| Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:80:54:80 | access to parameter i | normal | -| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:80:54:84 | ... + ... | normal | -| Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:84:54:84 | 2 | normal | -| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:89:54:93 | "Two" | normal | -| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:13:65:9 | Compound compound = ... | normal | -| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:57:13:65:9 | Compound compound = ... | normal | -| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:58:9:65:9 | { ..., ... } | normal | -| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:58:9:65:9 | { ..., ... } | normal | -| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:13:59:76 | ... = ... | normal | -| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:31:59:76 | { ..., ... } | normal | -| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:34:59:34 | 0 | normal | -| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:33:59:44 | ... = ... | normal | -| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:34:59:34 | 0 | normal | -| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:39:59:44 | "Zero" | normal | -| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:48:59:48 | 1 | normal | -| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:47:59:57 | ... = ... | normal | -| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:48:59:48 | 1 | normal | -| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:53:59:57 | "One" | normal | -| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:61:59:65 | ... + ... | normal | -| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:60:59:74 | ... = ... | normal | -| Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:61:59:61 | access to parameter i | normal | -| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:61:59:65 | ... + ... | normal | -| Initializers.cs:59:65:59:65 | 2 | Initializers.cs:59:65:59:65 | 2 | normal | -| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:70:59:74 | "Two" | normal | -| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:13:60:80 | ... = ... | normal | -| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:34:60:80 | { ..., ... } | normal | -| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:37:60:37 | 3 | normal | -| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:36:60:48 | ... = ... | normal | -| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:37:60:37 | 3 | normal | -| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:42:60:48 | "Three" | normal | -| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:52:60:52 | 2 | normal | -| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:51:60:61 | ... = ... | normal | -| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:52:60:52 | 2 | normal | -| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:57:60:61 | "Two" | normal | -| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:65:60:69 | ... + ... | normal | -| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:64:60:78 | ... = ... | normal | -| Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:65:60:65 | access to parameter i | normal | -| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:65:60:69 | ... + ... | normal | -| Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:69:60:69 | 1 | normal | -| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:74:60:78 | "One" | normal | -| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:13:61:58 | ... = ... | normal | -| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:26:61:58 | { ..., ... } | normal | -| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:29:61:29 | 0 | normal | -| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:28:61:39 | ... = ... | normal | -| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:29:61:29 | 0 | normal | -| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:34:61:39 | "Zero" | normal | -| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:43:61:47 | ... + ... | normal | -| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:42:61:56 | ... = ... | normal | -| Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:43:61:43 | access to parameter i | normal | -| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:43:61:47 | ... + ... | normal | -| Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:47:61:47 | 1 | normal | -| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:52:61:56 | "One" | normal | -| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:13:62:60 | ... = ... | normal | -| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:27:62:60 | { ..., ... } | normal | -| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:33:62:33 | 1 | normal | -| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:29:62:40 | ... = ... | normal | -| Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:30:62:30 | 0 | normal | -| Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:33:62:33 | 1 | normal | -| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:38:62:40 | "i" | normal | -| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:47:62:51 | ... + ... | normal | -| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:43:62:58 | ... = ... | normal | -| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:44:62:44 | 1 | normal | -| Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:47:62:47 | access to parameter i | normal | -| Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:47:62:51 | ... + ... | normal | -| Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:51:62:51 | 0 | normal | -| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:56:62:58 | "1" | normal | -| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:13:63:60 | ... = ... | normal | -| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:29:63:60 | { ..., ... } | normal | -| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:32:63:32 | 1 | normal | -| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:31:63:41 | ... = ... | normal | -| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:32:63:32 | 1 | normal | -| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:37:63:41 | "One" | normal | -| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:45:63:49 | ... + ... | normal | -| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:44:63:58 | ... = ... | normal | -| Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:45:63:45 | access to parameter i | normal | -| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:45:63:49 | ... + ... | normal | -| Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:49:63:49 | 2 | normal | -| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:54:63:58 | "Two" | normal | -| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:13:64:63 | ... = ... | normal | -| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:30:64:63 | { ..., ... } | normal | -| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:36:64:36 | 1 | normal | -| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:32:64:43 | ... = ... | normal | -| Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:33:64:33 | 0 | normal | -| Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:36:64:36 | 1 | normal | -| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:41:64:43 | "i" | normal | -| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:50:64:54 | ... + ... | normal | -| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:46:64:61 | ... = ... | normal | -| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:47:64:47 | 1 | normal | -| Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:50:64:50 | access to parameter i | normal | -| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:50:64:54 | ... + ... | normal | -| Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:54:64:54 | 0 | normal | -| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:59:64:61 | "1" | normal | -| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | normal | -| LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | call to method | normal | -| LoopUnrolling.cs:5:7:5:19 | this access | LoopUnrolling.cs:5:7:5:19 | this access | normal | -| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | {...} | normal | -| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:10:13:10:19 | return ...; | return | -| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:9:13:9:28 | ... == ... | false | -| LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:10:13:10:19 | return ...; | return | -| LoopUnrolling.cs:9:13:9:16 | access to parameter args | LoopUnrolling.cs:9:13:9:16 | access to parameter args | normal | -| LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:9:13:9:23 | access to property Length | normal | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | ... == ... | false | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | ... == ... | true | -| LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:9:28:9:28 | 0 | normal | -| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | return | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:11:22:11:24 | String arg | normal | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | access to parameter args | normal | -| LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | normal | -| LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | normal | -| LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | normal | -| LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:17:18:17:47 | 3 | normal | -| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | normal | -| LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | normal | -| LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:17:33:17:35 | "a" | normal | -| LoopUnrolling.cs:17:38:17:40 | "b" | LoopUnrolling.cs:17:38:17:40 | "b" | normal | -| LoopUnrolling.cs:17:43:17:45 | "c" | LoopUnrolling.cs:17:43:17:45 | "c" | normal | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:18:22:18:22 | String x | normal | -| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | normal | -| LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:19:31:19:31 | access to local variable x | normal | -| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:24:22:24:24 | Char arg | normal | -| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:29:24:32 | access to parameter args | normal | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:25:26:25:29 | Char arg0 | normal | -| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:34:25:37 | access to parameter args | normal | -| LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | normal | -| LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | normal | -| LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | normal | -| LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | normal | -| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | normal | -| LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | normal | -| LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:31:29:31:29 | 0 | normal | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:32:22:32:22 | String x | normal | -| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | normal | -| LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:33:31:33:31 | access to local variable x | normal | -| LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:38:18:38:47 | 3 | normal | -| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | normal | -| LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | normal | -| LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:38:33:38:35 | "a" | normal | -| LoopUnrolling.cs:38:38:38:40 | "b" | LoopUnrolling.cs:38:38:38:40 | "b" | normal | -| LoopUnrolling.cs:38:43:38:45 | "c" | LoopUnrolling.cs:38:43:38:45 | "c" | normal | -| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | normal | -| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | normal | -| LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:39:18:39:47 | 3 | normal | -| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | normal | -| LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | normal | -| LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:39:33:39:35 | "0" | normal | -| LoopUnrolling.cs:39:38:39:40 | "1" | LoopUnrolling.cs:39:38:39:40 | "1" | normal | -| LoopUnrolling.cs:39:43:39:45 | "2" | LoopUnrolling.cs:39:43:39:45 | "2" | normal | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:40:22:40:22 | String x | normal | -| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | normal | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:41:26:41:26 | String y | normal | -| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | normal | -| LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | normal | -| LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | normal | -| LoopUnrolling.cs:42:35:42:35 | access to local variable x | LoopUnrolling.cs:42:35:42:35 | access to local variable x | normal | -| LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:42:35:42:39 | ... + ... | normal | -| LoopUnrolling.cs:42:39:42:39 | access to local variable y | LoopUnrolling.cs:42:39:42:39 | access to local variable y | normal | -| LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:51:13:51:23 | goto ...; | goto(Label) | -| LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:47:18:47:47 | 3 | normal | -| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | normal | -| LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | normal | -| LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:47:33:47:35 | "a" | normal | -| LoopUnrolling.cs:47:38:47:40 | "b" | LoopUnrolling.cs:47:38:47:40 | "b" | normal | -| LoopUnrolling.cs:47:43:47:45 | "c" | LoopUnrolling.cs:47:43:47:45 | "c" | normal | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:51:13:51:23 | goto ...; | goto(Label) | -| LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:48:22:48:22 | String x | normal | -| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | normal | -| LoopUnrolling.cs:49:9:52:9 | {...} | LoopUnrolling.cs:51:13:51:23 | goto ...; | goto(Label) | -| LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:50:9:50:13 | Label: | normal | -| LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | normal | -| LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | normal | -| LoopUnrolling.cs:50:34:50:34 | access to local variable x | LoopUnrolling.cs:50:34:50:34 | access to local variable x | normal | -| LoopUnrolling.cs:51:13:51:23 | goto ...; | LoopUnrolling.cs:51:13:51:23 | goto ...; | goto(Label) | -| LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | normal | -| LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:57:18:57:47 | 3 | normal | -| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | normal | -| LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | normal | -| LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:57:33:57:35 | "a" | normal | -| LoopUnrolling.cs:57:38:57:40 | "b" | LoopUnrolling.cs:57:38:57:40 | "b" | normal | -| LoopUnrolling.cs:57:43:57:45 | "c" | LoopUnrolling.cs:57:43:57:45 | "c" | normal | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:58:22:58:22 | String x | normal | -| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | normal | -| LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:62:17:62:17 | access to parameter b | false | -| LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:60:13:61:37 | if (...) ... | LoopUnrolling.cs:60:17:60:17 | access to parameter b | false | -| LoopUnrolling.cs:60:13:61:37 | if (...) ... | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | access to parameter b | false | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | access to parameter b | true | -| LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:61:35:61:35 | access to local variable x | LoopUnrolling.cs:61:35:61:35 | access to local variable x | normal | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:62:17:62:17 | access to parameter b | false | -| LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | access to parameter b | false | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | access to parameter b | true | -| LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | normal | -| LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:63:35:63:35 | access to local variable x | normal | -| LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:70:13:70:19 | return ...; | return | -| LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:69:13:69:23 | !... | false | -| LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:70:13:70:19 | return ...; | return | -| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:13:69:23 | !... | false | -| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:13:69:23 | !... | true | -| LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:69:14:69:17 | access to parameter args | normal | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | call to method Any | false | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | call to method Any | true | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | return | -| LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:71:9:71:12 | access to parameter args | normal | -| LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:71:9:71:20 | call to method Clear | normal | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:20 | call to method Clear | normal | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:72:22:72:24 | String arg | normal | -| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:29:72:32 | access to parameter args | normal | -| LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | normal | -| LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | normal | -| LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | normal | -| LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | normal | -| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | normal | -| LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | normal | -| LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:78:29:78:29 | 2 | normal | -| LoopUnrolling.cs:78:32:78:32 | 0 | LoopUnrolling.cs:78:32:78:32 | 0 | normal | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:79:22:79:22 | String x | normal | -| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | normal | -| LoopUnrolling.cs:80:9:82:9 | {...} | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:81:31:81:31 | access to local variable x | normal | -| LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | normal | -| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | normal | -| LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | normal | -| LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:87:29:87:29 | 0 | normal | -| LoopUnrolling.cs:87:32:87:32 | 2 | LoopUnrolling.cs:87:32:87:32 | 2 | normal | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:88:22:88:22 | String x | normal | -| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | normal | -| LoopUnrolling.cs:89:9:91:9 | {...} | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:90:31:90:31 | access to local variable x | normal | -| LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | normal | -| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | normal | -| LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | normal | -| LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:96:29:96:29 | 2 | normal | -| LoopUnrolling.cs:96:32:96:32 | 2 | LoopUnrolling.cs:96:32:96:32 | 2 | normal | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:97:22:97:22 | String x | normal | -| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | normal | -| LoopUnrolling.cs:98:9:100:9 | {...} | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | normal | -| LoopUnrolling.cs:99:31:99:31 | access to local variable x | LoopUnrolling.cs:99:31:99:31 | access to local variable x | normal | -| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | normal | -| MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | call to method | normal | -| MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | this access | normal | -| MultiImplementationA.cs:4:7:4:8 | {...} | MultiImplementationA.cs:4:7:4:8 | {...} | normal | -| MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:22:6:31 | throw ... | throw(NullReferenceException) | -| MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:28:6:31 | null | normal | -| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:27:7:37 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:27:7:37 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:7:33:7:36 | null | MultiImplementationA.cs:7:33:7:36 | null | normal | -| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:47:7:57 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:47:7:57 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:7:53:7:56 | null | MultiImplementationA.cs:7:53:7:56 | null | normal | -| MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:23:8:32 | throw ... | throw(NullReferenceException) | -| MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:29:8:32 | null | normal | -| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:16 | this access | normal | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:16:13:16 | this access | normal | -| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:16:13:20 | ... = ... | normal | -| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:20:13:20 | 0 | normal | -| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | access to parameter i | normal | -| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:42:15:50 | return ...; | return | -| MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:42:15:50 | return ...; | return | -| MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:49:15:49 | access to parameter s | normal | -| MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:58:15:60 | {...} | normal | -| MultiImplementationA.cs:16:28:16:28 | 0 | MultiImplementationA.cs:16:28:16:28 | 0 | normal | -| MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:18:9:18:22 | M2(...) | normal | -| MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:18:9:18:22 | M2(...) | normal | -| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:21:18:21 | 0 | normal | -| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | normal | -| MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | call to method | normal | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | this access | normal | -| MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:24:20:28 | ... = ... | normal | -| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:24 | this access | normal | -| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:24:20:24 | this access | normal | -| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:24:20:28 | ... = ... | normal | -| MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:28 | ... = ... | normal | -| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:28:20:28 | access to parameter i | normal | -| MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | normal | -| MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:24:21:24 | 0 | normal | -| MultiImplementationA.cs:21:27:21:29 | {...} | MultiImplementationA.cs:21:27:21:29 | {...} | normal | -| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:11:22:13 | {...} | normal | -| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:50:23:53 | null | normal | -| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:16:24:16 | this access | normal | -| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:24:16:24:16 | this access | normal | -| MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:24:32:24:34 | ... = ... | normal | -| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:34:24:34 | 0 | normal | -| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | normal | -| MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | call to method | normal | -| MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | this access | normal | -| MultiImplementationA.cs:28:7:28:8 | {...} | MultiImplementationA.cs:28:7:28:8 | {...} | normal | -| MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:28:30:37 | throw ... | throw(NullReferenceException) | -| MultiImplementationA.cs:30:34:30:37 | null | MultiImplementationA.cs:30:34:30:37 | null | normal | -| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | normal | -| MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | call to method | normal | -| MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | this access | normal | -| MultiImplementationA.cs:34:15:34:16 | {...} | MultiImplementationA.cs:34:15:34:16 | {...} | normal | -| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:16:36:26 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:16:36:26 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:36:22:36:25 | null | MultiImplementationA.cs:36:22:36:25 | null | normal | -| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:16:37:26 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:16:37:26 | throw ...; | throw(NullReferenceException) | -| MultiImplementationA.cs:37:22:37:25 | null | MultiImplementationA.cs:37:22:37:25 | null | normal | -| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | normal | -| MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationB.cs:1:7:1:8 | call to method | normal | -| MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | this access | normal | -| MultiImplementationB.cs:1:7:1:8 | {...} | MultiImplementationB.cs:1:7:1:8 | {...} | normal | -| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationB.cs:3:22:3:22 | 0 | normal | -| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:27:4:35 | return ...; | return | -| MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationB.cs:4:27:4:35 | return ...; | return | -| MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:34:4:34 | 1 | normal | -| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationB.cs:4:43:4:45 | {...} | normal | -| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationB.cs:5:23:5:23 | 2 | normal | -| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:16 | this access | normal | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:16:11:16 | this access | normal | -| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:16:11:20 | ... = ... | normal | -| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:20:11:20 | 1 | normal | -| MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationB.cs:12:31:12:40 | throw ... | throw(NullReferenceException) | -| MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:37:12:40 | null | normal | -| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:42:13:52 | throw ...; | throw(NullReferenceException) | -| MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationB.cs:13:42:13:52 | throw ...; | throw(NullReferenceException) | -| MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationB.cs:13:48:13:51 | null | normal | -| MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationB.cs:13:60:13:62 | {...} | normal | -| MultiImplementationB.cs:14:28:14:28 | 1 | MultiImplementationB.cs:14:28:14:28 | 1 | normal | -| MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:16:9:16:31 | M2(...) | normal | -| MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationB.cs:16:9:16:31 | M2(...) | normal | -| MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:21:16:30 | throw ... | throw(NullReferenceException) | -| MultiImplementationB.cs:16:27:16:30 | null | MultiImplementationB.cs:16:27:16:30 | null | normal | -| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | normal | -| MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationB.cs:18:12:18:13 | call to method | normal | -| MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationB.cs:18:12:18:13 | this access | normal | -| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:24:18:34 | throw ...; | throw(NullReferenceException) | -| MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationB.cs:18:24:18:34 | throw ...; | throw(NullReferenceException) | -| MultiImplementationB.cs:18:30:18:33 | null | MultiImplementationB.cs:18:30:18:33 | null | normal | -| MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | normal | -| MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:24:19:24 | 1 | normal | -| MultiImplementationB.cs:19:27:19:29 | {...} | MultiImplementationB.cs:19:27:19:29 | {...} | normal | -| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:13:20:23 | throw ...; | throw(NullReferenceException) | -| MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationB.cs:20:13:20:23 | throw ...; | throw(NullReferenceException) | -| MultiImplementationB.cs:20:19:20:22 | null | MultiImplementationB.cs:20:19:20:22 | null | normal | -| MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationB.cs:21:50:21:59 | throw ... | throw(NullReferenceException) | -| MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationB.cs:21:56:21:59 | null | normal | -| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:16:22:16 | this access | normal | -| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:22:16:22:16 | this access | normal | -| MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationB.cs:22:32:22:34 | ... = ... | normal | -| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:34:22:34 | 1 | normal | -| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | normal | -| MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationB.cs:25:7:25:8 | call to method | normal | -| MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | this access | normal | -| MultiImplementationB.cs:25:7:25:8 | {...} | MultiImplementationB.cs:25:7:25:8 | {...} | normal | -| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | normal | -| MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationB.cs:30:15:30:16 | call to method | normal | -| MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | this access | normal | -| MultiImplementationB.cs:30:15:30:16 | {...} | MultiImplementationB.cs:30:15:30:16 | {...} | normal | -| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationB.cs:32:17:32:17 | 0 | normal | -| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | call to constructor Object | normal | -| NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | call to method | normal | -| NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | this access | normal | -| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | {...} | normal | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | access to parameter i | non-null | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | access to parameter i | null | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:28 | ... ?? ... | normal | -| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:28:3:28 | 0 | normal | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | normal | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | access to parameter b | false | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | access to parameter b | null | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | access to parameter b | true | -| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:34 | ... ?? ... | false | -| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:34 | ... ?? ... | true | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | false | false | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:39:5:39 | 0 | normal | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:43:5:43 | 1 | normal | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | non-null | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | null | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:53 | ... ?? ... | normal | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | non-null | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | null | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:53 | ... ?? ... | normal | -| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:52:7:53 | "" | normal | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | normal | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | access to parameter b | false | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | access to parameter b | true | -| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | non-null | -| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | null | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | access to parameter s | non-null | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | access to parameter s | null | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | access to parameter s | non-null | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | access to parameter s | null | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | "" | non-null | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:58 | ... ?? ... | normal | -| NullCoalescing.cs:9:57:9:58 | "" | NullCoalescing.cs:9:57:9:58 | "" | normal | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | normal | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | false | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | null | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | true | -| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:59 | ... ?? ... | false | -| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:59 | ... ?? ... | true | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | false | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | true | -| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:58 | ... && ... | false | -| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:58 | ... && ... | true | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | false | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | true | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:64:11:64 | 0 | normal | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:68:11:68 | 1 | normal | -| NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:17:9:17:24 | ... = ... | normal | -| NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | normal | -| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | normal | -| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:17:15:26 | (...) ... | null | -| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:17:15:31 | ... ?? ... | normal | -| NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:23:15:26 | null | normal | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:31:15:31 | 0 | normal | -| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:13:16:25 | String s = ... | normal | -| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:13:16:25 | String s = ... | normal | -| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:18 | "" | non-null | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:25 | ... ?? ... | normal | -| NullCoalescing.cs:16:23:16:25 | "a" | NullCoalescing.cs:16:23:16:25 | "a" | normal | -| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:9:17:24 | ... = ... | normal | -| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:9:17:24 | ... = ... | normal | -| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:19 | (...) ... | non-null | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | normal | -| NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:19:17:19 | access to parameter i | normal | -| NullCoalescing.cs:17:24:17:24 | 1 | NullCoalescing.cs:17:24:17:24 | 1 | normal | -| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | normal | -| PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | call to method | normal | -| PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | this access | normal | -| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:27:3:29 | {...} | normal | -| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:16 | this access | normal | -| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:16:3:16 | this access | normal | -| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:16:3:20 | ... = ... | normal | -| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:20:3:20 | 0 | normal | -| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | normal | -| PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | call to method | normal | -| PartialImplementationB.cs:4:12:4:18 | this access | PartialImplementationB.cs:4:12:4:18 | this access | normal | -| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:22:4:24 | {...} | normal | -| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:16:5:16 | this access | normal | -| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:5:16:5:16 | this access | normal | -| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationB.cs:5:32:5:34 | ... = ... | normal | -| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:34:5:34 | 0 | normal | -| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | call to constructor Object | normal | -| Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | call to method | normal | -| Patterns.cs:3:7:3:14 | this access | Patterns.cs:3:7:3:14 | this access | normal | -| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | {...} | normal | -| Patterns.cs:6:5:43:5 | {...} | Patterns.cs:40:17:40:17 | access to local variable o | normal | -| Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:16:7:23 | Object o = ... | normal | -| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:7:16:7:23 | Object o = ... | normal | -| Patterns.cs:7:20:7:23 | null | Patterns.cs:7:20:7:23 | null | normal | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:10:13:10:42 | call to method WriteLine | normal | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:14:13:14:45 | call to method WriteLine | normal | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | ... is ... | false | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | normal | -| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:13:8:13 | access to local variable o | normal | -| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | ... is ... | false | -| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | ... is ... | true | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:18:8:23 | Int32 i1 | match | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:18:8:23 | Int32 i1 | no-match | -| Patterns.cs:9:9:11:9 | {...} | Patterns.cs:10:13:10:42 | call to method WriteLine | normal | -| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:10:13:10:42 | call to method WriteLine | normal | -| Patterns.cs:10:13:10:43 | ...; | Patterns.cs:10:13:10:42 | call to method WriteLine | normal | -| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:31:10:41 | $"..." | normal | -| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:33:10:36 | "int " | normal | -| Patterns.cs:10:37:10:40 | {...} | Patterns.cs:10:37:10:40 | {...} | normal | -| Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:10:38:10:39 | access to local variable i1 | normal | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:14:13:14:45 | call to method WriteLine | normal | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | ... is ... | false | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | normal | -| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:18:12:18 | access to local variable o | normal | -| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | ... is ... | false | -| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | ... is ... | true | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:23:12:31 | String s1 | match | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:23:12:31 | String s1 | no-match | -| Patterns.cs:13:9:15:9 | {...} | Patterns.cs:14:13:14:45 | call to method WriteLine | normal | -| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:14:13:14:45 | call to method WriteLine | normal | -| Patterns.cs:14:13:14:46 | ...; | Patterns.cs:14:13:14:45 | call to method WriteLine | normal | -| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:31:14:44 | $"..." | normal | -| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:33:14:39 | "string " | normal | -| Patterns.cs:14:40:14:43 | {...} | Patterns.cs:14:40:14:43 | {...} | normal | -| Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:14:41:14:42 | access to local variable s1 | normal | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | ... is ... | false | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:17:9:18:9 | {...} | normal | -| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:18:16:18 | access to local variable o | normal | -| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | ... is ... | false | -| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | ... is ... | true | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:23:16:28 | Object v1 | match | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:23:16:28 | Object v1 | no-match | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:17:9:18:9 | {...} | normal | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:23:17:23:22 | break; | normal [break] (0) | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:26:17:26:22 | break; | normal [break] (0) | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:29:17:29:22 | break; | normal [break] (0) | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:32:17:32:22 | break; | normal [break] (0) | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:34:17:34:22 | break; | normal [break] (0) | -| Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:37:17:37:22 | break; | normal [break] (0) | -| Patterns.cs:20:17:20:17 | access to local variable o | Patterns.cs:20:17:20:17 | access to local variable o | normal | -| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:18:22:22 | "xyz" | no-match | -| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:23:17:23:22 | break; | break | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:22:18:22:22 | "xyz" | match | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:22:18:22:22 | "xyz" | no-match | -| Patterns.cs:23:17:23:22 | break; | Patterns.cs:23:17:23:22 | break; | break | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:18:24:23 | Int32 i2 | no-match | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:30:24:35 | ... > ... | false | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:25:17:25:51 | call to method WriteLine | normal | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:18:24:23 | Int32 i2 | match | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:18:24:23 | Int32 i2 | no-match | -| Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:30:24:31 | access to local variable i2 | normal | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | ... > ... | false | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | ... > ... | true | -| Patterns.cs:24:35:24:35 | 0 | Patterns.cs:24:35:24:35 | 0 | normal | -| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:25:17:25:51 | call to method WriteLine | normal | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:17:25:51 | call to method WriteLine | normal | -| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:35:25:50 | $"..." | normal | -| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:37:25:45 | "positive " | normal | -| Patterns.cs:25:46:25:49 | {...} | Patterns.cs:25:46:25:49 | {...} | normal | -| Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:25:47:25:48 | access to local variable i2 | normal | -| Patterns.cs:26:17:26:22 | break; | Patterns.cs:26:17:26:22 | break; | break | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:18:27:23 | Int32 i3 | no-match | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:28:17:28:46 | call to method WriteLine | normal | -| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:27:18:27:23 | Int32 i3 | match | -| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:27:18:27:23 | Int32 i3 | no-match | -| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:28:17:28:46 | call to method WriteLine | normal | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:17:28:46 | call to method WriteLine | normal | -| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:35:28:45 | $"..." | normal | -| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:37:28:40 | "int " | normal | -| Patterns.cs:28:41:28:44 | {...} | Patterns.cs:28:41:28:44 | {...} | normal | -| Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:28:42:28:43 | access to local variable i3 | normal | -| Patterns.cs:29:17:29:22 | break; | Patterns.cs:29:17:29:22 | break; | break | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:18:30:26 | String s2 | no-match | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:31:17:31:49 | call to method WriteLine | normal | -| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:30:18:30:26 | String s2 | match | -| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:30:18:30:26 | String s2 | no-match | -| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:31:17:31:49 | call to method WriteLine | normal | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:17:31:49 | call to method WriteLine | normal | -| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:35:31:48 | $"..." | normal | -| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:37:31:43 | "string " | normal | -| Patterns.cs:31:44:31:47 | {...} | Patterns.cs:31:44:31:47 | {...} | normal | -| Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:31:45:31:46 | access to local variable s2 | normal | -| Patterns.cs:32:17:32:22 | break; | Patterns.cs:32:17:32:22 | break; | break | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:18:33:23 | Object v2 | no-match | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:34:17:34:22 | break; | break | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:33:18:33:23 | Object v2 | match | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:33:18:33:23 | Object v2 | no-match | -| Patterns.cs:34:17:34:22 | break; | Patterns.cs:34:17:34:22 | break; | break | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:36:17:36:51 | call to method WriteLine | normal | -| Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:36:17:36:51 | call to method WriteLine | normal | -| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:36:17:36:51 | call to method WriteLine | normal | -| Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:36:35:36:50 | "Something else" | normal | -| Patterns.cs:37:17:37:22 | break; | Patterns.cs:37:17:37:22 | break; | break | -| Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:40:17:40:17 | access to local variable o | normal | -| Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:40:17:40:17 | access to local variable o | normal | -| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:48:9:48:9 | access to parameter c | normal | -| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:20 | ... is ... | normal | -| Patterns.cs:48:14:48:20 | not ... | Patterns.cs:48:14:48:20 | not ... | normal | -| Patterns.cs:48:18:48:20 | a | Patterns.cs:48:18:48:20 | a | normal | -| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:9:51:9 | access to parameter c | normal | -| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | ... is ... | false | -| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | ... is ... | true | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | normal | -| Patterns.cs:51:14:51:21 | not ... | Patterns.cs:51:14:51:21 | not ... | match | -| Patterns.cs:51:14:51:21 | not ... | Patterns.cs:51:14:51:21 | not ... | no-match | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:18:51:21 | null | match | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:18:51:21 | null | no-match | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:25 | access to parameter c | normal | -| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:30 | ... is ... | normal | -| Patterns.cs:51:30:51:30 | 1 | Patterns.cs:51:30:51:30 | 1 | normal | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:34 | access to parameter c | normal | -| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:39 | ... is ... | normal | -| Patterns.cs:51:39:51:39 | 2 | Patterns.cs:51:39:51:39 | 2 | normal | -| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:54:9:54:9 | access to parameter c | normal | -| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:37 | ... is ... | normal | -| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:14:54:37 | not ... | normal | -| Patterns.cs:54:18:54:25 | access to type Patterns | Patterns.cs:54:18:54:25 | access to type Patterns | match | -| Patterns.cs:54:18:54:25 | access to type Patterns | Patterns.cs:54:18:54:25 | access to type Patterns | no-match | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:37 | Patterns u | match | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:37 | Patterns u | no-match | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:18:54:37 | { ... } | normal | -| Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:54:27:54:35 | { ... } | match | -| Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:54:27:54:35 | { ... } | no-match | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:33:54:33 | 1 | match | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:33:54:33 | 1 | no-match | -| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:58:9:62:10 | return ...; | return | -| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:58:9:62:10 | return ...; | return | -| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:58:16:58:16 | access to parameter i | normal | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:62:9 | ... switch { ... } | normal | -| Patterns.cs:60:13:60:17 | not ... | Patterns.cs:60:13:60:17 | not ... | match | -| Patterns.cs:60:13:60:17 | not ... | Patterns.cs:60:13:60:17 | not ... | no-match | -| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:13:60:28 | ... => ... | normal | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:17:60:17 | 1 | match | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:17:60:17 | 1 | no-match | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:22:60:28 | "not 1" | normal | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:13:61:13 | _ | match | -| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:61:13:61:24 | ... => ... | normal | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:18:61:24 | "other" | normal | -| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:67:9:71:10 | return ...; | return | -| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:67:9:71:10 | return ...; | return | -| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:67:16:67:16 | 2 | normal | -| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:16:71:9 | ... switch { ... } | normal | -| Patterns.cs:69:13:69:17 | not ... | Patterns.cs:69:13:69:17 | not ... | match | -| Patterns.cs:69:13:69:17 | not ... | Patterns.cs:69:13:69:17 | not ... | no-match | -| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:13:69:33 | ... => ... | normal | -| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:17:69:17 | 2 | match | -| Patterns.cs:69:22:69:33 | "impossible" | Patterns.cs:69:22:69:33 | "impossible" | normal | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:13:70:13 | 2 | match | -| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:27 | ... => ... | normal | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:18:70:27 | "possible" | normal | -| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:76:9:82:10 | return ...; | return | -| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:76:9:82:10 | return ...; | return | -| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:76:16:76:16 | access to parameter i | normal | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:82:9 | ... switch { ... } | normal | -| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:13:78:15 | > ... | match | -| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:13:78:15 | > ... | no-match | -| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:13:78:24 | ... => ... | normal | -| Patterns.cs:78:15:78:15 | 1 | Patterns.cs:78:15:78:15 | 1 | normal | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:20:78:24 | "> 1" | normal | -| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:13:79:15 | < ... | match | -| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:13:79:15 | < ... | no-match | -| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:13:79:24 | ... => ... | normal | -| Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:15:79:15 | 0 | normal | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:20:79:24 | "< 0" | normal | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:13 | 1 | match | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:13:80:13 | 1 | no-match | -| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:20 | ... => ... | normal | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:18:80:20 | "1" | normal | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:13:81:13 | _ | match | -| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:81:13:81:20 | ... => ... | normal | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:18:81:20 | "0" | normal | -| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:39:85:39 | access to parameter i | normal | -| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | ... is ... | false | -| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | ... is ... | true | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:69 | ... ? ... : ... | normal | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:44:85:44 | 1 | match | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:44:85:44 | 1 | no-match | -| Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:44:85:53 | ... or ... | match | -| Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:44:85:53 | ... or ... | no-match | -| Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:49:85:53 | not ... | match | -| Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:49:85:53 | not ... | no-match | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:53:85:53 | 2 | match | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:53:85:53 | 2 | no-match | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:57:85:63 | "not 2" | normal | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:67:85:69 | "2" | normal | -| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:39:87:39 | access to parameter i | normal | -| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | ... is ... | false | -| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | ... is ... | true | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:70 | ... ? ... : ... | normal | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:44:87:44 | 1 | match | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:44:87:44 | 1 | no-match | -| Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:44:87:54 | ... and ... | match | -| Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:44:87:54 | ... and ... | no-match | -| Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:50:87:54 | not ... | match | -| Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:50:87:54 | not ... | no-match | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:54:87:54 | 2 | match | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:54:87:54 | 2 | no-match | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:58:87:60 | "1" | normal | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:64:87:70 | "not 1" | normal | -| Patterns.cs:94:5:99:5 | {...} | Patterns.cs:95:13:95:40 | ... is ... | false | -| Patterns.cs:94:5:99:5 | {...} | Patterns.cs:97:13:97:38 | call to method WriteLine | normal | -| Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:95:13:95:40 | ... is ... | false | -| Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:97:13:97:38 | call to method WriteLine | normal | -| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:13:95:16 | this access | normal | -| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | ... is ... | false | -| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | ... is ... | true | -| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | { ... } | match | -| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | { ... } | match | -| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | { ... } | no-match | -| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | { ... } | no-match | -| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:29:95:31 | access to constant A | match | -| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:29:95:31 | access to constant A | no-match | -| Patterns.cs:95:29:95:38 | ... or ... | Patterns.cs:95:29:95:38 | ... or ... | match | -| Patterns.cs:95:29:95:38 | ... or ... | Patterns.cs:95:29:95:38 | ... or ... | no-match | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:36:95:38 | access to constant B | match | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:36:95:38 | access to constant B | no-match | -| Patterns.cs:96:9:98:9 | {...} | Patterns.cs:97:13:97:38 | call to method WriteLine | normal | -| Patterns.cs:97:13:97:38 | call to method WriteLine | Patterns.cs:97:13:97:38 | call to method WriteLine | normal | -| Patterns.cs:97:13:97:39 | ...; | Patterns.cs:97:13:97:38 | call to method WriteLine | normal | -| Patterns.cs:97:31:97:37 | "not C" | Patterns.cs:97:31:97:37 | "not C" | normal | -| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | call to constructor Object | normal | -| PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | call to method | normal | -| PostDominance.cs:3:7:3:19 | this access | PostDominance.cs:3:7:3:19 | this access | normal | -| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | {...} | normal | -| PostDominance.cs:6:5:8:5 | {...} | PostDominance.cs:7:9:7:28 | call to method WriteLine | normal | -| PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:7:9:7:28 | call to method WriteLine | normal | -| PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:7:9:7:28 | call to method WriteLine | normal | -| PostDominance.cs:7:27:7:27 | access to parameter s | PostDominance.cs:7:27:7:27 | access to parameter s | normal | -| PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:13:13:13:19 | return ...; | return | -| PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:14:9:14:28 | call to method WriteLine | normal | -| PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:12:13:12:21 | ... is ... | false | -| PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:13:13:13:19 | return ...; | return | -| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:13:12:13 | access to parameter s | normal | -| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | ... is ... | false | -| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | ... is ... | true | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:18:12:21 | null | match | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:18:12:21 | null | no-match | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:13:13:13:19 | return ...; | return | -| PostDominance.cs:14:9:14:28 | call to method WriteLine | PostDominance.cs:14:9:14:28 | call to method WriteLine | normal | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:9:14:28 | call to method WriteLine | normal | -| PostDominance.cs:14:27:14:27 | access to parameter s | PostDominance.cs:14:27:14:27 | access to parameter s | normal | -| PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:20:13:20:55 | throw ...; | throw(ArgumentNullException) | -| PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:21:9:21:28 | call to method WriteLine | normal | -| PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:19:13:19:21 | ... is ... | false | -| PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:20:13:20:55 | throw ...; | throw(ArgumentNullException) | -| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:13:19:13 | access to parameter s | normal | -| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | ... is ... | false | -| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | ... is ... | true | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:18:19:21 | null | match | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:18:19:21 | null | no-match | -| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:20:13:20:55 | throw ...; | throw(ArgumentNullException) | -| PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | normal | -| PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:45:20:53 | nameof(...) | normal | -| PostDominance.cs:20:52:20:52 | access to parameter s | PostDominance.cs:20:52:20:52 | access to parameter s | normal | -| PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:21:9:21:28 | call to method WriteLine | normal | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:9:21:28 | call to method WriteLine | normal | -| PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:21:27:21:27 | access to parameter s | normal | -| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | call to constructor Object | normal | -| Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | call to method | normal | -| Qualifiers.cs:1:7:1:16 | this access | Qualifiers.cs:1:7:1:16 | this access | normal | -| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | {...} | normal | -| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:28:7:31 | null | normal | -| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:41:8:44 | null | normal | -| Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:30:9:30:46 | ... = ... | normal | -| Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | normal | -| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | normal | -| Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:17:12:21 | access to field Field | normal | -| Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:17:12:21 | this access | normal | -| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:9:13:20 | ... = ... | normal | -| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:9:13:20 | ... = ... | normal | -| Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:13:13:20 | access to property Property | normal | -| Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:13:13:20 | this access | normal | -| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:9:14:20 | ... = ... | normal | -| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:9:14:20 | ... = ... | normal | -| Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:13:14:20 | call to method Method | normal | -| Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:13:14:20 | this access | normal | -| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:9:16:22 | ... = ... | normal | -| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:9:16:22 | ... = ... | normal | -| Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:13:16:16 | this access | normal | -| Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:13:16:22 | access to field Field | normal | -| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:9:17:25 | ... = ... | normal | -| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:9:17:25 | ... = ... | normal | -| Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:13:17:16 | this access | normal | -| Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:13:17:25 | access to property Property | normal | -| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:9:18:25 | ... = ... | normal | -| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:9:18:25 | ... = ... | normal | -| Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:13:18:16 | this access | normal | -| Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:13:18:25 | call to method Method | normal | -| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:20:9:20:23 | ... = ... | normal | -| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:9:20:23 | ... = ... | normal | -| Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:13:20:23 | access to field StaticField | normal | -| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:9:21:26 | ... = ... | normal | -| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:9:21:26 | ... = ... | normal | -| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | normal | -| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:9:22:26 | ... = ... | normal | -| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:9:22:26 | ... = ... | normal | -| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | normal | -| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:24:9:24:34 | ... = ... | normal | -| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:9:24:34 | ... = ... | normal | -| Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:13:24:34 | access to field StaticField | normal | -| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:9:25:37 | ... = ... | normal | -| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:9:25:37 | ... = ... | normal | -| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | normal | -| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:9:26:37 | ... = ... | normal | -| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:9:26:37 | ... = ... | normal | -| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | normal | -| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:9:28:40 | ... = ... | normal | -| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:9:28:40 | ... = ... | normal | -| Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:13:28:34 | access to field StaticField | normal | -| Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:13:28:40 | access to field Field | normal | -| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:9:29:46 | ... = ... | normal | -| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:9:29:46 | ... = ... | normal | -| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | normal | -| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:13:29:46 | access to property Property | normal | -| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:9:30:46 | ... = ... | normal | -| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:9:30:46 | ... = ... | normal | -| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | normal | -| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:13:30:46 | call to method Method | normal | -| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | call to constructor Object | normal | -| Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | call to method | normal | -| Switch.cs:3:7:3:12 | this access | Switch.cs:3:7:3:12 | this access | normal | -| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | {...} | normal | -| Switch.cs:6:5:8:5 | {...} | Switch.cs:7:17:7:17 | access to parameter o | normal | -| Switch.cs:7:9:7:22 | switch (...) {...} | Switch.cs:7:17:7:17 | access to parameter o | normal | -| Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:7:17:7:17 | access to parameter o | normal | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:15:17:15:23 | return ...; | return | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:17:17:17:38 | throw ...; | throw(Exception) | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:22:21:22:27 | return ...; | return | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:26:17:26:23 | return ...; | return | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:27:32:27:38 | call to method Throw | throw(Exception) | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:29:17:29:23 | return ...; | return | -| Switch.cs:11:5:33:5 | {...} | Switch.cs:31:17:31:27 | goto ...; | goto(Label) | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:15:17:15:23 | return ...; | return | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:17:17:17:38 | throw ...; | throw(Exception) | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:22:21:22:27 | return ...; | return | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:26:17:26:23 | return ...; | return | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:27:32:27:38 | call to method Throw | throw(Exception) | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:29:17:29:23 | return ...; | return | -| Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:31:17:31:27 | goto ...; | goto(Label) | -| Switch.cs:12:17:12:17 | access to parameter o | Switch.cs:12:17:12:17 | access to parameter o | normal | -| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:18:14:20 | "a" | no-match | -| Switch.cs:14:13:14:21 | case ...: | Switch.cs:15:17:15:23 | return ...; | return | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:14:18:14:20 | "a" | match | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:14:18:14:20 | "a" | no-match | -| Switch.cs:15:17:15:23 | return ...; | Switch.cs:15:17:15:23 | return ...; | return | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:18:16:18 | 0 | no-match | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:17:17:17:38 | throw ...; | throw(Exception) | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:16:18:16:18 | 0 | match | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:16:18:16:18 | 0 | no-match | -| Switch.cs:17:17:17:38 | throw ...; | Switch.cs:17:17:17:38 | throw ...; | throw(Exception) | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:23:17:37 | object creation of type Exception | normal | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:18:18:21 | null | no-match | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:19:17:19:29 | goto default; | goto(default) | -| Switch.cs:18:18:18:21 | null | Switch.cs:18:18:18:21 | null | match | -| Switch.cs:18:18:18:21 | null | Switch.cs:18:18:18:21 | null | no-match | -| Switch.cs:19:17:19:29 | goto default; | Switch.cs:19:17:19:29 | goto default; | goto(default) | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:18:20:22 | Int32 i | no-match | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:21:21:21:29 | ... == ... | false | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:22:21:22:27 | return ...; | return | -| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:20:18:20:22 | Int32 i | match | -| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:20:18:20:22 | Int32 i | no-match | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:29 | ... == ... | false | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:22:21:22:27 | return ...; | return | -| Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:21:21:21:21 | access to parameter o | normal | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | ... == ... | false | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | ... == ... | true | -| Switch.cs:21:26:21:29 | null | Switch.cs:21:26:21:29 | null | normal | -| Switch.cs:22:21:22:27 | return ...; | Switch.cs:22:21:22:27 | return ...; | return | -| Switch.cs:23:17:23:28 | goto case ...; | Switch.cs:23:17:23:28 | goto case ...; | goto(0) | -| Switch.cs:23:27:23:27 | 0 | Switch.cs:23:27:23:27 | 0 | normal | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:18:24:25 | String s | no-match | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:32:24:55 | ... && ... | false | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:25:17:25:36 | call to method WriteLine | normal | -| Switch.cs:24:18:24:25 | String s | Switch.cs:24:18:24:25 | String s | match | -| Switch.cs:24:18:24:25 | String s | Switch.cs:24:18:24:25 | String s | no-match | -| Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:32 | access to local variable s | normal | -| Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:32:24:39 | access to property Length | normal | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | ... > ... | false | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | ... > ... | true | -| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:55 | ... && ... | false | -| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:55 | ... && ... | true | -| Switch.cs:24:43:24:43 | 0 | Switch.cs:24:43:24:43 | 0 | normal | -| Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:48:24:48 | access to local variable s | normal | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | ... != ... | false | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | ... != ... | true | -| Switch.cs:24:53:24:55 | "a" | Switch.cs:24:53:24:55 | "a" | normal | -| Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:25:17:25:36 | call to method WriteLine | normal | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:17:25:36 | call to method WriteLine | normal | -| Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:25:35:25:35 | access to local variable s | normal | -| Switch.cs:26:17:26:23 | return ...; | Switch.cs:26:17:26:23 | return ...; | return | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:18:27:25 | Double d | no-match | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:32:27:38 | call to method Throw | throw(Exception) | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:28:13:28:17 | Label: | normal | -| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:18:27:25 | Double d | match | -| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:18:27:25 | Double d | no-match | -| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:27:32:27:38 | call to method Throw | throw(Exception) | -| Switch.cs:28:13:28:17 | Label: | Switch.cs:28:13:28:17 | Label: | normal | -| Switch.cs:29:17:29:23 | return ...; | Switch.cs:29:17:29:23 | return ...; | return | -| Switch.cs:30:13:30:20 | default: | Switch.cs:31:17:31:27 | goto ...; | goto(Label) | -| Switch.cs:31:17:31:27 | goto ...; | Switch.cs:31:17:31:27 | goto ...; | goto(Label) | -| Switch.cs:36:5:42:5 | {...} | Switch.cs:37:17:37:23 | call to method Throw | throw(Exception) | -| Switch.cs:36:5:42:5 | {...} | Switch.cs:40:17:40:23 | return ...; | return | -| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:17:37:23 | call to method Throw | throw(Exception) | -| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:40:17:40:23 | return ...; | return | -| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:37:17:37:23 | call to method Throw | throw(Exception) | -| Switch.cs:39:13:39:20 | default: | Switch.cs:40:17:40:23 | return ...; | return | -| Switch.cs:40:17:40:23 | return ...; | Switch.cs:40:17:40:23 | return ...; | return | -| Switch.cs:45:5:53:5 | {...} | Switch.cs:49:17:49:22 | break; | normal [break] (0) | -| Switch.cs:45:5:53:5 | {...} | Switch.cs:50:18:50:21 | access to type Boolean | no-match | -| Switch.cs:45:5:53:5 | {...} | Switch.cs:50:30:50:38 | ... != ... | false | -| Switch.cs:45:5:53:5 | {...} | Switch.cs:51:17:51:22 | break; | normal [break] (0) | -| Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:49:17:49:22 | break; | normal [break] (0) | -| Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:50:18:50:21 | access to type Boolean | no-match | -| Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:50:30:50:38 | ... != ... | false | -| Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:51:17:51:22 | break; | normal [break] (0) | -| Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:46:17:46:17 | access to parameter o | normal | -| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:18:48:20 | access to type Int32 | no-match | -| Switch.cs:48:13:48:23 | case ...: | Switch.cs:49:17:49:22 | break; | break | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:48:18:48:20 | access to type Int32 | match | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:48:18:48:20 | access to type Int32 | no-match | -| Switch.cs:49:17:49:22 | break; | Switch.cs:49:17:49:22 | break; | break | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:18:50:21 | access to type Boolean | no-match | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:30:50:38 | ... != ... | false | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:51:17:51:22 | break; | break | -| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:18:50:21 | access to type Boolean | match | -| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:18:50:21 | access to type Boolean | no-match | -| Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:30:50:30 | access to parameter o | normal | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | ... != ... | false | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | ... != ... | true | -| Switch.cs:50:35:50:38 | null | Switch.cs:50:35:50:38 | null | normal | -| Switch.cs:51:17:51:22 | break; | Switch.cs:51:17:51:22 | break; | break | -| Switch.cs:56:5:64:5 | {...} | Switch.cs:60:17:60:22 | break; | normal [break] (0) | -| Switch.cs:56:5:64:5 | {...} | Switch.cs:62:17:62:22 | break; | normal [break] (0) | -| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:60:17:60:22 | break; | normal [break] (0) | -| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:62:17:62:22 | break; | normal [break] (0) | -| Switch.cs:57:17:57:17 | 1 | Switch.cs:57:17:57:17 | 1 | normal | -| Switch.cs:57:17:57:21 | ... + ... | Switch.cs:57:17:57:21 | ... + ... | normal | -| Switch.cs:57:21:57:21 | 2 | Switch.cs:57:21:57:21 | 2 | normal | -| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:18:59:18 | 2 | no-match | -| Switch.cs:59:13:59:19 | case ...: | Switch.cs:60:17:60:22 | break; | break | -| Switch.cs:59:18:59:18 | 2 | Switch.cs:59:18:59:18 | 2 | no-match | -| Switch.cs:60:17:60:22 | break; | Switch.cs:60:17:60:22 | break; | break | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:62:17:62:22 | break; | break | -| Switch.cs:61:18:61:18 | 3 | Switch.cs:61:18:61:18 | 3 | match | -| Switch.cs:62:17:62:22 | break; | Switch.cs:62:17:62:22 | break; | break | -| Switch.cs:67:5:75:5 | {...} | Switch.cs:71:17:71:22 | break; | normal [break] (0) | -| Switch.cs:67:5:75:5 | {...} | Switch.cs:72:18:72:19 | "" | no-match | -| Switch.cs:67:5:75:5 | {...} | Switch.cs:73:17:73:22 | break; | normal [break] (0) | -| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:71:17:71:22 | break; | normal [break] (0) | -| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:72:18:72:19 | "" | no-match | -| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:73:17:73:22 | break; | normal [break] (0) | -| Switch.cs:68:17:68:25 | (...) ... | Switch.cs:68:17:68:25 | (...) ... | normal | -| Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:68:25:68:25 | access to parameter s | normal | -| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:18:70:20 | access to type Int32 | no-match | -| Switch.cs:70:13:70:23 | case ...: | Switch.cs:71:17:71:22 | break; | break | -| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:70:18:70:20 | access to type Int32 | no-match | -| Switch.cs:71:17:71:22 | break; | Switch.cs:71:17:71:22 | break; | break | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:18:72:19 | "" | no-match | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:73:17:73:22 | break; | break | -| Switch.cs:72:18:72:19 | "" | Switch.cs:72:18:72:19 | "" | match | -| Switch.cs:72:18:72:19 | "" | Switch.cs:72:18:72:19 | "" | no-match | -| Switch.cs:73:17:73:22 | break; | Switch.cs:73:17:73:22 | break; | break | -| Switch.cs:78:5:89:5 | {...} | Switch.cs:82:17:82:28 | return ...; | return | -| Switch.cs:78:5:89:5 | {...} | Switch.cs:86:17:86:28 | return ...; | return | -| Switch.cs:78:5:89:5 | {...} | Switch.cs:88:9:88:21 | return ...; | return | -| Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:82:17:82:28 | return ...; | return | -| Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:83:18:83:18 | 2 | no-match | -| Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:85:21:85:26 | break; | normal [break] (0) | -| Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:86:17:86:28 | return ...; | return | -| Switch.cs:79:17:79:17 | access to parameter i | Switch.cs:79:17:79:17 | access to parameter i | normal | -| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:18:81:18 | 1 | no-match | -| Switch.cs:81:13:81:19 | case ...: | Switch.cs:82:17:82:28 | return ...; | return | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:81:18:81:18 | 1 | match | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:81:18:81:18 | 1 | no-match | -| Switch.cs:82:17:82:28 | return ...; | Switch.cs:82:17:82:28 | return ...; | return | -| Switch.cs:82:24:82:27 | true | Switch.cs:82:24:82:27 | true | normal | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:18:83:18 | 2 | no-match | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:84:21:84:25 | ... > ... | false | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:85:21:85:26 | break; | break | -| Switch.cs:83:18:83:18 | 2 | Switch.cs:83:18:83:18 | 2 | match | -| Switch.cs:83:18:83:18 | 2 | Switch.cs:83:18:83:18 | 2 | no-match | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:21:84:25 | ... > ... | false | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:85:21:85:26 | break; | break | -| Switch.cs:84:21:84:21 | access to parameter j | Switch.cs:84:21:84:21 | access to parameter j | normal | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | ... > ... | false | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | ... > ... | true | -| Switch.cs:84:25:84:25 | 2 | Switch.cs:84:25:84:25 | 2 | normal | -| Switch.cs:85:21:85:26 | break; | Switch.cs:85:21:85:26 | break; | break | -| Switch.cs:86:17:86:28 | return ...; | Switch.cs:86:17:86:28 | return ...; | return | -| Switch.cs:86:24:86:27 | true | Switch.cs:86:24:86:27 | true | normal | -| Switch.cs:88:9:88:21 | return ...; | Switch.cs:88:9:88:21 | return ...; | return | -| Switch.cs:88:16:88:20 | false | Switch.cs:88:16:88:20 | false | normal | -| Switch.cs:92:5:99:5 | {...} | Switch.cs:96:17:96:28 | return ...; | return | -| Switch.cs:92:5:99:5 | {...} | Switch.cs:98:9:98:21 | return ...; | return | -| Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:95:18:95:20 | access to type Int32 | no-match | -| Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:96:17:96:28 | return ...; | return | -| Switch.cs:93:17:93:17 | access to parameter o | Switch.cs:93:17:93:17 | access to parameter o | normal | -| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:18:95:20 | access to type Int32 | no-match | -| Switch.cs:95:13:95:23 | case ...: | Switch.cs:96:17:96:28 | return ...; | return | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:95:18:95:20 | access to type Int32 | match | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:95:18:95:20 | access to type Int32 | no-match | -| Switch.cs:96:17:96:28 | return ...; | Switch.cs:96:17:96:28 | return ...; | return | -| Switch.cs:96:24:96:27 | true | Switch.cs:96:24:96:27 | true | normal | -| Switch.cs:98:9:98:21 | return ...; | Switch.cs:98:9:98:21 | return ...; | return | -| Switch.cs:98:16:98:20 | false | Switch.cs:98:16:98:20 | false | normal | -| Switch.cs:102:5:109:5 | {...} | Switch.cs:105:21:105:29 | return ...; | return | -| Switch.cs:102:5:109:5 | {...} | Switch.cs:106:21:106:29 | return ...; | return | -| Switch.cs:102:5:109:5 | {...} | Switch.cs:108:9:108:18 | return ...; | return | -| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:105:21:105:29 | return ...; | return | -| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:106:18:106:18 | 1 | no-match | -| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:106:21:106:29 | return ...; | return | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:17 | access to parameter s | non-null | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:17 | access to parameter s | null | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:17 | access to parameter s | null | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:25 | access to property Length | normal | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:18:105:18 | 0 | no-match | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:21:105:29 | return ...; | return | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:18:105:18 | 0 | match | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:18:105:18 | 0 | no-match | -| Switch.cs:105:21:105:29 | return ...; | Switch.cs:105:21:105:29 | return ...; | return | -| Switch.cs:105:28:105:28 | 0 | Switch.cs:105:28:105:28 | 0 | normal | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:18:106:18 | 1 | no-match | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:21:106:29 | return ...; | return | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:18:106:18 | 1 | match | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:18:106:18 | 1 | no-match | -| Switch.cs:106:21:106:29 | return ...; | Switch.cs:106:21:106:29 | return ...; | return | -| Switch.cs:106:28:106:28 | 1 | Switch.cs:106:28:106:28 | 1 | normal | -| Switch.cs:108:9:108:18 | return ...; | Switch.cs:108:9:108:18 | return ...; | return | -| Switch.cs:108:16:108:17 | -... | Switch.cs:108:16:108:17 | -... | normal | -| Switch.cs:108:17:108:17 | 1 | Switch.cs:108:17:108:17 | 1 | normal | -| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:28:111:48 | throw ... | throw(Exception) | -| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:34:111:48 | object creation of type Exception | normal | -| Switch.cs:114:5:121:5 | {...} | Switch.cs:117:37:117:45 | return ...; | return | -| Switch.cs:114:5:121:5 | {...} | Switch.cs:118:36:118:44 | return ...; | return | -| Switch.cs:114:5:121:5 | {...} | Switch.cs:120:9:120:18 | return ...; | return | -| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:117:37:117:45 | return ...; | return | -| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:118:18:118:18 | 2 | no-match | -| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:118:25:118:33 | ... == ... | false | -| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:118:36:118:44 | return ...; | return | -| Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:115:17:115:17 | access to parameter s | normal | -| Switch.cs:115:17:115:24 | access to property Length | Switch.cs:115:17:115:24 | access to property Length | normal | -| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:18:117:18 | 3 | no-match | -| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:25:117:34 | ... == ... | false | -| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:37:117:45 | return ...; | return | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:18:117:18 | 3 | match | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:18:117:18 | 3 | no-match | -| Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:25:117:25 | access to parameter s | normal | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | ... == ... | false | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | ... == ... | true | -| Switch.cs:117:30:117:34 | "foo" | Switch.cs:117:30:117:34 | "foo" | normal | -| Switch.cs:117:37:117:45 | return ...; | Switch.cs:117:37:117:45 | return ...; | return | -| Switch.cs:117:44:117:44 | 1 | Switch.cs:117:44:117:44 | 1 | normal | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:18:118:18 | 2 | no-match | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:25:118:33 | ... == ... | false | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:36:118:44 | return ...; | return | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:18:118:18 | 2 | match | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:18:118:18 | 2 | no-match | -| Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:25:118:25 | access to parameter s | normal | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | ... == ... | false | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | ... == ... | true | -| Switch.cs:118:30:118:33 | "fu" | Switch.cs:118:30:118:33 | "fu" | normal | -| Switch.cs:118:36:118:44 | return ...; | Switch.cs:118:36:118:44 | return ...; | return | -| Switch.cs:118:43:118:43 | 2 | Switch.cs:118:43:118:43 | 2 | normal | -| Switch.cs:120:9:120:18 | return ...; | Switch.cs:120:9:120:18 | return ...; | return | -| Switch.cs:120:16:120:17 | -... | Switch.cs:120:16:120:17 | -... | normal | -| Switch.cs:120:17:120:17 | 1 | Switch.cs:120:17:120:17 | 1 | normal | -| Switch.cs:124:5:127:5 | {...} | Switch.cs:125:13:125:48 | ... switch { ... } | false | -| Switch.cs:124:5:127:5 | {...} | Switch.cs:126:13:126:19 | return ...; | return | -| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:13:125:48 | ... switch { ... } | false | -| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:126:13:126:19 | return ...; | return | -| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:13:125:13 | access to parameter o | normal | -| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:48 | ... switch { ... } | false | -| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:48 | ... switch { ... } | true | -| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:24:125:29 | Boolean b | match | -| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:24:125:29 | Boolean b | no-match | -| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | ... => ... | false | -| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | ... => ... | true | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:34:125:34 | access to local variable b | false | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:34:125:34 | access to local variable b | true | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:37:125:37 | _ | match | -| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:46 | ... => ... | false | -| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:46 | ... => ... | true | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:42:125:46 | false | false | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:126:13:126:19 | return ...; | return | -| Switch.cs:130:5:132:5 | {...} | Switch.cs:131:9:131:67 | return ...; | return | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:131:9:131:67 | return ...; | return | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:16:131:66 | call to method ToString | normal | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:17:131:53 | ... switch { ... } | null | -| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:17:131:17 | access to parameter o | normal | -| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:53 | ... switch { ... } | non-null | -| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:53 | ... switch { ... } | null | -| Switch.cs:131:28:131:35 | String s | Switch.cs:131:28:131:35 | String s | match | -| Switch.cs:131:28:131:35 | String s | Switch.cs:131:28:131:35 | String s | no-match | -| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | ... => ... | non-null | -| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | ... => ... | null | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:40:131:40 | access to local variable s | non-null | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:40:131:40 | access to local variable s | null | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:43:131:43 | _ | match | -| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:51 | ... => ... | non-null | -| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:51 | ... => ... | null | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:48:131:51 | null | null | -| Switch.cs:135:5:142:5 | {...} | Switch.cs:138:22:138:31 | return ...; | return | -| Switch.cs:135:5:142:5 | {...} | Switch.cs:139:21:139:29 | return ...; | return | -| Switch.cs:135:5:142:5 | {...} | Switch.cs:140:21:140:29 | return ...; | return | -| Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:138:22:138:31 | return ...; | return | -| Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:139:21:139:29 | return ...; | return | -| Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:140:21:140:29 | return ...; | return | -| Switch.cs:136:17:136:17 | access to parameter i | Switch.cs:136:17:136:17 | access to parameter i | normal | -| Switch.cs:138:13:138:20 | default: | Switch.cs:138:22:138:31 | return ...; | return | -| Switch.cs:138:22:138:31 | return ...; | Switch.cs:138:22:138:31 | return ...; | return | -| Switch.cs:138:29:138:30 | -... | Switch.cs:138:29:138:30 | -... | normal | -| Switch.cs:138:30:138:30 | 1 | Switch.cs:138:30:138:30 | 1 | normal | -| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:18:139:18 | 1 | no-match | -| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:21:139:29 | return ...; | return | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:18:139:18 | 1 | match | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:18:139:18 | 1 | no-match | -| Switch.cs:139:21:139:29 | return ...; | Switch.cs:139:21:139:29 | return ...; | return | -| Switch.cs:139:28:139:28 | 1 | Switch.cs:139:28:139:28 | 1 | normal | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:18:140:18 | 2 | no-match | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:21:140:29 | return ...; | return | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:18:140:18 | 2 | match | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:18:140:18 | 2 | no-match | -| Switch.cs:140:21:140:29 | return ...; | Switch.cs:140:21:140:29 | return ...; | return | -| Switch.cs:140:28:140:28 | 2 | Switch.cs:140:28:140:28 | 2 | normal | -| Switch.cs:145:5:152:5 | {...} | Switch.cs:148:21:148:29 | return ...; | return | -| Switch.cs:145:5:152:5 | {...} | Switch.cs:149:22:149:31 | return ...; | return | -| Switch.cs:145:5:152:5 | {...} | Switch.cs:150:21:150:29 | return ...; | return | -| Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:148:21:148:29 | return ...; | return | -| Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:149:22:149:31 | return ...; | return | -| Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:150:21:150:29 | return ...; | return | -| Switch.cs:146:17:146:17 | access to parameter i | Switch.cs:146:17:146:17 | access to parameter i | normal | -| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:18:148:18 | 1 | no-match | -| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:21:148:29 | return ...; | return | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:18:148:18 | 1 | match | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:18:148:18 | 1 | no-match | -| Switch.cs:148:21:148:29 | return ...; | Switch.cs:148:21:148:29 | return ...; | return | -| Switch.cs:148:28:148:28 | 1 | Switch.cs:148:28:148:28 | 1 | normal | -| Switch.cs:149:13:149:20 | default: | Switch.cs:149:22:149:31 | return ...; | return | -| Switch.cs:149:22:149:31 | return ...; | Switch.cs:149:22:149:31 | return ...; | return | -| Switch.cs:149:29:149:30 | -... | Switch.cs:149:29:149:30 | -... | normal | -| Switch.cs:149:30:149:30 | 1 | Switch.cs:149:30:149:30 | 1 | normal | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:18:150:18 | 2 | no-match | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:21:150:29 | return ...; | return | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:18:150:18 | 2 | match | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:18:150:18 | 2 | no-match | -| Switch.cs:150:21:150:29 | return ...; | Switch.cs:150:21:150:29 | return ...; | return | -| Switch.cs:150:28:150:28 | 2 | Switch.cs:150:28:150:28 | 2 | normal | -| Switch.cs:155:5:161:5 | {...} | Switch.cs:156:41:156:45 | false | throw(InvalidOperationException) [no-match] (0) | -| Switch.cs:155:5:161:5 | {...} | Switch.cs:158:13:158:48 | call to method WriteLine | normal | -| Switch.cs:155:5:161:5 | {...} | Switch.cs:160:13:160:48 | call to method WriteLine | normal | -| Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:13:156:54 | String s = ... | normal | -| Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:41:156:45 | false | throw(InvalidOperationException) [no-match] (0) | -| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:13:156:54 | String s = ... | normal | -| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:41:156:45 | false | throw(InvalidOperationException) [no-match] (0) | -| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:17:156:17 | access to parameter b | normal | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:54 | ... switch { ... } | normal | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:41:156:45 | false | throw(InvalidOperationException) [no-match] (0) | -| Switch.cs:156:28:156:31 | true | Switch.cs:156:28:156:31 | true | match | -| Switch.cs:156:28:156:31 | true | Switch.cs:156:28:156:31 | true | no-match | -| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:38 | ... => ... | normal | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:36:156:38 | "a" | normal | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:45 | false | match | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:41:156:45 | false | no-match | -| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:45 | false | throw(InvalidOperationException) [no-match] (0) | -| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:52 | ... => ... | normal | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:50:156:52 | "b" | normal | -| Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:158:13:158:48 | call to method WriteLine | normal | -| Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:160:13:160:48 | call to method WriteLine | normal | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | access to parameter b | false | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | access to parameter b | true | -| Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:158:13:158:48 | call to method WriteLine | normal | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:13:158:48 | call to method WriteLine | normal | -| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:38:158:47 | $"..." | normal | -| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:40:158:43 | "a = " | normal | -| Switch.cs:158:44:158:46 | {...} | Switch.cs:158:44:158:46 | {...} | normal | -| Switch.cs:158:45:158:45 | access to local variable s | Switch.cs:158:45:158:45 | access to local variable s | normal | -| Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:160:13:160:48 | call to method WriteLine | normal | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:13:160:48 | call to method WriteLine | normal | -| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:38:160:47 | $"..." | normal | -| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:40:160:43 | "b = " | normal | -| Switch.cs:160:44:160:46 | {...} | Switch.cs:160:44:160:46 | {...} | normal | -| Switch.cs:160:45:160:45 | access to local variable s | Switch.cs:160:45:160:45 | access to local variable s | normal | -| Switch.cs:164:5:178:5 | {...} | Switch.cs:170:17:170:22 | break; | normal [break] (0) | -| Switch.cs:164:5:178:5 | {...} | Switch.cs:173:17:173:22 | break; | normal [break] (0) | -| Switch.cs:164:5:178:5 | {...} | Switch.cs:176:17:176:22 | break; | normal [break] (0) | -| Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:170:17:170:22 | break; | normal [break] (0) | -| Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:173:17:173:22 | break; | normal [break] (0) | -| Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:176:17:176:22 | break; | normal [break] (0) | -| Switch.cs:165:17:165:17 | access to parameter i | Switch.cs:165:17:165:17 | access to parameter i | normal | -| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:18:167:18 | 1 | no-match | -| Switch.cs:167:13:167:19 | case ...: | Switch.cs:169:17:169:50 | call to method WriteLine | normal | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:167:18:167:18 | 1 | match | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:167:18:167:18 | 1 | no-match | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:18:168:18 | 2 | no-match | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:169:17:169:50 | call to method WriteLine | normal | -| Switch.cs:168:18:168:18 | 2 | Switch.cs:168:18:168:18 | 2 | match | -| Switch.cs:168:18:168:18 | 2 | Switch.cs:168:18:168:18 | 2 | no-match | -| Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:169:17:169:50 | call to method WriteLine | normal | -| Switch.cs:169:17:169:51 | ...; | Switch.cs:169:17:169:50 | call to method WriteLine | normal | -| Switch.cs:169:42:169:49 | "1 or 2" | Switch.cs:169:42:169:49 | "1 or 2" | normal | -| Switch.cs:170:17:170:22 | break; | Switch.cs:170:17:170:22 | break; | break | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:18:171:18 | 3 | no-match | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:172:17:172:45 | call to method WriteLine | normal | -| Switch.cs:171:18:171:18 | 3 | Switch.cs:171:18:171:18 | 3 | match | -| Switch.cs:171:18:171:18 | 3 | Switch.cs:171:18:171:18 | 3 | no-match | -| Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:172:17:172:45 | call to method WriteLine | normal | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:17:172:45 | call to method WriteLine | normal | -| Switch.cs:172:42:172:44 | "3" | Switch.cs:172:42:172:44 | "3" | normal | -| Switch.cs:173:17:173:22 | break; | Switch.cs:173:17:173:22 | break; | break | -| Switch.cs:174:13:174:20 | default: | Switch.cs:175:17:175:47 | call to method WriteLine | normal | -| Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:175:17:175:47 | call to method WriteLine | normal | -| Switch.cs:175:17:175:48 | ...; | Switch.cs:175:17:175:47 | call to method WriteLine | normal | -| Switch.cs:175:42:175:46 | "def" | Switch.cs:175:42:175:46 | "def" | normal | -| Switch.cs:176:17:176:22 | break; | Switch.cs:176:17:176:22 | break; | break | -| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | call to constructor Object | normal | -| TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | call to method | normal | -| TypeAccesses.cs:1:7:1:18 | this access | TypeAccesses.cs:1:7:1:18 | this access | normal | -| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | {...} | normal | -| TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:8:13:8:27 | Type t = ... | normal | -| TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:13:5:25 | String s = ... | normal | -| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:13:5:25 | String s = ... | normal | -| TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:17:5:25 | (...) ... | normal | -| TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:25:5:25 | access to parameter o | normal | -| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:9:6:23 | ... = ... | normal | -| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:9:6:23 | ... = ... | normal | -| TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:13:6:13 | access to parameter o | normal | -| TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:13:6:23 | ... as ... | normal | -| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:13:7:22 | ... is ... | false | -| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:25:7:25 | ; | normal | -| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:13:7:13 | access to parameter o | normal | -| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | ... is ... | false | -| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | ... is ... | true | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:18:7:22 | Int32 j | match | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:18:7:22 | Int32 j | no-match | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:25:7:25 | ; | normal | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:13:8:27 | Type t = ... | normal | -| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:8:13:8:27 | Type t = ... | normal | -| TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:17:8:27 | typeof(...) | normal | -| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | call to constructor Object | normal | -| VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | call to method | normal | -| VarDecls.cs:3:7:3:14 | this access | VarDecls.cs:3:7:3:14 | this access | normal | -| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | {...} | normal | -| VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:9:13:9:29 | return ...; | return | -| VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:9:13:9:29 | return ...; | return | -| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:22:7:36 | Char* c1 = ... | normal | -| VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:27:7:33 | access to parameter strings | normal | -| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:27:7:36 | (...) ... | normal | -| VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:27:7:36 | access to array element | normal | -| VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:7:35:7:35 | 0 | normal | -| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:39:7:53 | Char* c2 = ... | normal | -| VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:44:7:50 | access to parameter strings | normal | -| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:44:7:53 | (...) ... | normal | -| VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:44:7:53 | access to array element | normal | -| VarDecls.cs:7:52:7:52 | 1 | VarDecls.cs:7:52:7:52 | 1 | normal | -| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:9:13:9:29 | return ...; | return | -| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:9:13:9:29 | return ...; | return | -| VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:20:9:28 | (...) ... | normal | -| VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:9:27:9:28 | access to local variable c1 | normal | -| VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:16:9:16:23 | return ...; | return | -| VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:24:15:29 | String s2 = ... | normal | -| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:16:15:21 | String s1 = ... | normal | -| VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:21:15:21 | access to parameter s | normal | -| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:15:24:15:29 | String s2 = ... | normal | -| VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:29:15:29 | access to parameter s | normal | -| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:16:9:16:23 | return ...; | return | -| VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:16:16:16:17 | access to local variable s1 | normal | -| VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:16:16:22 | ... + ... | normal | -| VarDecls.cs:16:21:16:22 | access to local variable s2 | VarDecls.cs:16:21:16:22 | access to local variable s2 | normal | -| VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:25:13:25:29 | return ...; | return | -| VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:22:13:22:13 | ; | normal | -| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:21:16:21:22 | object creation of type C | normal | -| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:22:13:22:13 | ; | normal | -| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:25:13:25:29 | return ...; | return | -| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:18:24:28 | C x = ... | normal | -| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:22:24:28 | object creation of type C | normal | -| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:31:24:41 | C y = ... | normal | -| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:35:24:41 | object creation of type C | normal | -| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:25:13:25:29 | return ...; | return | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | access to parameter b | false | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | access to parameter b | true | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:28 | ... ? ... : ... | normal | -| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:24:25:24 | access to local variable x | normal | -| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:28:25:28 | access to local variable y | normal | -| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | call to constructor Object | normal | -| VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | call to method | normal | -| VarDecls.cs:28:11:28:11 | this access | VarDecls.cs:28:11:28:11 | this access | normal | -| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | {...} | normal | -| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:51:28:53 | {...} | normal | -| cflow.cs:6:5:35:5 | {...} | cflow.cs:24:25:24:31 | ... <= ... | false | -| cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:13:7:27 | Int32 a = ... | normal | -| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:13:7:27 | Int32 a = ... | normal | -| cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:17:7:20 | access to parameter args | normal | -| cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:17:7:27 | access to property Length | normal | -| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:9:9:39 | ... = ... | normal | -| cflow.cs:9:9:9:40 | ...; | cflow.cs:9:9:9:39 | ... = ... | normal | -| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:13:9:29 | object creation of type ControlFlow | normal | -| cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:13:9:39 | call to method Switch | normal | -| cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:9:38:9:38 | access to local variable a | normal | -| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:11:13:11:17 | ... > ... | false | -| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:12:13:12:48 | call to method WriteLine | normal | -| cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:11:13:11:13 | access to local variable a | normal | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | ... > ... | false | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | ... > ... | true | -| cflow.cs:11:17:11:17 | 3 | cflow.cs:11:17:11:17 | 3 | normal | -| cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:12:13:12:48 | call to method WriteLine | normal | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:13:12:48 | call to method WriteLine | normal | -| cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:12:31:12:47 | "more than a few" | normal | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:16:14:20 | ... > ... | false | -| cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:16:14:16 | access to local variable a | normal | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | ... > ... | false | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | ... > ... | true | -| cflow.cs:14:20:14:20 | 0 | cflow.cs:14:20:14:20 | 0 | normal | -| cflow.cs:15:9:17:9 | {...} | cflow.cs:16:13:16:40 | call to method WriteLine | normal | -| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:16:13:16:40 | call to method WriteLine | normal | -| cflow.cs:16:13:16:41 | ...; | cflow.cs:16:13:16:40 | call to method WriteLine | normal | -| cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:16:31:16:31 | access to local variable a | normal | -| cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:31:16:33 | ...-- | normal | -| cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:31:16:39 | ... * ... | normal | -| cflow.cs:16:37:16:39 | 100 | cflow.cs:16:37:16:39 | 100 | normal | -| cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:22:18:22:23 | ... < ... | false | -| cflow.cs:20:9:22:9 | {...} | cflow.cs:21:13:21:35 | call to method WriteLine | normal | -| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:21:13:21:35 | call to method WriteLine | normal | -| cflow.cs:21:13:21:36 | ...; | cflow.cs:21:13:21:35 | call to method WriteLine | normal | -| cflow.cs:21:31:21:34 | -... | cflow.cs:21:31:21:34 | -... | normal | -| cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:21:32:21:32 | access to local variable a | normal | -| cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:32:21:34 | ...++ | normal | -| cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:22:18:22:18 | access to local variable a | normal | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | ... < ... | false | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | ... < ... | true | -| cflow.cs:22:22:22:23 | 10 | cflow.cs:22:22:22:23 | 10 | normal | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:25:24:31 | ... <= ... | false | -| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:18:24:22 | Int32 i = ... | normal | -| cflow.cs:24:22:24:22 | 1 | cflow.cs:24:22:24:22 | 1 | normal | -| cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:25:24:25 | access to local variable i | normal | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | ... <= ... | false | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | ... <= ... | true | -| cflow.cs:24:30:24:31 | 20 | cflow.cs:24:30:24:31 | 20 | normal | -| cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:34 | access to local variable i | normal | -| cflow.cs:24:34:24:36 | ...++ | cflow.cs:24:34:24:36 | ...++ | normal | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:27:17:27:45 | call to method WriteLine | normal | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:29:17:29:41 | call to method WriteLine | normal | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:31:17:31:41 | call to method WriteLine | normal | -| cflow.cs:25:9:34:9 | {...} | cflow.cs:33:17:33:36 | call to method WriteLine | normal | -| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:27:17:27:45 | call to method WriteLine | normal | -| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:29:17:29:41 | call to method WriteLine | normal | -| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:31:17:31:41 | call to method WriteLine | normal | -| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:33:17:33:36 | call to method WriteLine | normal | -| cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:17:26:17 | access to local variable i | normal | -| cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:17:26:21 | ... % ... | normal | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | ... == ... | false | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | ... == ... | true | -| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:40 | ... && ... | false | -| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:40 | ... && ... | true | -| cflow.cs:26:21:26:21 | 3 | cflow.cs:26:21:26:21 | 3 | normal | -| cflow.cs:26:26:26:26 | 0 | cflow.cs:26:26:26:26 | 0 | normal | -| cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:31:26:31 | access to local variable i | normal | -| cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:31:26:35 | ... % ... | normal | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | ... == ... | false | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | ... == ... | true | -| cflow.cs:26:35:26:35 | 5 | cflow.cs:26:35:26:35 | 5 | normal | -| cflow.cs:26:40:26:40 | 0 | cflow.cs:26:40:26:40 | 0 | normal | -| cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:27:17:27:45 | call to method WriteLine | normal | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:17:27:45 | call to method WriteLine | normal | -| cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:27:35:27:44 | "FizzBuzz" | normal | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:29:17:29:41 | call to method WriteLine | normal | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:31:17:31:41 | call to method WriteLine | normal | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:33:17:33:36 | call to method WriteLine | normal | -| cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:28:22:28:22 | access to local variable i | normal | -| cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:22:28:26 | ... % ... | normal | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | ... == ... | false | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | ... == ... | true | -| cflow.cs:28:26:28:26 | 3 | cflow.cs:28:26:28:26 | 3 | normal | -| cflow.cs:28:31:28:31 | 0 | cflow.cs:28:31:28:31 | 0 | normal | -| cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:29:17:29:41 | call to method WriteLine | normal | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:17:29:41 | call to method WriteLine | normal | -| cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:29:35:29:40 | "Fizz" | normal | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:31:17:31:41 | call to method WriteLine | normal | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:33:17:33:36 | call to method WriteLine | normal | -| cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:30:22:30:22 | access to local variable i | normal | -| cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:22:30:26 | ... % ... | normal | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | ... == ... | false | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | ... == ... | true | -| cflow.cs:30:26:30:26 | 5 | cflow.cs:30:26:30:26 | 5 | normal | -| cflow.cs:30:31:30:31 | 0 | cflow.cs:30:31:30:31 | 0 | normal | -| cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:31:17:31:41 | call to method WriteLine | normal | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:17:31:41 | call to method WriteLine | normal | -| cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:31:35:31:40 | "Buzz" | normal | -| cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:33:17:33:36 | call to method WriteLine | normal | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:17:33:36 | call to method WriteLine | normal | -| cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:33:35:33:35 | access to local variable i | normal | -| cflow.cs:38:5:68:5 | {...} | cflow.cs:64:21:64:55 | throw ...; | throw(NullReferenceException) | -| cflow.cs:38:5:68:5 | {...} | cflow.cs:67:9:67:17 | return ...; | return | -| cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:47:18:47:18 | 3 | no-match | -| cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:49:17:49:22 | break; | normal [break] (0) | -| cflow.cs:39:17:39:17 | access to parameter a | cflow.cs:39:17:39:17 | access to parameter a | normal | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:18:41:18 | 1 | no-match | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:42:17:42:38 | call to method WriteLine | normal | -| cflow.cs:41:18:41:18 | 1 | cflow.cs:41:18:41:18 | 1 | match | -| cflow.cs:41:18:41:18 | 1 | cflow.cs:41:18:41:18 | 1 | no-match | -| cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:42:17:42:38 | call to method WriteLine | normal | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:17:42:38 | call to method WriteLine | normal | -| cflow.cs:42:35:42:37 | "1" | cflow.cs:42:35:42:37 | "1" | normal | -| cflow.cs:43:17:43:28 | goto case ...; | cflow.cs:43:17:43:28 | goto case ...; | goto(2) | -| cflow.cs:43:27:43:27 | 2 | cflow.cs:43:27:43:27 | 2 | normal | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:18:44:18 | 2 | no-match | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:45:17:45:38 | call to method WriteLine | normal | -| cflow.cs:44:18:44:18 | 2 | cflow.cs:44:18:44:18 | 2 | match | -| cflow.cs:44:18:44:18 | 2 | cflow.cs:44:18:44:18 | 2 | no-match | -| cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:45:17:45:38 | call to method WriteLine | normal | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:17:45:38 | call to method WriteLine | normal | -| cflow.cs:45:35:45:37 | "2" | cflow.cs:45:35:45:37 | "2" | normal | -| cflow.cs:46:17:46:28 | goto case ...; | cflow.cs:46:17:46:28 | goto case ...; | goto(1) | -| cflow.cs:46:27:46:27 | 1 | cflow.cs:46:27:46:27 | 1 | normal | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:18:47:18 | 3 | no-match | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:48:17:48:38 | call to method WriteLine | normal | -| cflow.cs:47:18:47:18 | 3 | cflow.cs:47:18:47:18 | 3 | match | -| cflow.cs:47:18:47:18 | 3 | cflow.cs:47:18:47:18 | 3 | no-match | -| cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:48:17:48:38 | call to method WriteLine | normal | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:17:48:38 | call to method WriteLine | normal | -| cflow.cs:48:35:48:37 | "3" | cflow.cs:48:35:48:37 | "3" | normal | -| cflow.cs:49:17:49:22 | break; | cflow.cs:49:17:49:22 | break; | break | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:55:17:55:22 | break; | normal [break] (0) | -| cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:58:17:58:22 | break; | normal [break] (0) | -| cflow.cs:51:17:51:17 | access to parameter a | cflow.cs:51:17:51:17 | access to parameter a | normal | -| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:18:53:19 | 42 | no-match | -| cflow.cs:53:13:53:20 | case ...: | cflow.cs:54:17:54:47 | call to method WriteLine | normal | -| cflow.cs:53:18:53:19 | 42 | cflow.cs:53:18:53:19 | 42 | match | -| cflow.cs:53:18:53:19 | 42 | cflow.cs:53:18:53:19 | 42 | no-match | -| cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:54:17:54:47 | call to method WriteLine | normal | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:17:54:47 | call to method WriteLine | normal | -| cflow.cs:54:35:54:46 | "The answer" | cflow.cs:54:35:54:46 | "The answer" | normal | -| cflow.cs:55:17:55:22 | break; | cflow.cs:55:17:55:22 | break; | break | -| cflow.cs:56:13:56:20 | default: | cflow.cs:57:17:57:51 | call to method WriteLine | normal | -| cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:57:17:57:51 | call to method WriteLine | normal | -| cflow.cs:57:17:57:52 | ...; | cflow.cs:57:17:57:51 | call to method WriteLine | normal | -| cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:57:35:57:50 | "Not the answer" | normal | -| cflow.cs:58:17:58:22 | break; | cflow.cs:58:17:58:22 | break; | break | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:62:18:62:18 | 0 | no-match | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:64:21:64:55 | throw ...; | throw(NullReferenceException) | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:65:17:65:22 | break; | normal [break] (0) | -| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:60:17:60:32 | call to method Parse | normal | -| cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:27:60:31 | access to field Field | normal | -| cflow.cs:60:27:60:31 | this access | cflow.cs:60:27:60:31 | this access | normal | -| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:18:62:18 | 0 | no-match | -| cflow.cs:62:13:62:19 | case ...: | cflow.cs:63:21:63:34 | !... | false | -| cflow.cs:62:13:62:19 | case ...: | cflow.cs:64:21:64:55 | throw ...; | throw(NullReferenceException) | -| cflow.cs:62:18:62:18 | 0 | cflow.cs:62:18:62:18 | 0 | match | -| cflow.cs:62:18:62:18 | 0 | cflow.cs:62:18:62:18 | 0 | no-match | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | !... | false | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:64:21:64:55 | throw ...; | throw(NullReferenceException) | -| cflow.cs:63:21:63:34 | !... | cflow.cs:63:21:63:34 | !... | false | -| cflow.cs:63:21:63:34 | !... | cflow.cs:63:21:63:34 | !... | true | -| cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:23:63:27 | access to field Field | normal | -| cflow.cs:63:23:63:27 | this access | cflow.cs:63:23:63:27 | this access | normal | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | ... == ... | false | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | ... == ... | true | -| cflow.cs:63:32:63:33 | "" | cflow.cs:63:32:63:33 | "" | normal | -| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:64:21:64:55 | throw ...; | throw(NullReferenceException) | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | normal | -| cflow.cs:65:17:65:22 | break; | cflow.cs:65:17:65:22 | break; | break | -| cflow.cs:67:9:67:17 | return ...; | cflow.cs:67:9:67:17 | return ...; | return | -| cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:16:67:16 | access to parameter a | normal | -| cflow.cs:71:5:82:5 | {...} | cflow.cs:73:13:73:19 | return ...; | return | -| cflow.cs:71:5:82:5 | {...} | cflow.cs:76:13:76:32 | call to method WriteLine | normal | -| cflow.cs:71:5:82:5 | {...} | cflow.cs:80:13:80:47 | call to method WriteLine | normal | -| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:72:13:72:21 | ... == ... | false | -| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:73:13:73:19 | return ...; | return | -| cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:72:13:72:13 | access to parameter s | normal | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | ... == ... | false | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | ... == ... | true | -| cflow.cs:72:18:72:21 | null | cflow.cs:72:18:72:21 | null | normal | -| cflow.cs:73:13:73:19 | return ...; | cflow.cs:73:13:73:19 | return ...; | return | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:76:13:76:32 | call to method WriteLine | normal | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:80:13:80:47 | call to method WriteLine | normal | -| cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:74:13:74:13 | access to parameter s | normal | -| cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:13:74:20 | access to property Length | normal | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | ... > ... | false | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | ... > ... | true | -| cflow.cs:74:24:74:24 | 0 | cflow.cs:74:24:74:24 | 0 | normal | -| cflow.cs:75:9:77:9 | {...} | cflow.cs:76:13:76:32 | call to method WriteLine | normal | -| cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:76:13:76:32 | call to method WriteLine | normal | -| cflow.cs:76:13:76:33 | ...; | cflow.cs:76:13:76:32 | call to method WriteLine | normal | -| cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:76:31:76:31 | access to parameter s | normal | -| cflow.cs:79:9:81:9 | {...} | cflow.cs:80:13:80:47 | call to method WriteLine | normal | -| cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:80:13:80:47 | call to method WriteLine | normal | -| cflow.cs:80:13:80:48 | ...; | cflow.cs:80:13:80:47 | call to method WriteLine | normal | -| cflow.cs:80:31:80:46 | "" | cflow.cs:80:31:80:46 | "" | normal | -| cflow.cs:85:5:88:5 | {...} | cflow.cs:86:13:86:37 | ... && ... | false | -| cflow.cs:85:5:88:5 | {...} | cflow.cs:87:13:87:32 | call to method WriteLine | normal | -| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:13:86:37 | ... && ... | false | -| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:87:13:87:32 | call to method WriteLine | normal | -| cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:13:86:13 | access to parameter s | normal | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | ... != ... | false | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | ... != ... | true | -| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:37 | ... && ... | false | -| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:37 | ... && ... | true | -| cflow.cs:86:18:86:21 | null | cflow.cs:86:18:86:21 | null | normal | -| cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:26 | access to parameter s | normal | -| cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:26:86:33 | access to property Length | normal | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | ... > ... | false | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | ... > ... | true | -| cflow.cs:86:37:86:37 | 0 | cflow.cs:86:37:86:37 | 0 | normal | -| cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:87:13:87:32 | call to method WriteLine | normal | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:13:87:32 | call to method WriteLine | normal | -| cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:87:31:87:31 | access to parameter s | normal | -| cflow.cs:91:5:104:5 | {...} | cflow.cs:93:13:93:49 | throw ...; | throw(ArgumentNullException) | -| cflow.cs:91:5:104:5 | {...} | cflow.cs:102:13:102:29 | ... != ... | false | -| cflow.cs:91:5:104:5 | {...} | cflow.cs:103:13:103:35 | call to method WriteLine | normal | -| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:92:13:92:27 | call to method Equals | false | -| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:93:13:93:49 | throw ...; | throw(ArgumentNullException) | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | call to method Equals | false | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | call to method Equals | true | -| cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:92:20:92:20 | access to parameter s | normal | -| cflow.cs:92:23:92:26 | null | cflow.cs:92:23:92:26 | null | normal | -| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:93:13:93:49 | throw ...; | throw(ArgumentNullException) | -| cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | normal | -| cflow.cs:93:45:93:47 | "s" | cflow.cs:93:45:93:47 | "s" | normal | -| cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:94:9:94:28 | call to method WriteLine | normal | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:9:94:28 | call to method WriteLine | normal | -| cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:94:27:94:27 | access to parameter s | normal | -| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:96:13:96:25 | ... != ... | false | -| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:97:13:97:54 | call to method WriteLine | normal | -| cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:13:96:17 | access to field Field | normal | -| cflow.cs:96:13:96:17 | this access | cflow.cs:96:13:96:17 | this access | normal | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | ... != ... | false | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | ... != ... | true | -| cflow.cs:96:22:96:25 | null | cflow.cs:96:22:96:25 | null | normal | -| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:97:13:97:54 | call to method WriteLine | normal | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:13:97:54 | call to method WriteLine | normal | -| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:47 | object creation of type ControlFlow | normal | -| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:31:97:53 | access to field Field | normal | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:25 | ... != ... | false | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:100:13:100:41 | call to method WriteLine | normal | -| cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:13:99:17 | access to field Field | normal | -| cflow.cs:99:13:99:17 | this access | cflow.cs:99:13:99:17 | this access | normal | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | ... != ... | false | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | ... != ... | true | -| cflow.cs:99:22:99:25 | null | cflow.cs:99:22:99:25 | null | normal | -| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:100:13:100:41 | call to method WriteLine | normal | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:13:100:41 | call to method WriteLine | normal | -| cflow.cs:100:31:100:34 | this access | cflow.cs:100:31:100:34 | this access | normal | -| cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:31:100:40 | access to field Field | normal | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:29 | ... != ... | false | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:103:13:103:35 | call to method WriteLine | normal | -| cflow.cs:102:13:102:16 | this access | cflow.cs:102:13:102:16 | this access | normal | -| cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:13:102:21 | access to property Prop | normal | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | ... != ... | false | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | ... != ... | true | -| cflow.cs:102:26:102:29 | null | cflow.cs:102:26:102:29 | null | normal | -| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:103:13:103:35 | call to method WriteLine | normal | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:13:103:35 | call to method WriteLine | normal | -| cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:31:103:34 | access to property Prop | normal | -| cflow.cs:103:31:103:34 | this access | cflow.cs:103:31:103:34 | this access | normal | -| cflow.cs:107:5:117:5 | {...} | cflow.cs:116:9:116:28 | call to method WriteLine | normal | -| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:108:13:108:21 | ... != ... | false | -| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:114:13:114:32 | call to method WriteLine | normal | -| cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:108:13:108:13 | access to parameter s | normal | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | ... != ... | false | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | ... != ... | true | -| cflow.cs:108:18:108:21 | null | cflow.cs:108:18:108:21 | null | normal | -| cflow.cs:109:9:115:9 | {...} | cflow.cs:114:13:114:32 | call to method WriteLine | normal | -| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | true | true | -| cflow.cs:111:13:113:13 | {...} | cflow.cs:112:17:112:36 | call to method WriteLine | normal | -| cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:112:17:112:36 | call to method WriteLine | normal | -| cflow.cs:112:17:112:37 | ...; | cflow.cs:112:17:112:36 | call to method WriteLine | normal | -| cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:35:112:35 | access to parameter s | normal | -| cflow.cs:114:13:114:32 | call to method WriteLine | cflow.cs:114:13:114:32 | call to method WriteLine | normal | -| cflow.cs:114:13:114:33 | ...; | cflow.cs:114:13:114:32 | call to method WriteLine | normal | -| cflow.cs:114:31:114:31 | access to parameter s | cflow.cs:114:31:114:31 | access to parameter s | normal | -| cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:116:9:116:28 | call to method WriteLine | normal | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:9:116:28 | call to method WriteLine | normal | -| cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:27:116:27 | access to parameter s | normal | -| cflow.cs:120:5:124:5 | {...} | cflow.cs:123:9:123:17 | return ...; | return | -| cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:13:121:17 | String x = ... | normal | -| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:121:13:121:17 | String x = ... | normal | -| cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:17:121:17 | access to parameter s | normal | -| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:9:122:19 | ... = ... | normal | -| cflow.cs:122:9:122:20 | ...; | cflow.cs:122:9:122:19 | ... = ... | normal | -| cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:13:122:13 | access to local variable x | normal | -| cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:13:122:19 | ... + ... | normal | -| cflow.cs:122:17:122:19 | " " | cflow.cs:122:17:122:19 | " " | normal | -| cflow.cs:123:9:123:17 | return ...; | cflow.cs:123:9:123:17 | return ...; | return | -| cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:123:16:123:16 | access to local variable x | normal | -| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:25:127:58 | return ...; | return | -| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:25:127:58 | return ...; | return | -| cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:32:127:36 | access to field Field | normal | -| cflow.cs:127:32:127:36 | this access | cflow.cs:127:32:127:36 | this access | normal | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | ... == ... | false | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | ... == ... | true | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:57 | ... ? ... : ... | normal | -| cflow.cs:127:41:127:44 | null | cflow.cs:127:41:127:44 | null | normal | -| cflow.cs:127:48:127:49 | "" | cflow.cs:127:48:127:49 | "" | normal | -| cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:53:127:57 | access to field Field | normal | -| cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | this access | normal | -| cflow.cs:127:66:127:83 | {...} | cflow.cs:127:68:127:80 | ... = ... | normal | -| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:72 | this access | normal | -| cflow.cs:127:68:127:72 | this access | cflow.cs:127:68:127:72 | this access | normal | -| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:68:127:80 | ... = ... | normal | -| cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:80 | ... = ... | normal | -| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:76:127:80 | access to parameter value | normal | -| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | call to constructor Object | normal | -| cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | call to method | normal | -| cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | this access | normal | -| cflow.cs:130:5:132:5 | {...} | cflow.cs:131:9:131:17 | ... = ... | normal | -| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:13 | this access | normal | -| cflow.cs:131:9:131:13 | this access | cflow.cs:131:9:131:13 | this access | normal | -| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:9:131:17 | ... = ... | normal | -| cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:17 | ... = ... | normal | -| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:17:131:17 | access to parameter s | normal | -| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:26:134:29 | call to constructor ControlFlow | normal | -| cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:31:134:31 | (...) ... | normal | -| cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:31:134:31 | access to parameter i | normal | -| cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:31:134:36 | ... + ... | normal | -| cflow.cs:134:35:134:36 | "" | cflow.cs:134:35:134:36 | "" | normal | -| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:39:134:41 | {...} | normal | -| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:28:136:31 | call to constructor ControlFlow | normal | -| cflow.cs:136:33:136:33 | 0 | cflow.cs:136:33:136:33 | 0 | normal | -| cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:33:136:37 | ... + ... | normal | -| cflow.cs:136:37:136:37 | 1 | cflow.cs:136:37:136:37 | 1 | normal | -| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:40:136:42 | {...} | normal | -| cflow.cs:139:5:142:5 | {...} | cflow.cs:141:9:141:17 | return ...; | return | -| cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:140:9:140:28 | call to method WriteLine | normal | -| cflow.cs:140:9:140:29 | ...; | cflow.cs:140:9:140:28 | call to method WriteLine | normal | -| cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:140:27:140:27 | access to parameter x | normal | -| cflow.cs:141:9:141:17 | return ...; | cflow.cs:141:9:141:17 | return ...; | return | -| cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:141:16:141:16 | access to parameter y | normal | -| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:39:144:52 | return ...; | return | -| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:39:144:52 | return ...; | return | -| cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:46:144:46 | (...) ... | normal | -| cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:46:144:46 | access to parameter i | normal | -| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:46:144:51 | ... + ... | normal | -| cflow.cs:144:50:144:51 | "" | cflow.cs:144:50:144:51 | "" | normal | -| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:60:144:62 | {...} | normal | -| cflow.cs:147:5:177:5 | {...} | cflow.cs:173:32:173:41 | ... < ... | false | -| cflow.cs:148:9:148:18 | ... ...; | cflow.cs:148:13:148:17 | Int32 x = ... | normal | -| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:148:13:148:17 | Int32 x = ... | normal | -| cflow.cs:148:17:148:17 | 0 | cflow.cs:148:17:148:17 | 0 | normal | -| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:149:16:149:21 | ... < ... | false | -| cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:16:149:16 | access to local variable x | normal | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | ... < ... | false | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | ... < ... | true | -| cflow.cs:149:20:149:21 | 10 | cflow.cs:149:20:149:21 | 10 | normal | -| cflow.cs:149:24:149:26 | ++... | cflow.cs:149:24:149:26 | ++... | normal | -| cflow.cs:149:26:149:26 | access to local variable x | cflow.cs:149:26:149:26 | access to local variable x | normal | -| cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:150:13:150:32 | call to method WriteLine | normal | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:13:150:32 | call to method WriteLine | normal | -| cflow.cs:150:31:150:31 | access to local variable x | cflow.cs:150:31:150:31 | access to local variable x | normal | -| cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:156:17:156:22 | break; | normal [break] (0) | -| cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:18 | access to local variable x | normal | -| cflow.cs:152:18:152:20 | ...++ | cflow.cs:152:18:152:20 | ...++ | normal | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:155:17:155:22 | ... > ... | false | -| cflow.cs:153:9:157:9 | {...} | cflow.cs:156:17:156:22 | break; | break | -| cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:154:13:154:32 | call to method WriteLine | normal | -| cflow.cs:154:13:154:33 | ...; | cflow.cs:154:13:154:32 | call to method WriteLine | normal | -| cflow.cs:154:31:154:31 | access to local variable x | cflow.cs:154:31:154:31 | access to local variable x | normal | -| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:155:17:155:22 | ... > ... | false | -| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:156:17:156:22 | break; | break | -| cflow.cs:155:17:155:17 | access to local variable x | cflow.cs:155:17:155:17 | access to local variable x | normal | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | ... > ... | false | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | ... > ... | true | -| cflow.cs:155:21:155:22 | 20 | cflow.cs:155:21:155:22 | 20 | normal | -| cflow.cs:156:17:156:22 | break; | cflow.cs:156:17:156:22 | break; | break | -| cflow.cs:159:9:165:9 | for (...;...;...) ... | cflow.cs:164:17:164:22 | break; | normal [break] (0) | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:163:17:163:22 | ... > ... | false | -| cflow.cs:160:9:165:9 | {...} | cflow.cs:164:17:164:22 | break; | break | -| cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:161:13:161:32 | call to method WriteLine | normal | -| cflow.cs:161:13:161:33 | ...; | cflow.cs:161:13:161:32 | call to method WriteLine | normal | -| cflow.cs:161:31:161:31 | access to local variable x | cflow.cs:161:31:161:31 | access to local variable x | normal | -| cflow.cs:162:13:162:13 | access to local variable x | cflow.cs:162:13:162:13 | access to local variable x | normal | -| cflow.cs:162:13:162:15 | ...++ | cflow.cs:162:13:162:15 | ...++ | normal | -| cflow.cs:162:13:162:16 | ...; | cflow.cs:162:13:162:15 | ...++ | normal | -| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:163:17:163:22 | ... > ... | false | -| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:164:17:164:22 | break; | break | -| cflow.cs:163:17:163:17 | access to local variable x | cflow.cs:163:17:163:17 | access to local variable x | normal | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | ... > ... | false | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | ... > ... | true | -| cflow.cs:163:21:163:22 | 30 | cflow.cs:163:21:163:22 | 30 | normal | -| cflow.cs:164:17:164:22 | break; | cflow.cs:164:17:164:22 | break; | break | -| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:167:16:167:21 | ... < ... | false | -| cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:16:167:16 | access to local variable x | normal | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | ... < ... | false | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | ... < ... | true | -| cflow.cs:167:20:167:21 | 40 | cflow.cs:167:20:167:21 | 40 | normal | -| cflow.cs:168:9:171:9 | {...} | cflow.cs:170:13:170:15 | ...++ | normal | -| cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:169:13:169:32 | call to method WriteLine | normal | -| cflow.cs:169:13:169:33 | ...; | cflow.cs:169:13:169:32 | call to method WriteLine | normal | -| cflow.cs:169:31:169:31 | access to local variable x | cflow.cs:169:31:169:31 | access to local variable x | normal | -| cflow.cs:170:13:170:13 | access to local variable x | cflow.cs:170:13:170:13 | access to local variable x | normal | -| cflow.cs:170:13:170:15 | ...++ | cflow.cs:170:13:170:15 | ...++ | normal | -| cflow.cs:170:13:170:16 | ...; | cflow.cs:170:13:170:15 | ...++ | normal | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:32:173:41 | ... < ... | false | -| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:18:173:22 | Int32 i = ... | normal | -| cflow.cs:173:22:173:22 | 0 | cflow.cs:173:22:173:22 | 0 | normal | -| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:25:173:29 | Int32 j = ... | normal | -| cflow.cs:173:29:173:29 | 0 | cflow.cs:173:29:173:29 | 0 | normal | -| cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:32:173:32 | access to local variable i | normal | -| cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:32:173:36 | ... + ... | normal | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | ... < ... | false | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | ... < ... | true | -| cflow.cs:173:36:173:36 | access to local variable j | cflow.cs:173:36:173:36 | access to local variable j | normal | -| cflow.cs:173:40:173:41 | 10 | cflow.cs:173:40:173:41 | 10 | normal | -| cflow.cs:173:44:173:44 | access to local variable i | cflow.cs:173:44:173:44 | access to local variable i | normal | -| cflow.cs:173:44:173:46 | ...++ | cflow.cs:173:44:173:46 | ...++ | normal | -| cflow.cs:173:49:173:49 | access to local variable j | cflow.cs:173:49:173:49 | access to local variable j | normal | -| cflow.cs:173:49:173:51 | ...++ | cflow.cs:173:49:173:51 | ...++ | normal | -| cflow.cs:174:9:176:9 | {...} | cflow.cs:175:13:175:36 | call to method WriteLine | normal | -| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:175:13:175:36 | call to method WriteLine | normal | -| cflow.cs:175:13:175:37 | ...; | cflow.cs:175:13:175:36 | call to method WriteLine | normal | -| cflow.cs:175:31:175:31 | access to local variable i | cflow.cs:175:31:175:31 | access to local variable i | normal | -| cflow.cs:175:31:175:35 | ... + ... | cflow.cs:175:31:175:35 | ... + ... | normal | -| cflow.cs:175:35:175:35 | access to local variable j | cflow.cs:175:35:175:35 | access to local variable j | normal | -| cflow.cs:180:5:183:5 | {...} | cflow.cs:182:24:182:61 | Func z = ... | normal | -| cflow.cs:181:9:181:38 | ... ...; | cflow.cs:181:24:181:37 | Func y = ... | normal | -| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:181:24:181:37 | Func y = ... | normal | -| cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:28:181:37 | (...) => ... | normal | -| cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:33:181:33 | access to parameter x | normal | -| cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:33:181:37 | ... + ... | normal | -| cflow.cs:181:37:181:37 | 1 | cflow.cs:181:37:181:37 | 1 | normal | -| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:182:24:182:61 | Func z = ... | normal | -| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:182:24:182:61 | Func z = ... | normal | -| cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:28:182:61 | delegate(...) { ... } | normal | -| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:47:182:59 | return ...; | return | -| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:47:182:59 | return ...; | return | -| cflow.cs:182:54:182:54 | access to parameter x | cflow.cs:182:54:182:54 | access to parameter x | normal | -| cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:54:182:58 | ... + ... | normal | -| cflow.cs:182:58:182:58 | 1 | cflow.cs:182:58:182:58 | 1 | normal | -| cflow.cs:186:5:191:5 | {...} | cflow.cs:188:13:188:54 | call to method WriteLine | normal | -| cflow.cs:186:5:191:5 | {...} | cflow.cs:190:13:190:51 | call to method WriteLine | normal | -| cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:188:13:188:54 | call to method WriteLine | normal | -| cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:190:13:190:51 | call to method WriteLine | normal | -| cflow.cs:187:13:187:13 | 1 | cflow.cs:187:13:187:13 | 1 | normal | -| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | ... == ... | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | false | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:50 | ... \|\| ... | false | -| cflow.cs:187:18:187:18 | 2 | cflow.cs:187:18:187:18 | 2 | normal | -| cflow.cs:187:23:187:23 | 2 | cflow.cs:187:23:187:23 | 2 | normal | -| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | ... == ... | false | -| cflow.cs:187:28:187:28 | 3 | cflow.cs:187:28:187:28 | 3 | normal | -| cflow.cs:187:34:187:34 | 1 | cflow.cs:187:34:187:34 | 1 | normal | -| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | ... == ... | false | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:187:39:187:39 | 3 | cflow.cs:187:39:187:39 | 3 | normal | -| cflow.cs:187:44:187:44 | 3 | cflow.cs:187:44:187:44 | 3 | normal | -| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | ... == ... | false | -| cflow.cs:187:49:187:49 | 1 | cflow.cs:187:49:187:49 | 1 | normal | -| cflow.cs:188:13:188:54 | call to method WriteLine | cflow.cs:188:13:188:54 | call to method WriteLine | normal | -| cflow.cs:188:13:188:55 | ...; | cflow.cs:188:13:188:54 | call to method WriteLine | normal | -| cflow.cs:188:31:188:53 | "This shouldn't happen" | cflow.cs:188:31:188:53 | "This shouldn't happen" | normal | -| cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:190:13:190:51 | call to method WriteLine | normal | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:13:190:51 | call to method WriteLine | normal | -| cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:190:31:190:50 | "This should happen" | normal | -| cflow.cs:194:5:206:5 | {...} | cflow.cs:200:13:200:62 | ... \|\| ... | false | -| cflow.cs:194:5:206:5 | {...} | cflow.cs:203:17:203:38 | throw ...; | throw(Exception) | -| cflow.cs:195:9:195:57 | ... ...; | cflow.cs:195:13:195:56 | Boolean b = ... | normal | -| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:13:195:56 | Boolean b = ... | normal | -| cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:21 | access to field Field | normal | -| cflow.cs:195:17:195:21 | this access | cflow.cs:195:17:195:21 | this access | normal | -| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:17:195:28 | access to property Length | normal | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | ... > ... | false | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | ... > ... | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:56 | ... && ... | normal | -| cflow.cs:195:32:195:32 | 0 | cflow.cs:195:32:195:32 | 0 | normal | -| cflow.cs:195:37:195:56 | !... | cflow.cs:195:37:195:56 | !... | normal | -| cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:43 | access to field Field | normal | -| cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | this access | normal | -| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:39:195:50 | access to property Length | normal | -| cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:39:195:55 | ... == ... | normal | -| cflow.cs:195:55:195:55 | 1 | cflow.cs:195:55:195:55 | 1 | normal | -| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:197:13:197:47 | !... | false | -| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:198:13:198:48 | ... = ... | normal | -| cflow.cs:197:13:197:47 | !... | cflow.cs:197:13:197:47 | !... | false | -| cflow.cs:197:13:197:47 | !... | cflow.cs:197:13:197:47 | !... | true | -| cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:19 | access to field Field | normal | -| cflow.cs:197:15:197:19 | this access | cflow.cs:197:15:197:19 | this access | normal | -| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:15:197:26 | access to property Length | normal | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | ... == ... | false | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | ... == ... | true | -| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:15:197:46 | ... ? ... : ... | false | -| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:15:197:46 | ... ? ... : ... | true | -| cflow.cs:197:31:197:31 | 0 | cflow.cs:197:31:197:31 | 0 | normal | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | false | false | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | true | true | -| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:13:198:48 | ... = ... | normal | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:13:198:48 | ... = ... | normal | -| cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:21 | access to field Field | normal | -| cflow.cs:198:17:198:21 | this access | cflow.cs:198:17:198:21 | this access | normal | -| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:17:198:28 | access to property Length | normal | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | ... == ... | false | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | ... == ... | true | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:48 | ... ? ... : ... | normal | -| cflow.cs:198:33:198:33 | 0 | cflow.cs:198:33:198:33 | 0 | normal | -| cflow.cs:198:37:198:41 | false | cflow.cs:198:37:198:41 | false | normal | -| cflow.cs:198:45:198:48 | true | cflow.cs:198:45:198:48 | true | normal | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:62 | ... \|\| ... | false | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:203:17:203:38 | throw ...; | throw(Exception) | -| cflow.cs:200:13:200:32 | !... | cflow.cs:200:13:200:32 | !... | false | -| cflow.cs:200:13:200:32 | !... | cflow.cs:200:13:200:32 | !... | true | -| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:13:200:62 | ... \|\| ... | false | -| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:13:200:62 | ... \|\| ... | true | -| cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:19 | access to field Field | normal | -| cflow.cs:200:15:200:19 | this access | cflow.cs:200:15:200:19 | this access | normal | -| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:15:200:26 | access to property Length | normal | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | ... == ... | false | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | ... == ... | true | -| cflow.cs:200:31:200:31 | 0 | cflow.cs:200:31:200:31 | 0 | normal | -| cflow.cs:200:37:200:62 | !... | cflow.cs:200:37:200:62 | !... | false | -| cflow.cs:200:37:200:62 | !... | cflow.cs:200:37:200:62 | !... | true | -| cflow.cs:200:38:200:62 | !... | cflow.cs:200:38:200:62 | !... | false | -| cflow.cs:200:38:200:62 | !... | cflow.cs:200:38:200:62 | !... | true | -| cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:44 | access to field Field | normal | -| cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | this access | normal | -| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:40:200:51 | access to property Length | normal | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | ... == ... | false | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | ... == ... | true | -| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:40:200:61 | ... && ... | false | -| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:40:200:61 | ... && ... | true | -| cflow.cs:200:56:200:56 | 1 | cflow.cs:200:56:200:56 | 1 | normal | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | access to local variable b | false | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | access to local variable b | true | -| cflow.cs:201:9:205:9 | {...} | cflow.cs:203:17:203:38 | throw ...; | throw(Exception) | -| cflow.cs:202:13:204:13 | {...} | cflow.cs:203:17:203:38 | throw ...; | throw(Exception) | -| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:203:17:203:38 | throw ...; | throw(Exception) | -| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:203:23:203:37 | object creation of type Exception | normal | -| cflow.cs:209:5:222:5 | {...} | cflow.cs:219:17:219:22 | break; | normal [break] (0) | -| cflow.cs:209:5:222:5 | {...} | cflow.cs:221:18:221:34 | ... < ... | false | -| cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:219:17:219:22 | break; | normal [break] (0) | -| cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:221:18:221:34 | ... < ... | false | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:215:17:215:25 | continue; | continue | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:217:17:217:32 | ... < ... | false | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:219:17:219:22 | break; | break | -| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:17 | access to field Field | normal | -| cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | this access | normal | -| cflow.cs:212:13:212:24 | ... += ... | cflow.cs:212:13:212:24 | ... += ... | normal | -| cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:24 | ... += ... | normal | -| cflow.cs:212:22:212:24 | "a" | cflow.cs:212:22:212:24 | "a" | normal | -| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:213:17:213:32 | ... > ... | false | -| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:215:17:215:25 | continue; | continue | -| cflow.cs:213:17:213:21 | access to field Field | cflow.cs:213:17:213:21 | access to field Field | normal | -| cflow.cs:213:17:213:21 | this access | cflow.cs:213:17:213:21 | this access | normal | -| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:17:213:28 | access to property Length | normal | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | ... > ... | false | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | ... > ... | true | -| cflow.cs:213:32:213:32 | 0 | cflow.cs:213:32:213:32 | 0 | normal | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | continue; | continue | -| cflow.cs:215:17:215:25 | continue; | cflow.cs:215:17:215:25 | continue; | continue | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:32 | ... < ... | false | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:219:17:219:22 | break; | break | -| cflow.cs:217:17:217:21 | access to field Field | cflow.cs:217:17:217:21 | access to field Field | normal | -| cflow.cs:217:17:217:21 | this access | cflow.cs:217:17:217:21 | this access | normal | -| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:17:217:28 | access to property Length | normal | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | ... < ... | false | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | ... < ... | true | -| cflow.cs:217:32:217:32 | 0 | cflow.cs:217:32:217:32 | 0 | normal | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | break; | break | -| cflow.cs:219:17:219:22 | break; | cflow.cs:219:17:219:22 | break; | break | -| cflow.cs:221:18:221:22 | access to field Field | cflow.cs:221:18:221:22 | access to field Field | normal | -| cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:22 | this access | normal | -| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:18:221:29 | access to property Length | normal | -| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | ... < ... | false | -| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | ... < ... | true | -| cflow.cs:221:33:221:34 | 10 | cflow.cs:221:33:221:34 | 10 | normal | -| cflow.cs:225:5:238:5 | {...} | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | empty | -| cflow.cs:225:5:238:5 | {...} | cflow.cs:235:17:235:22 | break; | normal [break] (0) | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | empty | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:235:17:235:22 | break; | normal [break] (0) | -| cflow.cs:226:22:226:22 | String x | cflow.cs:226:22:226:22 | String x | normal | -| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:27:226:64 | call to method Repeat | normal | -| cflow.cs:226:57:226:59 | "a" | cflow.cs:226:57:226:59 | "a" | normal | -| cflow.cs:226:62:226:63 | 10 | cflow.cs:226:62:226:63 | 10 | normal | -| cflow.cs:227:9:237:9 | {...} | cflow.cs:231:17:231:25 | continue; | continue | -| cflow.cs:227:9:237:9 | {...} | cflow.cs:233:17:233:32 | ... < ... | false | -| cflow.cs:227:9:237:9 | {...} | cflow.cs:235:17:235:22 | break; | break | -| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:17 | access to field Field | normal | -| cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | this access | normal | -| cflow.cs:228:13:228:22 | ... += ... | cflow.cs:228:13:228:22 | ... += ... | normal | -| cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:22 | ... += ... | normal | -| cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:22:228:22 | access to local variable x | normal | -| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:229:17:229:32 | ... > ... | false | -| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:231:17:231:25 | continue; | continue | -| cflow.cs:229:17:229:21 | access to field Field | cflow.cs:229:17:229:21 | access to field Field | normal | -| cflow.cs:229:17:229:21 | this access | cflow.cs:229:17:229:21 | this access | normal | -| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:17:229:28 | access to property Length | normal | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | ... > ... | false | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | ... > ... | true | -| cflow.cs:229:32:229:32 | 0 | cflow.cs:229:32:229:32 | 0 | normal | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | continue; | continue | -| cflow.cs:231:17:231:25 | continue; | cflow.cs:231:17:231:25 | continue; | continue | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:32 | ... < ... | false | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:235:17:235:22 | break; | break | -| cflow.cs:233:17:233:21 | access to field Field | cflow.cs:233:17:233:21 | access to field Field | normal | -| cflow.cs:233:17:233:21 | this access | cflow.cs:233:17:233:21 | this access | normal | -| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:17:233:28 | access to property Length | normal | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | ... < ... | false | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | ... < ... | true | -| cflow.cs:233:32:233:32 | 0 | cflow.cs:233:32:233:32 | 0 | normal | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | break; | break | -| cflow.cs:235:17:235:22 | break; | cflow.cs:235:17:235:22 | break; | break | -| cflow.cs:241:5:259:5 | {...} | cflow.cs:244:31:244:41 | goto ...; | goto(Label) | -| cflow.cs:241:5:259:5 | {...} | cflow.cs:252:17:252:22 | break; | normal [break] (0) | -| cflow.cs:241:5:259:5 | {...} | cflow.cs:254:17:254:27 | goto ...; | goto(Label) | -| cflow.cs:241:5:259:5 | {...} | cflow.cs:257:17:257:22 | break; | normal [break] (0) | -| cflow.cs:242:5:242:9 | Label: | cflow.cs:242:5:242:9 | Label: | normal | -| cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:16:242:36 | !... | false | -| cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:39:242:41 | {...} | normal | -| cflow.cs:242:16:242:36 | !... | cflow.cs:242:16:242:36 | !... | false | -| cflow.cs:242:16:242:36 | !... | cflow.cs:242:16:242:36 | !... | true | -| cflow.cs:242:17:242:36 | !... | cflow.cs:242:17:242:36 | !... | false | -| cflow.cs:242:17:242:36 | !... | cflow.cs:242:17:242:36 | !... | true | -| cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:23 | access to field Field | normal | -| cflow.cs:242:19:242:23 | this access | cflow.cs:242:19:242:23 | this access | normal | -| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:19:242:30 | access to property Length | normal | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | ... == ... | false | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | ... == ... | true | -| cflow.cs:242:35:242:35 | 0 | cflow.cs:242:35:242:35 | 0 | normal | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:39:242:41 | {...} | normal | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:13:244:28 | ... > ... | false | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:31:244:41 | goto ...; | goto(Label) | -| cflow.cs:244:13:244:17 | access to field Field | cflow.cs:244:13:244:17 | access to field Field | normal | -| cflow.cs:244:13:244:17 | this access | cflow.cs:244:13:244:17 | this access | normal | -| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:13:244:24 | access to property Length | normal | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | ... > ... | false | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | ... > ... | true | -| cflow.cs:244:28:244:28 | 0 | cflow.cs:244:28:244:28 | 0 | normal | -| cflow.cs:244:31:244:41 | goto ...; | cflow.cs:244:31:244:41 | goto ...; | goto(Label) | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:252:17:252:22 | break; | normal [break] (0) | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:254:17:254:27 | goto ...; | goto(Label) | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:257:17:257:22 | break; | normal [break] (0) | -| cflow.cs:246:17:246:21 | access to field Field | cflow.cs:246:17:246:21 | access to field Field | normal | -| cflow.cs:246:17:246:21 | this access | cflow.cs:246:17:246:21 | this access | normal | -| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:17:246:28 | access to property Length | normal | -| cflow.cs:246:17:246:32 | ... + ... | cflow.cs:246:17:246:32 | ... + ... | normal | -| cflow.cs:246:32:246:32 | 3 | cflow.cs:246:32:246:32 | 3 | normal | -| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:18:248:18 | 0 | no-match | -| cflow.cs:248:13:248:19 | case ...: | cflow.cs:249:17:249:29 | goto default; | goto(default) | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:248:18:248:18 | 0 | match | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:248:18:248:18 | 0 | no-match | -| cflow.cs:249:17:249:29 | goto default; | cflow.cs:249:17:249:29 | goto default; | goto(default) | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:18:250:18 | 1 | no-match | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:251:17:251:36 | call to method WriteLine | normal | -| cflow.cs:250:18:250:18 | 1 | cflow.cs:250:18:250:18 | 1 | match | -| cflow.cs:250:18:250:18 | 1 | cflow.cs:250:18:250:18 | 1 | no-match | -| cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:251:17:251:36 | call to method WriteLine | normal | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:17:251:36 | call to method WriteLine | normal | -| cflow.cs:251:35:251:35 | 1 | cflow.cs:251:35:251:35 | 1 | normal | -| cflow.cs:252:17:252:22 | break; | cflow.cs:252:17:252:22 | break; | break | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:18:253:18 | 2 | no-match | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:254:17:254:27 | goto ...; | goto(Label) | -| cflow.cs:253:18:253:18 | 2 | cflow.cs:253:18:253:18 | 2 | match | -| cflow.cs:253:18:253:18 | 2 | cflow.cs:253:18:253:18 | 2 | no-match | -| cflow.cs:254:17:254:27 | goto ...; | cflow.cs:254:17:254:27 | goto ...; | goto(Label) | -| cflow.cs:255:13:255:20 | default: | cflow.cs:256:17:256:36 | call to method WriteLine | normal | -| cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:256:17:256:36 | call to method WriteLine | normal | -| cflow.cs:256:17:256:37 | ...; | cflow.cs:256:17:256:36 | call to method WriteLine | normal | -| cflow.cs:256:35:256:35 | 0 | cflow.cs:256:35:256:35 | 0 | normal | -| cflow.cs:257:17:257:22 | break; | cflow.cs:257:17:257:22 | break; | break | -| cflow.cs:262:5:277:5 | {...} | cflow.cs:275:13:275:41 | call to method WriteLine | normal | -| cflow.cs:262:5:277:5 | {...} | cflow.cs:275:13:275:41 | call to method WriteLine | return [normal] (0) | -| cflow.cs:262:5:277:5 | {...} | cflow.cs:275:13:275:41 | call to method WriteLine | throw(Exception) [normal] (0) | -| cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:263:9:263:23 | yield return ...; | normal | -| cflow.cs:263:22:263:22 | 0 | cflow.cs:263:22:263:22 | 0 | normal | -| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:264:25:264:30 | ... < ... | false | -| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:18:264:22 | Int32 i = ... | normal | -| cflow.cs:264:22:264:22 | 1 | cflow.cs:264:22:264:22 | 1 | normal | -| cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:25:264:25 | access to local variable i | normal | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | ... < ... | false | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | ... < ... | true | -| cflow.cs:264:29:264:30 | 10 | cflow.cs:264:29:264:30 | 10 | normal | -| cflow.cs:264:33:264:33 | access to local variable i | cflow.cs:264:33:264:33 | access to local variable i | normal | -| cflow.cs:264:33:264:35 | ...++ | cflow.cs:264:33:264:35 | ...++ | normal | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:266:13:266:27 | yield return ...; | normal | -| cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:266:13:266:27 | yield return ...; | normal | -| cflow.cs:266:26:266:26 | access to local variable i | cflow.cs:266:26:266:26 | access to local variable i | normal | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:275:13:275:41 | call to method WriteLine | normal | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:275:13:275:41 | call to method WriteLine | return [normal] (0) | -| cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:275:13:275:41 | call to method WriteLine | throw(Exception) [normal] (0) | -| cflow.cs:269:9:272:9 | {...} | cflow.cs:270:13:270:24 | yield break; | return | -| cflow.cs:269:9:272:9 | {...} | cflow.cs:271:13:271:42 | call to method WriteLine | normal | -| cflow.cs:269:9:272:9 | {...} | cflow.cs:271:13:271:42 | call to method WriteLine | throw(Exception) | -| cflow.cs:270:13:270:24 | yield break; | cflow.cs:270:13:270:24 | yield break; | return | -| cflow.cs:271:13:271:42 | call to method WriteLine | cflow.cs:271:13:271:42 | call to method WriteLine | normal | -| cflow.cs:271:13:271:42 | call to method WriteLine | cflow.cs:271:13:271:42 | call to method WriteLine | throw(Exception) | -| cflow.cs:271:13:271:43 | ...; | cflow.cs:271:13:271:42 | call to method WriteLine | normal | -| cflow.cs:271:13:271:43 | ...; | cflow.cs:271:13:271:42 | call to method WriteLine | throw(Exception) | -| cflow.cs:271:31:271:41 | "dead code" | cflow.cs:271:31:271:41 | "dead code" | normal | -| cflow.cs:274:9:276:9 | {...} | cflow.cs:275:13:275:41 | call to method WriteLine | normal | -| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:275:13:275:41 | call to method WriteLine | normal | -| cflow.cs:275:13:275:42 | ...; | cflow.cs:275:13:275:41 | call to method WriteLine | normal | -| cflow.cs:275:31:275:40 | "not dead" | cflow.cs:275:31:275:40 | "not dead" | normal | -| cflow.cs:282:5:282:18 | call to method | cflow.cs:282:5:282:18 | call to method | normal | -| cflow.cs:282:5:282:18 | this access | cflow.cs:282:5:282:18 | this access | normal | -| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:24:282:27 | call to constructor ControlFlow | normal | -| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:31:282:33 | {...} | normal | -| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | normal | -| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:39:284:41 | {...} | normal | -| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | normal | -| cflow.cs:286:34:286:34 | access to parameter i | cflow.cs:286:34:286:34 | access to parameter i | normal | -| cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:34:286:45 | call to method ToString | normal | -| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:48:286:50 | {...} | normal | -| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | call to constructor Object | normal | -| cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | call to method | normal | -| cflow.cs:289:7:289:18 | this access | cflow.cs:289:7:289:18 | this access | normal | -| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | {...} | normal | -| cflow.cs:291:38:291:38 | access to parameter f | cflow.cs:291:38:291:38 | access to parameter f | normal | -| cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:38:291:41 | delegate call | normal | -| cflow.cs:291:40:291:40 | 0 | cflow.cs:291:40:291:40 | 0 | normal | -| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:5:296:25 | call to constructor Object | normal | -| cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | call to method | normal | -| cflow.cs:296:5:296:25 | this access | cflow.cs:296:5:296:25 | this access | normal | -| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:52:296:54 | {...} | normal | -| cflow.cs:299:5:301:5 | {...} | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | normal | -| cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | normal | -| cflow.cs:300:9:300:73 | ...; | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | normal | -| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:38:300:38 | 0 | normal | -| cflow.cs:300:44:300:51 | !... | cflow.cs:300:44:300:51 | !... | false | -| cflow.cs:300:44:300:51 | !... | cflow.cs:300:44:300:51 | !... | true | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:64 | ... && ... | normal | -| cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:300:46:300:46 | access to parameter i | normal | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | ... > ... | false | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | ... > ... | true | -| cflow.cs:300:50:300:50 | 0 | cflow.cs:300:50:300:50 | 0 | normal | -| cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:56:300:56 | access to parameter s | normal | -| cflow.cs:300:56:300:64 | ... != ... | cflow.cs:300:56:300:64 | ... != ... | normal | -| cflow.cs:300:61:300:64 | null | cflow.cs:300:61:300:64 | null | normal | -| cflow.cs:300:70:300:71 | "" | cflow.cs:300:70:300:71 | "" | normal | -| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | call to constructor Object | normal | -| cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | call to method | normal | -| cflow.cs:304:7:304:18 | this access | cflow.cs:304:7:304:18 | this access | normal | -| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | {...} | normal | -| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | (...) => ... | normal | -| cflow.cs:307:5:310:5 | {...} | cflow.cs:309:9:309:17 | return ...; | return | -| cflow.cs:308:9:308:21 | ... ...; | cflow.cs:308:16:308:20 | Object x = ... | normal | -| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:308:16:308:20 | Object x = ... | normal | -| cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:308:20:308:20 | access to parameter o | normal | -| cflow.cs:309:9:309:17 | return ...; | cflow.cs:309:9:309:17 | return ...; | return | -| cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:309:16:309:16 | access to local variable x | normal | diff --git a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.ql b/csharp/ql/test/library-tests/controlflow/graph/ExitElement.ql deleted file mode 100644 index d51cbcb82c4..00000000000 --- a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.ql +++ /dev/null @@ -1,8 +0,0 @@ -import csharp -import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl -private import semmle.code.csharp.controlflow.internal.Completion -import Common - -from SourceControlFlowElement cfe, ControlFlowElement last, Completion c -where last(cfe, last, c) -select cfe, last, c diff --git a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected index 544bc1bd776..f555d3a24e2 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected @@ -1,4468 +1,8199 @@ -| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | {...} | | -| AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | call to constructor Object | | -| AccessorCalls.cs:1:7:1:19 | enter AccessorCalls | AccessorCalls.cs:1:7:1:19 | this access | | -| AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | AccessorCalls.cs:1:7:1:19 | exit AccessorCalls | | +| AccessorCalls.cs:1:7:1:19 | After call to constructor Object | AccessorCalls.cs:1:7:1:19 | {...} | | +| AccessorCalls.cs:1:7:1:19 | After call to method | AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | | +| AccessorCalls.cs:1:7:1:19 | Before call to constructor Object | AccessorCalls.cs:1:7:1:19 | call to constructor Object | | +| AccessorCalls.cs:1:7:1:19 | Before call to method | AccessorCalls.cs:1:7:1:19 | this access | | +| AccessorCalls.cs:1:7:1:19 | Entry | AccessorCalls.cs:1:7:1:19 | Before call to method | | +| AccessorCalls.cs:1:7:1:19 | Normal Exit | AccessorCalls.cs:1:7:1:19 | Exit | | +| AccessorCalls.cs:1:7:1:19 | call to constructor Object | AccessorCalls.cs:1:7:1:19 | After call to constructor Object | | +| AccessorCalls.cs:1:7:1:19 | call to method | AccessorCalls.cs:1:7:1:19 | After call to method | | | AccessorCalls.cs:1:7:1:19 | this access | AccessorCalls.cs:1:7:1:19 | call to method | | -| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | exit AccessorCalls (normal) | | -| AccessorCalls.cs:5:23:5:25 | enter get_Item | AccessorCalls.cs:5:30:5:30 | access to parameter i | | -| AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | AccessorCalls.cs:5:23:5:25 | exit get_Item | | -| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | exit get_Item (normal) | | -| AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:37:5:39 | {...} | | -| AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | AccessorCalls.cs:5:33:5:35 | exit set_Item | | -| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | exit set_Item (normal) | | -| AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:36:7:38 | {...} | | -| AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | AccessorCalls.cs:7:32:7:34 | exit add_Event | | -| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | exit add_Event (normal) | | -| AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:47:7:49 | {...} | | -| AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | AccessorCalls.cs:7:40:7:45 | exit remove_Event | | -| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | exit remove_Event (normal) | | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:11:5:17:5 | {...} | | -| AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:10:10:10:11 | exit M1 | | +| AccessorCalls.cs:1:7:1:19 | {...} | AccessorCalls.cs:1:7:1:19 | Normal Exit | | +| AccessorCalls.cs:5:23:5:25 | Entry | AccessorCalls.cs:5:30:5:30 | access to parameter i | | +| AccessorCalls.cs:5:23:5:25 | Normal Exit | AccessorCalls.cs:5:23:5:25 | Exit | | +| AccessorCalls.cs:5:30:5:30 | access to parameter i | AccessorCalls.cs:5:23:5:25 | Normal Exit | | +| AccessorCalls.cs:5:33:5:35 | Entry | AccessorCalls.cs:5:37:5:39 | {...} | | +| AccessorCalls.cs:5:33:5:35 | Normal Exit | AccessorCalls.cs:5:33:5:35 | Exit | | +| AccessorCalls.cs:5:37:5:39 | {...} | AccessorCalls.cs:5:33:5:35 | Normal Exit | | +| AccessorCalls.cs:7:32:7:34 | Entry | AccessorCalls.cs:7:36:7:38 | {...} | | +| AccessorCalls.cs:7:32:7:34 | Normal Exit | AccessorCalls.cs:7:32:7:34 | Exit | | +| AccessorCalls.cs:7:36:7:38 | {...} | AccessorCalls.cs:7:32:7:34 | Normal Exit | | +| AccessorCalls.cs:7:40:7:45 | Entry | AccessorCalls.cs:7:47:7:49 | {...} | | +| AccessorCalls.cs:7:40:7:45 | Normal Exit | AccessorCalls.cs:7:40:7:45 | Exit | | +| AccessorCalls.cs:7:47:7:49 | {...} | AccessorCalls.cs:7:40:7:45 | Normal Exit | | +| AccessorCalls.cs:10:10:10:11 | Entry | AccessorCalls.cs:11:5:17:5 | {...} | | +| AccessorCalls.cs:10:10:10:11 | Normal Exit | AccessorCalls.cs:10:10:10:11 | Exit | | +| AccessorCalls.cs:11:5:17:5 | After {...} | AccessorCalls.cs:10:10:10:11 | Normal Exit | | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:12:9:12:32 | ...; | | -| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:22:12:25 | this access | | -| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | | -| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:13:9:13:30 | ...; | | -| AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:12 | this access | | +| AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:9:12:18 | access to field Field | | +| AccessorCalls.cs:12:9:12:18 | After access to field Field | AccessorCalls.cs:12:22:12:31 | Before access to field Field | | +| AccessorCalls.cs:12:9:12:18 | Before access to field Field | AccessorCalls.cs:12:9:12:12 | this access | | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:18 | After access to field Field | | +| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:9:12:31 | After ... = ... | | +| AccessorCalls.cs:12:9:12:31 | After ... = ... | AccessorCalls.cs:12:9:12:32 | After ...; | | +| AccessorCalls.cs:12:9:12:31 | Before ... = ... | AccessorCalls.cs:12:9:12:18 | Before access to field Field | | +| AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:31 | Before ... = ... | | +| AccessorCalls.cs:12:9:12:32 | After ...; | AccessorCalls.cs:13:9:13:30 | ...; | | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:31 | access to field Field | | -| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:18 | access to field Field | | -| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:21:13:24 | this access | | -| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | | -| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:14:9:14:26 | ...; | | -| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:13:9:13:12 | this access | | +| AccessorCalls.cs:12:22:12:31 | After access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | | +| AccessorCalls.cs:12:22:12:31 | Before access to field Field | AccessorCalls.cs:12:22:12:25 | this access | | +| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:22:12:31 | After access to field Field | | +| AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:9:13:17 | access to property Prop | | +| AccessorCalls.cs:13:9:13:17 | After access to property Prop | AccessorCalls.cs:13:21:13:29 | Before access to property Prop | | +| AccessorCalls.cs:13:9:13:17 | Before access to property Prop | AccessorCalls.cs:13:9:13:12 | this access | | +| AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:17 | After access to property Prop | | +| AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:13:9:13:29 | After ... = ... | | +| AccessorCalls.cs:13:9:13:29 | After ... = ... | AccessorCalls.cs:13:9:13:30 | After ...; | | +| AccessorCalls.cs:13:9:13:29 | Before ... = ... | AccessorCalls.cs:13:9:13:17 | Before access to property Prop | | +| AccessorCalls.cs:13:9:13:30 | ...; | AccessorCalls.cs:13:9:13:29 | Before ... = ... | | +| AccessorCalls.cs:13:9:13:30 | After ...; | AccessorCalls.cs:14:9:14:26 | ...; | | | AccessorCalls.cs:13:21:13:24 | this access | AccessorCalls.cs:13:21:13:29 | access to property Prop | | -| AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:9:13:17 | access to property Prop | | +| AccessorCalls.cs:13:21:13:29 | After access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | | +| AccessorCalls.cs:13:21:13:29 | Before access to property Prop | AccessorCalls.cs:13:21:13:24 | this access | | +| AccessorCalls.cs:13:21:13:29 | access to property Prop | AccessorCalls.cs:13:21:13:29 | After access to property Prop | | | AccessorCalls.cs:14:9:14:12 | this access | AccessorCalls.cs:14:14:14:14 | 0 | | -| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:9:14:25 | ... = ... | | -| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:15:9:15:24 | ...; | | -| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:14:9:14:12 | this access | | -| AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:19:14:22 | this access | | +| AccessorCalls.cs:14:9:14:15 | After access to indexer | AccessorCalls.cs:14:19:14:25 | Before access to indexer | | +| AccessorCalls.cs:14:9:14:15 | Before access to indexer | AccessorCalls.cs:14:9:14:12 | this access | | +| AccessorCalls.cs:14:9:14:15 | access to indexer | AccessorCalls.cs:14:9:14:15 | After access to indexer | | +| AccessorCalls.cs:14:9:14:25 | ... = ... | AccessorCalls.cs:14:9:14:25 | After ... = ... | | +| AccessorCalls.cs:14:9:14:25 | After ... = ... | AccessorCalls.cs:14:9:14:26 | After ...; | | +| AccessorCalls.cs:14:9:14:25 | Before ... = ... | AccessorCalls.cs:14:9:14:15 | Before access to indexer | | +| AccessorCalls.cs:14:9:14:26 | ...; | AccessorCalls.cs:14:9:14:25 | Before ... = ... | | +| AccessorCalls.cs:14:9:14:26 | After ...; | AccessorCalls.cs:15:9:15:24 | ...; | | +| AccessorCalls.cs:14:14:14:14 | 0 | AccessorCalls.cs:14:9:14:15 | access to indexer | | | AccessorCalls.cs:14:19:14:22 | this access | AccessorCalls.cs:14:24:14:24 | 1 | | -| AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:9:14:15 | access to indexer | | +| AccessorCalls.cs:14:19:14:25 | After access to indexer | AccessorCalls.cs:14:9:14:25 | ... = ... | | +| AccessorCalls.cs:14:19:14:25 | Before access to indexer | AccessorCalls.cs:14:19:14:22 | this access | | +| AccessorCalls.cs:14:19:14:25 | access to indexer | AccessorCalls.cs:14:19:14:25 | After access to indexer | | | AccessorCalls.cs:14:24:14:24 | 1 | AccessorCalls.cs:14:19:14:25 | access to indexer | | -| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:23:15:23 | access to parameter e | | -| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:23 | ... += ... | | -| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:16:9:16:24 | ...; | | -| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:15:9:15:12 | this access | | -| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:18 | access to event Event | | -| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:23:16:23 | access to parameter e | | -| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:23 | ... -= ... | | -| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | | -| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:16:9:16:12 | this access | | -| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:18 | access to event Event | | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:20:5:26:5 | {...} | | -| AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | AccessorCalls.cs:19:10:19:11 | exit M2 | | +| AccessorCalls.cs:15:9:15:12 | this access | AccessorCalls.cs:15:9:15:18 | access to event Event | | +| AccessorCalls.cs:15:9:15:18 | After access to event Event | AccessorCalls.cs:15:23:15:23 | access to parameter e | | +| AccessorCalls.cs:15:9:15:18 | Before access to event Event | AccessorCalls.cs:15:9:15:12 | this access | | +| AccessorCalls.cs:15:9:15:18 | access to event Event | AccessorCalls.cs:15:9:15:18 | After access to event Event | | +| AccessorCalls.cs:15:9:15:23 | ... += ... | AccessorCalls.cs:15:9:15:23 | After ... += ... | | +| AccessorCalls.cs:15:9:15:23 | After ... += ... | AccessorCalls.cs:15:9:15:24 | After ...; | | +| AccessorCalls.cs:15:9:15:23 | Before ... += ... | AccessorCalls.cs:15:9:15:18 | Before access to event Event | | +| AccessorCalls.cs:15:9:15:24 | ...; | AccessorCalls.cs:15:9:15:23 | Before ... += ... | | +| AccessorCalls.cs:15:9:15:24 | After ...; | AccessorCalls.cs:16:9:16:24 | ...; | | +| AccessorCalls.cs:15:23:15:23 | access to parameter e | AccessorCalls.cs:15:9:15:23 | ... += ... | | +| AccessorCalls.cs:16:9:16:12 | this access | AccessorCalls.cs:16:9:16:18 | access to event Event | | +| AccessorCalls.cs:16:9:16:18 | After access to event Event | AccessorCalls.cs:16:23:16:23 | access to parameter e | | +| AccessorCalls.cs:16:9:16:18 | Before access to event Event | AccessorCalls.cs:16:9:16:12 | this access | | +| AccessorCalls.cs:16:9:16:18 | access to event Event | AccessorCalls.cs:16:9:16:18 | After access to event Event | | +| AccessorCalls.cs:16:9:16:23 | ... -= ... | AccessorCalls.cs:16:9:16:23 | After ... -= ... | | +| AccessorCalls.cs:16:9:16:23 | After ... -= ... | AccessorCalls.cs:16:9:16:24 | After ...; | | +| AccessorCalls.cs:16:9:16:23 | Before ... -= ... | AccessorCalls.cs:16:9:16:18 | Before access to event Event | | +| AccessorCalls.cs:16:9:16:24 | ...; | AccessorCalls.cs:16:9:16:23 | Before ... -= ... | | +| AccessorCalls.cs:16:9:16:24 | After ...; | AccessorCalls.cs:11:5:17:5 | After {...} | | +| AccessorCalls.cs:16:23:16:23 | access to parameter e | AccessorCalls.cs:16:9:16:23 | ... -= ... | | +| AccessorCalls.cs:19:10:19:11 | Entry | AccessorCalls.cs:20:5:26:5 | {...} | | +| AccessorCalls.cs:19:10:19:11 | Normal Exit | AccessorCalls.cs:19:10:19:11 | Exit | | +| AccessorCalls.cs:20:5:26:5 | After {...} | AccessorCalls.cs:19:10:19:11 | Normal Exit | | | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:21:9:21:36 | ...; | | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | | -| AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | | -| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | | -| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:22:9:22:34 | ...; | | -| AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:12 | this access | | +| AccessorCalls.cs:21:9:21:14 | After access to field x | AccessorCalls.cs:21:9:21:20 | access to field Field | | +| AccessorCalls.cs:21:9:21:14 | Before access to field x | AccessorCalls.cs:21:9:21:12 | this access | | +| AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:9:21:14 | After access to field x | | +| AccessorCalls.cs:21:9:21:20 | After access to field Field | AccessorCalls.cs:21:24:21:35 | Before access to field Field | | +| AccessorCalls.cs:21:9:21:20 | Before access to field Field | AccessorCalls.cs:21:9:21:14 | Before access to field x | | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:20 | After access to field Field | | +| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:9:21:35 | After ... = ... | | +| AccessorCalls.cs:21:9:21:35 | After ... = ... | AccessorCalls.cs:21:9:21:36 | After ...; | | +| AccessorCalls.cs:21:9:21:35 | Before ... = ... | AccessorCalls.cs:21:9:21:20 | Before access to field Field | | +| AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:35 | Before ... = ... | | +| AccessorCalls.cs:21:9:21:36 | After ...; | AccessorCalls.cs:22:9:22:34 | ...; | | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:29 | access to field x | | -| AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | | -| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:20 | access to field Field | | +| AccessorCalls.cs:21:24:21:29 | After access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | | +| AccessorCalls.cs:21:24:21:29 | Before access to field x | AccessorCalls.cs:21:24:21:27 | this access | | +| AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:29 | After access to field x | | +| AccessorCalls.cs:21:24:21:35 | After access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | | +| AccessorCalls.cs:21:24:21:35 | Before access to field Field | AccessorCalls.cs:21:24:21:29 | Before access to field x | | +| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:24:21:35 | After access to field Field | | | AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:14 | access to field x | | -| AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:23:22:26 | this access | | -| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | | -| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:23:9:23:30 | ...; | | -| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:22:9:22:12 | this access | | +| AccessorCalls.cs:22:9:22:14 | After access to field x | AccessorCalls.cs:22:9:22:19 | access to property Prop | | +| AccessorCalls.cs:22:9:22:14 | Before access to field x | AccessorCalls.cs:22:9:22:12 | this access | | +| AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:9:22:14 | After access to field x | | +| AccessorCalls.cs:22:9:22:19 | After access to property Prop | AccessorCalls.cs:22:23:22:33 | Before access to property Prop | | +| AccessorCalls.cs:22:9:22:19 | Before access to property Prop | AccessorCalls.cs:22:9:22:14 | Before access to field x | | +| AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:19 | After access to property Prop | | +| AccessorCalls.cs:22:9:22:33 | ... = ... | AccessorCalls.cs:22:9:22:33 | After ... = ... | | +| AccessorCalls.cs:22:9:22:33 | After ... = ... | AccessorCalls.cs:22:9:22:34 | After ...; | | +| AccessorCalls.cs:22:9:22:33 | Before ... = ... | AccessorCalls.cs:22:9:22:19 | Before access to property Prop | | +| AccessorCalls.cs:22:9:22:34 | ...; | AccessorCalls.cs:22:9:22:33 | Before ... = ... | | +| AccessorCalls.cs:22:9:22:34 | After ...; | AccessorCalls.cs:23:9:23:30 | ...; | | | AccessorCalls.cs:22:23:22:26 | this access | AccessorCalls.cs:22:23:22:28 | access to field x | | -| AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:33 | access to property Prop | | -| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:9:22:19 | access to property Prop | | +| AccessorCalls.cs:22:23:22:28 | After access to field x | AccessorCalls.cs:22:23:22:33 | access to property Prop | | +| AccessorCalls.cs:22:23:22:28 | Before access to field x | AccessorCalls.cs:22:23:22:26 | this access | | +| AccessorCalls.cs:22:23:22:28 | access to field x | AccessorCalls.cs:22:23:22:28 | After access to field x | | +| AccessorCalls.cs:22:23:22:33 | After access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | | +| AccessorCalls.cs:22:23:22:33 | Before access to property Prop | AccessorCalls.cs:22:23:22:28 | Before access to field x | | +| AccessorCalls.cs:22:23:22:33 | access to property Prop | AccessorCalls.cs:22:23:22:33 | After access to property Prop | | | AccessorCalls.cs:23:9:23:12 | this access | AccessorCalls.cs:23:9:23:14 | access to field x | | -| AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:16:23:16 | 0 | | -| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:9:23:29 | ... = ... | | -| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:24:9:24:26 | ...; | | -| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:23:9:23:12 | this access | | -| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:21:23:24 | this access | | +| AccessorCalls.cs:23:9:23:14 | After access to field x | AccessorCalls.cs:23:16:23:16 | 0 | | +| AccessorCalls.cs:23:9:23:14 | Before access to field x | AccessorCalls.cs:23:9:23:12 | this access | | +| AccessorCalls.cs:23:9:23:14 | access to field x | AccessorCalls.cs:23:9:23:14 | After access to field x | | +| AccessorCalls.cs:23:9:23:17 | After access to indexer | AccessorCalls.cs:23:21:23:29 | Before access to indexer | | +| AccessorCalls.cs:23:9:23:17 | Before access to indexer | AccessorCalls.cs:23:9:23:14 | Before access to field x | | +| AccessorCalls.cs:23:9:23:17 | access to indexer | AccessorCalls.cs:23:9:23:17 | After access to indexer | | +| AccessorCalls.cs:23:9:23:29 | ... = ... | AccessorCalls.cs:23:9:23:29 | After ... = ... | | +| AccessorCalls.cs:23:9:23:29 | After ... = ... | AccessorCalls.cs:23:9:23:30 | After ...; | | +| AccessorCalls.cs:23:9:23:29 | Before ... = ... | AccessorCalls.cs:23:9:23:17 | Before access to indexer | | +| AccessorCalls.cs:23:9:23:30 | ...; | AccessorCalls.cs:23:9:23:29 | Before ... = ... | | +| AccessorCalls.cs:23:9:23:30 | After ...; | AccessorCalls.cs:24:9:24:26 | ...; | | +| AccessorCalls.cs:23:16:23:16 | 0 | AccessorCalls.cs:23:9:23:17 | access to indexer | | | AccessorCalls.cs:23:21:23:24 | this access | AccessorCalls.cs:23:21:23:26 | access to field x | | -| AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:28:23:28 | 1 | | -| AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:9:23:17 | access to indexer | | +| AccessorCalls.cs:23:21:23:26 | After access to field x | AccessorCalls.cs:23:28:23:28 | 1 | | +| AccessorCalls.cs:23:21:23:26 | Before access to field x | AccessorCalls.cs:23:21:23:24 | this access | | +| AccessorCalls.cs:23:21:23:26 | access to field x | AccessorCalls.cs:23:21:23:26 | After access to field x | | +| AccessorCalls.cs:23:21:23:29 | After access to indexer | AccessorCalls.cs:23:9:23:29 | ... = ... | | +| AccessorCalls.cs:23:21:23:29 | Before access to indexer | AccessorCalls.cs:23:21:23:26 | Before access to field x | | +| AccessorCalls.cs:23:21:23:29 | access to indexer | AccessorCalls.cs:23:21:23:29 | After access to indexer | | | AccessorCalls.cs:23:28:23:28 | 1 | AccessorCalls.cs:23:21:23:29 | access to indexer | | | AccessorCalls.cs:24:9:24:12 | this access | AccessorCalls.cs:24:9:24:14 | access to field x | | -| AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:25:24:25 | access to parameter e | | -| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:25 | ... += ... | | -| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:25:9:25:26 | ...; | | -| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:24:9:24:12 | this access | | -| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:20 | access to event Event | | +| AccessorCalls.cs:24:9:24:14 | After access to field x | AccessorCalls.cs:24:9:24:20 | access to event Event | | +| AccessorCalls.cs:24:9:24:14 | Before access to field x | AccessorCalls.cs:24:9:24:12 | this access | | +| AccessorCalls.cs:24:9:24:14 | access to field x | AccessorCalls.cs:24:9:24:14 | After access to field x | | +| AccessorCalls.cs:24:9:24:20 | After access to event Event | AccessorCalls.cs:24:25:24:25 | access to parameter e | | +| AccessorCalls.cs:24:9:24:20 | Before access to event Event | AccessorCalls.cs:24:9:24:14 | Before access to field x | | +| AccessorCalls.cs:24:9:24:20 | access to event Event | AccessorCalls.cs:24:9:24:20 | After access to event Event | | +| AccessorCalls.cs:24:9:24:25 | ... += ... | AccessorCalls.cs:24:9:24:25 | After ... += ... | | +| AccessorCalls.cs:24:9:24:25 | After ... += ... | AccessorCalls.cs:24:9:24:26 | After ...; | | +| AccessorCalls.cs:24:9:24:25 | Before ... += ... | AccessorCalls.cs:24:9:24:20 | Before access to event Event | | +| AccessorCalls.cs:24:9:24:26 | ...; | AccessorCalls.cs:24:9:24:25 | Before ... += ... | | +| AccessorCalls.cs:24:9:24:26 | After ...; | AccessorCalls.cs:25:9:25:26 | ...; | | +| AccessorCalls.cs:24:25:24:25 | access to parameter e | AccessorCalls.cs:24:9:24:25 | ... += ... | | | AccessorCalls.cs:25:9:25:12 | this access | AccessorCalls.cs:25:9:25:14 | access to field x | | -| AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:25:25:25 | access to parameter e | | -| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:25 | ... -= ... | | -| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:19:10:19:11 | exit M2 (normal) | | -| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:25:9:25:12 | this access | | -| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:20 | access to event Event | | -| AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:29:5:33:5 | {...} | | -| AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | AccessorCalls.cs:28:10:28:11 | exit M3 | | +| AccessorCalls.cs:25:9:25:14 | After access to field x | AccessorCalls.cs:25:9:25:20 | access to event Event | | +| AccessorCalls.cs:25:9:25:14 | Before access to field x | AccessorCalls.cs:25:9:25:12 | this access | | +| AccessorCalls.cs:25:9:25:14 | access to field x | AccessorCalls.cs:25:9:25:14 | After access to field x | | +| AccessorCalls.cs:25:9:25:20 | After access to event Event | AccessorCalls.cs:25:25:25:25 | access to parameter e | | +| AccessorCalls.cs:25:9:25:20 | Before access to event Event | AccessorCalls.cs:25:9:25:14 | Before access to field x | | +| AccessorCalls.cs:25:9:25:20 | access to event Event | AccessorCalls.cs:25:9:25:20 | After access to event Event | | +| AccessorCalls.cs:25:9:25:25 | ... -= ... | AccessorCalls.cs:25:9:25:25 | After ... -= ... | | +| AccessorCalls.cs:25:9:25:25 | After ... -= ... | AccessorCalls.cs:25:9:25:26 | After ...; | | +| AccessorCalls.cs:25:9:25:25 | Before ... -= ... | AccessorCalls.cs:25:9:25:20 | Before access to event Event | | +| AccessorCalls.cs:25:9:25:26 | ...; | AccessorCalls.cs:25:9:25:25 | Before ... -= ... | | +| AccessorCalls.cs:25:9:25:26 | After ...; | AccessorCalls.cs:20:5:26:5 | After {...} | | +| AccessorCalls.cs:25:25:25:25 | access to parameter e | AccessorCalls.cs:25:9:25:25 | ... -= ... | | +| AccessorCalls.cs:28:10:28:11 | Entry | AccessorCalls.cs:29:5:33:5 | {...} | | +| AccessorCalls.cs:28:10:28:11 | Normal Exit | AccessorCalls.cs:28:10:28:11 | Exit | | +| AccessorCalls.cs:29:5:33:5 | After {...} | AccessorCalls.cs:28:10:28:11 | Normal Exit | | | AccessorCalls.cs:29:5:33:5 | {...} | AccessorCalls.cs:30:9:30:21 | ...; | | | AccessorCalls.cs:30:9:30:12 | this access | AccessorCalls.cs:30:9:30:18 | access to field Field | | -| AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:20 | ...++ | | -| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:31:9:31:20 | ...; | | -| AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:30:9:30:12 | this access | | +| AccessorCalls.cs:30:9:30:18 | After access to field Field | AccessorCalls.cs:30:9:30:20 | ...++ | | +| AccessorCalls.cs:30:9:30:18 | Before access to field Field | AccessorCalls.cs:30:9:30:12 | this access | | +| AccessorCalls.cs:30:9:30:18 | access to field Field | AccessorCalls.cs:30:9:30:18 | After access to field Field | | +| AccessorCalls.cs:30:9:30:20 | ...++ | AccessorCalls.cs:30:9:30:20 | After ...++ | | +| AccessorCalls.cs:30:9:30:20 | After ...++ | AccessorCalls.cs:30:9:30:21 | After ...; | | +| AccessorCalls.cs:30:9:30:20 | Before ...++ | AccessorCalls.cs:30:9:30:18 | Before access to field Field | | +| AccessorCalls.cs:30:9:30:21 | ...; | AccessorCalls.cs:30:9:30:20 | Before ...++ | | +| AccessorCalls.cs:30:9:30:21 | After ...; | AccessorCalls.cs:31:9:31:20 | ...; | | | AccessorCalls.cs:31:9:31:12 | this access | AccessorCalls.cs:31:9:31:17 | access to property Prop | | -| AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:19 | ...++ | | -| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:32:9:32:18 | ...; | | -| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:31:9:31:12 | this access | | +| AccessorCalls.cs:31:9:31:17 | After access to property Prop | AccessorCalls.cs:31:9:31:19 | ...++ | | +| AccessorCalls.cs:31:9:31:17 | Before access to property Prop | AccessorCalls.cs:31:9:31:12 | this access | | +| AccessorCalls.cs:31:9:31:17 | access to property Prop | AccessorCalls.cs:31:9:31:17 | After access to property Prop | | +| AccessorCalls.cs:31:9:31:19 | ...++ | AccessorCalls.cs:31:9:31:19 | After ...++ | | +| AccessorCalls.cs:31:9:31:19 | After ...++ | AccessorCalls.cs:31:9:31:20 | After ...; | | +| AccessorCalls.cs:31:9:31:19 | Before ...++ | AccessorCalls.cs:31:9:31:17 | Before access to property Prop | | +| AccessorCalls.cs:31:9:31:20 | ...; | AccessorCalls.cs:31:9:31:19 | Before ...++ | | +| AccessorCalls.cs:31:9:31:20 | After ...; | AccessorCalls.cs:32:9:32:18 | ...; | | | AccessorCalls.cs:32:9:32:12 | this access | AccessorCalls.cs:32:14:32:14 | 0 | | -| AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:9:32:17 | ...++ | | -| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:28:10:28:11 | exit M3 (normal) | | -| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:32:9:32:12 | this access | | +| AccessorCalls.cs:32:9:32:15 | After access to indexer | AccessorCalls.cs:32:9:32:17 | ...++ | | +| AccessorCalls.cs:32:9:32:15 | Before access to indexer | AccessorCalls.cs:32:9:32:12 | this access | | +| AccessorCalls.cs:32:9:32:15 | access to indexer | AccessorCalls.cs:32:9:32:15 | After access to indexer | | +| AccessorCalls.cs:32:9:32:17 | ...++ | AccessorCalls.cs:32:9:32:17 | After ...++ | | +| AccessorCalls.cs:32:9:32:17 | After ...++ | AccessorCalls.cs:32:9:32:18 | After ...; | | +| AccessorCalls.cs:32:9:32:17 | Before ...++ | AccessorCalls.cs:32:9:32:15 | Before access to indexer | | +| AccessorCalls.cs:32:9:32:18 | ...; | AccessorCalls.cs:32:9:32:17 | Before ...++ | | +| AccessorCalls.cs:32:9:32:18 | After ...; | AccessorCalls.cs:29:5:33:5 | After {...} | | | AccessorCalls.cs:32:14:32:14 | 0 | AccessorCalls.cs:32:9:32:15 | access to indexer | | -| AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:36:5:40:5 | {...} | | -| AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | AccessorCalls.cs:35:10:35:11 | exit M4 | | +| AccessorCalls.cs:35:10:35:11 | Entry | AccessorCalls.cs:36:5:40:5 | {...} | | +| AccessorCalls.cs:35:10:35:11 | Normal Exit | AccessorCalls.cs:35:10:35:11 | Exit | | +| AccessorCalls.cs:36:5:40:5 | After {...} | AccessorCalls.cs:35:10:35:11 | Normal Exit | | | AccessorCalls.cs:36:5:40:5 | {...} | AccessorCalls.cs:37:9:37:23 | ...; | | | AccessorCalls.cs:37:9:37:12 | this access | AccessorCalls.cs:37:9:37:14 | access to field x | | -| AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:20 | access to field Field | | -| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:22 | ...++ | | -| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:38:9:38:22 | ...; | | -| AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:37:9:37:12 | this access | | +| AccessorCalls.cs:37:9:37:14 | After access to field x | AccessorCalls.cs:37:9:37:20 | access to field Field | | +| AccessorCalls.cs:37:9:37:14 | Before access to field x | AccessorCalls.cs:37:9:37:12 | this access | | +| AccessorCalls.cs:37:9:37:14 | access to field x | AccessorCalls.cs:37:9:37:14 | After access to field x | | +| AccessorCalls.cs:37:9:37:20 | After access to field Field | AccessorCalls.cs:37:9:37:22 | ...++ | | +| AccessorCalls.cs:37:9:37:20 | Before access to field Field | AccessorCalls.cs:37:9:37:14 | Before access to field x | | +| AccessorCalls.cs:37:9:37:20 | access to field Field | AccessorCalls.cs:37:9:37:20 | After access to field Field | | +| AccessorCalls.cs:37:9:37:22 | ...++ | AccessorCalls.cs:37:9:37:22 | After ...++ | | +| AccessorCalls.cs:37:9:37:22 | After ...++ | AccessorCalls.cs:37:9:37:23 | After ...; | | +| AccessorCalls.cs:37:9:37:22 | Before ...++ | AccessorCalls.cs:37:9:37:20 | Before access to field Field | | +| AccessorCalls.cs:37:9:37:23 | ...; | AccessorCalls.cs:37:9:37:22 | Before ...++ | | +| AccessorCalls.cs:37:9:37:23 | After ...; | AccessorCalls.cs:38:9:38:22 | ...; | | | AccessorCalls.cs:38:9:38:12 | this access | AccessorCalls.cs:38:9:38:14 | access to field x | | -| AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:19 | access to property Prop | | -| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:21 | ...++ | | -| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:39:9:39:20 | ...; | | -| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:38:9:38:12 | this access | | +| AccessorCalls.cs:38:9:38:14 | After access to field x | AccessorCalls.cs:38:9:38:19 | access to property Prop | | +| AccessorCalls.cs:38:9:38:14 | Before access to field x | AccessorCalls.cs:38:9:38:12 | this access | | +| AccessorCalls.cs:38:9:38:14 | access to field x | AccessorCalls.cs:38:9:38:14 | After access to field x | | +| AccessorCalls.cs:38:9:38:19 | After access to property Prop | AccessorCalls.cs:38:9:38:21 | ...++ | | +| AccessorCalls.cs:38:9:38:19 | Before access to property Prop | AccessorCalls.cs:38:9:38:14 | Before access to field x | | +| AccessorCalls.cs:38:9:38:19 | access to property Prop | AccessorCalls.cs:38:9:38:19 | After access to property Prop | | +| AccessorCalls.cs:38:9:38:21 | ...++ | AccessorCalls.cs:38:9:38:21 | After ...++ | | +| AccessorCalls.cs:38:9:38:21 | After ...++ | AccessorCalls.cs:38:9:38:22 | After ...; | | +| AccessorCalls.cs:38:9:38:21 | Before ...++ | AccessorCalls.cs:38:9:38:19 | Before access to property Prop | | +| AccessorCalls.cs:38:9:38:22 | ...; | AccessorCalls.cs:38:9:38:21 | Before ...++ | | +| AccessorCalls.cs:38:9:38:22 | After ...; | AccessorCalls.cs:39:9:39:20 | ...; | | | AccessorCalls.cs:39:9:39:12 | this access | AccessorCalls.cs:39:9:39:14 | access to field x | | -| AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:16:39:16 | 0 | | -| AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:9:39:19 | ...++ | | -| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:35:10:35:11 | exit M4 (normal) | | -| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:39:9:39:12 | this access | | +| AccessorCalls.cs:39:9:39:14 | After access to field x | AccessorCalls.cs:39:16:39:16 | 0 | | +| AccessorCalls.cs:39:9:39:14 | Before access to field x | AccessorCalls.cs:39:9:39:12 | this access | | +| AccessorCalls.cs:39:9:39:14 | access to field x | AccessorCalls.cs:39:9:39:14 | After access to field x | | +| AccessorCalls.cs:39:9:39:17 | After access to indexer | AccessorCalls.cs:39:9:39:19 | ...++ | | +| AccessorCalls.cs:39:9:39:17 | Before access to indexer | AccessorCalls.cs:39:9:39:14 | Before access to field x | | +| AccessorCalls.cs:39:9:39:17 | access to indexer | AccessorCalls.cs:39:9:39:17 | After access to indexer | | +| AccessorCalls.cs:39:9:39:19 | ...++ | AccessorCalls.cs:39:9:39:19 | After ...++ | | +| AccessorCalls.cs:39:9:39:19 | After ...++ | AccessorCalls.cs:39:9:39:20 | After ...; | | +| AccessorCalls.cs:39:9:39:19 | Before ...++ | AccessorCalls.cs:39:9:39:17 | Before access to indexer | | +| AccessorCalls.cs:39:9:39:20 | ...; | AccessorCalls.cs:39:9:39:19 | Before ...++ | | +| AccessorCalls.cs:39:9:39:20 | After ...; | AccessorCalls.cs:36:5:40:5 | After {...} | | | AccessorCalls.cs:39:16:39:16 | 0 | AccessorCalls.cs:39:9:39:17 | access to indexer | | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:43:5:47:5 | {...} | | -| AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | AccessorCalls.cs:42:10:42:11 | exit M5 | | +| AccessorCalls.cs:42:10:42:11 | Entry | AccessorCalls.cs:43:5:47:5 | {...} | | +| AccessorCalls.cs:42:10:42:11 | Normal Exit | AccessorCalls.cs:42:10:42:11 | Exit | | +| AccessorCalls.cs:43:5:47:5 | After {...} | AccessorCalls.cs:42:10:42:11 | Normal Exit | | | AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:44:9:44:33 | ...; | | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | | -| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | | -| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:45:9:45:31 | ...; | | -| AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:12 | this access | | +| AccessorCalls.cs:44:9:44:18 | After access to field Field | AccessorCalls.cs:44:23:44:32 | Before access to field Field | | +| AccessorCalls.cs:44:9:44:18 | Before access to field Field | AccessorCalls.cs:44:9:44:12 | this access | | +| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:18 | After access to field Field | | +| AccessorCalls.cs:44:9:44:32 | ... += ... | AccessorCalls.cs:44:9:44:32 | After ... += ... | | +| AccessorCalls.cs:44:9:44:32 | After ... += ... | AccessorCalls.cs:44:9:44:33 | After ...; | | +| AccessorCalls.cs:44:9:44:32 | Before ... += ... | AccessorCalls.cs:44:9:44:18 | Before access to field Field | | +| AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:32 | Before ... += ... | | +| AccessorCalls.cs:44:9:44:33 | After ...; | AccessorCalls.cs:45:9:45:31 | ...; | | | AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:32 | access to field Field | | -| AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:9:44:32 | ... += ... | | +| AccessorCalls.cs:44:23:44:32 | After access to field Field | AccessorCalls.cs:44:9:44:32 | ... += ... | | +| AccessorCalls.cs:44:23:44:32 | Before access to field Field | AccessorCalls.cs:44:23:44:26 | this access | | +| AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:23:44:32 | After access to field Field | | | AccessorCalls.cs:45:9:45:12 | this access | AccessorCalls.cs:45:9:45:17 | access to property Prop | | -| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:22:45:25 | this access | | -| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:46:9:46:27 | ...; | | -| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:45:9:45:12 | this access | | +| AccessorCalls.cs:45:9:45:17 | After access to property Prop | AccessorCalls.cs:45:22:45:30 | Before access to property Prop | | +| AccessorCalls.cs:45:9:45:17 | Before access to property Prop | AccessorCalls.cs:45:9:45:12 | this access | | +| AccessorCalls.cs:45:9:45:17 | access to property Prop | AccessorCalls.cs:45:9:45:17 | After access to property Prop | | +| AccessorCalls.cs:45:9:45:30 | ... += ... | AccessorCalls.cs:45:9:45:30 | After ... += ... | | +| AccessorCalls.cs:45:9:45:30 | After ... += ... | AccessorCalls.cs:45:9:45:31 | After ...; | | +| AccessorCalls.cs:45:9:45:30 | Before ... += ... | AccessorCalls.cs:45:9:45:17 | Before access to property Prop | | +| AccessorCalls.cs:45:9:45:31 | ...; | AccessorCalls.cs:45:9:45:30 | Before ... += ... | | +| AccessorCalls.cs:45:9:45:31 | After ...; | AccessorCalls.cs:46:9:46:27 | ...; | | | AccessorCalls.cs:45:22:45:25 | this access | AccessorCalls.cs:45:22:45:30 | access to property Prop | | -| AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:9:45:30 | ... += ... | | +| AccessorCalls.cs:45:22:45:30 | After access to property Prop | AccessorCalls.cs:45:9:45:30 | ... += ... | | +| AccessorCalls.cs:45:22:45:30 | Before access to property Prop | AccessorCalls.cs:45:22:45:25 | this access | | +| AccessorCalls.cs:45:22:45:30 | access to property Prop | AccessorCalls.cs:45:22:45:30 | After access to property Prop | | | AccessorCalls.cs:46:9:46:12 | this access | AccessorCalls.cs:46:14:46:14 | 0 | | -| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:20:46:23 | this access | | -| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:42:10:42:11 | exit M5 (normal) | | -| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:46:9:46:12 | this access | | +| AccessorCalls.cs:46:9:46:15 | After access to indexer | AccessorCalls.cs:46:20:46:26 | Before access to indexer | | +| AccessorCalls.cs:46:9:46:15 | Before access to indexer | AccessorCalls.cs:46:9:46:12 | this access | | +| AccessorCalls.cs:46:9:46:15 | access to indexer | AccessorCalls.cs:46:9:46:15 | After access to indexer | | +| AccessorCalls.cs:46:9:46:26 | ... += ... | AccessorCalls.cs:46:9:46:26 | After ... += ... | | +| AccessorCalls.cs:46:9:46:26 | After ... += ... | AccessorCalls.cs:46:9:46:27 | After ...; | | +| AccessorCalls.cs:46:9:46:26 | Before ... += ... | AccessorCalls.cs:46:9:46:15 | Before access to indexer | | +| AccessorCalls.cs:46:9:46:27 | ...; | AccessorCalls.cs:46:9:46:26 | Before ... += ... | | +| AccessorCalls.cs:46:9:46:27 | After ...; | AccessorCalls.cs:43:5:47:5 | After {...} | | | AccessorCalls.cs:46:14:46:14 | 0 | AccessorCalls.cs:46:9:46:15 | access to indexer | | | AccessorCalls.cs:46:20:46:23 | this access | AccessorCalls.cs:46:25:46:25 | 0 | | -| AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:9:46:26 | ... += ... | | +| AccessorCalls.cs:46:20:46:26 | After access to indexer | AccessorCalls.cs:46:9:46:26 | ... += ... | | +| AccessorCalls.cs:46:20:46:26 | Before access to indexer | AccessorCalls.cs:46:20:46:23 | this access | | +| AccessorCalls.cs:46:20:46:26 | access to indexer | AccessorCalls.cs:46:20:46:26 | After access to indexer | | | AccessorCalls.cs:46:25:46:25 | 0 | AccessorCalls.cs:46:20:46:26 | access to indexer | | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:50:5:54:5 | {...} | | -| AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | AccessorCalls.cs:49:10:49:11 | exit M6 | | +| AccessorCalls.cs:49:10:49:11 | Entry | AccessorCalls.cs:50:5:54:5 | {...} | | +| AccessorCalls.cs:49:10:49:11 | Normal Exit | AccessorCalls.cs:49:10:49:11 | Exit | | +| AccessorCalls.cs:50:5:54:5 | After {...} | AccessorCalls.cs:49:10:49:11 | Normal Exit | | | AccessorCalls.cs:50:5:54:5 | {...} | AccessorCalls.cs:51:9:51:37 | ...; | | | AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | access to field x | | -| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | | -| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:25:51:28 | this access | | -| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:52:9:52:35 | ...; | | -| AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:12 | this access | | +| AccessorCalls.cs:51:9:51:14 | After access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | | +| AccessorCalls.cs:51:9:51:14 | Before access to field x | AccessorCalls.cs:51:9:51:12 | this access | | +| AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:14 | After access to field x | | +| AccessorCalls.cs:51:9:51:20 | After access to field Field | AccessorCalls.cs:51:25:51:36 | Before access to field Field | | +| AccessorCalls.cs:51:9:51:20 | Before access to field Field | AccessorCalls.cs:51:9:51:14 | Before access to field x | | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:20 | After access to field Field | | +| AccessorCalls.cs:51:9:51:36 | ... += ... | AccessorCalls.cs:51:9:51:36 | After ... += ... | | +| AccessorCalls.cs:51:9:51:36 | After ... += ... | AccessorCalls.cs:51:9:51:37 | After ...; | | +| AccessorCalls.cs:51:9:51:36 | Before ... += ... | AccessorCalls.cs:51:9:51:20 | Before access to field Field | | +| AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:36 | Before ... += ... | | +| AccessorCalls.cs:51:9:51:37 | After ...; | AccessorCalls.cs:52:9:52:35 | ...; | | | AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:30 | access to field x | | -| AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:36 | access to field Field | | -| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:9:51:36 | ... += ... | | +| AccessorCalls.cs:51:25:51:30 | After access to field x | AccessorCalls.cs:51:25:51:36 | access to field Field | | +| AccessorCalls.cs:51:25:51:30 | Before access to field x | AccessorCalls.cs:51:25:51:28 | this access | | +| AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:30 | After access to field x | | +| AccessorCalls.cs:51:25:51:36 | After access to field Field | AccessorCalls.cs:51:9:51:36 | ... += ... | | +| AccessorCalls.cs:51:25:51:36 | Before access to field Field | AccessorCalls.cs:51:25:51:30 | Before access to field x | | +| AccessorCalls.cs:51:25:51:36 | access to field Field | AccessorCalls.cs:51:25:51:36 | After access to field Field | | | AccessorCalls.cs:52:9:52:12 | this access | AccessorCalls.cs:52:9:52:14 | access to field x | | -| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:19 | access to property Prop | | -| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:24:52:27 | this access | | -| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:53:9:53:31 | ...; | | -| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:52:9:52:12 | this access | | +| AccessorCalls.cs:52:9:52:14 | After access to field x | AccessorCalls.cs:52:9:52:19 | access to property Prop | | +| AccessorCalls.cs:52:9:52:14 | Before access to field x | AccessorCalls.cs:52:9:52:12 | this access | | +| AccessorCalls.cs:52:9:52:14 | access to field x | AccessorCalls.cs:52:9:52:14 | After access to field x | | +| AccessorCalls.cs:52:9:52:19 | After access to property Prop | AccessorCalls.cs:52:24:52:34 | Before access to property Prop | | +| AccessorCalls.cs:52:9:52:19 | Before access to property Prop | AccessorCalls.cs:52:9:52:14 | Before access to field x | | +| AccessorCalls.cs:52:9:52:19 | access to property Prop | AccessorCalls.cs:52:9:52:19 | After access to property Prop | | +| AccessorCalls.cs:52:9:52:34 | ... += ... | AccessorCalls.cs:52:9:52:34 | After ... += ... | | +| AccessorCalls.cs:52:9:52:34 | After ... += ... | AccessorCalls.cs:52:9:52:35 | After ...; | | +| AccessorCalls.cs:52:9:52:34 | Before ... += ... | AccessorCalls.cs:52:9:52:19 | Before access to property Prop | | +| AccessorCalls.cs:52:9:52:35 | ...; | AccessorCalls.cs:52:9:52:34 | Before ... += ... | | +| AccessorCalls.cs:52:9:52:35 | After ...; | AccessorCalls.cs:53:9:53:31 | ...; | | | AccessorCalls.cs:52:24:52:27 | this access | AccessorCalls.cs:52:24:52:29 | access to field x | | -| AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:34 | access to property Prop | | -| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:9:52:34 | ... += ... | | +| AccessorCalls.cs:52:24:52:29 | After access to field x | AccessorCalls.cs:52:24:52:34 | access to property Prop | | +| AccessorCalls.cs:52:24:52:29 | Before access to field x | AccessorCalls.cs:52:24:52:27 | this access | | +| AccessorCalls.cs:52:24:52:29 | access to field x | AccessorCalls.cs:52:24:52:29 | After access to field x | | +| AccessorCalls.cs:52:24:52:34 | After access to property Prop | AccessorCalls.cs:52:9:52:34 | ... += ... | | +| AccessorCalls.cs:52:24:52:34 | Before access to property Prop | AccessorCalls.cs:52:24:52:29 | Before access to field x | | +| AccessorCalls.cs:52:24:52:34 | access to property Prop | AccessorCalls.cs:52:24:52:34 | After access to property Prop | | | AccessorCalls.cs:53:9:53:12 | this access | AccessorCalls.cs:53:9:53:14 | access to field x | | -| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:16:53:16 | 0 | | -| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:22:53:25 | this access | | -| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:49:10:49:11 | exit M6 (normal) | | -| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:53:9:53:12 | this access | | +| AccessorCalls.cs:53:9:53:14 | After access to field x | AccessorCalls.cs:53:16:53:16 | 0 | | +| AccessorCalls.cs:53:9:53:14 | Before access to field x | AccessorCalls.cs:53:9:53:12 | this access | | +| AccessorCalls.cs:53:9:53:14 | access to field x | AccessorCalls.cs:53:9:53:14 | After access to field x | | +| AccessorCalls.cs:53:9:53:17 | After access to indexer | AccessorCalls.cs:53:22:53:30 | Before access to indexer | | +| AccessorCalls.cs:53:9:53:17 | Before access to indexer | AccessorCalls.cs:53:9:53:14 | Before access to field x | | +| AccessorCalls.cs:53:9:53:17 | access to indexer | AccessorCalls.cs:53:9:53:17 | After access to indexer | | +| AccessorCalls.cs:53:9:53:30 | ... += ... | AccessorCalls.cs:53:9:53:30 | After ... += ... | | +| AccessorCalls.cs:53:9:53:30 | After ... += ... | AccessorCalls.cs:53:9:53:31 | After ...; | | +| AccessorCalls.cs:53:9:53:30 | Before ... += ... | AccessorCalls.cs:53:9:53:17 | Before access to indexer | | +| AccessorCalls.cs:53:9:53:31 | ...; | AccessorCalls.cs:53:9:53:30 | Before ... += ... | | +| AccessorCalls.cs:53:9:53:31 | After ...; | AccessorCalls.cs:50:5:54:5 | After {...} | | | AccessorCalls.cs:53:16:53:16 | 0 | AccessorCalls.cs:53:9:53:17 | access to indexer | | | AccessorCalls.cs:53:22:53:25 | this access | AccessorCalls.cs:53:22:53:27 | access to field x | | -| AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:29:53:29 | 0 | | -| AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:9:53:30 | ... += ... | | +| AccessorCalls.cs:53:22:53:27 | After access to field x | AccessorCalls.cs:53:29:53:29 | 0 | | +| AccessorCalls.cs:53:22:53:27 | Before access to field x | AccessorCalls.cs:53:22:53:25 | this access | | +| AccessorCalls.cs:53:22:53:27 | access to field x | AccessorCalls.cs:53:22:53:27 | After access to field x | | +| AccessorCalls.cs:53:22:53:30 | After access to indexer | AccessorCalls.cs:53:9:53:30 | ... += ... | | +| AccessorCalls.cs:53:22:53:30 | Before access to indexer | AccessorCalls.cs:53:22:53:27 | Before access to field x | | +| AccessorCalls.cs:53:22:53:30 | access to indexer | AccessorCalls.cs:53:22:53:30 | After access to indexer | | | AccessorCalls.cs:53:29:53:29 | 0 | AccessorCalls.cs:53:22:53:30 | access to indexer | | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:57:5:59:5 | {...} | | -| AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | AccessorCalls.cs:56:10:56:11 | exit M7 | | +| AccessorCalls.cs:56:10:56:11 | Entry | AccessorCalls.cs:57:5:59:5 | {...} | | +| AccessorCalls.cs:56:10:56:11 | Normal Exit | AccessorCalls.cs:56:10:56:11 | Exit | | +| AccessorCalls.cs:57:5:59:5 | After {...} | AccessorCalls.cs:56:10:56:11 | Normal Exit | | | AccessorCalls.cs:57:5:59:5 | {...} | AccessorCalls.cs:58:9:58:86 | ...; | | -| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:50:58:53 | this access | | -| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | | -| AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:10:58:13 | this access | | -| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:22:58:25 | this access | | -| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:22:58:30 | access to property Prop | | -| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:37:58:40 | this access | | -| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:37:58:43 | access to indexer | | -| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | | +| AccessorCalls.cs:58:9:58:45 | (..., ...) | AccessorCalls.cs:58:9:58:45 | After (..., ...) | | +| AccessorCalls.cs:58:9:58:45 | After (..., ...) | AccessorCalls.cs:58:49:58:85 | Before (..., ...) | | +| AccessorCalls.cs:58:9:58:45 | Before (..., ...) | AccessorCalls.cs:58:10:58:19 | Before access to field Field | | +| AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:58:9:58:85 | After ... = ... | | +| AccessorCalls.cs:58:9:58:85 | After ... = ... | AccessorCalls.cs:58:9:58:86 | After ...; | | +| AccessorCalls.cs:58:9:58:85 | Before ... = ... | AccessorCalls.cs:58:9:58:45 | Before (..., ...) | | +| AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:9:58:85 | Before ... = ... | | +| AccessorCalls.cs:58:9:58:86 | After ...; | AccessorCalls.cs:57:5:59:5 | After {...} | | +| AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:10:58:19 | access to field Field | | +| AccessorCalls.cs:58:10:58:19 | After access to field Field | AccessorCalls.cs:58:22:58:30 | Before access to property Prop | | +| AccessorCalls.cs:58:10:58:19 | Before access to field Field | AccessorCalls.cs:58:10:58:13 | this access | | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:10:58:19 | After access to field Field | | +| AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:22:58:30 | access to property Prop | | +| AccessorCalls.cs:58:22:58:30 | After access to property Prop | AccessorCalls.cs:58:33:58:44 | Before (..., ...) | | +| AccessorCalls.cs:58:22:58:30 | Before access to property Prop | AccessorCalls.cs:58:22:58:25 | this access | | +| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:22:58:30 | After access to property Prop | | +| AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:33:58:44 | After (..., ...) | | +| AccessorCalls.cs:58:33:58:44 | After (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | | +| AccessorCalls.cs:58:33:58:44 | Before (..., ...) | AccessorCalls.cs:58:34:58:34 | access to parameter i | | +| AccessorCalls.cs:58:34:58:34 | access to parameter i | AccessorCalls.cs:58:37:58:43 | Before access to indexer | | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:42:58:42 | 0 | | -| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:9:58:85 | ... = ... | | -| AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:33:58:44 | (..., ...) | | -| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:10:58:19 | access to field Field | | +| AccessorCalls.cs:58:37:58:43 | After access to indexer | AccessorCalls.cs:58:33:58:44 | (..., ...) | | +| AccessorCalls.cs:58:37:58:43 | Before access to indexer | AccessorCalls.cs:58:37:58:40 | this access | | +| AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:37:58:43 | After access to indexer | | +| AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:37:58:43 | access to indexer | | +| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:49:58:85 | After (..., ...) | | +| AccessorCalls.cs:58:49:58:85 | After (..., ...) | AccessorCalls.cs:58:9:58:85 | ... = ... | | +| AccessorCalls.cs:58:49:58:85 | Before (..., ...) | AccessorCalls.cs:58:50:58:59 | Before access to field Field | | | AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:59 | access to field Field | | -| AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:62:58:65 | this access | | +| AccessorCalls.cs:58:50:58:59 | After access to field Field | AccessorCalls.cs:58:62:58:70 | Before access to property Prop | | +| AccessorCalls.cs:58:50:58:59 | Before access to field Field | AccessorCalls.cs:58:50:58:53 | this access | | +| AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:50:58:59 | After access to field Field | | | AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:70 | access to property Prop | | -| AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:74:58:74 | 0 | | -| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | | -| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:77:58:80 | this access | | +| AccessorCalls.cs:58:62:58:70 | After access to property Prop | AccessorCalls.cs:58:73:58:84 | Before (..., ...) | | +| AccessorCalls.cs:58:62:58:70 | Before access to property Prop | AccessorCalls.cs:58:62:58:65 | this access | | +| AccessorCalls.cs:58:62:58:70 | access to property Prop | AccessorCalls.cs:58:62:58:70 | After access to property Prop | | +| AccessorCalls.cs:58:73:58:84 | (..., ...) | AccessorCalls.cs:58:73:58:84 | After (..., ...) | | +| AccessorCalls.cs:58:73:58:84 | After (..., ...) | AccessorCalls.cs:58:49:58:85 | (..., ...) | | +| AccessorCalls.cs:58:73:58:84 | Before (..., ...) | AccessorCalls.cs:58:74:58:74 | 0 | | +| AccessorCalls.cs:58:74:58:74 | 0 | AccessorCalls.cs:58:77:58:83 | Before access to indexer | | | AccessorCalls.cs:58:77:58:80 | this access | AccessorCalls.cs:58:82:58:82 | 1 | | -| AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:73:58:84 | (..., ...) | | +| AccessorCalls.cs:58:77:58:83 | After access to indexer | AccessorCalls.cs:58:73:58:84 | (..., ...) | | +| AccessorCalls.cs:58:77:58:83 | Before access to indexer | AccessorCalls.cs:58:77:58:80 | this access | | +| AccessorCalls.cs:58:77:58:83 | access to indexer | AccessorCalls.cs:58:77:58:83 | After access to indexer | | | AccessorCalls.cs:58:82:58:82 | 1 | AccessorCalls.cs:58:77:58:83 | access to indexer | | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:62:5:64:5 | {...} | | -| AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | AccessorCalls.cs:61:10:61:11 | exit M8 | | +| AccessorCalls.cs:61:10:61:11 | Entry | AccessorCalls.cs:62:5:64:5 | {...} | | +| AccessorCalls.cs:61:10:61:11 | Normal Exit | AccessorCalls.cs:61:10:61:11 | Exit | | +| AccessorCalls.cs:62:5:64:5 | After {...} | AccessorCalls.cs:61:10:61:11 | Normal Exit | | | AccessorCalls.cs:62:5:64:5 | {...} | AccessorCalls.cs:63:9:63:98 | ...; | | -| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:56:63:59 | this access | | -| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:61:10:61:11 | exit M8 (normal) | | -| AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:10:63:13 | this access | | +| AccessorCalls.cs:63:9:63:51 | (..., ...) | AccessorCalls.cs:63:9:63:51 | After (..., ...) | | +| AccessorCalls.cs:63:9:63:51 | After (..., ...) | AccessorCalls.cs:63:55:63:97 | Before (..., ...) | | +| AccessorCalls.cs:63:9:63:51 | Before (..., ...) | AccessorCalls.cs:63:10:63:21 | Before access to field Field | | +| AccessorCalls.cs:63:9:63:97 | ... = ... | AccessorCalls.cs:63:9:63:97 | After ... = ... | | +| AccessorCalls.cs:63:9:63:97 | After ... = ... | AccessorCalls.cs:63:9:63:98 | After ...; | | +| AccessorCalls.cs:63:9:63:97 | Before ... = ... | AccessorCalls.cs:63:9:63:51 | Before (..., ...) | | +| AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:9:63:97 | Before ... = ... | | +| AccessorCalls.cs:63:9:63:98 | After ...; | AccessorCalls.cs:62:5:64:5 | After {...} | | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | | -| AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | | -| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:24:63:34 | access to property Prop | | +| AccessorCalls.cs:63:10:63:15 | After access to field x | AccessorCalls.cs:63:10:63:21 | access to field Field | | +| AccessorCalls.cs:63:10:63:15 | Before access to field x | AccessorCalls.cs:63:10:63:13 | this access | | +| AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:10:63:15 | After access to field x | | +| AccessorCalls.cs:63:10:63:21 | After access to field Field | AccessorCalls.cs:63:24:63:34 | Before access to property Prop | | +| AccessorCalls.cs:63:10:63:21 | Before access to field Field | AccessorCalls.cs:63:10:63:15 | Before access to field x | | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:10:63:21 | After access to field Field | | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | | -| AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | | -| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:41:63:49 | access to indexer | | -| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | | +| AccessorCalls.cs:63:24:63:29 | After access to field x | AccessorCalls.cs:63:24:63:34 | access to property Prop | | +| AccessorCalls.cs:63:24:63:29 | Before access to field x | AccessorCalls.cs:63:24:63:27 | this access | | +| AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:24:63:29 | After access to field x | | +| AccessorCalls.cs:63:24:63:34 | After access to property Prop | AccessorCalls.cs:63:37:63:50 | Before (..., ...) | | +| AccessorCalls.cs:63:24:63:34 | Before access to property Prop | AccessorCalls.cs:63:24:63:29 | Before access to field x | | +| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:24:63:34 | After access to property Prop | | +| AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:37:63:50 | After (..., ...) | | +| AccessorCalls.cs:63:37:63:50 | After (..., ...) | AccessorCalls.cs:63:9:63:51 | (..., ...) | | +| AccessorCalls.cs:63:37:63:50 | Before (..., ...) | AccessorCalls.cs:63:38:63:38 | access to parameter i | | +| AccessorCalls.cs:63:38:63:38 | access to parameter i | AccessorCalls.cs:63:41:63:49 | Before access to indexer | | | AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:41:63:46 | access to field x | | -| AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:48:63:48 | 0 | | -| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:9:63:97 | ... = ... | | -| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:37:63:50 | (..., ...) | | -| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:10:63:21 | access to field Field | | +| AccessorCalls.cs:63:41:63:46 | After access to field x | AccessorCalls.cs:63:48:63:48 | 0 | | +| AccessorCalls.cs:63:41:63:46 | Before access to field x | AccessorCalls.cs:63:41:63:44 | this access | | +| AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:41:63:46 | After access to field x | | +| AccessorCalls.cs:63:41:63:49 | After access to indexer | AccessorCalls.cs:63:37:63:50 | (..., ...) | | +| AccessorCalls.cs:63:41:63:49 | Before access to indexer | AccessorCalls.cs:63:41:63:46 | Before access to field x | | +| AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:41:63:49 | After access to indexer | | +| AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:41:63:49 | access to indexer | | +| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:55:63:97 | After (..., ...) | | +| AccessorCalls.cs:63:55:63:97 | After (..., ...) | AccessorCalls.cs:63:9:63:97 | ... = ... | | +| AccessorCalls.cs:63:55:63:97 | Before (..., ...) | AccessorCalls.cs:63:56:63:67 | Before access to field Field | | | AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:61 | access to field x | | -| AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | | -| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:70:63:73 | this access | | +| AccessorCalls.cs:63:56:63:61 | After access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | | +| AccessorCalls.cs:63:56:63:61 | Before access to field x | AccessorCalls.cs:63:56:63:59 | this access | | +| AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:61 | After access to field x | | +| AccessorCalls.cs:63:56:63:67 | After access to field Field | AccessorCalls.cs:63:70:63:80 | Before access to property Prop | | +| AccessorCalls.cs:63:56:63:67 | Before access to field Field | AccessorCalls.cs:63:56:63:61 | Before access to field x | | +| AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:56:63:67 | After access to field Field | | | AccessorCalls.cs:63:70:63:73 | this access | AccessorCalls.cs:63:70:63:75 | access to field x | | -| AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:80 | access to property Prop | | -| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:84:63:84 | 0 | | -| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | | -| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:87:63:90 | this access | | +| AccessorCalls.cs:63:70:63:75 | After access to field x | AccessorCalls.cs:63:70:63:80 | access to property Prop | | +| AccessorCalls.cs:63:70:63:75 | Before access to field x | AccessorCalls.cs:63:70:63:73 | this access | | +| AccessorCalls.cs:63:70:63:75 | access to field x | AccessorCalls.cs:63:70:63:75 | After access to field x | | +| AccessorCalls.cs:63:70:63:80 | After access to property Prop | AccessorCalls.cs:63:83:63:96 | Before (..., ...) | | +| AccessorCalls.cs:63:70:63:80 | Before access to property Prop | AccessorCalls.cs:63:70:63:75 | Before access to field x | | +| AccessorCalls.cs:63:70:63:80 | access to property Prop | AccessorCalls.cs:63:70:63:80 | After access to property Prop | | +| AccessorCalls.cs:63:83:63:96 | (..., ...) | AccessorCalls.cs:63:83:63:96 | After (..., ...) | | +| AccessorCalls.cs:63:83:63:96 | After (..., ...) | AccessorCalls.cs:63:55:63:97 | (..., ...) | | +| AccessorCalls.cs:63:83:63:96 | Before (..., ...) | AccessorCalls.cs:63:84:63:84 | 0 | | +| AccessorCalls.cs:63:84:63:84 | 0 | AccessorCalls.cs:63:87:63:95 | Before access to indexer | | | AccessorCalls.cs:63:87:63:90 | this access | AccessorCalls.cs:63:87:63:92 | access to field x | | -| AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:94:63:94 | 1 | | -| AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:83:63:96 | (..., ...) | | +| AccessorCalls.cs:63:87:63:92 | After access to field x | AccessorCalls.cs:63:94:63:94 | 1 | | +| AccessorCalls.cs:63:87:63:92 | Before access to field x | AccessorCalls.cs:63:87:63:90 | this access | | +| AccessorCalls.cs:63:87:63:92 | access to field x | AccessorCalls.cs:63:87:63:92 | After access to field x | | +| AccessorCalls.cs:63:87:63:95 | After access to indexer | AccessorCalls.cs:63:83:63:96 | (..., ...) | | +| AccessorCalls.cs:63:87:63:95 | Before access to indexer | AccessorCalls.cs:63:87:63:92 | Before access to field x | | +| AccessorCalls.cs:63:87:63:95 | access to indexer | AccessorCalls.cs:63:87:63:95 | After access to indexer | | | AccessorCalls.cs:63:94:63:94 | 1 | AccessorCalls.cs:63:87:63:95 | access to indexer | | -| AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:67:5:74:5 | {...} | | -| AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | AccessorCalls.cs:66:10:66:11 | exit M9 | | +| AccessorCalls.cs:66:10:66:11 | Entry | AccessorCalls.cs:67:5:74:5 | {...} | | +| AccessorCalls.cs:66:10:66:11 | Normal Exit | AccessorCalls.cs:66:10:66:11 | Exit | | +| AccessorCalls.cs:67:5:74:5 | After {...} | AccessorCalls.cs:66:10:66:11 | Normal Exit | | | AccessorCalls.cs:67:5:74:5 | {...} | AccessorCalls.cs:68:9:68:22 | ... ...; | | -| AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:21:68:21 | access to parameter o | | -| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:69:9:69:36 | ...; | | +| AccessorCalls.cs:68:9:68:22 | ... ...; | AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | | +| AccessorCalls.cs:68:9:68:22 | After ... ...; | AccessorCalls.cs:69:9:69:36 | ...; | | +| AccessorCalls.cs:68:17:68:17 | access to local variable d | AccessorCalls.cs:68:21:68:21 | access to parameter o | | +| AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | AccessorCalls.cs:68:9:68:22 | After ... ...; | | +| AccessorCalls.cs:68:17:68:21 | Before dynamic d = ... | AccessorCalls.cs:68:17:68:17 | access to local variable d | | +| AccessorCalls.cs:68:17:68:21 | dynamic d = ... | AccessorCalls.cs:68:17:68:21 | After dynamic d = ... | | | AccessorCalls.cs:68:21:68:21 | access to parameter o | AccessorCalls.cs:68:17:68:21 | dynamic d = ... | | -| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:24:69:24 | access to local variable d | | -| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:35 | ... = ... | | -| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:70:9:70:22 | ...; | | -| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:69:9:69:9 | access to local variable d | | +| AccessorCalls.cs:69:9:69:9 | access to local variable d | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | | +| AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:9 | access to local variable d | | +| AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | AccessorCalls.cs:69:9:69:20 | After dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:69:9:69:35 | ... = ... | AccessorCalls.cs:69:9:69:35 | After ... = ... | | +| AccessorCalls.cs:69:9:69:35 | After ... = ... | AccessorCalls.cs:69:9:69:36 | After ...; | | +| AccessorCalls.cs:69:9:69:35 | Before ... = ... | AccessorCalls.cs:69:9:69:20 | Before dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:69:9:69:36 | ...; | AccessorCalls.cs:69:9:69:35 | Before ... = ... | | +| AccessorCalls.cs:69:9:69:36 | After ...; | AccessorCalls.cs:70:9:70:22 | ...; | | | AccessorCalls.cs:69:24:69:24 | access to local variable d | AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | | -| AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:9:69:20 | dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | AccessorCalls.cs:69:9:69:35 | ... = ... | | +| AccessorCalls.cs:69:24:69:35 | Before dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:24 | access to local variable d | | +| AccessorCalls.cs:69:24:69:35 | dynamic access to member MaybeProp2 | AccessorCalls.cs:69:24:69:35 | After dynamic access to member MaybeProp2 | | | AccessorCalls.cs:70:9:70:9 | access to local variable d | AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | | -| AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | | -| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:71:9:71:26 | ...; | | -| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:70:9:70:9 | access to local variable d | | +| AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | | +| AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:9 | access to local variable d | | +| AccessorCalls.cs:70:9:70:19 | dynamic access to member MaybeProp | AccessorCalls.cs:70:9:70:19 | After dynamic access to member MaybeProp | | +| AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | AccessorCalls.cs:70:9:70:22 | After ...; | | +| AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | AccessorCalls.cs:70:9:70:19 | Before dynamic access to member MaybeProp | | +| AccessorCalls.cs:70:9:70:21 | dynamic call to operator ++ | AccessorCalls.cs:70:9:70:21 | After dynamic call to operator ++ | | +| AccessorCalls.cs:70:9:70:22 | ...; | AccessorCalls.cs:70:9:70:21 | Before dynamic call to operator ++ | | +| AccessorCalls.cs:70:9:70:22 | After ...; | AccessorCalls.cs:71:9:71:26 | ...; | | | AccessorCalls.cs:71:9:71:9 | access to local variable d | AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | | -| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:25:71:25 | access to parameter e | | -| AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:72:9:72:21 | ...; | | -| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:71:9:71:9 | access to local variable d | | +| AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | AccessorCalls.cs:71:25:71:25 | access to parameter e | | +| AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:9 | access to local variable d | | +| AccessorCalls.cs:71:9:71:20 | dynamic access to member MaybeEvent | AccessorCalls.cs:71:9:71:20 | After dynamic access to member MaybeEvent | | +| AccessorCalls.cs:71:9:71:25 | ... += ... | AccessorCalls.cs:71:9:71:25 | After ... += ... | | +| AccessorCalls.cs:71:9:71:25 | After ... += ... | AccessorCalls.cs:71:9:71:26 | After ...; | | +| AccessorCalls.cs:71:9:71:25 | Before ... += ... | AccessorCalls.cs:71:9:71:20 | Before dynamic access to member MaybeEvent | | +| AccessorCalls.cs:71:9:71:26 | ...; | AccessorCalls.cs:71:9:71:25 | Before ... += ... | | +| AccessorCalls.cs:71:9:71:26 | After ...; | AccessorCalls.cs:72:9:72:21 | ...; | | | AccessorCalls.cs:71:25:71:25 | access to parameter e | AccessorCalls.cs:71:9:71:25 | ... += ... | | | AccessorCalls.cs:72:9:72:9 | access to local variable d | AccessorCalls.cs:72:11:72:11 | 0 | | -| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:17:72:17 | access to local variable d | | -| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:73:9:73:84 | ...; | | -| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:72:9:72:9 | access to local variable d | | +| AccessorCalls.cs:72:9:72:12 | After dynamic access to element | AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | | +| AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | AccessorCalls.cs:72:9:72:9 | access to local variable d | | +| AccessorCalls.cs:72:9:72:12 | dynamic access to element | AccessorCalls.cs:72:9:72:12 | After dynamic access to element | | +| AccessorCalls.cs:72:9:72:20 | ... += ... | AccessorCalls.cs:72:9:72:20 | After ... += ... | | +| AccessorCalls.cs:72:9:72:20 | After ... += ... | AccessorCalls.cs:72:9:72:21 | After ...; | | +| AccessorCalls.cs:72:9:72:20 | Before ... += ... | AccessorCalls.cs:72:9:72:12 | Before dynamic access to element | | +| AccessorCalls.cs:72:9:72:21 | ...; | AccessorCalls.cs:72:9:72:20 | Before ... += ... | | +| AccessorCalls.cs:72:9:72:21 | After ...; | AccessorCalls.cs:73:9:73:84 | ...; | | | AccessorCalls.cs:72:11:72:11 | 0 | AccessorCalls.cs:72:9:72:12 | dynamic access to element | | | AccessorCalls.cs:72:17:72:17 | access to local variable d | AccessorCalls.cs:72:19:72:19 | 1 | | -| AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:9:72:20 | ... += ... | | +| AccessorCalls.cs:72:17:72:20 | After dynamic access to element | AccessorCalls.cs:72:9:72:20 | ... += ... | | +| AccessorCalls.cs:72:17:72:20 | Before dynamic access to element | AccessorCalls.cs:72:17:72:17 | access to local variable d | | +| AccessorCalls.cs:72:17:72:20 | dynamic access to element | AccessorCalls.cs:72:17:72:20 | After dynamic access to element | | | AccessorCalls.cs:72:19:72:19 | 1 | AccessorCalls.cs:72:17:72:20 | dynamic access to element | | -| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:49:73:49 | access to local variable d | | -| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:66:10:66:11 | exit M9 (normal) | | -| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:73:10:73:10 | access to local variable d | | -| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:24:73:27 | this access | | -| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:24:73:32 | access to property Prop | | -| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:39:73:39 | access to local variable d | | -| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:39:73:42 | dynamic access to element | | -| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | | +| AccessorCalls.cs:73:9:73:44 | (..., ...) | AccessorCalls.cs:73:9:73:44 | After (..., ...) | | +| AccessorCalls.cs:73:9:73:44 | After (..., ...) | AccessorCalls.cs:73:48:73:83 | Before (..., ...) | | +| AccessorCalls.cs:73:9:73:44 | Before (..., ...) | AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:73:9:73:83 | ... = ... | AccessorCalls.cs:73:9:73:83 | After ... = ... | | +| AccessorCalls.cs:73:9:73:83 | After ... = ... | AccessorCalls.cs:73:9:73:84 | After ...; | | +| AccessorCalls.cs:73:9:73:83 | Before ... = ... | AccessorCalls.cs:73:9:73:44 | Before (..., ...) | | +| AccessorCalls.cs:73:9:73:84 | ...; | AccessorCalls.cs:73:9:73:83 | Before ... = ... | | +| AccessorCalls.cs:73:9:73:84 | After ...; | AccessorCalls.cs:67:5:74:5 | After {...} | | +| AccessorCalls.cs:73:10:73:10 | access to local variable d | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:73:24:73:32 | Before access to property Prop | | +| AccessorCalls.cs:73:10:73:21 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:10 | access to local variable d | | +| AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:10:73:21 | After dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:73:24:73:27 | this access | AccessorCalls.cs:73:24:73:32 | access to property Prop | | +| AccessorCalls.cs:73:24:73:32 | After access to property Prop | AccessorCalls.cs:73:35:73:43 | Before (..., ...) | | +| AccessorCalls.cs:73:24:73:32 | Before access to property Prop | AccessorCalls.cs:73:24:73:27 | this access | | +| AccessorCalls.cs:73:24:73:32 | access to property Prop | AccessorCalls.cs:73:24:73:32 | After access to property Prop | | +| AccessorCalls.cs:73:35:73:43 | (..., ...) | AccessorCalls.cs:73:35:73:43 | After (..., ...) | | +| AccessorCalls.cs:73:35:73:43 | After (..., ...) | AccessorCalls.cs:73:9:73:44 | (..., ...) | | +| AccessorCalls.cs:73:35:73:43 | Before (..., ...) | AccessorCalls.cs:73:36:73:36 | access to parameter i | | +| AccessorCalls.cs:73:36:73:36 | access to parameter i | AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | | | AccessorCalls.cs:73:39:73:39 | access to local variable d | AccessorCalls.cs:73:41:73:41 | 0 | | -| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:9:73:83 | ... = ... | | -| AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:35:73:43 | (..., ...) | | -| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:10:73:21 | dynamic access to member MaybeProp1 | | +| AccessorCalls.cs:73:39:73:42 | After dynamic access to element | AccessorCalls.cs:73:35:73:43 | (..., ...) | | +| AccessorCalls.cs:73:39:73:42 | Before dynamic access to element | AccessorCalls.cs:73:39:73:39 | access to local variable d | | +| AccessorCalls.cs:73:39:73:42 | dynamic access to element | AccessorCalls.cs:73:39:73:42 | After dynamic access to element | | +| AccessorCalls.cs:73:41:73:41 | 0 | AccessorCalls.cs:73:39:73:42 | dynamic access to element | | +| AccessorCalls.cs:73:48:73:83 | (..., ...) | AccessorCalls.cs:73:48:73:83 | After (..., ...) | | +| AccessorCalls.cs:73:48:73:83 | After (..., ...) | AccessorCalls.cs:73:9:73:83 | ... = ... | | +| AccessorCalls.cs:73:48:73:83 | Before (..., ...) | AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | | | AccessorCalls.cs:73:49:73:49 | access to local variable d | AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | | -| AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:63:73:66 | this access | | +| AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | AccessorCalls.cs:73:63:73:71 | Before access to property Prop | | +| AccessorCalls.cs:73:49:73:60 | Before dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:49 | access to local variable d | | +| AccessorCalls.cs:73:49:73:60 | dynamic access to member MaybeProp1 | AccessorCalls.cs:73:49:73:60 | After dynamic access to member MaybeProp1 | | | AccessorCalls.cs:73:63:73:66 | this access | AccessorCalls.cs:73:63:73:71 | access to property Prop | | -| AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:75:73:75 | 0 | | -| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | | -| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:78:73:78 | access to local variable d | | +| AccessorCalls.cs:73:63:73:71 | After access to property Prop | AccessorCalls.cs:73:74:73:82 | Before (..., ...) | | +| AccessorCalls.cs:73:63:73:71 | Before access to property Prop | AccessorCalls.cs:73:63:73:66 | this access | | +| AccessorCalls.cs:73:63:73:71 | access to property Prop | AccessorCalls.cs:73:63:73:71 | After access to property Prop | | +| AccessorCalls.cs:73:74:73:82 | (..., ...) | AccessorCalls.cs:73:74:73:82 | After (..., ...) | | +| AccessorCalls.cs:73:74:73:82 | After (..., ...) | AccessorCalls.cs:73:48:73:83 | (..., ...) | | +| AccessorCalls.cs:73:74:73:82 | Before (..., ...) | AccessorCalls.cs:73:75:73:75 | 0 | | +| AccessorCalls.cs:73:75:73:75 | 0 | AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | | | AccessorCalls.cs:73:78:73:78 | access to local variable d | AccessorCalls.cs:73:80:73:80 | 1 | | -| AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:74:73:82 | (..., ...) | | +| AccessorCalls.cs:73:78:73:81 | After dynamic access to element | AccessorCalls.cs:73:74:73:82 | (..., ...) | | +| AccessorCalls.cs:73:78:73:81 | Before dynamic access to element | AccessorCalls.cs:73:78:73:78 | access to local variable d | | +| AccessorCalls.cs:73:78:73:81 | dynamic access to element | AccessorCalls.cs:73:78:73:81 | After dynamic access to element | | | AccessorCalls.cs:73:80:73:80 | 1 | AccessorCalls.cs:73:78:73:81 | dynamic access to element | | -| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | {...} | | -| ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | call to constructor Object | | -| ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | this access | | -| ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation | | +| ArrayCreation.cs:1:7:1:19 | After call to constructor Object | ArrayCreation.cs:1:7:1:19 | {...} | | +| ArrayCreation.cs:1:7:1:19 | After call to method | ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | | +| ArrayCreation.cs:1:7:1:19 | Before call to constructor Object | ArrayCreation.cs:1:7:1:19 | call to constructor Object | | +| ArrayCreation.cs:1:7:1:19 | Before call to method | ArrayCreation.cs:1:7:1:19 | this access | | +| ArrayCreation.cs:1:7:1:19 | Entry | ArrayCreation.cs:1:7:1:19 | Before call to method | | +| ArrayCreation.cs:1:7:1:19 | Normal Exit | ArrayCreation.cs:1:7:1:19 | Exit | | +| ArrayCreation.cs:1:7:1:19 | call to constructor Object | ArrayCreation.cs:1:7:1:19 | After call to constructor Object | | +| ArrayCreation.cs:1:7:1:19 | call to method | ArrayCreation.cs:1:7:1:19 | After call to method | | | ArrayCreation.cs:1:7:1:19 | this access | ArrayCreation.cs:1:7:1:19 | call to method | | -| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation (normal) | | -| ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:27:3:27 | 0 | | -| ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | ArrayCreation.cs:3:11:3:12 | exit M1 | | -| ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | exit M1 (normal) | | +| ArrayCreation.cs:1:7:1:19 | {...} | ArrayCreation.cs:1:7:1:19 | Normal Exit | | +| ArrayCreation.cs:3:11:3:12 | Entry | ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | | +| ArrayCreation.cs:3:11:3:12 | Normal Exit | ArrayCreation.cs:3:11:3:12 | Exit | | +| ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | ArrayCreation.cs:3:11:3:12 | Normal Exit | | +| ArrayCreation.cs:3:19:3:28 | Before array creation of type Int32[] | ArrayCreation.cs:3:27:3:27 | 0 | | +| ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | ArrayCreation.cs:3:19:3:28 | After array creation of type Int32[] | | | ArrayCreation.cs:3:27:3:27 | 0 | ArrayCreation.cs:3:19:3:28 | array creation of type Int32[] | | -| ArrayCreation.cs:5:12:5:13 | enter M2 | ArrayCreation.cs:5:28:5:28 | 0 | | -| ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | ArrayCreation.cs:5:12:5:13 | exit M2 | | -| ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | exit M2 (normal) | | +| ArrayCreation.cs:5:12:5:13 | Entry | ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | | +| ArrayCreation.cs:5:12:5:13 | Normal Exit | ArrayCreation.cs:5:12:5:13 | Exit | | +| ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | ArrayCreation.cs:5:12:5:13 | Normal Exit | | +| ArrayCreation.cs:5:20:5:32 | Before array creation of type Int32[,] | ArrayCreation.cs:5:28:5:28 | 0 | | +| ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | ArrayCreation.cs:5:20:5:32 | After array creation of type Int32[,] | | | ArrayCreation.cs:5:28:5:28 | 0 | ArrayCreation.cs:5:31:5:31 | 1 | | | ArrayCreation.cs:5:31:5:31 | 1 | ArrayCreation.cs:5:20:5:32 | array creation of type Int32[,] | | -| ArrayCreation.cs:7:11:7:12 | enter M3 | ArrayCreation.cs:7:19:7:36 | 2 | | -| ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | ArrayCreation.cs:7:11:7:12 | exit M3 | | +| ArrayCreation.cs:7:11:7:12 | Entry | ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | | +| ArrayCreation.cs:7:11:7:12 | Normal Exit | ArrayCreation.cs:7:11:7:12 | Exit | | | ArrayCreation.cs:7:19:7:36 | 2 | ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | | -| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:31:7:31 | 0 | | -| ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:11:7:12 | exit M3 (normal) | | +| ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | ArrayCreation.cs:7:11:7:12 | Normal Exit | | +| ArrayCreation.cs:7:19:7:36 | Before array creation of type Int32[] | ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | | +| ArrayCreation.cs:7:19:7:36 | array creation of type Int32[] | ArrayCreation.cs:7:19:7:36 | After array creation of type Int32[] | | +| ArrayCreation.cs:7:29:7:36 | After { ..., ... } | ArrayCreation.cs:7:19:7:36 | 2 | | +| ArrayCreation.cs:7:29:7:36 | Before { ..., ... } | ArrayCreation.cs:7:31:7:31 | 0 | | +| ArrayCreation.cs:7:29:7:36 | { ..., ... } | ArrayCreation.cs:7:29:7:36 | After { ..., ... } | | | ArrayCreation.cs:7:31:7:31 | 0 | ArrayCreation.cs:7:34:7:34 | 1 | | | ArrayCreation.cs:7:34:7:34 | 1 | ArrayCreation.cs:7:29:7:36 | { ..., ... } | | -| ArrayCreation.cs:9:12:9:13 | enter M4 | ArrayCreation.cs:9:20:9:52 | 2 | | -| ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | ArrayCreation.cs:9:12:9:13 | exit M4 | | +| ArrayCreation.cs:9:12:9:13 | Entry | ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | | +| ArrayCreation.cs:9:12:9:13 | Normal Exit | ArrayCreation.cs:9:12:9:13 | Exit | | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | 2 | | | ArrayCreation.cs:9:20:9:52 | 2 | ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | | -| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:35:9:35 | 0 | | -| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:12:9:13 | exit M4 (normal) | | -| ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:45:9:45 | 2 | | +| ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | ArrayCreation.cs:9:12:9:13 | Normal Exit | | +| ArrayCreation.cs:9:20:9:52 | Before array creation of type Int32[,] | ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | | +| ArrayCreation.cs:9:20:9:52 | array creation of type Int32[,] | ArrayCreation.cs:9:20:9:52 | After array creation of type Int32[,] | | +| ArrayCreation.cs:9:31:9:52 | After { ..., ... } | ArrayCreation.cs:9:20:9:52 | 2 | | +| ArrayCreation.cs:9:31:9:52 | Before { ..., ... } | ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | | +| ArrayCreation.cs:9:31:9:52 | { ..., ... } | ArrayCreation.cs:9:31:9:52 | After { ..., ... } | | +| ArrayCreation.cs:9:33:9:40 | After { ..., ... } | ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | | +| ArrayCreation.cs:9:33:9:40 | Before { ..., ... } | ArrayCreation.cs:9:35:9:35 | 0 | | +| ArrayCreation.cs:9:33:9:40 | { ..., ... } | ArrayCreation.cs:9:33:9:40 | After { ..., ... } | | | ArrayCreation.cs:9:35:9:35 | 0 | ArrayCreation.cs:9:38:9:38 | 1 | | | ArrayCreation.cs:9:38:9:38 | 1 | ArrayCreation.cs:9:33:9:40 | { ..., ... } | | -| ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | | +| ArrayCreation.cs:9:43:9:50 | After { ..., ... } | ArrayCreation.cs:9:31:9:52 | { ..., ... } | | +| ArrayCreation.cs:9:43:9:50 | Before { ..., ... } | ArrayCreation.cs:9:45:9:45 | 2 | | +| ArrayCreation.cs:9:43:9:50 | { ..., ... } | ArrayCreation.cs:9:43:9:50 | After { ..., ... } | | | ArrayCreation.cs:9:45:9:45 | 2 | ArrayCreation.cs:9:48:9:48 | 3 | | | ArrayCreation.cs:9:48:9:48 | 3 | ArrayCreation.cs:9:43:9:50 | { ..., ... } | | -| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | {...} | | -| Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | call to constructor Object | | -| Assert.cs:5:7:5:17 | enter AssertTests | Assert.cs:5:7:5:17 | this access | | -| Assert.cs:5:7:5:17 | exit AssertTests (normal) | Assert.cs:5:7:5:17 | exit AssertTests | | +| Assert.cs:5:7:5:17 | After call to constructor Object | Assert.cs:5:7:5:17 | {...} | | +| Assert.cs:5:7:5:17 | After call to method | Assert.cs:5:7:5:17 | Before call to constructor Object | | +| Assert.cs:5:7:5:17 | Before call to constructor Object | Assert.cs:5:7:5:17 | call to constructor Object | | +| Assert.cs:5:7:5:17 | Before call to method | Assert.cs:5:7:5:17 | this access | | +| Assert.cs:5:7:5:17 | Entry | Assert.cs:5:7:5:17 | Before call to method | | +| Assert.cs:5:7:5:17 | Normal Exit | Assert.cs:5:7:5:17 | Exit | | +| Assert.cs:5:7:5:17 | call to constructor Object | Assert.cs:5:7:5:17 | After call to constructor Object | | +| Assert.cs:5:7:5:17 | call to method | Assert.cs:5:7:5:17 | After call to method | | | Assert.cs:5:7:5:17 | this access | Assert.cs:5:7:5:17 | call to method | | -| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | exit AssertTests (normal) | | -| Assert.cs:7:10:7:11 | enter M1 | Assert.cs:8:5:12:5 | {...} | | -| Assert.cs:7:10:7:11 | exit M1 (abnormal) | Assert.cs:7:10:7:11 | exit M1 | | -| Assert.cs:7:10:7:11 | exit M1 (normal) | Assert.cs:7:10:7:11 | exit M1 | | +| Assert.cs:5:7:5:17 | {...} | Assert.cs:5:7:5:17 | Normal Exit | | +| Assert.cs:7:10:7:11 | Entry | Assert.cs:8:5:12:5 | {...} | | +| Assert.cs:7:10:7:11 | Exceptional Exit | Assert.cs:7:10:7:11 | Exit | | +| Assert.cs:7:10:7:11 | Normal Exit | Assert.cs:7:10:7:11 | Exit | | +| Assert.cs:8:5:12:5 | After {...} | Assert.cs:7:10:7:11 | Normal Exit | | | Assert.cs:8:5:12:5 | {...} | Assert.cs:9:9:9:33 | ... ...; | | -| Assert.cs:9:9:9:33 | ... ...; | Assert.cs:9:20:9:20 | access to parameter b | | -| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:10:9:10:32 | ...; | | -| 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: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 | 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:9:9:9:33 | ... ...; | Assert.cs:9:16:9:32 | Before String s = ... | | +| Assert.cs:9:9:9:33 | After ... ...; | Assert.cs:10:9:10:32 | ...; | | +| Assert.cs:9:16:9:16 | access to local variable s | Assert.cs:9:20:9:32 | ... ? ... : ... | | +| Assert.cs:9:16:9:32 | After String s = ... | Assert.cs:9:9:9:33 | After ... ...; | | +| Assert.cs:9:16:9:32 | Before String s = ... | Assert.cs:9:16:9:16 | access to local variable s | | +| Assert.cs:9:16:9:32 | String s = ... | Assert.cs:9:16:9:32 | After String s = ... | | +| Assert.cs:9:20:9:20 | After access to parameter b [false] | Assert.cs:9:31:9:32 | "" | | +| Assert.cs:9:20:9:20 | After access to parameter b [true] | Assert.cs:9:24:9:27 | null | | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | After access to parameter b [false] | false | +| Assert.cs:9:20:9:20 | access to parameter b | Assert.cs:9:20:9:20 | After access to parameter b [true] | true | +| Assert.cs:9:20:9:32 | ... ? ... : ... | Assert.cs:9:20:9:20 | access to parameter b | | +| Assert.cs:9:20:9:32 | After ... ? ... : ... | Assert.cs:9:16:9:32 | String s = ... | | +| Assert.cs:9:24:9:27 | null | Assert.cs:9:20:9:32 | After ... ? ... : ... | | +| Assert.cs:9:31:9:32 | "" | Assert.cs:9:20:9:32 | After ... ? ... : ... | | +| Assert.cs:10:9:10:31 | After call to method Assert | Assert.cs:10:9:10:32 | After ...; | | +| Assert.cs:10:9:10:31 | Before call to method Assert | Assert.cs:10:22:10:30 | Before ... != ... | | +| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:7:10:7:11 | Exceptional Exit | exception | +| Assert.cs:10:9:10:31 | call to method Assert | Assert.cs:10:9:10:31 | After call to method Assert | | +| Assert.cs:10:9:10:32 | ...; | Assert.cs:10:9:10:31 | Before call to method Assert | | +| Assert.cs:10:9:10:32 | After ...; | Assert.cs:11:9:11:36 | ...; | | | 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 | call to method Assert | | +| Assert.cs:10:22:10:30 | ... != ... | Assert.cs:10:22:10:30 | After ... != ... | | +| Assert.cs:10:22:10:30 | After ... != ... | Assert.cs:10:9:10:31 | call to method Assert | | +| Assert.cs:10:22:10:30 | Before ... != ... | 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: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 | | +| Assert.cs:11:9:11:35 | After call to method WriteLine | Assert.cs:11:9:11:36 | After ...; | | +| Assert.cs:11:9:11:35 | Before call to method WriteLine | Assert.cs:11:27:11:34 | Before access to property Length | | +| Assert.cs:11:9:11:35 | call to method WriteLine | Assert.cs:11:9:11:35 | After call to method WriteLine | | +| Assert.cs:11:9:11:36 | ...; | Assert.cs:11:9:11:35 | Before call to method WriteLine | | +| Assert.cs:11:9:11:36 | After ...; | Assert.cs:8:5:12:5 | After {...} | | | Assert.cs:11:27:11:27 | access to local variable s | Assert.cs:11:27:11:34 | access to property Length | | -| Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:9:11:35 | call to method WriteLine | | -| Assert.cs:14:10:14:11 | enter M2 | Assert.cs:15:5:19:5 | {...} | | -| Assert.cs:14:10:14:11 | exit M2 (abnormal) | Assert.cs:14:10:14:11 | exit M2 | | -| Assert.cs:14:10:14:11 | exit M2 (normal) | Assert.cs:14:10:14:11 | exit M2 | | +| Assert.cs:11:27:11:34 | After access to property Length | Assert.cs:11:9:11:35 | call to method WriteLine | | +| Assert.cs:11:27:11:34 | Before access to property Length | Assert.cs:11:27:11:27 | access to local variable s | | +| Assert.cs:11:27:11:34 | access to property Length | Assert.cs:11:27:11:34 | After access to property Length | | +| Assert.cs:14:10:14:11 | Entry | Assert.cs:15:5:19:5 | {...} | | +| Assert.cs:14:10:14:11 | Exceptional Exit | Assert.cs:14:10:14:11 | Exit | | +| Assert.cs:14:10:14:11 | Normal Exit | Assert.cs:14:10:14:11 | Exit | | +| Assert.cs:15:5:19:5 | After {...} | Assert.cs:14:10:14:11 | Normal Exit | | | Assert.cs:15:5:19:5 | {...} | Assert.cs:16:9:16:33 | ... ...; | | -| Assert.cs:16:9:16:33 | ... ...; | Assert.cs:16:20:16:20 | access to parameter b | | -| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:17:9:17:25 | ...; | | -| 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: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 | 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:16:9:16:33 | ... ...; | Assert.cs:16:16:16:32 | Before String s = ... | | +| Assert.cs:16:9:16:33 | After ... ...; | Assert.cs:17:9:17:25 | ...; | | +| Assert.cs:16:16:16:16 | access to local variable s | Assert.cs:16:20:16:32 | ... ? ... : ... | | +| Assert.cs:16:16:16:32 | After String s = ... | Assert.cs:16:9:16:33 | After ... ...; | | +| Assert.cs:16:16:16:32 | Before String s = ... | Assert.cs:16:16:16:16 | access to local variable s | | +| Assert.cs:16:16:16:32 | String s = ... | Assert.cs:16:16:16:32 | After String s = ... | | +| Assert.cs:16:20:16:20 | After access to parameter b [false] | Assert.cs:16:31:16:32 | "" | | +| Assert.cs:16:20:16:20 | After access to parameter b [true] | Assert.cs:16:24:16:27 | null | | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | After access to parameter b [false] | false | +| Assert.cs:16:20:16:20 | access to parameter b | Assert.cs:16:20:16:20 | After access to parameter b [true] | true | +| Assert.cs:16:20:16:32 | ... ? ... : ... | Assert.cs:16:20:16:20 | access to parameter b | | +| Assert.cs:16:20:16:32 | After ... ? ... : ... | Assert.cs:16:16:16:32 | String s = ... | | +| Assert.cs:16:24:16:27 | null | Assert.cs:16:20:16:32 | After ... ? ... : ... | | +| Assert.cs:16:31:16:32 | "" | Assert.cs:16:20:16:32 | After ... ? ... : ... | | +| Assert.cs:17:9:17:24 | After call to method IsNull | Assert.cs:17:9:17:25 | After ...; | | +| Assert.cs:17:9:17:24 | Before 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:14:10:14:11 | Exceptional Exit | exception | +| Assert.cs:17:9:17:24 | call to method IsNull | Assert.cs:17:9:17:24 | After call to method IsNull | | +| Assert.cs:17:9:17:25 | ...; | Assert.cs:17:9:17:24 | Before call to method IsNull | | +| Assert.cs:17:9:17:25 | After ...; | Assert.cs:18:9:18:36 | ...; | | | 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:9:18:35 | After call to method WriteLine | Assert.cs:18:9:18:36 | After ...; | | +| Assert.cs:18:9:18:35 | Before call to method WriteLine | Assert.cs:18:27:18:34 | Before access to property Length | | +| Assert.cs:18:9:18:35 | call to method WriteLine | Assert.cs:18:9:18:35 | After call to method WriteLine | | +| Assert.cs:18:9:18:36 | ...; | Assert.cs:18:9:18:35 | Before call to method WriteLine | | +| Assert.cs:18:9:18:36 | After ...; | Assert.cs:15:5:19:5 | After {...} | | | Assert.cs:18:27:18:27 | access to local variable s | Assert.cs:18:27:18:34 | access to property Length | | -| Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:9:18:35 | call to method WriteLine | | -| Assert.cs:21:10:21:11 | enter M3 | Assert.cs:22:5:26:5 | {...} | | -| Assert.cs:21:10:21:11 | exit M3 (abnormal) | Assert.cs:21:10:21:11 | exit M3 | | -| Assert.cs:21:10:21:11 | exit M3 (normal) | Assert.cs:21:10:21:11 | exit M3 | | +| Assert.cs:18:27:18:34 | After access to property Length | Assert.cs:18:9:18:35 | call to method WriteLine | | +| Assert.cs:18:27:18:34 | Before access to property Length | Assert.cs:18:27:18:27 | access to local variable s | | +| Assert.cs:18:27:18:34 | access to property Length | Assert.cs:18:27:18:34 | After access to property Length | | +| Assert.cs:21:10:21:11 | Entry | Assert.cs:22:5:26:5 | {...} | | +| Assert.cs:21:10:21:11 | Exceptional Exit | Assert.cs:21:10:21:11 | Exit | | +| Assert.cs:21:10:21:11 | Normal Exit | Assert.cs:21:10:21:11 | Exit | | +| Assert.cs:22:5:26:5 | After {...} | Assert.cs:21:10:21:11 | Normal Exit | | | Assert.cs:22:5:26:5 | {...} | Assert.cs:23:9:23:33 | ... ...; | | -| Assert.cs:23:9:23:33 | ... ...; | Assert.cs:23:20:23:20 | access to parameter b | | -| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:24:9:24:28 | ...; | | -| 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: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 | 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:23:9:23:33 | ... ...; | Assert.cs:23:16:23:32 | Before String s = ... | | +| Assert.cs:23:9:23:33 | After ... ...; | Assert.cs:24:9:24:28 | ...; | | +| Assert.cs:23:16:23:16 | access to local variable s | Assert.cs:23:20:23:32 | ... ? ... : ... | | +| Assert.cs:23:16:23:32 | After String s = ... | Assert.cs:23:9:23:33 | After ... ...; | | +| Assert.cs:23:16:23:32 | Before String s = ... | Assert.cs:23:16:23:16 | access to local variable s | | +| Assert.cs:23:16:23:32 | String s = ... | Assert.cs:23:16:23:32 | After String s = ... | | +| Assert.cs:23:20:23:20 | After access to parameter b [false] | Assert.cs:23:31:23:32 | "" | | +| Assert.cs:23:20:23:20 | After access to parameter b [true] | Assert.cs:23:24:23:27 | null | | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | After access to parameter b [false] | false | +| Assert.cs:23:20:23:20 | access to parameter b | Assert.cs:23:20:23:20 | After access to parameter b [true] | true | +| Assert.cs:23:20:23:32 | ... ? ... : ... | Assert.cs:23:20:23:20 | access to parameter b | | +| Assert.cs:23:20:23:32 | After ... ? ... : ... | Assert.cs:23:16:23:32 | String s = ... | | +| Assert.cs:23:24:23:27 | null | Assert.cs:23:20:23:32 | After ... ? ... : ... | | +| Assert.cs:23:31:23:32 | "" | Assert.cs:23:20:23:32 | After ... ? ... : ... | | +| Assert.cs:24:9:24:27 | After call to method IsNotNull | Assert.cs:24:9:24:28 | After ...; | | +| Assert.cs:24:9:24:27 | Before 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:21:10:21:11 | Exceptional Exit | exception | +| Assert.cs:24:9:24:27 | call to method IsNotNull | Assert.cs:24:9:24:27 | After call to method IsNotNull | | +| Assert.cs:24:9:24:28 | ...; | Assert.cs:24:9:24:27 | Before call to method IsNotNull | | +| Assert.cs:24:9:24:28 | After ...; | Assert.cs:25:9:25:36 | ...; | | | 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:9:25:35 | After call to method WriteLine | Assert.cs:25:9:25:36 | After ...; | | +| Assert.cs:25:9:25:35 | Before call to method WriteLine | Assert.cs:25:27:25:34 | Before access to property Length | | +| Assert.cs:25:9:25:35 | call to method WriteLine | Assert.cs:25:9:25:35 | After call to method WriteLine | | +| Assert.cs:25:9:25:36 | ...; | Assert.cs:25:9:25:35 | Before call to method WriteLine | | +| Assert.cs:25:9:25:36 | After ...; | Assert.cs:22:5:26:5 | After {...} | | | Assert.cs:25:27:25:27 | access to local variable s | Assert.cs:25:27:25:34 | access to property Length | | -| Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:9:25:35 | call to method WriteLine | | -| Assert.cs:28:10:28:11 | enter M4 | Assert.cs:29:5:33:5 | {...} | | -| Assert.cs:28:10:28:11 | exit M4 (abnormal) | Assert.cs:28:10:28:11 | exit M4 | | -| Assert.cs:28:10:28:11 | exit M4 (normal) | Assert.cs:28:10:28:11 | exit M4 | | +| Assert.cs:25:27:25:34 | After access to property Length | Assert.cs:25:9:25:35 | call to method WriteLine | | +| Assert.cs:25:27:25:34 | Before access to property Length | Assert.cs:25:27:25:27 | access to local variable s | | +| Assert.cs:25:27:25:34 | access to property Length | Assert.cs:25:27:25:34 | After access to property Length | | +| Assert.cs:28:10:28:11 | Entry | Assert.cs:29:5:33:5 | {...} | | +| Assert.cs:28:10:28:11 | Exceptional Exit | Assert.cs:28:10:28:11 | Exit | | +| Assert.cs:28:10:28:11 | Normal Exit | Assert.cs:28:10:28:11 | Exit | | +| Assert.cs:29:5:33:5 | After {...} | Assert.cs:28:10:28:11 | Normal Exit | | | Assert.cs:29:5:33:5 | {...} | Assert.cs:30:9:30:33 | ... ...; | | -| Assert.cs:30:9:30:33 | ... ...; | Assert.cs:30:20:30:20 | access to parameter b | | -| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:31:9:31:33 | ...; | | -| 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: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 | 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:30:9:30:33 | ... ...; | Assert.cs:30:16:30:32 | Before String s = ... | | +| Assert.cs:30:9:30:33 | After ... ...; | Assert.cs:31:9:31:33 | ...; | | +| Assert.cs:30:16:30:16 | access to local variable s | Assert.cs:30:20:30:32 | ... ? ... : ... | | +| Assert.cs:30:16:30:32 | After String s = ... | Assert.cs:30:9:30:33 | After ... ...; | | +| Assert.cs:30:16:30:32 | Before String s = ... | Assert.cs:30:16:30:16 | access to local variable s | | +| Assert.cs:30:16:30:32 | String s = ... | Assert.cs:30:16:30:32 | After String s = ... | | +| Assert.cs:30:20:30:20 | After access to parameter b [false] | Assert.cs:30:31:30:32 | "" | | +| Assert.cs:30:20:30:20 | After access to parameter b [true] | Assert.cs:30:24:30:27 | null | | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | After access to parameter b [false] | false | +| Assert.cs:30:20:30:20 | access to parameter b | Assert.cs:30:20:30:20 | After access to parameter b [true] | true | +| Assert.cs:30:20:30:32 | ... ? ... : ... | Assert.cs:30:20:30:20 | access to parameter b | | +| Assert.cs:30:20:30:32 | After ... ? ... : ... | Assert.cs:30:16:30:32 | String s = ... | | +| Assert.cs:30:24:30:27 | null | Assert.cs:30:20:30:32 | After ... ? ... : ... | | +| Assert.cs:30:31:30:32 | "" | Assert.cs:30:20:30:32 | After ... ? ... : ... | | +| Assert.cs:31:9:31:32 | After call to method IsTrue | Assert.cs:31:9:31:33 | After ...; | | +| Assert.cs:31:9:31:32 | Before call to method IsTrue | Assert.cs:31:23:31:31 | Before ... == ... | | +| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:28:10:28:11 | Exceptional Exit | exception | +| Assert.cs:31:9:31:32 | call to method IsTrue | Assert.cs:31:9:31:32 | After call to method IsTrue | | +| Assert.cs:31:9:31:33 | ...; | Assert.cs:31:9:31:32 | Before call to method IsTrue | | +| Assert.cs:31:9:31:33 | After ...; | Assert.cs:32:9:32:36 | ...; | | | 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 | call to method IsTrue | | +| Assert.cs:31:23:31:31 | ... == ... | Assert.cs:31:23:31:31 | After ... == ... | | +| Assert.cs:31:23:31:31 | After ... == ... | Assert.cs:31:9:31:32 | call to method IsTrue | | +| Assert.cs:31:23:31:31 | Before ... == ... | 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: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 | | +| Assert.cs:32:9:32:35 | After call to method WriteLine | Assert.cs:32:9:32:36 | After ...; | | +| Assert.cs:32:9:32:35 | Before call to method WriteLine | Assert.cs:32:27:32:34 | Before access to property Length | | +| Assert.cs:32:9:32:35 | call to method WriteLine | Assert.cs:32:9:32:35 | After call to method WriteLine | | +| Assert.cs:32:9:32:36 | ...; | Assert.cs:32:9:32:35 | Before call to method WriteLine | | +| Assert.cs:32:9:32:36 | After ...; | Assert.cs:29:5:33:5 | After {...} | | | Assert.cs:32:27:32:27 | access to local variable s | Assert.cs:32:27:32:34 | access to property Length | | -| Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:9:32:35 | call to method WriteLine | | -| Assert.cs:35:10:35:11 | enter M5 | Assert.cs:36:5:40:5 | {...} | | -| Assert.cs:35:10:35:11 | exit M5 (abnormal) | Assert.cs:35:10:35:11 | exit M5 | | -| Assert.cs:35:10:35:11 | exit M5 (normal) | Assert.cs:35:10:35:11 | exit M5 | | +| Assert.cs:32:27:32:34 | After access to property Length | Assert.cs:32:9:32:35 | call to method WriteLine | | +| Assert.cs:32:27:32:34 | Before access to property Length | Assert.cs:32:27:32:27 | access to local variable s | | +| Assert.cs:32:27:32:34 | access to property Length | Assert.cs:32:27:32:34 | After access to property Length | | +| Assert.cs:35:10:35:11 | Entry | Assert.cs:36:5:40:5 | {...} | | +| Assert.cs:35:10:35:11 | Exceptional Exit | Assert.cs:35:10:35:11 | Exit | | +| Assert.cs:35:10:35:11 | Normal Exit | Assert.cs:35:10:35:11 | Exit | | +| Assert.cs:36:5:40:5 | After {...} | Assert.cs:35:10:35:11 | Normal Exit | | | Assert.cs:36:5:40:5 | {...} | Assert.cs:37:9:37:33 | ... ...; | | -| Assert.cs:37:9:37:33 | ... ...; | Assert.cs:37:20:37:20 | access to parameter b | | -| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:38:9:38:33 | ...; | | -| 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: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 | 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:37:9:37:33 | ... ...; | Assert.cs:37:16:37:32 | Before String s = ... | | +| Assert.cs:37:9:37:33 | After ... ...; | Assert.cs:38:9:38:33 | ...; | | +| Assert.cs:37:16:37:16 | access to local variable s | Assert.cs:37:20:37:32 | ... ? ... : ... | | +| Assert.cs:37:16:37:32 | After String s = ... | Assert.cs:37:9:37:33 | After ... ...; | | +| Assert.cs:37:16:37:32 | Before String s = ... | Assert.cs:37:16:37:16 | access to local variable s | | +| Assert.cs:37:16:37:32 | String s = ... | Assert.cs:37:16:37:32 | After String s = ... | | +| Assert.cs:37:20:37:20 | After access to parameter b [false] | Assert.cs:37:31:37:32 | "" | | +| Assert.cs:37:20:37:20 | After access to parameter b [true] | Assert.cs:37:24:37:27 | null | | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | After access to parameter b [false] | false | +| Assert.cs:37:20:37:20 | access to parameter b | Assert.cs:37:20:37:20 | After access to parameter b [true] | true | +| Assert.cs:37:20:37:32 | ... ? ... : ... | Assert.cs:37:20:37:20 | access to parameter b | | +| Assert.cs:37:20:37:32 | After ... ? ... : ... | Assert.cs:37:16:37:32 | String s = ... | | +| Assert.cs:37:24:37:27 | null | Assert.cs:37:20:37:32 | After ... ? ... : ... | | +| Assert.cs:37:31:37:32 | "" | Assert.cs:37:20:37:32 | After ... ? ... : ... | | +| Assert.cs:38:9:38:32 | After call to method IsTrue | Assert.cs:38:9:38:33 | After ...; | | +| Assert.cs:38:9:38:32 | Before call to method IsTrue | Assert.cs:38:23:38:31 | Before ... != ... | | +| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:35:10:35:11 | Exceptional Exit | exception | +| Assert.cs:38:9:38:32 | call to method IsTrue | Assert.cs:38:9:38:32 | After call to method IsTrue | | +| Assert.cs:38:9:38:33 | ...; | Assert.cs:38:9:38:32 | Before call to method IsTrue | | +| Assert.cs:38:9:38:33 | After ...; | Assert.cs:39:9:39:36 | ...; | | | 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 | call to method IsTrue | | +| Assert.cs:38:23:38:31 | ... != ... | Assert.cs:38:23:38:31 | After ... != ... | | +| Assert.cs:38:23:38:31 | After ... != ... | Assert.cs:38:9:38:32 | call to method IsTrue | | +| Assert.cs:38:23:38:31 | Before ... != ... | 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: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 | | +| Assert.cs:39:9:39:35 | After call to method WriteLine | Assert.cs:39:9:39:36 | After ...; | | +| Assert.cs:39:9:39:35 | Before call to method WriteLine | Assert.cs:39:27:39:34 | Before access to property Length | | +| Assert.cs:39:9:39:35 | call to method WriteLine | Assert.cs:39:9:39:35 | After call to method WriteLine | | +| Assert.cs:39:9:39:36 | ...; | Assert.cs:39:9:39:35 | Before call to method WriteLine | | +| Assert.cs:39:9:39:36 | After ...; | Assert.cs:36:5:40:5 | After {...} | | | Assert.cs:39:27:39:27 | access to local variable s | Assert.cs:39:27:39:34 | access to property Length | | -| Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:9:39:35 | call to method WriteLine | | -| Assert.cs:42:10:42:11 | enter M6 | Assert.cs:43:5:47:5 | {...} | | -| Assert.cs:42:10:42:11 | exit M6 (abnormal) | Assert.cs:42:10:42:11 | exit M6 | | -| Assert.cs:42:10:42:11 | exit M6 (normal) | Assert.cs:42:10:42:11 | exit M6 | | +| Assert.cs:39:27:39:34 | After access to property Length | Assert.cs:39:9:39:35 | call to method WriteLine | | +| Assert.cs:39:27:39:34 | Before access to property Length | Assert.cs:39:27:39:27 | access to local variable s | | +| Assert.cs:39:27:39:34 | access to property Length | Assert.cs:39:27:39:34 | After access to property Length | | +| Assert.cs:42:10:42:11 | Entry | Assert.cs:43:5:47:5 | {...} | | +| Assert.cs:42:10:42:11 | Exceptional Exit | Assert.cs:42:10:42:11 | Exit | | +| Assert.cs:42:10:42:11 | Normal Exit | Assert.cs:42:10:42:11 | Exit | | +| Assert.cs:43:5:47:5 | After {...} | Assert.cs:42:10:42:11 | Normal Exit | | | Assert.cs:43:5:47:5 | {...} | Assert.cs:44:9:44:33 | ... ...; | | -| Assert.cs:44:9:44:33 | ... ...; | Assert.cs:44:20:44:20 | access to parameter b | | -| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:45:9:45:34 | ...; | | -| 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: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 | 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:44:9:44:33 | ... ...; | Assert.cs:44:16:44:32 | Before String s = ... | | +| Assert.cs:44:9:44:33 | After ... ...; | Assert.cs:45:9:45:34 | ...; | | +| Assert.cs:44:16:44:16 | access to local variable s | Assert.cs:44:20:44:32 | ... ? ... : ... | | +| Assert.cs:44:16:44:32 | After String s = ... | Assert.cs:44:9:44:33 | After ... ...; | | +| Assert.cs:44:16:44:32 | Before String s = ... | Assert.cs:44:16:44:16 | access to local variable s | | +| Assert.cs:44:16:44:32 | String s = ... | Assert.cs:44:16:44:32 | After String s = ... | | +| Assert.cs:44:20:44:20 | After access to parameter b [false] | Assert.cs:44:31:44:32 | "" | | +| Assert.cs:44:20:44:20 | After access to parameter b [true] | Assert.cs:44:24:44:27 | null | | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | After access to parameter b [false] | false | +| Assert.cs:44:20:44:20 | access to parameter b | Assert.cs:44:20:44:20 | After access to parameter b [true] | true | +| Assert.cs:44:20:44:32 | ... ? ... : ... | Assert.cs:44:20:44:20 | access to parameter b | | +| Assert.cs:44:20:44:32 | After ... ? ... : ... | Assert.cs:44:16:44:32 | String s = ... | | +| Assert.cs:44:24:44:27 | null | Assert.cs:44:20:44:32 | After ... ? ... : ... | | +| Assert.cs:44:31:44:32 | "" | Assert.cs:44:20:44:32 | After ... ? ... : ... | | +| Assert.cs:45:9:45:33 | After call to method IsFalse | Assert.cs:45:9:45:34 | After ...; | | +| Assert.cs:45:9:45:33 | Before call to method IsFalse | Assert.cs:45:24:45:32 | Before ... != ... | | +| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:42:10:42:11 | Exceptional Exit | exception | +| Assert.cs:45:9:45:33 | call to method IsFalse | Assert.cs:45:9:45:33 | After call to method IsFalse | | +| Assert.cs:45:9:45:34 | ...; | Assert.cs:45:9:45:33 | Before call to method IsFalse | | +| Assert.cs:45:9:45:34 | After ...; | Assert.cs:46:9:46:36 | ...; | | | 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 | call to method IsFalse | | +| Assert.cs:45:24:45:32 | ... != ... | Assert.cs:45:24:45:32 | After ... != ... | | +| Assert.cs:45:24:45:32 | After ... != ... | Assert.cs:45:9:45:33 | call to method IsFalse | | +| Assert.cs:45:24:45:32 | Before ... != ... | 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: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 | | +| Assert.cs:46:9:46:35 | After call to method WriteLine | Assert.cs:46:9:46:36 | After ...; | | +| Assert.cs:46:9:46:35 | Before call to method WriteLine | Assert.cs:46:27:46:34 | Before access to property Length | | +| Assert.cs:46:9:46:35 | call to method WriteLine | Assert.cs:46:9:46:35 | After call to method WriteLine | | +| Assert.cs:46:9:46:36 | ...; | Assert.cs:46:9:46:35 | Before call to method WriteLine | | +| Assert.cs:46:9:46:36 | After ...; | Assert.cs:43:5:47:5 | After {...} | | | Assert.cs:46:27:46:27 | access to local variable s | Assert.cs:46:27:46:34 | access to property Length | | -| Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:9:46:35 | call to method WriteLine | | -| Assert.cs:49:10:49:11 | enter M7 | Assert.cs:50:5:54:5 | {...} | | -| Assert.cs:49:10:49:11 | exit M7 (abnormal) | Assert.cs:49:10:49:11 | exit M7 | | -| Assert.cs:49:10:49:11 | exit M7 (normal) | Assert.cs:49:10:49:11 | exit M7 | | +| Assert.cs:46:27:46:34 | After access to property Length | Assert.cs:46:9:46:35 | call to method WriteLine | | +| Assert.cs:46:27:46:34 | Before access to property Length | Assert.cs:46:27:46:27 | access to local variable s | | +| Assert.cs:46:27:46:34 | access to property Length | Assert.cs:46:27:46:34 | After access to property Length | | +| Assert.cs:49:10:49:11 | Entry | Assert.cs:50:5:54:5 | {...} | | +| Assert.cs:49:10:49:11 | Exceptional Exit | Assert.cs:49:10:49:11 | Exit | | +| Assert.cs:49:10:49:11 | Normal Exit | Assert.cs:49:10:49:11 | Exit | | +| Assert.cs:50:5:54:5 | After {...} | Assert.cs:49:10:49:11 | Normal Exit | | | Assert.cs:50:5:54:5 | {...} | Assert.cs:51:9:51:33 | ... ...; | | -| Assert.cs:51:9:51:33 | ... ...; | Assert.cs:51:20:51:20 | access to parameter b | | -| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:52:9:52:34 | ...; | | -| 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: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 | 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:51:9:51:33 | ... ...; | Assert.cs:51:16:51:32 | Before String s = ... | | +| Assert.cs:51:9:51:33 | After ... ...; | Assert.cs:52:9:52:34 | ...; | | +| Assert.cs:51:16:51:16 | access to local variable s | Assert.cs:51:20:51:32 | ... ? ... : ... | | +| Assert.cs:51:16:51:32 | After String s = ... | Assert.cs:51:9:51:33 | After ... ...; | | +| Assert.cs:51:16:51:32 | Before String s = ... | Assert.cs:51:16:51:16 | access to local variable s | | +| Assert.cs:51:16:51:32 | String s = ... | Assert.cs:51:16:51:32 | After String s = ... | | +| Assert.cs:51:20:51:20 | After access to parameter b [false] | Assert.cs:51:31:51:32 | "" | | +| Assert.cs:51:20:51:20 | After access to parameter b [true] | Assert.cs:51:24:51:27 | null | | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | After access to parameter b [false] | false | +| Assert.cs:51:20:51:20 | access to parameter b | Assert.cs:51:20:51:20 | After access to parameter b [true] | true | +| Assert.cs:51:20:51:32 | ... ? ... : ... | Assert.cs:51:20:51:20 | access to parameter b | | +| Assert.cs:51:20:51:32 | After ... ? ... : ... | Assert.cs:51:16:51:32 | String s = ... | | +| Assert.cs:51:24:51:27 | null | Assert.cs:51:20:51:32 | After ... ? ... : ... | | +| Assert.cs:51:31:51:32 | "" | Assert.cs:51:20:51:32 | After ... ? ... : ... | | +| Assert.cs:52:9:52:33 | After call to method IsFalse | Assert.cs:52:9:52:34 | After ...; | | +| Assert.cs:52:9:52:33 | Before call to method IsFalse | Assert.cs:52:24:52:32 | Before ... == ... | | +| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:49:10:49:11 | Exceptional Exit | exception | +| Assert.cs:52:9:52:33 | call to method IsFalse | Assert.cs:52:9:52:33 | After call to method IsFalse | | +| Assert.cs:52:9:52:34 | ...; | Assert.cs:52:9:52:33 | Before call to method IsFalse | | +| Assert.cs:52:9:52:34 | After ...; | Assert.cs:53:9:53:36 | ...; | | | 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 | call to method IsFalse | | +| Assert.cs:52:24:52:32 | ... == ... | Assert.cs:52:24:52:32 | After ... == ... | | +| Assert.cs:52:24:52:32 | After ... == ... | Assert.cs:52:9:52:33 | call to method IsFalse | | +| Assert.cs:52:24:52:32 | Before ... == ... | 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: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 | | +| Assert.cs:53:9:53:35 | After call to method WriteLine | Assert.cs:53:9:53:36 | After ...; | | +| Assert.cs:53:9:53:35 | Before call to method WriteLine | Assert.cs:53:27:53:34 | Before access to property Length | | +| Assert.cs:53:9:53:35 | call to method WriteLine | Assert.cs:53:9:53:35 | After call to method WriteLine | | +| Assert.cs:53:9:53:36 | ...; | Assert.cs:53:9:53:35 | Before call to method WriteLine | | +| Assert.cs:53:9:53:36 | After ...; | Assert.cs:50:5:54:5 | After {...} | | | Assert.cs:53:27:53:27 | access to local variable s | Assert.cs:53:27:53:34 | access to property Length | | -| Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:9:53:35 | call to method WriteLine | | -| Assert.cs:56:10:56:11 | enter M8 | Assert.cs:57:5:61:5 | {...} | | -| Assert.cs:56:10:56:11 | exit M8 (abnormal) | Assert.cs:56:10:56:11 | exit M8 | | -| Assert.cs:56:10:56:11 | exit M8 (normal) | Assert.cs:56:10:56:11 | exit M8 | | +| Assert.cs:53:27:53:34 | After access to property Length | Assert.cs:53:9:53:35 | call to method WriteLine | | +| Assert.cs:53:27:53:34 | Before access to property Length | Assert.cs:53:27:53:27 | access to local variable s | | +| Assert.cs:53:27:53:34 | access to property Length | Assert.cs:53:27:53:34 | After access to property Length | | +| Assert.cs:56:10:56:11 | Entry | Assert.cs:57:5:61:5 | {...} | | +| Assert.cs:56:10:56:11 | Exceptional Exit | Assert.cs:56:10:56:11 | Exit | | +| Assert.cs:56:10:56:11 | Normal Exit | Assert.cs:56:10:56:11 | Exit | | +| Assert.cs:57:5:61:5 | After {...} | Assert.cs:56:10:56:11 | Normal Exit | | | Assert.cs:57:5:61:5 | {...} | Assert.cs:58:9:58:33 | ... ...; | | -| Assert.cs:58:9:58:33 | ... ...; | Assert.cs:58:20:58:20 | access to parameter b | | -| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:59:9:59:38 | ...; | | -| 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: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 | 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:58:9:58:33 | ... ...; | Assert.cs:58:16:58:32 | Before String s = ... | | +| Assert.cs:58:9:58:33 | After ... ...; | Assert.cs:59:9:59:38 | ...; | | +| Assert.cs:58:16:58:16 | access to local variable s | Assert.cs:58:20:58:32 | ... ? ... : ... | | +| Assert.cs:58:16:58:32 | After String s = ... | Assert.cs:58:9:58:33 | After ... ...; | | +| Assert.cs:58:16:58:32 | Before String s = ... | Assert.cs:58:16:58:16 | access to local variable s | | +| Assert.cs:58:16:58:32 | String s = ... | Assert.cs:58:16:58:32 | After String s = ... | | +| Assert.cs:58:20:58:20 | After access to parameter b [false] | Assert.cs:58:31:58:32 | "" | | +| Assert.cs:58:20:58:20 | After access to parameter b [true] | Assert.cs:58:24:58:27 | null | | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | After access to parameter b [false] | false | +| Assert.cs:58:20:58:20 | access to parameter b | Assert.cs:58:20:58:20 | After access to parameter b [true] | true | +| Assert.cs:58:20:58:32 | ... ? ... : ... | Assert.cs:58:20:58:20 | access to parameter b | | +| Assert.cs:58:20:58:32 | After ... ? ... : ... | Assert.cs:58:16:58:32 | String s = ... | | +| Assert.cs:58:24:58:27 | null | Assert.cs:58:20:58:32 | After ... ? ... : ... | | +| Assert.cs:58:31:58:32 | "" | Assert.cs:58:20:58:32 | After ... ? ... : ... | | +| Assert.cs:59:9:59:37 | After call to method IsTrue | Assert.cs:59:9:59:38 | After ...; | | +| Assert.cs:59:9:59:37 | Before call to method IsTrue | Assert.cs:59:23:59:36 | ... && ... | | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:56:10:56:11 | Exceptional Exit | exception | +| Assert.cs:59:9:59:37 | call to method IsTrue | Assert.cs:59:9:59:37 | After call to method IsTrue | | +| Assert.cs:59:9:59:38 | ...; | Assert.cs:59:9:59:37 | Before call to method IsTrue | | +| Assert.cs:59:9:59:38 | After ...; | Assert.cs:60:9:60:36 | ...; | | | 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:36:59:36 | access to parameter b | true | -| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:9:59:37 | call to method IsTrue | | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | After ... != ... [false] | false | +| Assert.cs:59:23:59:31 | ... != ... | Assert.cs:59:23:59:31 | After ... != ... [true] | true | +| Assert.cs:59:23:59:31 | After ... != ... [false] | Assert.cs:59:23:59:36 | After ... && ... | | +| Assert.cs:59:23:59:31 | After ... != ... [true] | Assert.cs:59:36:59:36 | access to parameter b | | +| Assert.cs:59:23:59:31 | Before ... != ... | Assert.cs:59:23:59:23 | access to local variable s | | +| Assert.cs:59:23:59:36 | ... && ... | Assert.cs:59:23:59:31 | Before ... != ... | | +| Assert.cs:59:23:59:36 | After ... && ... | 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 | ... && ... | | -| 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:59:36:59:36 | access to parameter b | Assert.cs:59:23:59:36 | After ... && ... | | +| Assert.cs:60:9:60:35 | After call to method WriteLine | Assert.cs:60:9:60:36 | After ...; | | +| Assert.cs:60:9:60:35 | Before call to method WriteLine | Assert.cs:60:27:60:34 | Before access to property Length | | +| Assert.cs:60:9:60:35 | call to method WriteLine | Assert.cs:60:9:60:35 | After call to method WriteLine | | +| Assert.cs:60:9:60:36 | ...; | Assert.cs:60:9:60:35 | Before call to method WriteLine | | +| Assert.cs:60:9:60:36 | After ...; | Assert.cs:57:5:61:5 | After {...} | | | Assert.cs:60:27:60:27 | access to local variable s | Assert.cs:60:27:60:34 | access to property Length | | -| Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:9:60:35 | call to method WriteLine | | -| Assert.cs:63:10:63:11 | enter M9 | Assert.cs:64:5:68:5 | {...} | | -| Assert.cs:63:10:63:11 | exit M9 (abnormal) | Assert.cs:63:10:63:11 | exit M9 | | -| Assert.cs:63:10:63:11 | exit M9 (normal) | Assert.cs:63:10:63:11 | exit M9 | | +| Assert.cs:60:27:60:34 | After access to property Length | Assert.cs:60:9:60:35 | call to method WriteLine | | +| Assert.cs:60:27:60:34 | Before access to property Length | Assert.cs:60:27:60:27 | access to local variable s | | +| Assert.cs:60:27:60:34 | access to property Length | Assert.cs:60:27:60:34 | After access to property Length | | +| Assert.cs:63:10:63:11 | Entry | Assert.cs:64:5:68:5 | {...} | | +| Assert.cs:63:10:63:11 | Exceptional Exit | Assert.cs:63:10:63:11 | Exit | | +| Assert.cs:63:10:63:11 | Normal Exit | Assert.cs:63:10:63:11 | Exit | | +| Assert.cs:64:5:68:5 | After {...} | Assert.cs:63:10:63:11 | Normal Exit | | | Assert.cs:64:5:68:5 | {...} | Assert.cs:65:9:65:33 | ... ...; | | -| Assert.cs:65:9:65:33 | ... ...; | Assert.cs:65:20:65:20 | access to parameter b | | -| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:66:9:66:39 | ...; | | -| 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: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 | 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:65:9:65:33 | ... ...; | Assert.cs:65:16:65:32 | Before String s = ... | | +| Assert.cs:65:9:65:33 | After ... ...; | Assert.cs:66:9:66:39 | ...; | | +| Assert.cs:65:16:65:16 | access to local variable s | Assert.cs:65:20:65:32 | ... ? ... : ... | | +| Assert.cs:65:16:65:32 | After String s = ... | Assert.cs:65:9:65:33 | After ... ...; | | +| Assert.cs:65:16:65:32 | Before String s = ... | Assert.cs:65:16:65:16 | access to local variable s | | +| Assert.cs:65:16:65:32 | String s = ... | Assert.cs:65:16:65:32 | After String s = ... | | +| Assert.cs:65:20:65:20 | After access to parameter b [false] | Assert.cs:65:31:65:32 | "" | | +| Assert.cs:65:20:65:20 | After access to parameter b [true] | Assert.cs:65:24:65:27 | null | | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | After access to parameter b [false] | false | +| Assert.cs:65:20:65:20 | access to parameter b | Assert.cs:65:20:65:20 | After access to parameter b [true] | true | +| Assert.cs:65:20:65:32 | ... ? ... : ... | Assert.cs:65:20:65:20 | access to parameter b | | +| Assert.cs:65:20:65:32 | After ... ? ... : ... | Assert.cs:65:16:65:32 | String s = ... | | +| Assert.cs:65:24:65:27 | null | Assert.cs:65:20:65:32 | After ... ? ... : ... | | +| Assert.cs:65:31:65:32 | "" | Assert.cs:65:20:65:32 | After ... ? ... : ... | | +| Assert.cs:66:9:66:38 | After call to method IsFalse | Assert.cs:66:9:66:39 | After ...; | | +| Assert.cs:66:9:66:38 | Before call to method IsFalse | Assert.cs:66:24:66:37 | ... \|\| ... | | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:63:10:63:11 | Exceptional Exit | exception | +| Assert.cs:66:9:66:38 | call to method IsFalse | Assert.cs:66:9:66:38 | After call to method IsFalse | | +| Assert.cs:66:9:66:39 | ...; | Assert.cs:66:9:66:38 | Before call to method IsFalse | | +| Assert.cs:66:9:66:39 | After ...; | Assert.cs:67:9:67:36 | ...; | | | 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:37:66:37 | access to parameter b | false | -| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:9:66:38 | call to method IsFalse | | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | After ... == ... [false] | false | +| Assert.cs:66:24:66:32 | ... == ... | Assert.cs:66:24:66:32 | After ... == ... [true] | true | +| Assert.cs:66:24:66:32 | After ... == ... [false] | Assert.cs:66:37:66:37 | access to parameter b | | +| Assert.cs:66:24:66:32 | After ... == ... [true] | Assert.cs:66:24:66:37 | After ... \|\| ... | | +| Assert.cs:66:24:66:32 | Before ... == ... | Assert.cs:66:24:66:24 | access to local variable s | | +| Assert.cs:66:24:66:37 | ... \|\| ... | Assert.cs:66:24:66:32 | Before ... == ... | | +| Assert.cs:66:24:66:37 | After ... \|\| ... | 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 | ... \|\| ... | | -| 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:66:37:66:37 | access to parameter b | Assert.cs:66:24:66:37 | After ... \|\| ... | | +| Assert.cs:67:9:67:35 | After call to method WriteLine | Assert.cs:67:9:67:36 | After ...; | | +| Assert.cs:67:9:67:35 | Before call to method WriteLine | Assert.cs:67:27:67:34 | Before access to property Length | | +| Assert.cs:67:9:67:35 | call to method WriteLine | Assert.cs:67:9:67:35 | After call to method WriteLine | | +| Assert.cs:67:9:67:36 | ...; | Assert.cs:67:9:67:35 | Before call to method WriteLine | | +| Assert.cs:67:9:67:36 | After ...; | Assert.cs:64:5:68:5 | After {...} | | | Assert.cs:67:27:67:27 | access to local variable s | Assert.cs:67:27:67:34 | access to property Length | | -| Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:9:67:35 | call to method WriteLine | | -| Assert.cs:70:10:70:12 | enter M10 | Assert.cs:71:5:75:5 | {...} | | -| Assert.cs:70:10:70:12 | exit M10 (abnormal) | Assert.cs:70:10:70:12 | exit M10 | | -| Assert.cs:70:10:70:12 | exit M10 (normal) | Assert.cs:70:10:70:12 | exit M10 | | +| Assert.cs:67:27:67:34 | After access to property Length | Assert.cs:67:9:67:35 | call to method WriteLine | | +| Assert.cs:67:27:67:34 | Before access to property Length | Assert.cs:67:27:67:27 | access to local variable s | | +| Assert.cs:67:27:67:34 | access to property Length | Assert.cs:67:27:67:34 | After access to property Length | | +| Assert.cs:70:10:70:12 | Entry | Assert.cs:71:5:75:5 | {...} | | +| Assert.cs:70:10:70:12 | Exceptional Exit | Assert.cs:70:10:70:12 | Exit | | +| Assert.cs:70:10:70:12 | Normal Exit | Assert.cs:70:10:70:12 | Exit | | +| Assert.cs:71:5:75:5 | After {...} | Assert.cs:70:10:70:12 | Normal Exit | | | Assert.cs:71:5:75:5 | {...} | Assert.cs:72:9:72:33 | ... ...; | | -| Assert.cs:72:9:72:33 | ... ...; | Assert.cs:72:20:72:20 | access to parameter b | | -| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:73:9:73:38 | ...; | | -| 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: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 | 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:72:9:72:33 | ... ...; | Assert.cs:72:16:72:32 | Before String s = ... | | +| Assert.cs:72:9:72:33 | After ... ...; | Assert.cs:73:9:73:38 | ...; | | +| Assert.cs:72:16:72:16 | access to local variable s | Assert.cs:72:20:72:32 | ... ? ... : ... | | +| Assert.cs:72:16:72:32 | After String s = ... | Assert.cs:72:9:72:33 | After ... ...; | | +| Assert.cs:72:16:72:32 | Before String s = ... | Assert.cs:72:16:72:16 | access to local variable s | | +| Assert.cs:72:16:72:32 | String s = ... | Assert.cs:72:16:72:32 | After String s = ... | | +| Assert.cs:72:20:72:20 | After access to parameter b [false] | Assert.cs:72:31:72:32 | "" | | +| Assert.cs:72:20:72:20 | After access to parameter b [true] | Assert.cs:72:24:72:27 | null | | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | After access to parameter b [false] | false | +| Assert.cs:72:20:72:20 | access to parameter b | Assert.cs:72:20:72:20 | After access to parameter b [true] | true | +| Assert.cs:72:20:72:32 | ... ? ... : ... | Assert.cs:72:20:72:20 | access to parameter b | | +| Assert.cs:72:20:72:32 | After ... ? ... : ... | Assert.cs:72:16:72:32 | String s = ... | | +| Assert.cs:72:24:72:27 | null | Assert.cs:72:20:72:32 | After ... ? ... : ... | | +| Assert.cs:72:31:72:32 | "" | Assert.cs:72:20:72:32 | After ... ? ... : ... | | +| Assert.cs:73:9:73:37 | After call to method IsTrue | Assert.cs:73:9:73:38 | After ...; | | +| Assert.cs:73:9:73:37 | Before call to method IsTrue | Assert.cs:73:23:73:36 | ... && ... | | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:70:10:70:12 | Exceptional Exit | exception | +| Assert.cs:73:9:73:37 | call to method IsTrue | Assert.cs:73:9:73:37 | After call to method IsTrue | | +| Assert.cs:73:9:73:38 | ...; | Assert.cs:73:9:73:37 | Before call to method IsTrue | | +| Assert.cs:73:9:73:38 | After ...; | Assert.cs:74:9:74:36 | ...; | | | 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:36:73:36 | access to parameter b | true | -| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:9:73:37 | call to method IsTrue | | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | After ... == ... [false] | false | +| Assert.cs:73:23:73:31 | ... == ... | Assert.cs:73:23:73:31 | After ... == ... [true] | true | +| Assert.cs:73:23:73:31 | After ... == ... [false] | Assert.cs:73:23:73:36 | After ... && ... | | +| Assert.cs:73:23:73:31 | After ... == ... [true] | Assert.cs:73:36:73:36 | access to parameter b | | +| Assert.cs:73:23:73:31 | Before ... == ... | Assert.cs:73:23:73:23 | access to local variable s | | +| Assert.cs:73:23:73:36 | ... && ... | Assert.cs:73:23:73:31 | Before ... == ... | | +| Assert.cs:73:23:73:36 | After ... && ... | 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 | ... && ... | | -| 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:73:36:73:36 | access to parameter b | Assert.cs:73:23:73:36 | After ... && ... | | +| Assert.cs:74:9:74:35 | After call to method WriteLine | Assert.cs:74:9:74:36 | After ...; | | +| Assert.cs:74:9:74:35 | Before call to method WriteLine | Assert.cs:74:27:74:34 | Before access to property Length | | +| Assert.cs:74:9:74:35 | call to method WriteLine | Assert.cs:74:9:74:35 | After call to method WriteLine | | +| Assert.cs:74:9:74:36 | ...; | Assert.cs:74:9:74:35 | Before call to method WriteLine | | +| Assert.cs:74:9:74:36 | After ...; | Assert.cs:71:5:75:5 | After {...} | | | Assert.cs:74:27:74:27 | access to local variable s | Assert.cs:74:27:74:34 | access to property Length | | -| Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:9:74:35 | call to method WriteLine | | -| Assert.cs:77:10:77:12 | enter M11 | Assert.cs:78:5:82:5 | {...} | | -| Assert.cs:77:10:77:12 | exit M11 (abnormal) | Assert.cs:77:10:77:12 | exit M11 | | -| Assert.cs:77:10:77:12 | exit M11 (normal) | Assert.cs:77:10:77:12 | exit M11 | | +| Assert.cs:74:27:74:34 | After access to property Length | Assert.cs:74:9:74:35 | call to method WriteLine | | +| Assert.cs:74:27:74:34 | Before access to property Length | Assert.cs:74:27:74:27 | access to local variable s | | +| Assert.cs:74:27:74:34 | access to property Length | Assert.cs:74:27:74:34 | After access to property Length | | +| Assert.cs:77:10:77:12 | Entry | Assert.cs:78:5:82:5 | {...} | | +| Assert.cs:77:10:77:12 | Exceptional Exit | Assert.cs:77:10:77:12 | Exit | | +| Assert.cs:77:10:77:12 | Normal Exit | Assert.cs:77:10:77:12 | Exit | | +| Assert.cs:78:5:82:5 | After {...} | Assert.cs:77:10:77:12 | Normal Exit | | | Assert.cs:78:5:82:5 | {...} | Assert.cs:79:9:79:33 | ... ...; | | -| Assert.cs:79:9:79:33 | ... ...; | Assert.cs:79:20:79:20 | access to parameter b | | -| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:80:9:80:39 | ...; | | -| 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: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 | 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:79:9:79:33 | ... ...; | Assert.cs:79:16:79:32 | Before String s = ... | | +| Assert.cs:79:9:79:33 | After ... ...; | Assert.cs:80:9:80:39 | ...; | | +| Assert.cs:79:16:79:16 | access to local variable s | Assert.cs:79:20:79:32 | ... ? ... : ... | | +| Assert.cs:79:16:79:32 | After String s = ... | Assert.cs:79:9:79:33 | After ... ...; | | +| Assert.cs:79:16:79:32 | Before String s = ... | Assert.cs:79:16:79:16 | access to local variable s | | +| Assert.cs:79:16:79:32 | String s = ... | Assert.cs:79:16:79:32 | After String s = ... | | +| Assert.cs:79:20:79:20 | After access to parameter b [false] | Assert.cs:79:31:79:32 | "" | | +| Assert.cs:79:20:79:20 | After access to parameter b [true] | Assert.cs:79:24:79:27 | null | | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | After access to parameter b [false] | false | +| Assert.cs:79:20:79:20 | access to parameter b | Assert.cs:79:20:79:20 | After access to parameter b [true] | true | +| Assert.cs:79:20:79:32 | ... ? ... : ... | Assert.cs:79:20:79:20 | access to parameter b | | +| Assert.cs:79:20:79:32 | After ... ? ... : ... | Assert.cs:79:16:79:32 | String s = ... | | +| Assert.cs:79:24:79:27 | null | Assert.cs:79:20:79:32 | After ... ? ... : ... | | +| Assert.cs:79:31:79:32 | "" | Assert.cs:79:20:79:32 | After ... ? ... : ... | | +| Assert.cs:80:9:80:38 | After call to method IsFalse | Assert.cs:80:9:80:39 | After ...; | | +| Assert.cs:80:9:80:38 | Before call to method IsFalse | Assert.cs:80:24:80:37 | ... \|\| ... | | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:77:10:77:12 | Exceptional Exit | exception | +| Assert.cs:80:9:80:38 | call to method IsFalse | Assert.cs:80:9:80:38 | After call to method IsFalse | | +| Assert.cs:80:9:80:39 | ...; | Assert.cs:80:9:80:38 | Before call to method IsFalse | | +| Assert.cs:80:9:80:39 | After ...; | Assert.cs:81:9:81:36 | ...; | | | 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:37:80:37 | access to parameter b | false | -| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:9:80:38 | call to method IsFalse | | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | After ... != ... [false] | false | +| Assert.cs:80:24:80:32 | ... != ... | Assert.cs:80:24:80:32 | After ... != ... [true] | true | +| Assert.cs:80:24:80:32 | After ... != ... [false] | Assert.cs:80:37:80:37 | access to parameter b | | +| Assert.cs:80:24:80:32 | After ... != ... [true] | Assert.cs:80:24:80:37 | After ... \|\| ... | | +| Assert.cs:80:24:80:32 | Before ... != ... | Assert.cs:80:24:80:24 | access to local variable s | | +| Assert.cs:80:24:80:37 | ... \|\| ... | Assert.cs:80:24:80:32 | Before ... != ... | | +| Assert.cs:80:24:80:37 | After ... \|\| ... | 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 | ... \|\| ... | | -| 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:80:37:80:37 | access to parameter b | Assert.cs:80:24:80:37 | After ... \|\| ... | | +| Assert.cs:81:9:81:35 | After call to method WriteLine | Assert.cs:81:9:81:36 | After ...; | | +| Assert.cs:81:9:81:35 | Before call to method WriteLine | Assert.cs:81:27:81:34 | Before access to property Length | | +| Assert.cs:81:9:81:35 | call to method WriteLine | Assert.cs:81:9:81:35 | After call to method WriteLine | | +| Assert.cs:81:9:81:36 | ...; | Assert.cs:81:9:81:35 | Before call to method WriteLine | | +| Assert.cs:81:9:81:36 | After ...; | Assert.cs:78:5:82:5 | After {...} | | | Assert.cs:81:27:81:27 | access to local variable s | Assert.cs:81:27:81:34 | access to property Length | | -| Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:9:81:35 | call to method WriteLine | | -| Assert.cs:84:10:84:12 | enter M12 | Assert.cs:85:5:129:5 | {...} | | -| Assert.cs:84:10:84:12 | exit M12 (abnormal) | Assert.cs:84:10:84:12 | exit M12 | | -| Assert.cs:84:10:84:12 | exit M12 (normal) | Assert.cs:84:10:84:12 | exit M12 | | +| Assert.cs:81:27:81:34 | After access to property Length | Assert.cs:81:9:81:35 | call to method WriteLine | | +| Assert.cs:81:27:81:34 | Before access to property Length | Assert.cs:81:27:81:27 | access to local variable s | | +| Assert.cs:81:27:81:34 | access to property Length | Assert.cs:81:27:81:34 | After access to property Length | | +| Assert.cs:84:10:84:12 | Entry | Assert.cs:85:5:129:5 | {...} | | +| Assert.cs:84:10:84:12 | Exceptional Exit | Assert.cs:84:10:84:12 | Exit | | +| Assert.cs:84:10:84:12 | Normal Exit | Assert.cs:84:10:84:12 | Exit | | +| Assert.cs:85:5:129:5 | After {...} | Assert.cs:84:10:84:12 | Normal Exit | | | Assert.cs:85:5:129:5 | {...} | Assert.cs:86:9:86:33 | ... ...; | | -| Assert.cs:86:9:86:33 | ... ...; | Assert.cs:86:20:86:20 | access to parameter b | | -| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:87:9:87:32 | ...; | | -| 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: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 | 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:86:9:86:33 | ... ...; | Assert.cs:86:16:86:32 | Before String s = ... | | +| Assert.cs:86:9:86:33 | After ... ...; | Assert.cs:87:9:87:32 | ...; | | +| Assert.cs:86:16:86:16 | access to local variable s | Assert.cs:86:20:86:32 | ... ? ... : ... | | +| Assert.cs:86:16:86:32 | After String s = ... | Assert.cs:86:9:86:33 | After ... ...; | | +| Assert.cs:86:16:86:32 | Before String s = ... | Assert.cs:86:16:86:16 | access to local variable s | | +| Assert.cs:86:16:86:32 | String s = ... | Assert.cs:86:16:86:32 | After String s = ... | | +| Assert.cs:86:20:86:20 | After access to parameter b [false] | Assert.cs:86:31:86:32 | "" | | +| Assert.cs:86:20:86:20 | After access to parameter b [true] | Assert.cs:86:24:86:27 | null | | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | After access to parameter b [false] | false | +| Assert.cs:86:20:86:20 | access to parameter b | Assert.cs:86:20:86:20 | After access to parameter b [true] | true | +| Assert.cs:86:20:86:32 | ... ? ... : ... | Assert.cs:86:20:86:20 | access to parameter b | | +| Assert.cs:86:20:86:32 | After ... ? ... : ... | Assert.cs:86:16:86:32 | String s = ... | | +| Assert.cs:86:24:86:27 | null | Assert.cs:86:20:86:32 | After ... ? ... : ... | | +| Assert.cs:86:31:86:32 | "" | Assert.cs:86:20:86:32 | After ... ? ... : ... | | +| Assert.cs:87:9:87:31 | After call to method Assert | Assert.cs:87:9:87:32 | After ...; | | +| Assert.cs:87:9:87:31 | Before call to method Assert | Assert.cs:87:22:87:30 | Before ... != ... | | +| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:87:9:87:31 | call to method Assert | Assert.cs:87:9:87:31 | After call to method Assert | | +| Assert.cs:87:9:87:32 | ...; | Assert.cs:87:9:87:31 | Before call to method Assert | | +| Assert.cs:87:9:87:32 | After ...; | Assert.cs:88:9:88:36 | ...; | | | 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 | call to method Assert | | +| Assert.cs:87:22:87:30 | ... != ... | Assert.cs:87:22:87:30 | After ... != ... | | +| Assert.cs:87:22:87:30 | After ... != ... | Assert.cs:87:9:87:31 | call to method Assert | | +| Assert.cs:87:22:87:30 | Before ... != ... | 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: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 | | +| Assert.cs:88:9:88:35 | After call to method WriteLine | Assert.cs:88:9:88:36 | After ...; | | +| Assert.cs:88:9:88:35 | Before call to method WriteLine | Assert.cs:88:27:88:34 | Before access to property Length | | +| Assert.cs:88:9:88:35 | call to method WriteLine | Assert.cs:88:9:88:35 | After call to method WriteLine | | +| Assert.cs:88:9:88:36 | ...; | Assert.cs:88:9:88:35 | Before call to method WriteLine | | +| Assert.cs:88:9:88:36 | After ...; | Assert.cs:90:9:90:26 | ...; | | | Assert.cs:88:27:88:27 | access to local variable s | Assert.cs:88:27:88:34 | access to property Length | | -| Assert.cs:88:27:88:34 | access to property Length | Assert.cs:88:9:88:35 | call to method WriteLine | | -| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:91:9:91:25 | ...; | | -| Assert.cs:90:9:90:26 | ...; | Assert.cs:90:13:90:13 | access to parameter b | | -| 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: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 | 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:88:27:88:34 | After access to property Length | Assert.cs:88:9:88:35 | call to method WriteLine | | +| Assert.cs:88:27:88:34 | Before access to property Length | Assert.cs:88:27:88:27 | access to local variable s | | +| Assert.cs:88:27:88:34 | access to property Length | Assert.cs:88:27:88:34 | After access to property Length | | +| Assert.cs:90:9:90:9 | access to local variable s | Assert.cs:90:13:90:25 | ... ? ... : ... | | +| Assert.cs:90:9:90:25 | ... = ... | Assert.cs:90:9:90:25 | After ... = ... | | +| Assert.cs:90:9:90:25 | After ... = ... | Assert.cs:90:9:90:26 | After ...; | | +| Assert.cs:90:9:90:25 | Before ... = ... | Assert.cs:90:9:90:9 | access to local variable s | | +| Assert.cs:90:9:90:26 | ...; | Assert.cs:90:9:90:25 | Before ... = ... | | +| Assert.cs:90:9:90:26 | After ...; | Assert.cs:91:9:91:25 | ...; | | +| Assert.cs:90:13:90:13 | After access to parameter b [false] | Assert.cs:90:24:90:25 | "" | | +| Assert.cs:90:13:90:13 | After access to parameter b [true] | Assert.cs:90:17:90:20 | null | | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | After access to parameter b [false] | false | +| Assert.cs:90:13:90:13 | access to parameter b | Assert.cs:90:13:90:13 | After access to parameter b [true] | true | +| Assert.cs:90:13:90:25 | ... ? ... : ... | Assert.cs:90:13:90:13 | access to parameter b | | +| Assert.cs:90:13:90:25 | After ... ? ... : ... | Assert.cs:90:9:90:25 | ... = ... | | +| Assert.cs:90:17:90:20 | null | Assert.cs:90:13:90:25 | After ... ? ... : ... | | +| Assert.cs:90:24:90:25 | "" | Assert.cs:90:13:90:25 | After ... ? ... : ... | | +| Assert.cs:91:9:91:24 | After call to method IsNull | Assert.cs:91:9:91:25 | After ...; | | +| Assert.cs:91:9:91:24 | Before 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:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:91:9:91:24 | call to method IsNull | Assert.cs:91:9:91:24 | After call to method IsNull | | +| Assert.cs:91:9:91:25 | ...; | Assert.cs:91:9:91:24 | Before call to method IsNull | | +| Assert.cs:91:9:91:25 | After ...; | Assert.cs:92:9:92:36 | ...; | | | 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:9:92:35 | After call to method WriteLine | Assert.cs:92:9:92:36 | After ...; | | +| Assert.cs:92:9:92:35 | Before call to method WriteLine | Assert.cs:92:27:92:34 | Before access to property Length | | +| Assert.cs:92:9:92:35 | call to method WriteLine | Assert.cs:92:9:92:35 | After call to method WriteLine | | +| Assert.cs:92:9:92:36 | ...; | Assert.cs:92:9:92:35 | Before call to method WriteLine | | +| Assert.cs:92:9:92:36 | After ...; | Assert.cs:94:9:94:26 | ...; | | | Assert.cs:92:27:92:27 | access to local variable s | Assert.cs:92:27:92:34 | access to property Length | | -| Assert.cs:92:27:92:34 | access to property Length | Assert.cs:92:9:92:35 | call to method WriteLine | | -| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:95:9:95:28 | ...; | | -| Assert.cs:94:9:94:26 | ...; | Assert.cs:94:13:94:13 | access to parameter b | | -| 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: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 | 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:92:27:92:34 | After access to property Length | Assert.cs:92:9:92:35 | call to method WriteLine | | +| Assert.cs:92:27:92:34 | Before access to property Length | Assert.cs:92:27:92:27 | access to local variable s | | +| Assert.cs:92:27:92:34 | access to property Length | Assert.cs:92:27:92:34 | After access to property Length | | +| Assert.cs:94:9:94:9 | access to local variable s | Assert.cs:94:13:94:25 | ... ? ... : ... | | +| Assert.cs:94:9:94:25 | ... = ... | Assert.cs:94:9:94:25 | After ... = ... | | +| Assert.cs:94:9:94:25 | After ... = ... | Assert.cs:94:9:94:26 | After ...; | | +| Assert.cs:94:9:94:25 | Before ... = ... | Assert.cs:94:9:94:9 | access to local variable s | | +| Assert.cs:94:9:94:26 | ...; | Assert.cs:94:9:94:25 | Before ... = ... | | +| Assert.cs:94:9:94:26 | After ...; | Assert.cs:95:9:95:28 | ...; | | +| Assert.cs:94:13:94:13 | After access to parameter b [false] | Assert.cs:94:24:94:25 | "" | | +| Assert.cs:94:13:94:13 | After access to parameter b [true] | Assert.cs:94:17:94:20 | null | | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | After access to parameter b [false] | false | +| Assert.cs:94:13:94:13 | access to parameter b | Assert.cs:94:13:94:13 | After access to parameter b [true] | true | +| Assert.cs:94:13:94:25 | ... ? ... : ... | Assert.cs:94:13:94:13 | access to parameter b | | +| Assert.cs:94:13:94:25 | After ... ? ... : ... | Assert.cs:94:9:94:25 | ... = ... | | +| Assert.cs:94:17:94:20 | null | Assert.cs:94:13:94:25 | After ... ? ... : ... | | +| Assert.cs:94:24:94:25 | "" | Assert.cs:94:13:94:25 | After ... ? ... : ... | | +| Assert.cs:95:9:95:27 | After call to method IsNotNull | Assert.cs:95:9:95:28 | After ...; | | +| Assert.cs:95:9:95:27 | Before 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:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:95:9:95:27 | call to method IsNotNull | Assert.cs:95:9:95:27 | After call to method IsNotNull | | +| Assert.cs:95:9:95:28 | ...; | Assert.cs:95:9:95:27 | Before call to method IsNotNull | | +| Assert.cs:95:9:95:28 | After ...; | Assert.cs:96:9:96:36 | ...; | | | 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:9:96:35 | After call to method WriteLine | Assert.cs:96:9:96:36 | After ...; | | +| Assert.cs:96:9:96:35 | Before call to method WriteLine | Assert.cs:96:27:96:34 | Before access to property Length | | +| Assert.cs:96:9:96:35 | call to method WriteLine | Assert.cs:96:9:96:35 | After call to method WriteLine | | +| Assert.cs:96:9:96:36 | ...; | Assert.cs:96:9:96:35 | Before call to method WriteLine | | +| Assert.cs:96:9:96:36 | After ...; | Assert.cs:98:9:98:26 | ...; | | | Assert.cs:96:27:96:27 | access to local variable s | Assert.cs:96:27:96:34 | access to property Length | | -| Assert.cs:96:27:96:34 | access to property Length | Assert.cs:96:9:96:35 | call to method WriteLine | | -| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:99:9:99:33 | ...; | | -| Assert.cs:98:9:98:26 | ...; | Assert.cs:98:13:98:13 | access to parameter b | | -| 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: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 | 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:96:27:96:34 | After access to property Length | Assert.cs:96:9:96:35 | call to method WriteLine | | +| Assert.cs:96:27:96:34 | Before access to property Length | Assert.cs:96:27:96:27 | access to local variable s | | +| Assert.cs:96:27:96:34 | access to property Length | Assert.cs:96:27:96:34 | After access to property Length | | +| Assert.cs:98:9:98:9 | access to local variable s | Assert.cs:98:13:98:25 | ... ? ... : ... | | +| Assert.cs:98:9:98:25 | ... = ... | Assert.cs:98:9:98:25 | After ... = ... | | +| Assert.cs:98:9:98:25 | After ... = ... | Assert.cs:98:9:98:26 | After ...; | | +| Assert.cs:98:9:98:25 | Before ... = ... | Assert.cs:98:9:98:9 | access to local variable s | | +| Assert.cs:98:9:98:26 | ...; | Assert.cs:98:9:98:25 | Before ... = ... | | +| Assert.cs:98:9:98:26 | After ...; | Assert.cs:99:9:99:33 | ...; | | +| Assert.cs:98:13:98:13 | After access to parameter b [false] | Assert.cs:98:24:98:25 | "" | | +| Assert.cs:98:13:98:13 | After access to parameter b [true] | Assert.cs:98:17:98:20 | null | | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | After access to parameter b [false] | false | +| Assert.cs:98:13:98:13 | access to parameter b | Assert.cs:98:13:98:13 | After access to parameter b [true] | true | +| Assert.cs:98:13:98:25 | ... ? ... : ... | Assert.cs:98:13:98:13 | access to parameter b | | +| Assert.cs:98:13:98:25 | After ... ? ... : ... | Assert.cs:98:9:98:25 | ... = ... | | +| Assert.cs:98:17:98:20 | null | Assert.cs:98:13:98:25 | After ... ? ... : ... | | +| Assert.cs:98:24:98:25 | "" | Assert.cs:98:13:98:25 | After ... ? ... : ... | | +| Assert.cs:99:9:99:32 | After call to method IsTrue | Assert.cs:99:9:99:33 | After ...; | | +| Assert.cs:99:9:99:32 | Before call to method IsTrue | Assert.cs:99:23:99:31 | Before ... == ... | | +| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:99:9:99:32 | call to method IsTrue | Assert.cs:99:9:99:32 | After call to method IsTrue | | +| Assert.cs:99:9:99:33 | ...; | Assert.cs:99:9:99:32 | Before call to method IsTrue | | +| Assert.cs:99:9:99:33 | After ...; | Assert.cs:100:9:100:36 | ...; | | | 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 | call to method IsTrue | | +| Assert.cs:99:23:99:31 | ... == ... | Assert.cs:99:23:99:31 | After ... == ... | | +| Assert.cs:99:23:99:31 | After ... == ... | Assert.cs:99:9:99:32 | call to method IsTrue | | +| Assert.cs:99:23:99:31 | Before ... == ... | 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: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 | | +| Assert.cs:100:9:100:35 | After call to method WriteLine | Assert.cs:100:9:100:36 | After ...; | | +| Assert.cs:100:9:100:35 | Before call to method WriteLine | Assert.cs:100:27:100:34 | Before access to property Length | | +| Assert.cs:100:9:100:35 | call to method WriteLine | Assert.cs:100:9:100:35 | After call to method WriteLine | | +| Assert.cs:100:9:100:36 | ...; | Assert.cs:100:9:100:35 | Before call to method WriteLine | | +| Assert.cs:100:9:100:36 | After ...; | Assert.cs:102:9:102:26 | ...; | | | Assert.cs:100:27:100:27 | access to local variable s | Assert.cs:100:27:100:34 | access to property Length | | -| Assert.cs:100:27:100:34 | access to property Length | Assert.cs:100:9:100:35 | call to method WriteLine | | -| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:103:9:103:33 | ...; | | -| Assert.cs:102:9:102:26 | ...; | Assert.cs:102:13:102:13 | access to parameter b | | -| 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: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 | 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:100:27:100:34 | After access to property Length | Assert.cs:100:9:100:35 | call to method WriteLine | | +| Assert.cs:100:27:100:34 | Before access to property Length | Assert.cs:100:27:100:27 | access to local variable s | | +| Assert.cs:100:27:100:34 | access to property Length | Assert.cs:100:27:100:34 | After access to property Length | | +| Assert.cs:102:9:102:9 | access to local variable s | Assert.cs:102:13:102:25 | ... ? ... : ... | | +| Assert.cs:102:9:102:25 | ... = ... | Assert.cs:102:9:102:25 | After ... = ... | | +| Assert.cs:102:9:102:25 | After ... = ... | Assert.cs:102:9:102:26 | After ...; | | +| Assert.cs:102:9:102:25 | Before ... = ... | Assert.cs:102:9:102:9 | access to local variable s | | +| Assert.cs:102:9:102:26 | ...; | Assert.cs:102:9:102:25 | Before ... = ... | | +| Assert.cs:102:9:102:26 | After ...; | Assert.cs:103:9:103:33 | ...; | | +| Assert.cs:102:13:102:13 | After access to parameter b [false] | Assert.cs:102:24:102:25 | "" | | +| Assert.cs:102:13:102:13 | After access to parameter b [true] | Assert.cs:102:17:102:20 | null | | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | After access to parameter b [false] | false | +| Assert.cs:102:13:102:13 | access to parameter b | Assert.cs:102:13:102:13 | After access to parameter b [true] | true | +| Assert.cs:102:13:102:25 | ... ? ... : ... | Assert.cs:102:13:102:13 | access to parameter b | | +| Assert.cs:102:13:102:25 | After ... ? ... : ... | Assert.cs:102:9:102:25 | ... = ... | | +| Assert.cs:102:17:102:20 | null | Assert.cs:102:13:102:25 | After ... ? ... : ... | | +| Assert.cs:102:24:102:25 | "" | Assert.cs:102:13:102:25 | After ... ? ... : ... | | +| Assert.cs:103:9:103:32 | After call to method IsTrue | Assert.cs:103:9:103:33 | After ...; | | +| Assert.cs:103:9:103:32 | Before call to method IsTrue | Assert.cs:103:23:103:31 | Before ... != ... | | +| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:103:9:103:32 | call to method IsTrue | Assert.cs:103:9:103:32 | After call to method IsTrue | | +| Assert.cs:103:9:103:33 | ...; | Assert.cs:103:9:103:32 | Before call to method IsTrue | | +| Assert.cs:103:9:103:33 | After ...; | Assert.cs:104:9:104:36 | ...; | | | 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 | call to method IsTrue | | +| Assert.cs:103:23:103:31 | ... != ... | Assert.cs:103:23:103:31 | After ... != ... | | +| Assert.cs:103:23:103:31 | After ... != ... | Assert.cs:103:9:103:32 | call to method IsTrue | | +| Assert.cs:103:23:103:31 | Before ... != ... | 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: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 | | +| Assert.cs:104:9:104:35 | After call to method WriteLine | Assert.cs:104:9:104:36 | After ...; | | +| Assert.cs:104:9:104:35 | Before call to method WriteLine | Assert.cs:104:27:104:34 | Before access to property Length | | +| Assert.cs:104:9:104:35 | call to method WriteLine | Assert.cs:104:9:104:35 | After call to method WriteLine | | +| Assert.cs:104:9:104:36 | ...; | Assert.cs:104:9:104:35 | Before call to method WriteLine | | +| Assert.cs:104:9:104:36 | After ...; | Assert.cs:106:9:106:26 | ...; | | | Assert.cs:104:27:104:27 | access to local variable s | Assert.cs:104:27:104:34 | access to property Length | | -| Assert.cs:104:27:104:34 | access to property Length | Assert.cs:104:9:104:35 | call to method WriteLine | | -| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:107:9:107:34 | ...; | | -| Assert.cs:106:9:106:26 | ...; | Assert.cs:106:13:106:13 | access to parameter b | | -| 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: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 | 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:104:27:104:34 | After access to property Length | Assert.cs:104:9:104:35 | call to method WriteLine | | +| Assert.cs:104:27:104:34 | Before access to property Length | Assert.cs:104:27:104:27 | access to local variable s | | +| Assert.cs:104:27:104:34 | access to property Length | Assert.cs:104:27:104:34 | After access to property Length | | +| Assert.cs:106:9:106:9 | access to local variable s | Assert.cs:106:13:106:25 | ... ? ... : ... | | +| Assert.cs:106:9:106:25 | ... = ... | Assert.cs:106:9:106:25 | After ... = ... | | +| Assert.cs:106:9:106:25 | After ... = ... | Assert.cs:106:9:106:26 | After ...; | | +| Assert.cs:106:9:106:25 | Before ... = ... | Assert.cs:106:9:106:9 | access to local variable s | | +| Assert.cs:106:9:106:26 | ...; | Assert.cs:106:9:106:25 | Before ... = ... | | +| Assert.cs:106:9:106:26 | After ...; | Assert.cs:107:9:107:34 | ...; | | +| Assert.cs:106:13:106:13 | After access to parameter b [false] | Assert.cs:106:24:106:25 | "" | | +| Assert.cs:106:13:106:13 | After access to parameter b [true] | Assert.cs:106:17:106:20 | null | | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | After access to parameter b [false] | false | +| Assert.cs:106:13:106:13 | access to parameter b | Assert.cs:106:13:106:13 | After access to parameter b [true] | true | +| Assert.cs:106:13:106:25 | ... ? ... : ... | Assert.cs:106:13:106:13 | access to parameter b | | +| Assert.cs:106:13:106:25 | After ... ? ... : ... | Assert.cs:106:9:106:25 | ... = ... | | +| Assert.cs:106:17:106:20 | null | Assert.cs:106:13:106:25 | After ... ? ... : ... | | +| Assert.cs:106:24:106:25 | "" | Assert.cs:106:13:106:25 | After ... ? ... : ... | | +| Assert.cs:107:9:107:33 | After call to method IsFalse | Assert.cs:107:9:107:34 | After ...; | | +| Assert.cs:107:9:107:33 | Before call to method IsFalse | Assert.cs:107:24:107:32 | Before ... != ... | | +| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:107:9:107:33 | call to method IsFalse | Assert.cs:107:9:107:33 | After call to method IsFalse | | +| Assert.cs:107:9:107:34 | ...; | Assert.cs:107:9:107:33 | Before call to method IsFalse | | +| Assert.cs:107:9:107:34 | After ...; | Assert.cs:108:9:108:36 | ...; | | | 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 | call to method IsFalse | | +| Assert.cs:107:24:107:32 | ... != ... | Assert.cs:107:24:107:32 | After ... != ... | | +| Assert.cs:107:24:107:32 | After ... != ... | Assert.cs:107:9:107:33 | call to method IsFalse | | +| Assert.cs:107:24:107:32 | Before ... != ... | 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: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 | | +| Assert.cs:108:9:108:35 | After call to method WriteLine | Assert.cs:108:9:108:36 | After ...; | | +| Assert.cs:108:9:108:35 | Before call to method WriteLine | Assert.cs:108:27:108:34 | Before access to property Length | | +| Assert.cs:108:9:108:35 | call to method WriteLine | Assert.cs:108:9:108:35 | After call to method WriteLine | | +| Assert.cs:108:9:108:36 | ...; | Assert.cs:108:9:108:35 | Before call to method WriteLine | | +| Assert.cs:108:9:108:36 | After ...; | Assert.cs:110:9:110:26 | ...; | | | Assert.cs:108:27:108:27 | access to local variable s | Assert.cs:108:27:108:34 | access to property Length | | -| Assert.cs:108:27:108:34 | access to property Length | Assert.cs:108:9:108:35 | call to method WriteLine | | -| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:111:9:111:34 | ...; | | -| Assert.cs:110:9:110:26 | ...; | Assert.cs:110:13:110:13 | access to parameter b | | -| 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: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 | 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:108:27:108:34 | After access to property Length | Assert.cs:108:9:108:35 | call to method WriteLine | | +| Assert.cs:108:27:108:34 | Before access to property Length | Assert.cs:108:27:108:27 | access to local variable s | | +| Assert.cs:108:27:108:34 | access to property Length | Assert.cs:108:27:108:34 | After access to property Length | | +| Assert.cs:110:9:110:9 | access to local variable s | Assert.cs:110:13:110:25 | ... ? ... : ... | | +| Assert.cs:110:9:110:25 | ... = ... | Assert.cs:110:9:110:25 | After ... = ... | | +| Assert.cs:110:9:110:25 | After ... = ... | Assert.cs:110:9:110:26 | After ...; | | +| Assert.cs:110:9:110:25 | Before ... = ... | Assert.cs:110:9:110:9 | access to local variable s | | +| Assert.cs:110:9:110:26 | ...; | Assert.cs:110:9:110:25 | Before ... = ... | | +| Assert.cs:110:9:110:26 | After ...; | Assert.cs:111:9:111:34 | ...; | | +| Assert.cs:110:13:110:13 | After access to parameter b [false] | Assert.cs:110:24:110:25 | "" | | +| Assert.cs:110:13:110:13 | After access to parameter b [true] | Assert.cs:110:17:110:20 | null | | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | After access to parameter b [false] | false | +| Assert.cs:110:13:110:13 | access to parameter b | Assert.cs:110:13:110:13 | After access to parameter b [true] | true | +| Assert.cs:110:13:110:25 | ... ? ... : ... | Assert.cs:110:13:110:13 | access to parameter b | | +| Assert.cs:110:13:110:25 | After ... ? ... : ... | Assert.cs:110:9:110:25 | ... = ... | | +| Assert.cs:110:17:110:20 | null | Assert.cs:110:13:110:25 | After ... ? ... : ... | | +| Assert.cs:110:24:110:25 | "" | Assert.cs:110:13:110:25 | After ... ? ... : ... | | +| Assert.cs:111:9:111:33 | After call to method IsFalse | Assert.cs:111:9:111:34 | After ...; | | +| Assert.cs:111:9:111:33 | Before call to method IsFalse | Assert.cs:111:24:111:32 | Before ... == ... | | +| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:111:9:111:33 | call to method IsFalse | Assert.cs:111:9:111:33 | After call to method IsFalse | | +| Assert.cs:111:9:111:34 | ...; | Assert.cs:111:9:111:33 | Before call to method IsFalse | | +| Assert.cs:111:9:111:34 | After ...; | Assert.cs:112:9:112:36 | ...; | | | 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 | call to method IsFalse | | +| Assert.cs:111:24:111:32 | ... == ... | Assert.cs:111:24:111:32 | After ... == ... | | +| Assert.cs:111:24:111:32 | After ... == ... | Assert.cs:111:9:111:33 | call to method IsFalse | | +| Assert.cs:111:24:111:32 | Before ... == ... | 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: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 | | +| Assert.cs:112:9:112:35 | After call to method WriteLine | Assert.cs:112:9:112:36 | After ...; | | +| Assert.cs:112:9:112:35 | Before call to method WriteLine | Assert.cs:112:27:112:34 | Before access to property Length | | +| Assert.cs:112:9:112:35 | call to method WriteLine | Assert.cs:112:9:112:35 | After call to method WriteLine | | +| Assert.cs:112:9:112:36 | ...; | Assert.cs:112:9:112:35 | Before call to method WriteLine | | +| Assert.cs:112:9:112:36 | After ...; | Assert.cs:114:9:114:26 | ...; | | | Assert.cs:112:27:112:27 | access to local variable s | Assert.cs:112:27:112:34 | access to property Length | | -| Assert.cs:112:27:112:34 | access to property Length | Assert.cs:112:9:112:35 | call to method WriteLine | | -| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:115:9:115:38 | ...; | | -| Assert.cs:114:9:114:26 | ...; | Assert.cs:114:13:114:13 | access to parameter b | | -| 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: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 | 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:112:27:112:34 | After access to property Length | Assert.cs:112:9:112:35 | call to method WriteLine | | +| Assert.cs:112:27:112:34 | Before access to property Length | Assert.cs:112:27:112:27 | access to local variable s | | +| Assert.cs:112:27:112:34 | access to property Length | Assert.cs:112:27:112:34 | After access to property Length | | +| Assert.cs:114:9:114:9 | access to local variable s | Assert.cs:114:13:114:25 | ... ? ... : ... | | +| Assert.cs:114:9:114:25 | ... = ... | Assert.cs:114:9:114:25 | After ... = ... | | +| Assert.cs:114:9:114:25 | After ... = ... | Assert.cs:114:9:114:26 | After ...; | | +| Assert.cs:114:9:114:25 | Before ... = ... | Assert.cs:114:9:114:9 | access to local variable s | | +| Assert.cs:114:9:114:26 | ...; | Assert.cs:114:9:114:25 | Before ... = ... | | +| Assert.cs:114:9:114:26 | After ...; | Assert.cs:115:9:115:38 | ...; | | +| Assert.cs:114:13:114:13 | After access to parameter b [false] | Assert.cs:114:24:114:25 | "" | | +| Assert.cs:114:13:114:13 | After access to parameter b [true] | Assert.cs:114:17:114:20 | null | | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | After access to parameter b [false] | false | +| Assert.cs:114:13:114:13 | access to parameter b | Assert.cs:114:13:114:13 | After access to parameter b [true] | true | +| Assert.cs:114:13:114:25 | ... ? ... : ... | Assert.cs:114:13:114:13 | access to parameter b | | +| Assert.cs:114:13:114:25 | After ... ? ... : ... | Assert.cs:114:9:114:25 | ... = ... | | +| Assert.cs:114:17:114:20 | null | Assert.cs:114:13:114:25 | After ... ? ... : ... | | +| Assert.cs:114:24:114:25 | "" | Assert.cs:114:13:114:25 | After ... ? ... : ... | | +| Assert.cs:115:9:115:37 | After call to method IsTrue | Assert.cs:115:9:115:38 | After ...; | | +| Assert.cs:115:9:115:37 | Before call to method IsTrue | Assert.cs:115:23:115:36 | ... && ... | | +| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:115:9:115:37 | call to method IsTrue | Assert.cs:115:9:115:37 | After call to method IsTrue | | +| Assert.cs:115:9:115:38 | ...; | Assert.cs:115:9:115:37 | Before call to method IsTrue | | +| Assert.cs:115:9:115:38 | After ...; | Assert.cs:116:9:116:36 | ...; | | | 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:36:115:36 | access to parameter b | true | -| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:9:115:37 | call to method IsTrue | | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | After ... != ... [false] | false | +| Assert.cs:115:23:115:31 | ... != ... | Assert.cs:115:23:115:31 | After ... != ... [true] | true | +| Assert.cs:115:23:115:31 | After ... != ... [false] | Assert.cs:115:23:115:36 | After ... && ... | | +| Assert.cs:115:23:115:31 | After ... != ... [true] | Assert.cs:115:36:115:36 | access to parameter b | | +| Assert.cs:115:23:115:31 | Before ... != ... | Assert.cs:115:23:115:23 | access to local variable s | | +| Assert.cs:115:23:115:36 | ... && ... | Assert.cs:115:23:115:31 | Before ... != ... | | +| Assert.cs:115:23:115:36 | After ... && ... | 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 | ... && ... | | -| 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:115:36:115:36 | access to parameter b | Assert.cs:115:23:115:36 | After ... && ... | | +| Assert.cs:116:9:116:35 | After call to method WriteLine | Assert.cs:116:9:116:36 | After ...; | | +| Assert.cs:116:9:116:35 | Before call to method WriteLine | Assert.cs:116:27:116:34 | Before access to property Length | | +| Assert.cs:116:9:116:35 | call to method WriteLine | Assert.cs:116:9:116:35 | After call to method WriteLine | | +| Assert.cs:116:9:116:36 | ...; | Assert.cs:116:9:116:35 | Before call to method WriteLine | | +| Assert.cs:116:9:116:36 | After ...; | Assert.cs:118:9:118:26 | ...; | | | Assert.cs:116:27:116:27 | access to local variable s | Assert.cs:116:27:116:34 | access to property Length | | -| Assert.cs:116:27:116:34 | access to property Length | Assert.cs:116:9:116:35 | call to method WriteLine | | -| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:119:9:119:40 | ...; | | -| Assert.cs:118:9:118:26 | ...; | Assert.cs:118:13:118:13 | access to parameter b | | -| 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: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 | 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:116:27:116:34 | After access to property Length | Assert.cs:116:9:116:35 | call to method WriteLine | | +| Assert.cs:116:27:116:34 | Before access to property Length | Assert.cs:116:27:116:27 | access to local variable s | | +| Assert.cs:116:27:116:34 | access to property Length | Assert.cs:116:27:116:34 | After access to property Length | | +| Assert.cs:118:9:118:9 | access to local variable s | Assert.cs:118:13:118:25 | ... ? ... : ... | | +| Assert.cs:118:9:118:25 | ... = ... | Assert.cs:118:9:118:25 | After ... = ... | | +| Assert.cs:118:9:118:25 | After ... = ... | Assert.cs:118:9:118:26 | After ...; | | +| Assert.cs:118:9:118:25 | Before ... = ... | Assert.cs:118:9:118:9 | access to local variable s | | +| Assert.cs:118:9:118:26 | ...; | Assert.cs:118:9:118:25 | Before ... = ... | | +| Assert.cs:118:9:118:26 | After ...; | Assert.cs:119:9:119:40 | ...; | | +| Assert.cs:118:13:118:13 | After access to parameter b [false] | Assert.cs:118:24:118:25 | "" | | +| Assert.cs:118:13:118:13 | After access to parameter b [true] | Assert.cs:118:17:118:20 | null | | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | After access to parameter b [false] | false | +| Assert.cs:118:13:118:13 | access to parameter b | Assert.cs:118:13:118:13 | After access to parameter b [true] | true | +| Assert.cs:118:13:118:25 | ... ? ... : ... | Assert.cs:118:13:118:13 | access to parameter b | | +| Assert.cs:118:13:118:25 | After ... ? ... : ... | Assert.cs:118:9:118:25 | ... = ... | | +| Assert.cs:118:17:118:20 | null | Assert.cs:118:13:118:25 | After ... ? ... : ... | | +| Assert.cs:118:24:118:25 | "" | Assert.cs:118:13:118:25 | After ... ? ... : ... | | +| Assert.cs:119:9:119:39 | After call to method IsFalse | Assert.cs:119:9:119:40 | After ...; | | +| Assert.cs:119:9:119:39 | Before call to method IsFalse | Assert.cs:119:24:119:38 | ... \|\| ... | | +| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:119:9:119:39 | call to method IsFalse | Assert.cs:119:9:119:39 | After call to method IsFalse | | +| Assert.cs:119:9:119:40 | ...; | Assert.cs:119:9:119:39 | Before call to method IsFalse | | +| Assert.cs:119:9:119:40 | After ...; | Assert.cs:120:9:120:36 | ...; | | | 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:38:119:38 | access to parameter b | false | -| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:9:119:39 | call to method IsFalse | | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | After ... == ... [false] | false | +| Assert.cs:119:24:119:32 | ... == ... | Assert.cs:119:24:119:32 | After ... == ... [true] | true | +| Assert.cs:119:24:119:32 | After ... == ... [false] | Assert.cs:119:37:119:38 | !... | | +| Assert.cs:119:24:119:32 | After ... == ... [true] | Assert.cs:119:24:119:38 | After ... \|\| ... | | +| Assert.cs:119:24:119:32 | Before ... == ... | Assert.cs:119:24:119:24 | access to local variable s | | +| Assert.cs:119:24:119:38 | ... \|\| ... | Assert.cs:119:24:119:32 | Before ... == ... | | +| Assert.cs:119:24:119:38 | After ... \|\| ... | 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 | !... | 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:119:37:119:38 | !... | Assert.cs:119:38:119:38 | access to parameter b | | +| Assert.cs:119:37:119:38 | After !... | Assert.cs:119:24:119:38 | After ... \|\| ... | | +| Assert.cs:119:38:119:38 | access to parameter b | Assert.cs:119:37:119:38 | After !... | | +| Assert.cs:120:9:120:35 | After call to method WriteLine | Assert.cs:120:9:120:36 | After ...; | | +| Assert.cs:120:9:120:35 | Before call to method WriteLine | Assert.cs:120:27:120:34 | Before access to property Length | | +| Assert.cs:120:9:120:35 | call to method WriteLine | Assert.cs:120:9:120:35 | After call to method WriteLine | | +| Assert.cs:120:9:120:36 | ...; | Assert.cs:120:9:120:35 | Before call to method WriteLine | | +| Assert.cs:120:9:120:36 | After ...; | Assert.cs:122:9:122:26 | ...; | | | Assert.cs:120:27:120:27 | access to local variable s | Assert.cs:120:27:120:34 | access to property Length | | -| Assert.cs:120:27:120:34 | access to property Length | Assert.cs:120:9:120:35 | call to method WriteLine | | -| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:123:9:123:38 | ...; | | -| Assert.cs:122:9:122:26 | ...; | Assert.cs:122:13:122:13 | access to parameter b | | -| 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: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 | 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:120:27:120:34 | After access to property Length | Assert.cs:120:9:120:35 | call to method WriteLine | | +| Assert.cs:120:27:120:34 | Before access to property Length | Assert.cs:120:27:120:27 | access to local variable s | | +| Assert.cs:120:27:120:34 | access to property Length | Assert.cs:120:27:120:34 | After access to property Length | | +| Assert.cs:122:9:122:9 | access to local variable s | Assert.cs:122:13:122:25 | ... ? ... : ... | | +| Assert.cs:122:9:122:25 | ... = ... | Assert.cs:122:9:122:25 | After ... = ... | | +| Assert.cs:122:9:122:25 | After ... = ... | Assert.cs:122:9:122:26 | After ...; | | +| Assert.cs:122:9:122:25 | Before ... = ... | Assert.cs:122:9:122:9 | access to local variable s | | +| Assert.cs:122:9:122:26 | ...; | Assert.cs:122:9:122:25 | Before ... = ... | | +| Assert.cs:122:9:122:26 | After ...; | Assert.cs:123:9:123:38 | ...; | | +| Assert.cs:122:13:122:13 | After access to parameter b [false] | Assert.cs:122:24:122:25 | "" | | +| Assert.cs:122:13:122:13 | After access to parameter b [true] | Assert.cs:122:17:122:20 | null | | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | After access to parameter b [false] | false | +| Assert.cs:122:13:122:13 | access to parameter b | Assert.cs:122:13:122:13 | After access to parameter b [true] | true | +| Assert.cs:122:13:122:25 | ... ? ... : ... | Assert.cs:122:13:122:13 | access to parameter b | | +| Assert.cs:122:13:122:25 | After ... ? ... : ... | Assert.cs:122:9:122:25 | ... = ... | | +| Assert.cs:122:17:122:20 | null | Assert.cs:122:13:122:25 | After ... ? ... : ... | | +| Assert.cs:122:24:122:25 | "" | Assert.cs:122:13:122:25 | After ... ? ... : ... | | +| Assert.cs:123:9:123:37 | After call to method IsTrue | Assert.cs:123:9:123:38 | After ...; | | +| Assert.cs:123:9:123:37 | Before call to method IsTrue | Assert.cs:123:23:123:36 | ... && ... | | +| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:123:9:123:37 | call to method IsTrue | Assert.cs:123:9:123:37 | After call to method IsTrue | | +| Assert.cs:123:9:123:38 | ...; | Assert.cs:123:9:123:37 | Before call to method IsTrue | | +| Assert.cs:123:9:123:38 | After ...; | Assert.cs:124:9:124:36 | ...; | | | 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:36:123:36 | access to parameter b | true | -| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:9:123:37 | call to method IsTrue | | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | After ... == ... [false] | false | +| Assert.cs:123:23:123:31 | ... == ... | Assert.cs:123:23:123:31 | After ... == ... [true] | true | +| Assert.cs:123:23:123:31 | After ... == ... [false] | Assert.cs:123:23:123:36 | After ... && ... | | +| Assert.cs:123:23:123:31 | After ... == ... [true] | Assert.cs:123:36:123:36 | access to parameter b | | +| Assert.cs:123:23:123:31 | Before ... == ... | Assert.cs:123:23:123:23 | access to local variable s | | +| Assert.cs:123:23:123:36 | ... && ... | Assert.cs:123:23:123:31 | Before ... == ... | | +| Assert.cs:123:23:123:36 | After ... && ... | 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 | ... && ... | | -| 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:123:36:123:36 | access to parameter b | Assert.cs:123:23:123:36 | After ... && ... | | +| Assert.cs:124:9:124:35 | After call to method WriteLine | Assert.cs:124:9:124:36 | After ...; | | +| Assert.cs:124:9:124:35 | Before call to method WriteLine | Assert.cs:124:27:124:34 | Before access to property Length | | +| Assert.cs:124:9:124:35 | call to method WriteLine | Assert.cs:124:9:124:35 | After call to method WriteLine | | +| Assert.cs:124:9:124:36 | ...; | Assert.cs:124:9:124:35 | Before call to method WriteLine | | +| Assert.cs:124:9:124:36 | After ...; | Assert.cs:126:9:126:26 | ...; | | | Assert.cs:124:27:124:27 | access to local variable s | Assert.cs:124:27:124:34 | access to property Length | | -| Assert.cs:124:27:124:34 | access to property Length | Assert.cs:124:9:124:35 | call to method WriteLine | | -| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:127:9:127:40 | ...; | | -| Assert.cs:126:9:126:26 | ...; | Assert.cs:126:13:126:13 | access to parameter b | | -| 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: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 | 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:124:27:124:34 | After access to property Length | Assert.cs:124:9:124:35 | call to method WriteLine | | +| Assert.cs:124:27:124:34 | Before access to property Length | Assert.cs:124:27:124:27 | access to local variable s | | +| Assert.cs:124:27:124:34 | access to property Length | Assert.cs:124:27:124:34 | After access to property Length | | +| Assert.cs:126:9:126:9 | access to local variable s | Assert.cs:126:13:126:25 | ... ? ... : ... | | +| Assert.cs:126:9:126:25 | ... = ... | Assert.cs:126:9:126:25 | After ... = ... | | +| Assert.cs:126:9:126:25 | After ... = ... | Assert.cs:126:9:126:26 | After ...; | | +| Assert.cs:126:9:126:25 | Before ... = ... | Assert.cs:126:9:126:9 | access to local variable s | | +| Assert.cs:126:9:126:26 | ...; | Assert.cs:126:9:126:25 | Before ... = ... | | +| Assert.cs:126:9:126:26 | After ...; | Assert.cs:127:9:127:40 | ...; | | +| Assert.cs:126:13:126:13 | After access to parameter b [false] | Assert.cs:126:24:126:25 | "" | | +| Assert.cs:126:13:126:13 | After access to parameter b [true] | Assert.cs:126:17:126:20 | null | | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | After access to parameter b [false] | false | +| Assert.cs:126:13:126:13 | access to parameter b | Assert.cs:126:13:126:13 | After access to parameter b [true] | true | +| Assert.cs:126:13:126:25 | ... ? ... : ... | Assert.cs:126:13:126:13 | access to parameter b | | +| Assert.cs:126:13:126:25 | After ... ? ... : ... | Assert.cs:126:9:126:25 | ... = ... | | +| Assert.cs:126:17:126:20 | null | Assert.cs:126:13:126:25 | After ... ? ... : ... | | +| Assert.cs:126:24:126:25 | "" | Assert.cs:126:13:126:25 | After ... ? ... : ... | | +| Assert.cs:127:9:127:39 | After call to method IsFalse | Assert.cs:127:9:127:40 | After ...; | | +| Assert.cs:127:9:127:39 | Before call to method IsFalse | Assert.cs:127:24:127:38 | ... \|\| ... | | +| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:84:10:84:12 | Exceptional Exit | exception | +| Assert.cs:127:9:127:39 | call to method IsFalse | Assert.cs:127:9:127:39 | After call to method IsFalse | | +| Assert.cs:127:9:127:40 | ...; | Assert.cs:127:9:127:39 | Before call to method IsFalse | | +| Assert.cs:127:9:127:40 | After ...; | Assert.cs:128:9:128:36 | ...; | | | 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:38:127:38 | access to parameter b | false | -| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:9:127:39 | call to method IsFalse | | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | After ... != ... [false] | false | +| Assert.cs:127:24:127:32 | ... != ... | Assert.cs:127:24:127:32 | After ... != ... [true] | true | +| Assert.cs:127:24:127:32 | After ... != ... [false] | Assert.cs:127:37:127:38 | !... | | +| Assert.cs:127:24:127:32 | After ... != ... [true] | Assert.cs:127:24:127:38 | After ... \|\| ... | | +| Assert.cs:127:24:127:32 | Before ... != ... | Assert.cs:127:24:127:24 | access to local variable s | | +| Assert.cs:127:24:127:38 | ... \|\| ... | Assert.cs:127:24:127:32 | Before ... != ... | | +| Assert.cs:127:24:127:38 | After ... \|\| ... | 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 | !... | 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:127:37:127:38 | !... | Assert.cs:127:38:127:38 | access to parameter b | | +| Assert.cs:127:37:127:38 | After !... | Assert.cs:127:24:127:38 | After ... \|\| ... | | +| Assert.cs:127:38:127:38 | access to parameter b | Assert.cs:127:37:127:38 | After !... | | +| Assert.cs:128:9:128:35 | After call to method WriteLine | Assert.cs:128:9:128:36 | After ...; | | +| Assert.cs:128:9:128:35 | Before call to method WriteLine | Assert.cs:128:27:128:34 | Before access to property Length | | +| Assert.cs:128:9:128:35 | call to method WriteLine | Assert.cs:128:9:128:35 | After call to method WriteLine | | +| Assert.cs:128:9:128:36 | ...; | Assert.cs:128:9:128:35 | Before call to method WriteLine | | +| Assert.cs:128:9:128:36 | After ...; | Assert.cs:85:5:129:5 | After {...} | | | Assert.cs:128:27:128:27 | access to local variable s | Assert.cs:128:27:128:34 | access to property Length | | -| Assert.cs:128:27:128:34 | access to property Length | Assert.cs:128:9:128:35 | call to method WriteLine | | -| Assert.cs:131:18:131:32 | enter AssertTrueFalse | Assert.cs:135:5:136:5 | {...} | | -| Assert.cs:131:18:131:32 | exit AssertTrueFalse (normal) | Assert.cs:131:18:131:32 | exit AssertTrueFalse | | -| 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: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:128:27:128:34 | After access to property Length | Assert.cs:128:9:128:35 | call to method WriteLine | | +| Assert.cs:128:27:128:34 | Before access to property Length | Assert.cs:128:27:128:27 | access to local variable s | | +| Assert.cs:128:27:128:34 | access to property Length | Assert.cs:128:27:128:34 | After access to property Length | | +| Assert.cs:131:18:131:32 | Entry | Assert.cs:135:5:136:5 | {...} | | +| Assert.cs:131:18:131:32 | Normal Exit | Assert.cs:131:18:131:32 | Exit | | +| Assert.cs:135:5:136:5 | {...} | Assert.cs:131:18:131:32 | Normal Exit | | +| Assert.cs:138:10:138:12 | Entry | Assert.cs:139:5:142:5 | {...} | | +| Assert.cs:138:10:138:12 | Exceptional Exit | Assert.cs:138:10:138:12 | Exit | | +| Assert.cs:138:10:138:12 | Normal Exit | Assert.cs:138:10:138:12 | Exit | | | Assert.cs:139:5:142:5 | {...} | Assert.cs:140:9:140:36 | ...; | | -| 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 | After call to method AssertTrueFalse | Assert.cs:140:9:140:36 | After ...; | | +| Assert.cs:140:9:140:35 | Before call to method AssertTrueFalse | Assert.cs:140:9:140:35 | this access | | +| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:138:10:138:12 | Exceptional Exit | exception | +| Assert.cs:140:9:140:35 | call to method AssertTrueFalse | Assert.cs:140:9:140:35 | After call to method AssertTrueFalse | | | 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:9:140:36 | ...; | Assert.cs:140:9:140:35 | Before call to method AssertTrueFalse | | +| Assert.cs:140:9:140:36 | After ...; | Assert.cs:141:9:141:15 | Before return ...; | | | 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 | call to method | Assignments.cs:1:7:1:17 | call to constructor Object | | -| Assignments.cs:1:7:1:17 | enter Assignments | Assignments.cs:1:7:1:17 | this access | | -| Assignments.cs:1:7:1:17 | exit Assignments (normal) | Assignments.cs:1:7:1:17 | exit Assignments | | +| Assert.cs:141:9:141:15 | Before return ...; | Assert.cs:141:9:141:15 | return ...; | | +| Assert.cs:141:9:141:15 | return ...; | Assert.cs:138:10:138:12 | Normal Exit | return | +| Assignments.cs:1:7:1:17 | After call to constructor Object | Assignments.cs:1:7:1:17 | {...} | | +| Assignments.cs:1:7:1:17 | After call to method | Assignments.cs:1:7:1:17 | Before call to constructor Object | | +| Assignments.cs:1:7:1:17 | Before call to constructor Object | Assignments.cs:1:7:1:17 | call to constructor Object | | +| Assignments.cs:1:7:1:17 | Before call to method | Assignments.cs:1:7:1:17 | this access | | +| Assignments.cs:1:7:1:17 | Entry | Assignments.cs:1:7:1:17 | Before call to method | | +| Assignments.cs:1:7:1:17 | Normal Exit | Assignments.cs:1:7:1:17 | Exit | | +| Assignments.cs:1:7:1:17 | call to constructor Object | Assignments.cs:1:7:1:17 | After call to constructor Object | | +| Assignments.cs:1:7:1:17 | call to method | Assignments.cs:1:7:1:17 | After call to method | | | Assignments.cs:1:7:1:17 | this access | Assignments.cs:1:7:1:17 | call to method | | -| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | exit Assignments (normal) | | -| Assignments.cs:3:10:3:10 | enter M | Assignments.cs:4:5:15:5 | {...} | | -| Assignments.cs:3:10:3:10 | exit M (normal) | Assignments.cs:3:10:3:10 | exit M | | +| Assignments.cs:1:7:1:17 | {...} | Assignments.cs:1:7:1:17 | Normal Exit | | +| Assignments.cs:3:10:3:10 | Entry | Assignments.cs:4:5:15:5 | {...} | | +| Assignments.cs:3:10:3:10 | Normal Exit | Assignments.cs:3:10:3:10 | Exit | | +| Assignments.cs:4:5:15:5 | After {...} | Assignments.cs:3:10:3:10 | Normal Exit | | | Assignments.cs:4:5:15:5 | {...} | Assignments.cs:5:9:5:18 | ... ...; | | -| Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:17:5:17 | 0 | | -| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:6:9:6:15 | ...; | | +| Assignments.cs:5:9:5:18 | ... ...; | Assignments.cs:5:13:5:17 | Before Int32 x = ... | | +| Assignments.cs:5:9:5:18 | After ... ...; | Assignments.cs:6:9:6:15 | ...; | | +| Assignments.cs:5:13:5:13 | access to local variable x | Assignments.cs:5:17:5:17 | 0 | | +| Assignments.cs:5:13:5:17 | After Int32 x = ... | Assignments.cs:5:9:5:18 | After ... ...; | | +| Assignments.cs:5:13:5:17 | Before Int32 x = ... | Assignments.cs:5:13:5:13 | access to local variable x | | +| Assignments.cs:5:13:5:17 | Int32 x = ... | Assignments.cs:5:13:5:17 | After Int32 x = ... | | | Assignments.cs:5:17:5:17 | 0 | Assignments.cs:5:13:5:17 | Int32 x = ... | | | Assignments.cs:6:9:6:9 | access to local variable x | Assignments.cs:6:14:6:14 | 1 | | -| Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:8:9:8:22 | ... ...; | | -| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:9 | access to local variable x | | +| Assignments.cs:6:9:6:14 | ... += ... | Assignments.cs:6:9:6:14 | After ... += ... | | +| Assignments.cs:6:9:6:14 | After ... += ... | Assignments.cs:6:9:6:15 | After ...; | | +| Assignments.cs:6:9:6:14 | Before ... += ... | Assignments.cs:6:9:6:9 | access to local variable x | | +| Assignments.cs:6:9:6:15 | ...; | Assignments.cs:6:9:6:14 | Before ... += ... | | +| Assignments.cs:6:9:6:15 | After ...; | Assignments.cs:8:9:8:22 | ... ...; | | | Assignments.cs:6:14:6:14 | 1 | Assignments.cs:6:9:6:14 | ... += ... | | -| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:21:8:21 | 0 | | -| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:9:9:9:15 | ...; | | +| Assignments.cs:8:9:8:22 | ... ...; | Assignments.cs:8:17:8:21 | Before dynamic d = ... | | +| Assignments.cs:8:9:8:22 | After ... ...; | Assignments.cs:9:9:9:15 | ...; | | +| Assignments.cs:8:17:8:17 | access to local variable d | Assignments.cs:8:21:8:21 | Before (...) ... | | +| Assignments.cs:8:17:8:21 | After dynamic d = ... | Assignments.cs:8:9:8:22 | After ... ...; | | +| Assignments.cs:8:17:8:21 | Before dynamic d = ... | Assignments.cs:8:17:8:17 | access to local variable d | | +| Assignments.cs:8:17:8:21 | dynamic d = ... | Assignments.cs:8:17:8:21 | After dynamic d = ... | | | Assignments.cs:8:21:8:21 | 0 | Assignments.cs:8:21:8:21 | (...) ... | | -| Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:17:8:21 | dynamic d = ... | | +| Assignments.cs:8:21:8:21 | (...) ... | Assignments.cs:8:21:8:21 | After (...) ... | | +| Assignments.cs:8:21:8:21 | After (...) ... | Assignments.cs:8:17:8:21 | dynamic d = ... | | +| Assignments.cs:8:21:8:21 | Before (...) ... | Assignments.cs:8:21:8:21 | 0 | | | Assignments.cs:9:9:9:9 | access to local variable d | Assignments.cs:9:14:9:14 | 2 | | -| Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:11:9:11:34 | ... ...; | | -| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:9 | access to local variable d | | +| Assignments.cs:9:9:9:14 | ... -= ... | Assignments.cs:9:9:9:14 | After ... -= ... | | +| Assignments.cs:9:9:9:14 | After ... -= ... | Assignments.cs:9:9:9:15 | After ...; | | +| Assignments.cs:9:9:9:14 | Before ... -= ... | Assignments.cs:9:9:9:9 | access to local variable d | | +| Assignments.cs:9:9:9:15 | ...; | Assignments.cs:9:9:9:14 | Before ... -= ... | | +| Assignments.cs:9:9:9:15 | After ...; | Assignments.cs:11:9:11:34 | ... ...; | | | Assignments.cs:9:14:9:14 | 2 | Assignments.cs:9:9:9:14 | ... -= ... | | -| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:17:11:33 | object creation of type Assignments | | -| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:12:9:12:18 | ...; | | -| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:13:11:33 | Assignments a = ... | | +| Assignments.cs:11:9:11:34 | ... ...; | Assignments.cs:11:13:11:33 | Before Assignments a = ... | | +| Assignments.cs:11:9:11:34 | After ... ...; | Assignments.cs:12:9:12:18 | ...; | | +| Assignments.cs:11:13:11:13 | access to local variable a | Assignments.cs:11:17:11:33 | Before object creation of type Assignments | | +| Assignments.cs:11:13:11:33 | After Assignments a = ... | Assignments.cs:11:9:11:34 | After ... ...; | | +| Assignments.cs:11:13:11:33 | Assignments a = ... | Assignments.cs:11:13:11:33 | After Assignments a = ... | | +| Assignments.cs:11:13:11:33 | Before Assignments a = ... | Assignments.cs:11:13:11:13 | access to local variable a | | +| Assignments.cs:11:17:11:33 | After object creation of type Assignments | Assignments.cs:11:13:11:33 | Assignments a = ... | | +| Assignments.cs:11:17:11:33 | Before object creation of type Assignments | Assignments.cs:11:17:11:33 | object creation of type Assignments | | +| Assignments.cs:11:17:11:33 | object creation of type Assignments | Assignments.cs:11:17:11:33 | After object creation of type Assignments | | | Assignments.cs:12:9:12:9 | access to local variable a | Assignments.cs:12:14:12:17 | this access | | -| Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:14:9:14:36 | ...; | | -| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:12:9:12:9 | access to local variable a | | +| Assignments.cs:12:9:12:17 | ... += ... | Assignments.cs:12:9:12:17 | After ... += ... | | +| Assignments.cs:12:9:12:17 | After ... += ... | Assignments.cs:12:9:12:18 | After ...; | | +| Assignments.cs:12:9:12:17 | Before ... += ... | Assignments.cs:12:9:12:9 | access to local variable a | | +| Assignments.cs:12:9:12:18 | ...; | Assignments.cs:12:9:12:17 | Before ... += ... | | +| Assignments.cs:12:9:12:18 | After ...; | Assignments.cs:14:9:14:36 | ...; | | | Assignments.cs:12:14:12:17 | this access | Assignments.cs:12:9:12:17 | ... += ... | | -| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:35 | ... += ... | | -| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:18:14:35 | (...) => ... | | -| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:3:10:3:10 | exit M (normal) | | -| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:14:9:14:13 | this access | | -| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:13 | access to event Event | | -| Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:33:14:35 | {...} | | -| Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | Assignments.cs:14:18:14:35 | exit (...) => ... | | -| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | exit (...) => ... (normal) | | -| Assignments.cs:17:40:17:40 | enter + | Assignments.cs:18:5:20:5 | {...} | | -| Assignments.cs:17:40:17:40 | exit + (normal) | Assignments.cs:17:40:17:40 | exit + | | -| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:16:19:16 | access to parameter x | | -| Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | exit + (normal) | return | +| Assignments.cs:14:9:14:13 | After access to event Event | Assignments.cs:14:18:14:35 | (...) => ... | | +| Assignments.cs:14:9:14:13 | Before access to event Event | Assignments.cs:14:9:14:13 | this access | | +| Assignments.cs:14:9:14:13 | access to event Event | Assignments.cs:14:9:14:13 | After access to event Event | | +| Assignments.cs:14:9:14:13 | this access | Assignments.cs:14:9:14:13 | access to event Event | | +| Assignments.cs:14:9:14:35 | ... += ... | Assignments.cs:14:9:14:35 | After ... += ... | | +| Assignments.cs:14:9:14:35 | After ... += ... | Assignments.cs:14:9:14:36 | After ...; | | +| Assignments.cs:14:9:14:35 | Before ... += ... | Assignments.cs:14:9:14:13 | Before access to event Event | | +| Assignments.cs:14:9:14:36 | ...; | Assignments.cs:14:9:14:35 | Before ... += ... | | +| Assignments.cs:14:9:14:36 | After ...; | Assignments.cs:4:5:15:5 | After {...} | | +| Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:9:14:35 | ... += ... | | +| Assignments.cs:14:18:14:35 | Entry | Assignments.cs:14:33:14:35 | {...} | | +| Assignments.cs:14:18:14:35 | Normal Exit | Assignments.cs:14:18:14:35 | Exit | | +| Assignments.cs:14:33:14:35 | {...} | Assignments.cs:14:18:14:35 | Normal Exit | | +| Assignments.cs:17:40:17:40 | Entry | Assignments.cs:18:5:20:5 | {...} | | +| Assignments.cs:17:40:17:40 | Normal Exit | Assignments.cs:17:40:17:40 | Exit | | +| Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:9:19:17 | Before return ...; | | +| Assignments.cs:19:9:19:17 | Before return ...; | Assignments.cs:19:16:19:16 | access to parameter x | | +| Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | Normal Exit | return | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:9:19:17 | return ...; | | -| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:28:5:30:5 | {...} | | -| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:27:10:27:23 | exit SetParamSingle | | +| Assignments.cs:27:10:27:23 | Entry | Assignments.cs:28:5:30:5 | {...} | | +| Assignments.cs:27:10:27:23 | Normal Exit | Assignments.cs:27:10:27:23 | Exit | | +| Assignments.cs:28:5:30:5 | After {...} | Assignments.cs:27:10:27:23 | Normal Exit | | | Assignments.cs:28:5:30:5 | {...} | Assignments.cs:29:9:29:15 | ...; | | -| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | | -| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:13:29:14 | 42 | | +| Assignments.cs:29:9:29:9 | access to parameter x | Assignments.cs:29:13:29:14 | 42 | | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:9:29:14 | After ... = ... | | +| Assignments.cs:29:9:29:14 | After ... = ... | Assignments.cs:29:9:29:15 | After ...; | | +| Assignments.cs:29:9:29:14 | Before ... = ... | Assignments.cs:29:9:29:9 | access to parameter x | | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:9:29:14 | Before ... = ... | | +| Assignments.cs:29:9:29:15 | After ...; | Assignments.cs:28:5:30:5 | After {...} | | | Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:14 | ... = ... | | -| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:33:5:36:5 | {...} | | -| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:32:10:32:22 | exit SetParamMulti | | +| Assignments.cs:32:10:32:22 | Entry | Assignments.cs:33:5:36:5 | {...} | | +| Assignments.cs:32:10:32:22 | Normal Exit | Assignments.cs:32:10:32:22 | Exit | | +| Assignments.cs:33:5:36:5 | After {...} | Assignments.cs:32:10:32:22 | Normal Exit | | | Assignments.cs:33:5:36:5 | {...} | Assignments.cs:34:9:34:15 | ...; | | -| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:35:9:35:20 | ...; | | -| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:13:34:14 | 42 | | +| Assignments.cs:34:9:34:9 | access to parameter x | Assignments.cs:34:13:34:14 | 42 | | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:9:34:14 | After ... = ... | | +| Assignments.cs:34:9:34:14 | After ... = ... | Assignments.cs:34:9:34:15 | After ...; | | +| Assignments.cs:34:9:34:14 | Before ... = ... | Assignments.cs:34:9:34:9 | access to parameter x | | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:9:34:14 | Before ... = ... | | +| Assignments.cs:34:9:34:15 | After ...; | Assignments.cs:35:9:35:20 | ...; | | | Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:14 | ... = ... | | -| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | | -| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:13:35:19 | "Hello" | | +| Assignments.cs:35:9:35:9 | access to parameter y | Assignments.cs:35:13:35:19 | "Hello" | | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:9:35:19 | After ... = ... | | +| Assignments.cs:35:9:35:19 | After ... = ... | Assignments.cs:35:9:35:20 | After ...; | | +| Assignments.cs:35:9:35:19 | Before ... = ... | Assignments.cs:35:9:35:9 | access to parameter y | | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:9:35:19 | Before ... = ... | | +| Assignments.cs:35:9:35:20 | After ...; | Assignments.cs:33:5:36:5 | After {...} | | | Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:19 | ... = ... | | -| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:39:5:45:5 | {...} | | -| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:38:10:38:11 | exit M2 | | +| Assignments.cs:38:10:38:11 | Entry | Assignments.cs:39:5:45:5 | {...} | | +| Assignments.cs:38:10:38:11 | Normal Exit | Assignments.cs:38:10:38:11 | Exit | | +| Assignments.cs:39:5:45:5 | After {...} | Assignments.cs:38:10:38:11 | Normal Exit | | | Assignments.cs:39:5:45:5 | {...} | Assignments.cs:40:9:40:15 | ... ...; | | | Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | | -| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:41:9:41:31 | ...; | | -| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:42:9:42:37 | ...; | | -| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | call to method SetParamSingle | | -| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | this access | | -| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:43:9:43:56 | ...; | | -| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:28:42:35 | this access | | -| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | this access | | -| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:9:42:36 | call to method SetParamSingle | | +| Assignments.cs:40:9:40:15 | After ... ...; | Assignments.cs:41:9:41:31 | ...; | | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:9:40:15 | After ... ...; | | +| Assignments.cs:41:9:41:30 | After call to method SetParamSingle | Assignments.cs:41:9:41:31 | After ...; | | +| Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | Assignments.cs:41:9:41:30 | this access | | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | After call to method SetParamSingle | | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:28:41:29 | access to local variable x1 | | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | Before call to method SetParamSingle | | +| Assignments.cs:41:9:41:31 | After ...; | Assignments.cs:42:9:42:37 | ...; | | +| Assignments.cs:41:28:41:29 | access to local variable x1 | Assignments.cs:41:9:41:30 | call to method SetParamSingle | | +| Assignments.cs:42:9:42:36 | After call to method SetParamSingle | Assignments.cs:42:9:42:37 | After ...; | | +| Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | Assignments.cs:42:9:42:36 | this access | | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:9:42:36 | After call to method SetParamSingle | | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:28:42:35 | Before access to field IntField | | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | Before call to method SetParamSingle | | +| Assignments.cs:42:9:42:37 | After ...; | Assignments.cs:43:9:43:56 | ...; | | +| Assignments.cs:42:28:42:35 | After access to field IntField | Assignments.cs:42:9:42:36 | call to method SetParamSingle | | +| Assignments.cs:42:28:42:35 | Before access to field IntField | Assignments.cs:42:28:42:35 | this access | | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | After access to field IntField | | | Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | access to field IntField | | -| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:44:9:44:59 | ...; | | -| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:34:43:37 | null | | -| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | this access | | -| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:44:43:54 | this access | | -| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:9:43:55 | call to method SetParamMulti | | +| Assignments.cs:43:9:43:55 | After call to method SetParamMulti | Assignments.cs:43:9:43:56 | After ...; | | +| Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | Assignments.cs:43:9:43:55 | this access | | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:9:43:55 | After call to method SetParamMulti | | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:31:43:31 | Int32 y | | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | Before call to method SetParamMulti | | +| Assignments.cs:43:9:43:56 | After ...; | Assignments.cs:44:9:44:59 | ...; | | +| Assignments.cs:43:31:43:31 | Int32 y | Assignments.cs:43:34:43:37 | null | | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:44:43:54 | Before access to field StringField | | +| Assignments.cs:43:44:43:54 | After access to field StringField | Assignments.cs:43:9:43:55 | call to method SetParamMulti | | +| Assignments.cs:43:44:43:54 | Before access to field StringField | Assignments.cs:43:44:43:54 | this access | | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | After access to field StringField | | | Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | access to field StringField | | -| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | exit M2 (normal) | | -| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:27:44:34 | this access | | -| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | this access | | -| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:37:44:40 | null | | +| Assignments.cs:44:9:44:58 | After call to method SetParamMulti | Assignments.cs:44:9:44:59 | After ...; | | +| Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | Assignments.cs:44:9:44:58 | this access | | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:9:44:58 | After call to method SetParamMulti | | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:27:44:34 | Before access to field IntField | | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | Before call to method SetParamMulti | | +| Assignments.cs:44:9:44:59 | After ...; | Assignments.cs:39:5:45:5 | After {...} | | +| Assignments.cs:44:27:44:34 | After access to field IntField | Assignments.cs:44:37:44:40 | null | | +| Assignments.cs:44:27:44:34 | Before access to field IntField | Assignments.cs:44:27:44:34 | this access | | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | After access to field IntField | | | Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | access to field IntField | | -| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:47:44:57 | this access | | -| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:9:44:58 | call to method SetParamMulti | | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:47:44:57 | Before access to field StringField | | +| Assignments.cs:44:47:44:57 | After access to field StringField | Assignments.cs:44:9:44:58 | call to method SetParamMulti | | +| Assignments.cs:44:47:44:57 | Before access to field StringField | Assignments.cs:44:47:44:57 | this access | | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | After access to field StringField | | | Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | access to field StringField | | -| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | {...} | | -| BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | call to constructor Object | | -| BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | this access | | -| BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | BreakInTry.cs:1:7:1:16 | exit BreakInTry | | +| BreakInTry.cs:1:7:1:16 | After call to constructor Object | BreakInTry.cs:1:7:1:16 | {...} | | +| BreakInTry.cs:1:7:1:16 | After call to method | BreakInTry.cs:1:7:1:16 | Before call to constructor Object | | +| BreakInTry.cs:1:7:1:16 | Before call to constructor Object | BreakInTry.cs:1:7:1:16 | call to constructor Object | | +| BreakInTry.cs:1:7:1:16 | Before call to method | BreakInTry.cs:1:7:1:16 | this access | | +| BreakInTry.cs:1:7:1:16 | Entry | BreakInTry.cs:1:7:1:16 | Before call to method | | +| BreakInTry.cs:1:7:1:16 | Normal Exit | BreakInTry.cs:1:7:1:16 | Exit | | +| BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | After call to constructor Object | | +| BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | After call to method | | | BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | call to method | | -| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | | -| BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:4:5:18:5 | {...} | | -| BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | exit M1 | | +| BreakInTry.cs:1:7:1:16 | {...} | BreakInTry.cs:1:7:1:16 | Normal Exit | | +| BreakInTry.cs:3:10:3:11 | Entry | BreakInTry.cs:4:5:18:5 | {...} | | +| BreakInTry.cs:3:10:3:11 | Normal Exit | BreakInTry.cs:3:10:3:11 | Exit | | +| BreakInTry.cs:4:5:18:5 | After {...} | BreakInTry.cs:3:10:3:11 | Normal Exit | | | BreakInTry.cs:4:5:18:5 | {...} | BreakInTry.cs:5:9:17:9 | try {...} ... | | +| BreakInTry.cs:5:9:17:9 | After try {...} ... | BreakInTry.cs:4:5:18:5 | After {...} | | | BreakInTry.cs:5:9:17:9 | try {...} ... | BreakInTry.cs:6:9:12:9 | {...} | | -| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:7:33:7:36 | access to parameter args | | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | non-empty | -| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:14:9:17:9 | {...} | empty | +| BreakInTry.cs:6:9:12:9 | After {...} | BreakInTry.cs:14:9:17:9 | {...} | | +| BreakInTry.cs:6:9:12:9 | {...} | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | | +| BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | BreakInTry.cs:6:9:12:9 | After {...} | | +| BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:7:26:7:28 | String arg | | +| BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | BreakInTry.cs:7:33:7:36 | access to parameter args | | | BreakInTry.cs:7:26:7:28 | String arg | BreakInTry.cs:8:13:11:13 | {...} | | -| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:13:11:13 | foreach (... ... in ...) ... | | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | BreakInTry.cs:7:26:7:28 | String arg | | +| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:33:7:36 | After access to parameter args [empty] | empty | +| BreakInTry.cs:7:33:7:36 | access to parameter args | BreakInTry.cs:7:33:7:36 | After access to parameter args [non-empty] | non-empty | +| BreakInTry.cs:8:13:11:13 | After {...} | BreakInTry.cs:7:13:11:13 | [LoopHeader] foreach (... ... in ...) ... | | | BreakInTry.cs:8:13:11:13 | {...} | BreakInTry.cs:9:17:10:26 | if (...) ... | | -| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:9:21:9:23 | access to local variable arg | | +| BreakInTry.cs:9:17:10:26 | After if (...) ... | BreakInTry.cs:8:13:11:13 | After {...} | | +| BreakInTry.cs:9:17:10:26 | if (...) ... | BreakInTry.cs:9:21:9:31 | Before ... == ... | | | BreakInTry.cs:9:21:9:23 | access to local variable arg | BreakInTry.cs:9:28:9:31 | null | | -| 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:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | After ... == ... [false] | false | +| BreakInTry.cs:9:21:9:31 | ... == ... | BreakInTry.cs:9:21:9:31 | After ... == ... [true] | true | +| BreakInTry.cs:9:21:9:31 | After ... == ... [false] | BreakInTry.cs:9:17:10:26 | After if (...) ... | | +| BreakInTry.cs:9:21:9:31 | After ... == ... [true] | BreakInTry.cs:10:21:10:26 | Before break; | | +| BreakInTry.cs:9:21:9:31 | Before ... == ... | BreakInTry.cs:9:21:9:23 | access to local variable arg | | | BreakInTry.cs:9:28:9:31 | null | BreakInTry.cs:9:21:9:31 | ... == ... | | -| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:14:9:17:9 | {...} | break | +| BreakInTry.cs:10:21:10:26 | Before break; | BreakInTry.cs:10:21:10:26 | break; | | +| BreakInTry.cs:10:21:10:26 | break; | BreakInTry.cs:7:13:11:13 | After foreach (... ... in ...) ... | break | +| BreakInTry.cs:14:9:17:9 | After {...} | BreakInTry.cs:5:9:17:9 | After try {...} ... | | | BreakInTry.cs:14:9:17:9 | {...} | BreakInTry.cs:15:13:16:17 | if (...) ... | | -| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:15:17:15:20 | access to parameter args | | +| BreakInTry.cs:15:13:16:17 | After if (...) ... | BreakInTry.cs:14:9:17:9 | After {...} | | +| BreakInTry.cs:15:13:16:17 | if (...) ... | BreakInTry.cs:15:17:15:28 | Before ... == ... | | | BreakInTry.cs:15:17:15:20 | access to parameter args | BreakInTry.cs:15:25:15:28 | null | | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | false | -| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:16:17:16:17 | ; | true | +| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | After ... == ... [false] | false | +| BreakInTry.cs:15:17:15:28 | ... == ... | BreakInTry.cs:15:17:15:28 | After ... == ... [true] | true | +| BreakInTry.cs:15:17:15:28 | After ... == ... [false] | BreakInTry.cs:15:13:16:17 | After if (...) ... | | +| BreakInTry.cs:15:17:15:28 | After ... == ... [true] | BreakInTry.cs:16:17:16:17 | ; | | +| BreakInTry.cs:15:17:15:28 | Before ... == ... | BreakInTry.cs:15:17:15:20 | access to parameter args | | | BreakInTry.cs:15:25:15:28 | null | BreakInTry.cs:15:17:15:28 | ... == ... | | -| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | | -| BreakInTry.cs:20:10:20:11 | enter M2 | BreakInTry.cs:21:5:36:5 | {...} | | -| BreakInTry.cs:20:10:20:11 | exit M2 (normal) | BreakInTry.cs:20:10:20:11 | exit M2 | | -| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:22:29:22:32 | access to parameter args | | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | non-empty | -| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:35:7:35:7 | ; | empty | +| BreakInTry.cs:16:17:16:17 | ; | BreakInTry.cs:15:13:16:17 | After if (...) ... | | +| BreakInTry.cs:20:10:20:11 | Entry | BreakInTry.cs:21:5:36:5 | {...} | | +| BreakInTry.cs:20:10:20:11 | Normal Exit | BreakInTry.cs:20:10:20:11 | Exit | | +| BreakInTry.cs:21:5:36:5 | After {...} | BreakInTry.cs:20:10:20:11 | Normal Exit | | +| BreakInTry.cs:21:5:36:5 | {...} | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | | +| BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | BreakInTry.cs:35:7:35:7 | ; | | +| BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:22:22:22:24 | String arg | | +| BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | BreakInTry.cs:22:29:22:32 | access to parameter args | | | BreakInTry.cs:22:22:22:24 | String arg | BreakInTry.cs:23:9:34:9 | {...} | | -| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | BreakInTry.cs:22:22:22:24 | String arg | | +| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | After access to parameter args [empty] | empty | +| BreakInTry.cs:22:29:22:32 | access to parameter args | BreakInTry.cs:22:29:22:32 | After access to parameter args [non-empty] | non-empty | +| BreakInTry.cs:23:9:34:9 | After {...} | BreakInTry.cs:22:9:34:9 | [LoopHeader] foreach (... ... in ...) ... | | | BreakInTry.cs:23:9:34:9 | {...} | BreakInTry.cs:24:13:33:13 | try {...} ... | | +| BreakInTry.cs:24:13:33:13 | After try {...} ... | BreakInTry.cs:23:9:34:9 | After {...} | | | BreakInTry.cs:24:13:33:13 | try {...} ... | BreakInTry.cs:25:13:28:13 | {...} | | +| BreakInTry.cs:25:13:28:13 | After {...} | BreakInTry.cs:30:13:33:13 | {...} | | | BreakInTry.cs:25:13:28:13 | {...} | BreakInTry.cs:26:17:27:26 | if (...) ... | | -| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:26:21:26:23 | access to local variable arg | | +| BreakInTry.cs:26:17:27:26 | After if (...) ... | BreakInTry.cs:25:13:28:13 | After {...} | | +| BreakInTry.cs:26:17:27:26 | if (...) ... | BreakInTry.cs:26:21:26:31 | Before ... == ... | | | BreakInTry.cs:26:21:26:23 | access to local variable arg | BreakInTry.cs:26:28:26:31 | null | | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:27:21:27:26 | break; | true | -| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:30:13:33:13 | {...} | false | +| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | After ... == ... [false] | false | +| BreakInTry.cs:26:21:26:31 | ... == ... | BreakInTry.cs:26:21:26:31 | After ... == ... [true] | true | +| BreakInTry.cs:26:21:26:31 | After ... == ... [false] | BreakInTry.cs:26:17:27:26 | After if (...) ... | | +| BreakInTry.cs:26:21:26:31 | After ... == ... [true] | BreakInTry.cs:27:21:27:26 | Before break; | | +| BreakInTry.cs:26:21:26:31 | Before ... == ... | BreakInTry.cs:26:21:26:23 | access to local variable arg | | | BreakInTry.cs:26:28:26:31 | null | BreakInTry.cs:26:21:26:31 | ... == ... | | +| BreakInTry.cs:27:21:27:26 | Before break; | BreakInTry.cs:27:21:27:26 | break; | | | BreakInTry.cs:27:21:27:26 | break; | BreakInTry.cs:30:13:33:13 | {...} | break | +| BreakInTry.cs:30:13:33:13 | After {...} | BreakInTry.cs:22:9:34:9 | After foreach (... ... in ...) ... | break | +| BreakInTry.cs:30:13:33:13 | After {...} | BreakInTry.cs:24:13:33:13 | After try {...} ... | | | BreakInTry.cs:30:13:33:13 | {...} | BreakInTry.cs:31:17:32:21 | if (...) ... | | -| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:31:21:31:24 | access to parameter args | | +| BreakInTry.cs:31:17:32:21 | After if (...) ... | BreakInTry.cs:30:13:33:13 | After {...} | | +| BreakInTry.cs:31:17:32:21 | if (...) ... | BreakInTry.cs:31:21:31:32 | Before ... == ... | | | BreakInTry.cs:31:21:31:24 | access to parameter args | BreakInTry.cs:31:29:31:32 | null | | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | false | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:32:21:32:21 | ; | true | -| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:35:7:35:7 | ; | false | +| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | After ... == ... [false] | false | +| BreakInTry.cs:31:21:31:32 | ... == ... | BreakInTry.cs:31:21:31:32 | After ... == ... [true] | true | +| BreakInTry.cs:31:21:31:32 | After ... == ... [false] | BreakInTry.cs:31:17:32:21 | After if (...) ... | | +| BreakInTry.cs:31:21:31:32 | After ... == ... [true] | BreakInTry.cs:32:21:32:21 | ; | | +| BreakInTry.cs:31:21:31:32 | Before ... == ... | BreakInTry.cs:31:21:31:24 | access to parameter args | | | BreakInTry.cs:31:29:31:32 | null | BreakInTry.cs:31:21:31:32 | ... == ... | | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:22:9:34:9 | foreach (... ... in ...) ... | | -| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:35:7:35:7 | ; | break | -| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:20:10:20:11 | exit M2 (normal) | | -| BreakInTry.cs:38:10:38:11 | enter M3 | BreakInTry.cs:39:5:54:5 | {...} | | -| BreakInTry.cs:38:10:38:11 | exit M3 (normal) | BreakInTry.cs:38:10:38:11 | exit M3 | | +| BreakInTry.cs:32:21:32:21 | ; | BreakInTry.cs:31:17:32:21 | After if (...) ... | | +| BreakInTry.cs:35:7:35:7 | ; | BreakInTry.cs:21:5:36:5 | After {...} | | +| BreakInTry.cs:38:10:38:11 | Entry | BreakInTry.cs:39:5:54:5 | {...} | | +| BreakInTry.cs:38:10:38:11 | Normal Exit | BreakInTry.cs:38:10:38:11 | Exit | | +| BreakInTry.cs:39:5:54:5 | After {...} | BreakInTry.cs:38:10:38:11 | Normal Exit | | | BreakInTry.cs:39:5:54:5 | {...} | BreakInTry.cs:40:9:52:9 | try {...} ... | | +| BreakInTry.cs:40:9:52:9 | After try {...} ... | BreakInTry.cs:53:7:53:7 | ; | | | BreakInTry.cs:40:9:52:9 | try {...} ... | BreakInTry.cs:41:9:44:9 | {...} | | +| BreakInTry.cs:41:9:44:9 | After {...} | BreakInTry.cs:46:9:52:9 | {...} | | | BreakInTry.cs:41:9:44:9 | {...} | BreakInTry.cs:42:13:43:23 | if (...) ... | | -| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:20 | access to parameter args | | +| BreakInTry.cs:42:13:43:23 | After if (...) ... | BreakInTry.cs:41:9:44:9 | After {...} | | +| BreakInTry.cs:42:13:43:23 | if (...) ... | BreakInTry.cs:42:17:42:28 | Before ... == ... | | | BreakInTry.cs:42:17:42:20 | access to parameter args | BreakInTry.cs:42:25:42:28 | null | | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:43:17:43:23 | return ...; | true | -| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:46:9:52:9 | {...} | false | +| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | After ... == ... [false] | false | +| BreakInTry.cs:42:17:42:28 | ... == ... | BreakInTry.cs:42:17:42:28 | After ... == ... [true] | true | +| BreakInTry.cs:42:17:42:28 | After ... == ... [false] | BreakInTry.cs:42:13:43:23 | After if (...) ... | | +| BreakInTry.cs:42:17:42:28 | After ... == ... [true] | BreakInTry.cs:43:17:43:23 | Before return ...; | | +| BreakInTry.cs:42:17:42:28 | Before ... == ... | BreakInTry.cs:42:17:42:20 | access to parameter args | | | BreakInTry.cs:42:25:42:28 | null | BreakInTry.cs:42:17:42:28 | ... == ... | | +| BreakInTry.cs:43:17:43:23 | Before return ...; | BreakInTry.cs:43:17:43:23 | return ...; | | | BreakInTry.cs:43:17:43:23 | return ...; | BreakInTry.cs:46:9:52:9 | {...} | return | -| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:33:47:36 | access to parameter args | | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | return | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | non-empty | -| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:53:7:53:7 | ; | empty | +| BreakInTry.cs:46:9:52:9 | After {...} | BreakInTry.cs:38:10:38:11 | Normal Exit | return | +| BreakInTry.cs:46:9:52:9 | After {...} | BreakInTry.cs:40:9:52:9 | After try {...} ... | | +| BreakInTry.cs:46:9:52:9 | {...} | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | | +| BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | BreakInTry.cs:46:9:52:9 | After {...} | | +| BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:47:26:47:28 | String arg | | +| BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | BreakInTry.cs:47:33:47:36 | access to parameter args | | | BreakInTry.cs:47:26:47:28 | String arg | BreakInTry.cs:48:13:51:13 | {...} | | -| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | BreakInTry.cs:47:26:47:28 | String arg | | +| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:33:47:36 | After access to parameter args [empty] | empty | +| BreakInTry.cs:47:33:47:36 | access to parameter args | BreakInTry.cs:47:33:47:36 | After access to parameter args [non-empty] | non-empty | +| BreakInTry.cs:48:13:51:13 | After {...} | BreakInTry.cs:47:13:51:13 | [LoopHeader] foreach (... ... in ...) ... | | | BreakInTry.cs:48:13:51:13 | {...} | BreakInTry.cs:49:17:50:26 | if (...) ... | | -| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:49:21:49:23 | access to local variable arg | | +| BreakInTry.cs:49:17:50:26 | After if (...) ... | BreakInTry.cs:48:13:51:13 | After {...} | | +| BreakInTry.cs:49:17:50:26 | if (...) ... | BreakInTry.cs:49:21:49:31 | Before ... == ... | | | BreakInTry.cs:49:21:49:23 | access to local variable arg | BreakInTry.cs:49:28:49:31 | null | | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:47:13:51:13 | foreach (... ... in ...) ... | false | -| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:50:21:50:26 | break; | true | +| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | After ... == ... [false] | false | +| BreakInTry.cs:49:21:49:31 | ... == ... | BreakInTry.cs:49:21:49:31 | After ... == ... [true] | true | +| BreakInTry.cs:49:21:49:31 | After ... == ... [false] | BreakInTry.cs:49:17:50:26 | After if (...) ... | | +| BreakInTry.cs:49:21:49:31 | After ... == ... [true] | BreakInTry.cs:50:21:50:26 | Before break; | | +| BreakInTry.cs:49:21:49:31 | Before ... == ... | BreakInTry.cs:49:21:49:23 | access to local variable arg | | | BreakInTry.cs:49:28:49:31 | null | BreakInTry.cs:49:21:49:31 | ... == ... | | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | return | -| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:53:7:53:7 | ; | break | -| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:38:10:38:11 | exit M3 (normal) | | -| BreakInTry.cs:56:10:56:11 | enter M4 | BreakInTry.cs:57:5:71:5 | {...} | | -| BreakInTry.cs:56:10:56:11 | exit M4 (normal) | BreakInTry.cs:56:10:56:11 | exit M4 | | +| BreakInTry.cs:50:21:50:26 | Before break; | BreakInTry.cs:50:21:50:26 | break; | | +| BreakInTry.cs:50:21:50:26 | break; | BreakInTry.cs:47:13:51:13 | After foreach (... ... in ...) ... | break | +| BreakInTry.cs:53:7:53:7 | ; | BreakInTry.cs:39:5:54:5 | After {...} | | +| BreakInTry.cs:56:10:56:11 | Entry | BreakInTry.cs:57:5:71:5 | {...} | | +| BreakInTry.cs:56:10:56:11 | Normal Exit | BreakInTry.cs:56:10:56:11 | Exit | | +| BreakInTry.cs:57:5:71:5 | After {...} | BreakInTry.cs:56:10:56:11 | Normal Exit | | | BreakInTry.cs:57:5:71:5 | {...} | BreakInTry.cs:58:9:70:9 | try {...} ... | | +| BreakInTry.cs:58:9:70:9 | After try {...} ... | BreakInTry.cs:57:5:71:5 | After {...} | | | BreakInTry.cs:58:9:70:9 | try {...} ... | BreakInTry.cs:59:9:62:9 | {...} | | +| BreakInTry.cs:59:9:62:9 | After {...} | BreakInTry.cs:64:9:70:9 | {...} | | | BreakInTry.cs:59:9:62:9 | {...} | BreakInTry.cs:60:13:61:23 | if (...) ... | | -| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:20 | access to parameter args | | +| BreakInTry.cs:60:13:61:23 | After if (...) ... | BreakInTry.cs:59:9:62:9 | After {...} | | +| BreakInTry.cs:60:13:61:23 | if (...) ... | BreakInTry.cs:60:17:60:28 | Before ... == ... | | | BreakInTry.cs:60:17:60:20 | access to parameter args | BreakInTry.cs:60:25:60:28 | null | | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:61:17:61:23 | return ...; | true | -| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:64:9:70:9 | {...} | false | +| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | After ... == ... [false] | false | +| BreakInTry.cs:60:17:60:28 | ... == ... | BreakInTry.cs:60:17:60:28 | After ... == ... [true] | true | +| BreakInTry.cs:60:17:60:28 | After ... == ... [false] | BreakInTry.cs:60:13:61:23 | After if (...) ... | | +| BreakInTry.cs:60:17:60:28 | After ... == ... [true] | BreakInTry.cs:61:17:61:23 | Before return ...; | | +| BreakInTry.cs:60:17:60:28 | Before ... == ... | BreakInTry.cs:60:17:60:20 | access to parameter args | | | BreakInTry.cs:60:25:60:28 | null | BreakInTry.cs:60:17:60:28 | ... == ... | | +| BreakInTry.cs:61:17:61:23 | Before return ...; | BreakInTry.cs:61:17:61:23 | return ...; | | | BreakInTry.cs:61:17:61:23 | return ...; | BreakInTry.cs:64:9:70:9 | {...} | return | -| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:33:65:36 | access to parameter args | | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | empty, return | -| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | non-empty | +| BreakInTry.cs:64:9:70:9 | After {...} | BreakInTry.cs:56:10:56:11 | Normal Exit | return | +| BreakInTry.cs:64:9:70:9 | After {...} | BreakInTry.cs:58:9:70:9 | After try {...} ... | | +| BreakInTry.cs:64:9:70:9 | {...} | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | | +| BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | BreakInTry.cs:64:9:70:9 | After {...} | | +| BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | BreakInTry.cs:65:26:65:28 | String arg | | +| BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | BreakInTry.cs:65:33:65:36 | access to parameter args | | | BreakInTry.cs:65:26:65:28 | String arg | BreakInTry.cs:66:13:69:13 | {...} | | -| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | | +| BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | BreakInTry.cs:65:26:65:28 | String arg | | +| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:33:65:36 | After access to parameter args [empty] | empty | +| BreakInTry.cs:65:33:65:36 | access to parameter args | BreakInTry.cs:65:33:65:36 | After access to parameter args [non-empty] | non-empty | +| BreakInTry.cs:66:13:69:13 | After {...} | BreakInTry.cs:65:13:69:13 | [LoopHeader] foreach (... ... in ...) ... | | | BreakInTry.cs:66:13:69:13 | {...} | BreakInTry.cs:67:17:68:26 | if (...) ... | | -| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:67:21:67:23 | access to local variable arg | | +| BreakInTry.cs:67:17:68:26 | After if (...) ... | BreakInTry.cs:66:13:69:13 | After {...} | | +| BreakInTry.cs:67:17:68:26 | if (...) ... | BreakInTry.cs:67:21:67:31 | Before ... == ... | | | BreakInTry.cs:67:21:67:23 | access to local variable arg | BreakInTry.cs:67:28:67:31 | null | | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:65:13:69:13 | foreach (... ... in ...) ... | false | -| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:68:21:68:26 | break; | true | +| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | After ... == ... [false] | false | +| BreakInTry.cs:67:21:67:31 | ... == ... | BreakInTry.cs:67:21:67:31 | After ... == ... [true] | true | +| BreakInTry.cs:67:21:67:31 | After ... == ... [false] | BreakInTry.cs:67:17:68:26 | After if (...) ... | | +| BreakInTry.cs:67:21:67:31 | After ... == ... [true] | BreakInTry.cs:68:21:68:26 | Before break; | | +| BreakInTry.cs:67:21:67:31 | Before ... == ... | BreakInTry.cs:67:21:67:23 | access to local variable arg | | | BreakInTry.cs:67:28:67:31 | null | BreakInTry.cs:67:21:67:31 | ... == ... | | -| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:56:10:56:11 | exit M4 (normal) | break, return | -| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | {...} | | -| CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | | -| CompileTimeOperators.cs:3:7:3:26 | enter CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | this access | | -| CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators | | +| BreakInTry.cs:68:21:68:26 | Before break; | BreakInTry.cs:68:21:68:26 | break; | | +| BreakInTry.cs:68:21:68:26 | break; | BreakInTry.cs:65:13:69:13 | After foreach (... ... in ...) ... | break | +| CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | {...} | | +| CompileTimeOperators.cs:3:7:3:26 | After call to method | CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | | +| CompileTimeOperators.cs:3:7:3:26 | Before call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | | +| CompileTimeOperators.cs:3:7:3:26 | Before call to method | CompileTimeOperators.cs:3:7:3:26 | this access | | +| CompileTimeOperators.cs:3:7:3:26 | Entry | CompileTimeOperators.cs:3:7:3:26 | Before call to method | | +| CompileTimeOperators.cs:3:7:3:26 | Normal Exit | CompileTimeOperators.cs:3:7:3:26 | Exit | | +| CompileTimeOperators.cs:3:7:3:26 | call to constructor Object | CompileTimeOperators.cs:3:7:3:26 | After call to constructor Object | | +| CompileTimeOperators.cs:3:7:3:26 | call to method | CompileTimeOperators.cs:3:7:3:26 | After call to method | | | CompileTimeOperators.cs:3:7:3:26 | this access | CompileTimeOperators.cs:3:7:3:26 | call to method | | -| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | exit CompileTimeOperators (normal) | | -| CompileTimeOperators.cs:5:9:5:15 | enter Default | CompileTimeOperators.cs:6:5:8:5 | {...} | | -| CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | CompileTimeOperators.cs:5:9:5:15 | exit Default | | -| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:7:16:7:27 | default(...) | | -| CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:5:9:5:15 | exit Default (normal) | return | +| CompileTimeOperators.cs:3:7:3:26 | {...} | CompileTimeOperators.cs:3:7:3:26 | Normal Exit | | +| CompileTimeOperators.cs:5:9:5:15 | Entry | CompileTimeOperators.cs:6:5:8:5 | {...} | | +| CompileTimeOperators.cs:5:9:5:15 | Normal Exit | CompileTimeOperators.cs:5:9:5:15 | Exit | | +| CompileTimeOperators.cs:6:5:8:5 | {...} | CompileTimeOperators.cs:7:9:7:28 | Before return ...; | | +| CompileTimeOperators.cs:7:9:7:28 | Before return ...; | CompileTimeOperators.cs:7:16:7:27 | default(...) | | +| CompileTimeOperators.cs:7:9:7:28 | return ...; | CompileTimeOperators.cs:5:9:5:15 | Normal Exit | return | | CompileTimeOperators.cs:7:16:7:27 | default(...) | CompileTimeOperators.cs:7:9:7:28 | return ...; | | -| CompileTimeOperators.cs:10:9:10:14 | enter Sizeof | CompileTimeOperators.cs:11:5:13:5 | {...} | | -| CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof | | -| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | | -| CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:10:9:10:14 | exit Sizeof (normal) | return | +| CompileTimeOperators.cs:10:9:10:14 | Entry | CompileTimeOperators.cs:11:5:13:5 | {...} | | +| CompileTimeOperators.cs:10:9:10:14 | Normal Exit | CompileTimeOperators.cs:10:9:10:14 | Exit | | +| CompileTimeOperators.cs:11:5:13:5 | {...} | CompileTimeOperators.cs:12:9:12:27 | Before return ...; | | +| CompileTimeOperators.cs:12:9:12:27 | Before return ...; | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | | +| CompileTimeOperators.cs:12:9:12:27 | return ...; | CompileTimeOperators.cs:10:9:10:14 | Normal Exit | return | | CompileTimeOperators.cs:12:16:12:26 | sizeof(..) | CompileTimeOperators.cs:12:9:12:27 | return ...; | | -| CompileTimeOperators.cs:15:10:15:15 | enter Typeof | CompileTimeOperators.cs:16:5:18:5 | {...} | | -| CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | CompileTimeOperators.cs:15:10:15:15 | exit Typeof | | -| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | | -| CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:15:10:15:15 | exit Typeof (normal) | return | +| CompileTimeOperators.cs:15:10:15:15 | Entry | CompileTimeOperators.cs:16:5:18:5 | {...} | | +| CompileTimeOperators.cs:15:10:15:15 | Normal Exit | CompileTimeOperators.cs:15:10:15:15 | Exit | | +| CompileTimeOperators.cs:16:5:18:5 | {...} | CompileTimeOperators.cs:17:9:17:27 | Before return ...; | | +| CompileTimeOperators.cs:17:9:17:27 | Before return ...; | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | | +| CompileTimeOperators.cs:17:9:17:27 | return ...; | CompileTimeOperators.cs:15:10:15:15 | Normal Exit | return | | CompileTimeOperators.cs:17:16:17:26 | typeof(...) | CompileTimeOperators.cs:17:9:17:27 | return ...; | | -| CompileTimeOperators.cs:20:12:20:17 | enter Nameof | CompileTimeOperators.cs:21:5:23:5 | {...} | | -| CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | CompileTimeOperators.cs:20:12:20:17 | exit Nameof | | -| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | | -| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:20:12:20:17 | exit Nameof (normal) | return | +| CompileTimeOperators.cs:20:12:20:17 | Entry | CompileTimeOperators.cs:21:5:23:5 | {...} | | +| CompileTimeOperators.cs:20:12:20:17 | Normal Exit | CompileTimeOperators.cs:20:12:20:17 | Exit | | +| CompileTimeOperators.cs:21:5:23:5 | {...} | CompileTimeOperators.cs:22:9:22:25 | Before return ...; | | +| CompileTimeOperators.cs:22:9:22:25 | Before return ...; | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | | +| CompileTimeOperators.cs:22:9:22:25 | return ...; | CompileTimeOperators.cs:20:12:20:17 | Normal Exit | return | | CompileTimeOperators.cs:22:16:22:24 | nameof(...) | CompileTimeOperators.cs:22:9:22:25 | return ...; | | -| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | {...} | | -| CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | | -| CompileTimeOperators.cs:26:7:26:22 | enter GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | this access | | -| CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally | | +| CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | {...} | | +| CompileTimeOperators.cs:26:7:26:22 | After call to method | CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | | +| CompileTimeOperators.cs:26:7:26:22 | Before call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | | +| CompileTimeOperators.cs:26:7:26:22 | Before call to method | CompileTimeOperators.cs:26:7:26:22 | this access | | +| CompileTimeOperators.cs:26:7:26:22 | Entry | CompileTimeOperators.cs:26:7:26:22 | Before call to method | | +| CompileTimeOperators.cs:26:7:26:22 | Normal Exit | CompileTimeOperators.cs:26:7:26:22 | Exit | | +| CompileTimeOperators.cs:26:7:26:22 | call to constructor Object | CompileTimeOperators.cs:26:7:26:22 | After call to constructor Object | | +| CompileTimeOperators.cs:26:7:26:22 | call to method | CompileTimeOperators.cs:26:7:26:22 | After call to method | | | CompileTimeOperators.cs:26:7:26:22 | this access | CompileTimeOperators.cs:26:7:26:22 | call to method | | -| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | exit GotoInTryFinally (normal) | | -| CompileTimeOperators.cs:28:10:28:10 | enter M | CompileTimeOperators.cs:29:5:41:5 | {...} | | -| CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | CompileTimeOperators.cs:28:10:28:10 | exit M | | -| CompileTimeOperators.cs:28:10:28:10 | exit M (normal) | CompileTimeOperators.cs:28:10:28:10 | exit M | | +| CompileTimeOperators.cs:26:7:26:22 | {...} | CompileTimeOperators.cs:26:7:26:22 | Normal Exit | | +| CompileTimeOperators.cs:28:10:28:10 | Entry | CompileTimeOperators.cs:29:5:41:5 | {...} | | +| CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | CompileTimeOperators.cs:28:10:28:10 | Exit | | +| CompileTimeOperators.cs:28:10:28:10 | Normal Exit | CompileTimeOperators.cs:28:10:28:10 | Exit | | +| CompileTimeOperators.cs:29:5:41:5 | After {...} | CompileTimeOperators.cs:28:10:28:10 | Normal Exit | | | CompileTimeOperators.cs:29:5:41:5 | {...} | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | | +| CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | CompileTimeOperators.cs:39:9:39:34 | ...; | | | CompileTimeOperators.cs:30:9:38:9 | try {...} ... | CompileTimeOperators.cs:31:9:34:9 | {...} | | -| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | goto ...; | | +| CompileTimeOperators.cs:31:9:34:9 | {...} | CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | | +| CompileTimeOperators.cs:32:13:32:21 | Before goto ...; | CompileTimeOperators.cs:32:13:32:21 | goto ...; | | | CompileTimeOperators.cs:32:13:32:21 | goto ...; | CompileTimeOperators.cs:36:9:38:9 | {...} | goto | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:28:10:28:10 | Exceptional Exit | exception | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:30:9:38:9 | After try {...} ... | | +| CompileTimeOperators.cs:36:9:38:9 | After {...} | CompileTimeOperators.cs:40:9:40:11 | End: | goto | | CompileTimeOperators.cs:36:9:38:9 | {...} | CompileTimeOperators.cs:37:13:37:41 | ...; | | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | exit M (abnormal) | exception | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:39:9:39:34 | ...; | | -| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:40:9:40:11 | End: | goto | -| CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:37:31:37:39 | "Finally" | | +| CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | CompileTimeOperators.cs:37:13:37:41 | After ...; | | +| CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | CompileTimeOperators.cs:37:31:37:39 | "Finally" | | +| CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | CompileTimeOperators.cs:37:13:37:40 | After call to method WriteLine | | +| CompileTimeOperators.cs:37:13:37:41 | ...; | CompileTimeOperators.cs:37:13:37:40 | Before call to method WriteLine | | +| CompileTimeOperators.cs:37:13:37:41 | After ...; | CompileTimeOperators.cs:36:9:38:9 | After {...} | | | CompileTimeOperators.cs:37:31:37:39 | "Finally" | CompileTimeOperators.cs:37:13:37:40 | call to method WriteLine | | -| CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | CompileTimeOperators.cs:40:9:40:11 | End: | | -| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:27:39:32 | "Dead" | | +| CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | CompileTimeOperators.cs:39:9:39:34 | After ...; | | +| CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | CompileTimeOperators.cs:39:27:39:32 | "Dead" | | +| CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | CompileTimeOperators.cs:39:9:39:33 | After call to method WriteLine | | +| CompileTimeOperators.cs:39:9:39:34 | ...; | CompileTimeOperators.cs:39:9:39:33 | Before call to method WriteLine | | +| CompileTimeOperators.cs:39:9:39:34 | After ...; | CompileTimeOperators.cs:40:9:40:11 | End: | | | CompileTimeOperators.cs:39:27:39:32 | "Dead" | CompileTimeOperators.cs:39:9:39:33 | call to method WriteLine | | | CompileTimeOperators.cs:40:9:40:11 | End: | CompileTimeOperators.cs:40:14:40:38 | ...; | | -| CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:28:10:28:10 | exit M (normal) | | -| CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:32:40:36 | "End" | | +| CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | CompileTimeOperators.cs:40:14:40:38 | After ...; | | +| CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | CompileTimeOperators.cs:40:32:40:36 | "End" | | +| CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | CompileTimeOperators.cs:40:14:40:37 | After call to method WriteLine | | +| CompileTimeOperators.cs:40:14:40:38 | ...; | CompileTimeOperators.cs:40:14:40:37 | Before call to method WriteLine | | +| CompileTimeOperators.cs:40:14:40:38 | After ...; | CompileTimeOperators.cs:29:5:41:5 | After {...} | | | CompileTimeOperators.cs:40:32:40:36 | "End" | CompileTimeOperators.cs:40:14:40:37 | call to method WriteLine | | -| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | {...} | | -| ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | | -| ConditionalAccess.cs:1:7:1:23 | enter ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | this access | | -| ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess | | +| ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | ConditionalAccess.cs:1:7:1:23 | {...} | | +| ConditionalAccess.cs:1:7:1:23 | After call to method | ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | | +| ConditionalAccess.cs:1:7:1:23 | Before call to constructor Object | ConditionalAccess.cs:1:7:1:23 | call to constructor Object | | +| ConditionalAccess.cs:1:7:1:23 | Before call to method | ConditionalAccess.cs:1:7:1:23 | this access | | +| ConditionalAccess.cs:1:7:1:23 | Entry | ConditionalAccess.cs:1:7:1:23 | Before call to method | | +| ConditionalAccess.cs:1:7:1:23 | Normal Exit | ConditionalAccess.cs:1:7:1:23 | Exit | | +| ConditionalAccess.cs:1:7:1:23 | call to constructor Object | ConditionalAccess.cs:1:7:1:23 | After call to constructor Object | | +| ConditionalAccess.cs:1:7:1:23 | call to method | ConditionalAccess.cs:1:7:1:23 | After call to method | | | ConditionalAccess.cs:1:7:1:23 | this access | ConditionalAccess.cs:1:7:1:23 | call to method | | -| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | exit ConditionalAccess (normal) | | -| ConditionalAccess.cs:3:12:3:13 | enter M1 | ConditionalAccess.cs:3:26:3:26 | access to parameter i | | -| ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | ConditionalAccess.cs:3:12:3:13 | exit M1 | | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | null | -| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:38 | call to method ToString | non-null | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | null | -| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | non-null | -| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:12:3:13 | exit M1 (normal) | | -| ConditionalAccess.cs:5:10:5:11 | enter M2 | ConditionalAccess.cs:5:26:5:26 | access to parameter s | | -| ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | ConditionalAccess.cs:5:10:5:11 | exit M2 | | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | null | -| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:34 | access to property Length | non-null | -| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:10:5:11 | exit M2 (normal) | | -| ConditionalAccess.cs:7:10:7:11 | enter M3 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | | -| ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | ConditionalAccess.cs:7:10:7:11 | exit M3 | | -| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | non-null | -| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | null | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | null | -| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:38:7:55 | access to property Length | non-null | -| ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | ConditionalAccess.cs:7:38:7:55 | access to property Length | non-null | -| ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | ConditionalAccess.cs:7:10:7:11 | exit M3 (normal) | null | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [non-null] ... ?? ... | non-null | -| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:39:7:46 | [null] ... ?? ... | null | -| ConditionalAccess.cs:9:9:9:10 | enter M4 | ConditionalAccess.cs:9:25:9:25 | access to parameter s | | -| ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | ConditionalAccess.cs:9:9:9:10 | exit M4 | | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:33 | access to property Length | non-null | -| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:38:9:38 | 0 | null | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | non-null | -| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:38:9:38 | 0 | null | -| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:9:9:10 | exit M4 (normal) | | -| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | | -| ConditionalAccess.cs:11:9:11:10 | enter M5 | ConditionalAccess.cs:12:5:17:5 | {...} | | -| ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | ConditionalAccess.cs:11:9:11:10 | exit M5 | | +| ConditionalAccess.cs:1:7:1:23 | {...} | ConditionalAccess.cs:1:7:1:23 | Normal Exit | | +| ConditionalAccess.cs:3:12:3:13 | Entry | ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | | +| ConditionalAccess.cs:3:12:3:13 | Normal Exit | ConditionalAccess.cs:3:12:3:13 | Exit | | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | ConditionalAccess.cs:3:26:3:38 | call to method ToString | | +| ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | null | +| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [non-null] | non-null | +| ConditionalAccess.cs:3:26:3:26 | access to parameter i | ConditionalAccess.cs:3:26:3:26 | After access to parameter i [null] | null | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | ConditionalAccess.cs:3:26:3:49 | call to method ToLower | | +| ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | | +| ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | ConditionalAccess.cs:3:26:3:26 | access to parameter i | | +| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [non-null] | non-null | +| ConditionalAccess.cs:3:26:3:38 | call to method ToString | ConditionalAccess.cs:3:26:3:38 | After call to method ToString [null] | null | +| ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | ConditionalAccess.cs:3:12:3:13 | Normal Exit | | +| ConditionalAccess.cs:3:26:3:49 | Before call to method ToLower | ConditionalAccess.cs:3:26:3:38 | Before call to method ToString | | +| ConditionalAccess.cs:3:26:3:49 | call to method ToLower | ConditionalAccess.cs:3:26:3:49 | After call to method ToLower | | +| ConditionalAccess.cs:5:10:5:11 | Entry | ConditionalAccess.cs:5:26:5:34 | Before access to property Length | | +| ConditionalAccess.cs:5:10:5:11 | Normal Exit | ConditionalAccess.cs:5:10:5:11 | Exit | | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | ConditionalAccess.cs:5:26:5:34 | access to property Length | | +| ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | ConditionalAccess.cs:5:26:5:34 | After access to property Length | | +| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [non-null] | non-null | +| ConditionalAccess.cs:5:26:5:26 | access to parameter s | ConditionalAccess.cs:5:26:5:26 | After access to parameter s [null] | null | +| ConditionalAccess.cs:5:26:5:34 | After access to property Length | ConditionalAccess.cs:5:10:5:11 | Normal Exit | | +| ConditionalAccess.cs:5:26:5:34 | Before access to property Length | ConditionalAccess.cs:5:26:5:26 | access to parameter s | | +| ConditionalAccess.cs:5:26:5:34 | access to property Length | ConditionalAccess.cs:5:26:5:34 | After access to property Length | | +| ConditionalAccess.cs:7:10:7:11 | Entry | ConditionalAccess.cs:7:38:7:55 | Before access to property Length | | +| ConditionalAccess.cs:7:10:7:11 | Normal Exit | ConditionalAccess.cs:7:10:7:11 | Exit | | +| ConditionalAccess.cs:7:38:7:55 | After access to property Length | ConditionalAccess.cs:7:10:7:11 | Normal Exit | | +| ConditionalAccess.cs:7:38:7:55 | Before access to property Length | ConditionalAccess.cs:7:39:7:46 | ... ?? ... | | +| ConditionalAccess.cs:7:38:7:55 | access to property Length | ConditionalAccess.cs:7:38:7:55 | After access to property Length | | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | non-null | +| ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | | +| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [non-null] | non-null | +| ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | ConditionalAccess.cs:7:39:7:40 | After access to parameter s1 [null] | null | +| ConditionalAccess.cs:7:39:7:46 | ... ?? ... | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | ConditionalAccess.cs:7:38:7:55 | access to property Length | | +| ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | ConditionalAccess.cs:7:38:7:55 | After access to property Length | | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [non-null] | non-null | +| ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | ConditionalAccess.cs:7:39:7:46 | After ... ?? ... [null] | null | +| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [non-null] | non-null | +| ConditionalAccess.cs:7:45:7:46 | access to parameter s2 | ConditionalAccess.cs:7:45:7:46 | After access to parameter s2 [null] | null | +| ConditionalAccess.cs:9:9:9:10 | Entry | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | | +| ConditionalAccess.cs:9:9:9:10 | Normal Exit | ConditionalAccess.cs:9:9:9:10 | Exit | | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | ConditionalAccess.cs:9:25:9:33 | access to property Length | | +| ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | null | +| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [non-null] | non-null | +| ConditionalAccess.cs:9:25:9:25 | access to parameter s | ConditionalAccess.cs:9:25:9:25 | After access to parameter s [null] | null | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | | +| ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | ConditionalAccess.cs:9:38:9:38 | 0 | | +| ConditionalAccess.cs:9:25:9:33 | Before access to property Length | ConditionalAccess.cs:9:25:9:25 | access to parameter s | | +| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | After access to property Length [non-null] | non-null | +| ConditionalAccess.cs:9:25:9:33 | access to property Length | ConditionalAccess.cs:9:25:9:33 | After access to property Length [null] | null | +| ConditionalAccess.cs:9:25:9:38 | ... ?? ... | ConditionalAccess.cs:9:25:9:33 | Before access to property Length | | +| ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | ConditionalAccess.cs:9:9:9:10 | Normal Exit | | +| ConditionalAccess.cs:9:38:9:38 | 0 | ConditionalAccess.cs:9:25:9:38 | After ... ?? ... | | +| ConditionalAccess.cs:11:9:11:10 | Entry | ConditionalAccess.cs:12:5:17:5 | {...} | | +| ConditionalAccess.cs:11:9:11:10 | Normal Exit | ConditionalAccess.cs:11:9:11:10 | Exit | | | ConditionalAccess.cs:12:5:17:5 | {...} | ConditionalAccess.cs:13:9:16:21 | if (...) ... | | -| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:13:13:13:13 | access to parameter s | | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:21 | access to property Length | non-null | -| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:25:13:25 | 0 | null | -| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:25:13:25 | 0 | | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:14:20:14:20 | 0 | true | -| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:16:20:16:20 | 1 | false | +| ConditionalAccess.cs:13:9:16:21 | if (...) ... | ConditionalAccess.cs:13:13:13:25 | Before ... > ... | | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | ConditionalAccess.cs:13:13:13:21 | access to property Length | | +| ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | ConditionalAccess.cs:13:13:13:21 | After access to property Length | | +| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [non-null] | non-null | +| ConditionalAccess.cs:13:13:13:13 | access to parameter s | ConditionalAccess.cs:13:13:13:13 | After access to parameter s [null] | null | +| ConditionalAccess.cs:13:13:13:21 | After access to property Length | ConditionalAccess.cs:13:25:13:25 | Before (...) ... | | +| ConditionalAccess.cs:13:13:13:21 | Before access to property Length | ConditionalAccess.cs:13:13:13:13 | access to parameter s | | +| ConditionalAccess.cs:13:13:13:21 | access to property Length | ConditionalAccess.cs:13:13:13:21 | After access to property Length | | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | false | +| ConditionalAccess.cs:13:13:13:25 | ... > ... | ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | true | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [false] | ConditionalAccess.cs:16:13:16:21 | Before return ...; | | +| ConditionalAccess.cs:13:13:13:25 | After ... > ... [true] | ConditionalAccess.cs:14:13:14:21 | Before return ...; | | +| ConditionalAccess.cs:13:13:13:25 | Before ... > ... | ConditionalAccess.cs:13:13:13:21 | Before access to property Length | | | ConditionalAccess.cs:13:25:13:25 | 0 | ConditionalAccess.cs:13:25:13:25 | (...) ... | | -| ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | | -| ConditionalAccess.cs:14:13:14:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | return | +| ConditionalAccess.cs:13:25:13:25 | (...) ... | ConditionalAccess.cs:13:25:13:25 | After (...) ... | | +| ConditionalAccess.cs:13:25:13:25 | After (...) ... | ConditionalAccess.cs:13:13:13:25 | ... > ... | | +| ConditionalAccess.cs:13:25:13:25 | Before (...) ... | ConditionalAccess.cs:13:25:13:25 | 0 | | +| ConditionalAccess.cs:14:13:14:21 | Before return ...; | ConditionalAccess.cs:14:20:14:20 | 0 | | +| ConditionalAccess.cs:14:13:14:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | Normal Exit | return | | ConditionalAccess.cs:14:20:14:20 | 0 | ConditionalAccess.cs:14:13:14:21 | return ...; | | -| ConditionalAccess.cs:16:13:16:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | exit M5 (normal) | return | +| ConditionalAccess.cs:16:13:16:21 | Before return ...; | ConditionalAccess.cs:16:20:16:20 | 1 | | +| ConditionalAccess.cs:16:13:16:21 | return ...; | ConditionalAccess.cs:11:9:11:10 | Normal Exit | return | | ConditionalAccess.cs:16:20:16:20 | 1 | ConditionalAccess.cs:16:13:16:21 | return ...; | | -| ConditionalAccess.cs:19:12:19:13 | enter M6 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | | -| ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | ConditionalAccess.cs:19:12:19:13 | exit M6 | | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | null | -| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | non-null | -| ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | exit M6 (normal) | | +| ConditionalAccess.cs:19:12:19:13 | Entry | ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | | +| ConditionalAccess.cs:19:12:19:13 | Normal Exit | ConditionalAccess.cs:19:12:19:13 | Exit | | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | | +| ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | | +| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [non-null] | non-null | +| ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | ConditionalAccess.cs:19:40:19:41 | After access to parameter s1 [null] | null | +| ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | ConditionalAccess.cs:19:12:19:13 | Normal Exit | | +| ConditionalAccess.cs:19:40:19:60 | Before call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | | +| ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | ConditionalAccess.cs:19:40:19:60 | After call to method CommaJoinWith | | | ConditionalAccess.cs:19:58:19:59 | access to parameter s2 | ConditionalAccess.cs:19:40:19:60 | call to method CommaJoinWith | | -| ConditionalAccess.cs:21:10:21:11 | enter M7 | ConditionalAccess.cs:22:5:26:5 | {...} | | -| ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | ConditionalAccess.cs:21:10:21:11 | exit M7 | | +| ConditionalAccess.cs:21:10:21:11 | Entry | ConditionalAccess.cs:22:5:26:5 | {...} | | +| ConditionalAccess.cs:21:10:21:11 | Normal Exit | ConditionalAccess.cs:21:10:21:11 | Exit | | +| ConditionalAccess.cs:22:5:26:5 | After {...} | ConditionalAccess.cs:21:10:21:11 | Normal Exit | | | ConditionalAccess.cs:22:5:26:5 | {...} | ConditionalAccess.cs:23:9:23:39 | ... ...; | | -| ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:26:23:29 | null | | -| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:24:9:24:38 | ... ...; | | -| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | null | +| ConditionalAccess.cs:23:9:23:39 | ... ...; | ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | | +| ConditionalAccess.cs:23:9:23:39 | After ... ...; | ConditionalAccess.cs:24:9:24:38 | ... ...; | | +| ConditionalAccess.cs:23:13:23:13 | access to local variable j | ConditionalAccess.cs:23:17:23:38 | Before access to property Length | | +| ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | ConditionalAccess.cs:23:9:23:39 | After ... ...; | | +| ConditionalAccess.cs:23:13:23:38 | Before Nullable j = ... | ConditionalAccess.cs:23:13:23:13 | access to local variable j | | +| ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:23:13:23:38 | After Nullable j = ... | | +| ConditionalAccess.cs:23:17:23:38 | After access to property Length | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | | +| ConditionalAccess.cs:23:17:23:38 | Before access to property Length | ConditionalAccess.cs:23:18:23:29 | Before (...) ... | | +| ConditionalAccess.cs:23:17:23:38 | access to property Length | ConditionalAccess.cs:23:17:23:38 | After access to property Length | | +| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | non-null | +| ConditionalAccess.cs:23:18:23:29 | (...) ... | ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | null | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [non-null] | ConditionalAccess.cs:23:17:23:38 | access to property Length | | +| ConditionalAccess.cs:23:18:23:29 | After (...) ... [null] | ConditionalAccess.cs:23:17:23:38 | After access to property Length | | +| ConditionalAccess.cs:23:18:23:29 | Before (...) ... | ConditionalAccess.cs:23:26:23:29 | null | | | ConditionalAccess.cs:23:26:23:29 | null | ConditionalAccess.cs:23:18:23:29 | (...) ... | | -| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:24:24:24 | access to parameter i | | -| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:25:9:25:33 | ...; | | -| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:13:24:37 | String s = ... | | -| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:17:24:37 | call to method ToString | non-null | +| ConditionalAccess.cs:24:9:24:38 | ... ...; | ConditionalAccess.cs:24:13:24:37 | Before String s = ... | | +| ConditionalAccess.cs:24:9:24:38 | After ... ...; | ConditionalAccess.cs:25:9:25:33 | ...; | | +| ConditionalAccess.cs:24:13:24:13 | access to local variable s | ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | | +| ConditionalAccess.cs:24:13:24:37 | After String s = ... | ConditionalAccess.cs:24:9:24:38 | After ... ...; | | +| ConditionalAccess.cs:24:13:24:37 | Before String s = ... | ConditionalAccess.cs:24:13:24:13 | access to local variable s | | +| ConditionalAccess.cs:24:13:24:37 | String s = ... | ConditionalAccess.cs:24:13:24:37 | After String s = ... | | +| ConditionalAccess.cs:24:17:24:37 | After call to method ToString | ConditionalAccess.cs:24:13:24:37 | String s = ... | | +| ConditionalAccess.cs:24:17:24:37 | Before call to method ToString | ConditionalAccess.cs:24:18:24:24 | Before (...) ... | | +| ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | | +| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | non-null | +| ConditionalAccess.cs:24:18:24:24 | (...) ... | ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | null | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [non-null] | ConditionalAccess.cs:24:17:24:37 | call to method ToString | | +| ConditionalAccess.cs:24:18:24:24 | After (...) ... [null] | ConditionalAccess.cs:24:17:24:37 | After call to method ToString | | +| ConditionalAccess.cs:24:18:24:24 | Before (...) ... | ConditionalAccess.cs:24:24:24:24 | access to parameter i | | | ConditionalAccess.cs:24:24:24:24 | access to parameter i | ConditionalAccess.cs:24:18:24:24 | (...) ... | | -| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:21:10:21:11 | exit M7 (normal) | | -| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:13:25:14 | "" | | -| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:31:25:31 | access to local variable s | non-null | -| ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:9:25:32 | ... = ... | | +| ConditionalAccess.cs:25:9:25:9 | access to local variable s | ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | | +| ConditionalAccess.cs:25:9:25:32 | ... = ... | ConditionalAccess.cs:25:9:25:32 | After ... = ... | | +| ConditionalAccess.cs:25:9:25:32 | After ... = ... | ConditionalAccess.cs:25:9:25:33 | After ...; | | +| ConditionalAccess.cs:25:9:25:32 | Before ... = ... | ConditionalAccess.cs:25:9:25:9 | access to local variable s | | +| ConditionalAccess.cs:25:9:25:33 | ...; | ConditionalAccess.cs:25:9:25:32 | Before ... = ... | | +| ConditionalAccess.cs:25:9:25:33 | After ...; | ConditionalAccess.cs:22:5:26:5 | After {...} | | +| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | non-null | +| ConditionalAccess.cs:25:13:25:14 | "" | ConditionalAccess.cs:25:13:25:14 | After "" [null] | null | +| ConditionalAccess.cs:25:13:25:14 | After "" [non-null] | ConditionalAccess.cs:25:31:25:31 | access to local variable s | | +| ConditionalAccess.cs:25:13:25:14 | After "" [null] | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | | +| ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | ConditionalAccess.cs:25:9:25:32 | ... = ... | | +| ConditionalAccess.cs:25:13:25:32 | Before call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:14 | "" | | +| ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | ConditionalAccess.cs:25:13:25:32 | After call to method CommaJoinWith | | | ConditionalAccess.cs:25:31:25:31 | access to local variable s | ConditionalAccess.cs:25:13:25:32 | call to method CommaJoinWith | | -| ConditionalAccess.cs:30:10:30:12 | enter Out | ConditionalAccess.cs:30:32:30:32 | 0 | | -| ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | ConditionalAccess.cs:30:10:30:12 | exit Out | | -| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:10:30:12 | exit Out (normal) | | +| ConditionalAccess.cs:30:10:30:12 | Entry | ConditionalAccess.cs:30:28:30:32 | Before ... = ... | | +| ConditionalAccess.cs:30:10:30:12 | Normal Exit | ConditionalAccess.cs:30:10:30:12 | Exit | | +| ConditionalAccess.cs:30:28:30:28 | access to parameter i | ConditionalAccess.cs:30:32:30:32 | 0 | | +| ConditionalAccess.cs:30:28:30:32 | ... = ... | ConditionalAccess.cs:30:28:30:32 | After ... = ... | | +| ConditionalAccess.cs:30:28:30:32 | After ... = ... | ConditionalAccess.cs:30:10:30:12 | Normal Exit | | +| ConditionalAccess.cs:30:28:30:32 | Before ... = ... | ConditionalAccess.cs:30:28:30:28 | access to parameter i | | | ConditionalAccess.cs:30:32:30:32 | 0 | ConditionalAccess.cs:30:28:30:32 | ... = ... | | -| ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:33:5:36:5 | {...} | | -| ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 | | +| ConditionalAccess.cs:32:10:32:11 | Entry | ConditionalAccess.cs:33:5:36:5 | {...} | | +| ConditionalAccess.cs:32:10:32:11 | Normal Exit | ConditionalAccess.cs:32:10:32:11 | Exit | | +| ConditionalAccess.cs:33:5:36:5 | After {...} | ConditionalAccess.cs:32:10:32:11 | Normal Exit | | | ConditionalAccess.cs:33:5:36:5 | {...} | ConditionalAccess.cs:34:9:34:14 | ...; | | -| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:35:9:35:25 | ...; | | -| ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:34:13:34:13 | 0 | | +| ConditionalAccess.cs:34:9:34:9 | access to parameter i | ConditionalAccess.cs:34:13:34:13 | 0 | | +| ConditionalAccess.cs:34:9:34:13 | ... = ... | ConditionalAccess.cs:34:9:34:13 | After ... = ... | | +| ConditionalAccess.cs:34:9:34:13 | After ... = ... | ConditionalAccess.cs:34:9:34:14 | After ...; | | +| ConditionalAccess.cs:34:9:34:13 | Before ... = ... | ConditionalAccess.cs:34:9:34:9 | access to parameter i | | +| ConditionalAccess.cs:34:9:34:14 | ...; | ConditionalAccess.cs:34:9:34:13 | Before ... = ... | | +| ConditionalAccess.cs:34:9:34:14 | After ...; | ConditionalAccess.cs:35:9:35:25 | ...; | | | ConditionalAccess.cs:34:13:34:13 | 0 | ConditionalAccess.cs:34:9:34:13 | ... = ... | | -| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | null | -| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:24 | call to method Out | non-null | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | ConditionalAccess.cs:35:23:35:23 | access to parameter i | | +| ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | ConditionalAccess.cs:35:9:35:24 | After call to method Out | | +| ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | ConditionalAccess.cs:35:9:35:12 | this access | | +| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [non-null] | non-null | +| ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | After access to property Prop [null] | null | | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | access to property Prop | | -| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | | -| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:12 | this access | | -| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:13:42:28 | {...} | | -| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:9:42:11 | exit get_Item | | -| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:22:42:25 | null | | -| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | return | +| ConditionalAccess.cs:35:9:35:24 | After call to method Out | ConditionalAccess.cs:35:9:35:25 | After ...; | | +| ConditionalAccess.cs:35:9:35:24 | Before call to method Out | ConditionalAccess.cs:35:9:35:12 | Before access to property Prop | | +| ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | After call to method Out | | +| ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:24 | Before call to method Out | | +| ConditionalAccess.cs:35:9:35:25 | After ...; | ConditionalAccess.cs:33:5:36:5 | After {...} | | +| ConditionalAccess.cs:35:23:35:23 | access to parameter i | ConditionalAccess.cs:35:9:35:24 | call to method Out | | +| ConditionalAccess.cs:42:9:42:11 | Entry | ConditionalAccess.cs:42:13:42:28 | {...} | | +| ConditionalAccess.cs:42:9:42:11 | Normal Exit | ConditionalAccess.cs:42:9:42:11 | Exit | | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:15:42:26 | Before return ...; | | +| ConditionalAccess.cs:42:15:42:26 | Before return ...; | ConditionalAccess.cs:42:22:42:25 | null | | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | Normal Exit | return | | ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:15:42:26 | return ...; | | -| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:13:43:15 | {...} | | -| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:9:43:11 | exit set_Item | | -| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | | -| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:47:5:55:5 | {...} | | -| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 | | +| ConditionalAccess.cs:43:9:43:11 | Entry | ConditionalAccess.cs:43:13:43:15 | {...} | | +| ConditionalAccess.cs:43:9:43:11 | Normal Exit | ConditionalAccess.cs:43:9:43:11 | Exit | | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | Normal Exit | | +| ConditionalAccess.cs:46:10:46:11 | Entry | ConditionalAccess.cs:47:5:55:5 | {...} | | +| ConditionalAccess.cs:46:10:46:11 | Normal Exit | ConditionalAccess.cs:46:10:46:11 | Exit | | +| ConditionalAccess.cs:47:5:55:5 | After {...} | ConditionalAccess.cs:46:10:46:11 | Normal Exit | | | ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:48:9:48:26 | ...; | | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:24:48:25 | 42 | non-null | -| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:33 | ...; | null | -| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:12:48:25 | ... = ... | | -| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | | -| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:49:9:49:33 | ...; | | -| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:9:48:20 | access to field IntField | | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:26:49:32 | "Hello" | non-null | -| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:24 | ...; | null | -| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:12:49:32 | ... = ... | | -| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | | -| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:50:9:50:24 | ...; | | -| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:13:50:13 | 0 | non-null | -| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:32 | ...; | null | -| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:12:50:23 | ... = ... | | -| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | | -| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:51:9:51:32 | ...; | | -| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:18:50:23 | "Set0" | | -| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:9:50:14 | access to indexer | | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:16 | access to property Prop | non-null | -| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:39 | ...; | null | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | non-null | -| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:52:9:52:39 | ...; | null | -| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:18:51:31 | ... = ... | | -| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | | -| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:52:9:52:39 | ...; | | -| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:9:51:26 | access to field IntField | | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:16 | access to property Prop | non-null | -| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:26 | ...; | null | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | non-null | -| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:53:9:53:26 | ...; | null | -| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:18:52:38 | ... = ... | | -| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | | -| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:53:9:53:26 | ...; | | -| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | access to field IntField | non-null | -| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:25:53:25 | 1 | null | -| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:25:53:25 | 1 | | -| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | | -| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:54:9:54:30 | ...; | | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:48:9:48:20 | access to field IntField | | +| ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | ConditionalAccess.cs:48:12:48:25 | After ... = ... | | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:48:9:48:20 | After access to field IntField | ConditionalAccess.cs:48:24:48:25 | 42 | | +| ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:20 | After access to field IntField | | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:12:48:25 | Before ... = ... | | +| ConditionalAccess.cs:48:9:48:26 | After ...; | ConditionalAccess.cs:49:9:49:33 | ...; | | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:12:48:25 | After ... = ... | | +| ConditionalAccess.cs:48:12:48:25 | After ... = ... | ConditionalAccess.cs:48:9:48:26 | After ...; | | +| ConditionalAccess.cs:48:12:48:25 | Before ... = ... | ConditionalAccess.cs:48:9:48:20 | Before access to field IntField | | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:12:48:25 | ... = ... | | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | | +| ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | ConditionalAccess.cs:49:12:49:32 | After ... = ... | | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | ConditionalAccess.cs:49:26:49:32 | "Hello" | | +| ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:22 | After access to property StringProp | | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:12:49:32 | Before ... = ... | | +| ConditionalAccess.cs:49:9:49:33 | After ...; | ConditionalAccess.cs:50:9:50:24 | ...; | | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:12:49:32 | After ... = ... | | +| ConditionalAccess.cs:49:12:49:32 | After ... = ... | ConditionalAccess.cs:49:9:49:33 | After ...; | | +| ConditionalAccess.cs:49:12:49:32 | Before ... = ... | ConditionalAccess.cs:49:9:49:22 | Before access to property StringProp | | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:12:49:32 | ... = ... | | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:50:13:50:13 | 0 | | +| ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | ConditionalAccess.cs:50:12:50:23 | After ... = ... | | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:50:9:50:14 | After access to indexer | ConditionalAccess.cs:50:18:50:23 | "Set0" | | +| ConditionalAccess.cs:50:9:50:14 | Before access to indexer | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:9:50:14 | After access to indexer | | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:12:50:23 | Before ... = ... | | +| ConditionalAccess.cs:50:9:50:24 | After ...; | ConditionalAccess.cs:51:9:51:32 | ...; | | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:12:50:23 | After ... = ... | | +| ConditionalAccess.cs:50:12:50:23 | After ... = ... | ConditionalAccess.cs:50:9:50:24 | After ...; | | +| ConditionalAccess.cs:50:12:50:23 | Before ... = ... | ConditionalAccess.cs:50:9:50:14 | Before access to indexer | | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:9:50:14 | access to indexer | | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:12:50:23 | ... = ... | | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:51:9:51:16 | access to property Prop | | +| ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | null | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | ConditionalAccess.cs:51:9:51:26 | access to field IntField | | +| ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | ConditionalAccess.cs:51:18:51:31 | After ... = ... | | +| ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [non-null] | non-null | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | After access to property Prop [null] | null | +| ConditionalAccess.cs:51:9:51:26 | After access to field IntField | ConditionalAccess.cs:51:30:51:31 | 84 | | +| ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | ConditionalAccess.cs:51:9:51:16 | Before access to property Prop | | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:26 | After access to field IntField | | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:18:51:31 | Before ... = ... | | +| ConditionalAccess.cs:51:9:51:32 | After ...; | ConditionalAccess.cs:52:9:52:39 | ...; | | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:18:51:31 | After ... = ... | | +| ConditionalAccess.cs:51:18:51:31 | After ... = ... | ConditionalAccess.cs:51:9:51:32 | After ...; | | +| ConditionalAccess.cs:51:18:51:31 | Before ... = ... | ConditionalAccess.cs:51:9:51:26 | Before access to field IntField | | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:18:51:31 | ... = ... | | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:52:9:52:16 | access to property Prop | | +| ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | null | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | | +| ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | ConditionalAccess.cs:52:18:52:38 | After ... = ... | | +| ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [non-null] | non-null | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | After access to property Prop [null] | null | +| ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | ConditionalAccess.cs:52:32:52:38 | "World" | | +| ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | ConditionalAccess.cs:52:9:52:16 | Before access to property Prop | | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:28 | After access to property StringProp | | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:18:52:38 | Before ... = ... | | +| ConditionalAccess.cs:52:9:52:39 | After ...; | ConditionalAccess.cs:53:9:53:26 | ...; | | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:18:52:38 | After ... = ... | | +| ConditionalAccess.cs:52:18:52:38 | After ... = ... | ConditionalAccess.cs:52:9:52:39 | After ...; | | +| ConditionalAccess.cs:52:18:52:38 | Before ... = ... | ConditionalAccess.cs:52:9:52:28 | Before access to property StringProp | | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:18:52:38 | ... = ... | | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:53:9:53:20 | access to field IntField | | +| ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:53:9:53:20 | After access to field IntField | ConditionalAccess.cs:53:25:53:25 | 1 | | +| ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | After access to field IntField | | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | | +| ConditionalAccess.cs:53:9:53:26 | After ...; | ConditionalAccess.cs:54:9:54:30 | ...; | | +| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:53:12:53:25 | After ... -= ... | | +| ConditionalAccess.cs:53:12:53:25 | After ... -= ... | ConditionalAccess.cs:53:9:53:26 | After ...; | | +| ConditionalAccess.cs:53:12:53:25 | Before ... -= ... | ConditionalAccess.cs:53:9:53:20 | Before access to field IntField | | | ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:12:53:25 | ... -= ... | | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | non-null | -| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:27:54:29 | "!" | null | -| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:27:54:29 | "!" | | -| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | | -| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | | +| ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | ConditionalAccess.cs:54:12:54:29 | After ... += ... | | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [non-null] | non-null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | After access to parameter ca [null] | null | +| ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | ConditionalAccess.cs:54:27:54:29 | "!" | | +| ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | After access to property StringProp | | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:12:54:29 | Before ... += ... | | +| ConditionalAccess.cs:54:9:54:30 | After ...; | ConditionalAccess.cs:47:5:55:5 | After {...} | | +| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:54:12:54:29 | After ... += ... | | +| ConditionalAccess.cs:54:12:54:29 | After ... += ... | ConditionalAccess.cs:54:9:54:30 | After ...; | | +| ConditionalAccess.cs:54:12:54:29 | Before ... += ... | ConditionalAccess.cs:54:9:54:22 | Before access to property StringProp | | | ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:12:54:29 | ... += ... | | -| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | | -| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | | +| ConditionalAccess.cs:60:26:60:38 | Entry | ConditionalAccess.cs:60:70:60:83 | Before ... + ... | | +| ConditionalAccess.cs:60:26:60:38 | Normal Exit | ConditionalAccess.cs:60:26:60:38 | Exit | | | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:75:60:78 | ", " | | -| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | | -| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:70:60:78 | After ... + ... | | +| ConditionalAccess.cs:60:70:60:78 | After ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | | +| ConditionalAccess.cs:60:70:60:78 | Before ... + ... | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:70:60:83 | After ... + ... | | +| ConditionalAccess.cs:60:70:60:83 | After ... + ... | ConditionalAccess.cs:60:26:60:38 | Normal Exit | | +| ConditionalAccess.cs:60:70:60:83 | Before ... + ... | ConditionalAccess.cs:60:70:60:78 | Before ... + ... | | | ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:70:60:78 | ... + ... | | | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:83 | ... + ... | | -| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | {...} | | -| Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | call to constructor Object | | -| Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | this access | | -| Conditions.cs:1:7:1:16 | exit Conditions (normal) | Conditions.cs:1:7:1:16 | exit Conditions | | +| Conditions.cs:1:7:1:16 | After call to constructor Object | Conditions.cs:1:7:1:16 | {...} | | +| Conditions.cs:1:7:1:16 | After call to method | Conditions.cs:1:7:1:16 | Before call to constructor Object | | +| Conditions.cs:1:7:1:16 | Before call to constructor Object | Conditions.cs:1:7:1:16 | call to constructor Object | | +| Conditions.cs:1:7:1:16 | Before call to method | Conditions.cs:1:7:1:16 | this access | | +| Conditions.cs:1:7:1:16 | Entry | Conditions.cs:1:7:1:16 | Before call to method | | +| Conditions.cs:1:7:1:16 | Normal Exit | Conditions.cs:1:7:1:16 | Exit | | +| Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | After call to constructor Object | | +| Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | After call to method | | | Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | call to method | | -| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | exit Conditions (normal) | | -| Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:4:5:9:5 | {...} | | -| Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | exit IncrOrDecr | | +| Conditions.cs:1:7:1:16 | {...} | Conditions.cs:1:7:1:16 | Normal Exit | | +| Conditions.cs:3:10:3:19 | Entry | Conditions.cs:4:5:9:5 | {...} | | +| Conditions.cs:3:10:3:19 | Normal Exit | Conditions.cs:3:10:3:19 | Exit | | +| Conditions.cs:4:5:9:5 | After {...} | Conditions.cs:3:10:3:19 | Normal Exit | | | Conditions.cs:4:5:9:5 | {...} | Conditions.cs:5:9:6:16 | if (...) ... | | +| Conditions.cs:5:9:6:16 | After if (...) ... | Conditions.cs:7:9:8:16 | if (...) ... | | | Conditions.cs:5:9:6:16 | if (...) ... | Conditions.cs:5:13:5:15 | access to parameter inc | | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:6:13:6:16 | ...; | true | -| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:7:9:8:16 | if (...) ... | false | +| Conditions.cs:5:13:5:15 | After access to parameter inc [false] | Conditions.cs:5:9:6:16 | After if (...) ... | | +| Conditions.cs:5:13:5:15 | After access to parameter inc [true] | Conditions.cs:6:13:6:16 | ...; | | +| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | After access to parameter inc [false] | false | +| Conditions.cs:5:13:5:15 | access to parameter inc | Conditions.cs:5:13:5:15 | After access to parameter inc [true] | true | | Conditions.cs:6:13:6:13 | access to parameter x | Conditions.cs:6:13:6:15 | ...++ | | -| Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:7:9:8:16 | if (...) ... | | -| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:13 | access to parameter x | | -| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:14:7:16 | access to parameter inc | | -| Conditions.cs:7:13:7:16 | [false] !... | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | false | -| Conditions.cs:7:13:7:16 | [true] !... | Conditions.cs:8:13:8:16 | ...; | true | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | [false] !... | true | -| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:13:7:16 | [true] !... | false | +| Conditions.cs:6:13:6:15 | ...++ | Conditions.cs:6:13:6:15 | After ...++ | | +| Conditions.cs:6:13:6:15 | After ...++ | Conditions.cs:6:13:6:16 | After ...; | | +| Conditions.cs:6:13:6:15 | Before ...++ | Conditions.cs:6:13:6:13 | access to parameter x | | +| Conditions.cs:6:13:6:16 | ...; | Conditions.cs:6:13:6:15 | Before ...++ | | +| Conditions.cs:6:13:6:16 | After ...; | Conditions.cs:5:9:6:16 | After if (...) ... | | +| Conditions.cs:7:9:8:16 | After if (...) ... | Conditions.cs:4:5:9:5 | After {...} | | +| Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | !... | | +| Conditions.cs:7:13:7:16 | !... | Conditions.cs:7:14:7:16 | access to parameter inc | | +| Conditions.cs:7:13:7:16 | After !... [false] | Conditions.cs:7:9:8:16 | After if (...) ... | | +| Conditions.cs:7:13:7:16 | After !... [true] | Conditions.cs:8:13:8:16 | ...; | | +| Conditions.cs:7:14:7:16 | After access to parameter inc [false] | Conditions.cs:7:13:7:16 | After !... [true] | true | +| Conditions.cs:7:14:7:16 | After access to parameter inc [true] | Conditions.cs:7:13:7:16 | After !... [false] | false | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | After access to parameter inc [false] | false | +| Conditions.cs:7:14:7:16 | access to parameter inc | Conditions.cs:7:14:7:16 | After access to parameter inc [true] | true | | Conditions.cs:8:13:8:13 | access to parameter x | Conditions.cs:8:13:8:15 | ...-- | | -| Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | | -| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:13 | access to parameter x | | -| Conditions.cs:11:9:11:10 | enter M1 | Conditions.cs:12:5:20:5 | {...} | | -| Conditions.cs:11:9:11:10 | exit M1 (normal) | Conditions.cs:11:9:11:10 | exit M1 | | +| Conditions.cs:8:13:8:15 | ...-- | Conditions.cs:8:13:8:15 | After ...-- | | +| Conditions.cs:8:13:8:15 | After ...-- | Conditions.cs:8:13:8:16 | After ...; | | +| Conditions.cs:8:13:8:15 | Before ...-- | Conditions.cs:8:13:8:13 | access to parameter x | | +| Conditions.cs:8:13:8:16 | ...; | Conditions.cs:8:13:8:15 | Before ...-- | | +| Conditions.cs:8:13:8:16 | After ...; | Conditions.cs:7:9:8:16 | After if (...) ... | | +| Conditions.cs:11:9:11:10 | Entry | Conditions.cs:12:5:20:5 | {...} | | +| Conditions.cs:11:9:11:10 | Normal Exit | Conditions.cs:11:9:11:10 | Exit | | | Conditions.cs:12:5:20:5 | {...} | Conditions.cs:13:9:13:18 | ... ...; | | -| Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:17:13:17 | 0 | | -| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:14:9:15:16 | if (...) ... | | +| Conditions.cs:13:9:13:18 | ... ...; | Conditions.cs:13:13:13:17 | Before Int32 x = ... | | +| Conditions.cs:13:9:13:18 | After ... ...; | Conditions.cs:14:9:15:16 | if (...) ... | | +| Conditions.cs:13:13:13:13 | access to local variable x | Conditions.cs:13:17:13:17 | 0 | | +| Conditions.cs:13:13:13:17 | After Int32 x = ... | Conditions.cs:13:9:13:18 | After ... ...; | | +| Conditions.cs:13:13:13:17 | Before Int32 x = ... | Conditions.cs:13:13:13:13 | access to local variable x | | +| Conditions.cs:13:13:13:17 | Int32 x = ... | Conditions.cs:13:13:13:17 | After Int32 x = ... | | | Conditions.cs:13:17:13:17 | 0 | Conditions.cs:13:13:13:17 | Int32 x = ... | | +| Conditions.cs:14:9:15:16 | After if (...) ... | Conditions.cs:16:9:18:20 | if (...) ... | | | Conditions.cs:14:9:15:16 | if (...) ... | Conditions.cs:14:13:14:13 | access to parameter b | | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:15:13:15:16 | ...; | true | -| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:16:9:18:20 | if (...) ... | false | +| Conditions.cs:14:13:14:13 | After access to parameter b [false] | Conditions.cs:14:9:15:16 | After if (...) ... | | +| Conditions.cs:14:13:14:13 | After access to parameter b [true] | Conditions.cs:15:13:15:16 | ...; | | +| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | After access to parameter b [false] | false | +| Conditions.cs:14:13:14:13 | access to parameter b | Conditions.cs:14:13:14:13 | After access to parameter b [true] | true | | Conditions.cs:15:13:15:13 | access to local variable x | Conditions.cs:15:13:15:15 | ...++ | | -| Conditions.cs:15:13:15:15 | ...++ | Conditions.cs:16:9:18:20 | if (...) ... | | -| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:13 | access to local variable x | | -| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:13:16:13 | access to local variable x | | +| Conditions.cs:15:13:15:15 | ...++ | Conditions.cs:15:13:15:15 | After ...++ | | +| Conditions.cs:15:13:15:15 | After ...++ | Conditions.cs:15:13:15:16 | After ...; | | +| Conditions.cs:15:13:15:15 | Before ...++ | Conditions.cs:15:13:15:13 | access to local variable x | | +| Conditions.cs:15:13:15:16 | ...; | Conditions.cs:15:13:15:15 | Before ...++ | | +| Conditions.cs:15:13:15:16 | After ...; | Conditions.cs:14:9:15:16 | After if (...) ... | | +| Conditions.cs:16:9:18:20 | After if (...) ... | Conditions.cs:19:9:19:17 | Before return ...; | | +| Conditions.cs:16:9:18:20 | if (...) ... | Conditions.cs:16:13:16:17 | Before ... > ... | | | Conditions.cs:16:13:16:13 | access to local variable x | Conditions.cs:16:17:16:17 | 0 | | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:17:13:18:20 | if (...) ... | true | -| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:19:16:19:16 | access to local variable x | false | +| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | After ... > ... [false] | false | +| Conditions.cs:16:13:16:17 | ... > ... | Conditions.cs:16:13:16:17 | After ... > ... [true] | true | +| Conditions.cs:16:13:16:17 | After ... > ... [false] | Conditions.cs:16:9:18:20 | After if (...) ... | | +| Conditions.cs:16:13:16:17 | After ... > ... [true] | Conditions.cs:17:13:18:20 | if (...) ... | | +| Conditions.cs:16:13:16:17 | Before ... > ... | Conditions.cs:16:13:16:13 | access to local variable x | | | Conditions.cs:16:17:16:17 | 0 | Conditions.cs:16:13:16:17 | ... > ... | | -| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:18:17:18 | access to parameter b | | -| Conditions.cs:17:17:17:18 | [false] !... | Conditions.cs:19:16:19:16 | access to local variable x | false | -| Conditions.cs:17:17:17:18 | [true] !... | Conditions.cs:18:17:18:20 | ...; | true | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | [false] !... | true | -| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:17:17:18 | [true] !... | false | +| Conditions.cs:17:13:18:20 | After if (...) ... | Conditions.cs:16:9:18:20 | After if (...) ... | | +| Conditions.cs:17:13:18:20 | if (...) ... | Conditions.cs:17:17:17:18 | !... | | +| Conditions.cs:17:17:17:18 | !... | Conditions.cs:17:18:17:18 | access to parameter b | | +| Conditions.cs:17:17:17:18 | After !... [false] | Conditions.cs:17:13:18:20 | After if (...) ... | | +| Conditions.cs:17:17:17:18 | After !... [true] | Conditions.cs:18:17:18:20 | ...; | | +| Conditions.cs:17:18:17:18 | After access to parameter b [false] | Conditions.cs:17:17:17:18 | After !... [true] | true | +| Conditions.cs:17:18:17:18 | After access to parameter b [true] | Conditions.cs:17:17:17:18 | After !... [false] | false | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | After access to parameter b [false] | false | +| Conditions.cs:17:18:17:18 | access to parameter b | Conditions.cs:17:18:17:18 | After access to parameter b [true] | true | | Conditions.cs:18:17:18:17 | access to local variable x | Conditions.cs:18:17:18:19 | ...-- | | -| Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:19:16:19:16 | access to local variable x | | -| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:17 | access to local variable x | | -| Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:11:9:11:10 | exit M1 (normal) | return | +| Conditions.cs:18:17:18:19 | ...-- | Conditions.cs:18:17:18:19 | After ...-- | | +| Conditions.cs:18:17:18:19 | After ...-- | Conditions.cs:18:17:18:20 | After ...; | | +| Conditions.cs:18:17:18:19 | Before ...-- | Conditions.cs:18:17:18:17 | access to local variable x | | +| Conditions.cs:18:17:18:20 | ...; | Conditions.cs:18:17:18:19 | Before ...-- | | +| Conditions.cs:18:17:18:20 | After ...; | Conditions.cs:17:13:18:20 | After if (...) ... | | +| Conditions.cs:19:9:19:17 | Before return ...; | Conditions.cs:19:16:19:16 | access to local variable x | | +| Conditions.cs:19:9:19:17 | return ...; | Conditions.cs:11:9:11:10 | Normal Exit | return | | Conditions.cs:19:16:19:16 | access to local variable x | Conditions.cs:19:9:19:17 | return ...; | | -| Conditions.cs:22:9:22:10 | enter M2 | Conditions.cs:23:5:31:5 | {...} | | -| Conditions.cs:22:9:22:10 | exit M2 (normal) | Conditions.cs:22:9:22:10 | exit M2 | | +| Conditions.cs:22:9:22:10 | Entry | Conditions.cs:23:5:31:5 | {...} | | +| Conditions.cs:22:9:22:10 | Normal Exit | Conditions.cs:22:9:22:10 | Exit | | | Conditions.cs:23:5:31:5 | {...} | Conditions.cs:24:9:24:18 | ... ...; | | -| Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:17:24:17 | 0 | | -| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:25:9:27:20 | if (...) ... | | +| Conditions.cs:24:9:24:18 | ... ...; | Conditions.cs:24:13:24:17 | Before Int32 x = ... | | +| Conditions.cs:24:9:24:18 | After ... ...; | Conditions.cs:25:9:27:20 | if (...) ... | | +| Conditions.cs:24:13:24:13 | access to local variable x | Conditions.cs:24:17:24:17 | 0 | | +| Conditions.cs:24:13:24:17 | After Int32 x = ... | Conditions.cs:24:9:24:18 | After ... ...; | | +| Conditions.cs:24:13:24:17 | Before Int32 x = ... | Conditions.cs:24:13:24:13 | access to local variable x | | +| Conditions.cs:24:13:24:17 | Int32 x = ... | Conditions.cs:24:13:24:17 | After Int32 x = ... | | | Conditions.cs:24:17:24:17 | 0 | Conditions.cs:24:13:24:17 | Int32 x = ... | | +| Conditions.cs:25:9:27:20 | After if (...) ... | Conditions.cs:28:9:29:16 | if (...) ... | | | Conditions.cs:25:9:27:20 | if (...) ... | Conditions.cs:25:13:25:14 | access to parameter b1 | | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:26:13:27:20 | if (...) ... | true | -| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:28:9:29:16 | if (...) ... | false | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | Conditions.cs:25:9:27:20 | After if (...) ... | | +| Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | Conditions.cs:26:13:27:20 | if (...) ... | | +| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | After access to parameter b1 [false] | false | +| Conditions.cs:25:13:25:14 | access to parameter b1 | Conditions.cs:25:13:25:14 | After access to parameter b1 [true] | true | +| Conditions.cs:26:13:27:20 | After if (...) ... | Conditions.cs:25:9:27:20 | After if (...) ... | | | Conditions.cs:26:13:27:20 | if (...) ... | Conditions.cs:26:17:26:18 | access to parameter b2 | | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:27:17:27:20 | ...; | true | -| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:28:9:29:16 | if (...) ... | false | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | Conditions.cs:26:13:27:20 | After if (...) ... | | +| Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | Conditions.cs:27:17:27:20 | ...; | | +| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | After access to parameter b2 [false] | false | +| Conditions.cs:26:17:26:18 | access to parameter b2 | Conditions.cs:26:17:26:18 | After access to parameter b2 [true] | true | | Conditions.cs:27:17:27:17 | access to local variable x | Conditions.cs:27:17:27:19 | ...++ | | -| Conditions.cs:27:17:27:19 | ...++ | Conditions.cs:28:9:29:16 | if (...) ... | | -| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:17 | access to local variable x | | +| Conditions.cs:27:17:27:19 | ...++ | Conditions.cs:27:17:27:19 | After ...++ | | +| Conditions.cs:27:17:27:19 | After ...++ | Conditions.cs:27:17:27:20 | After ...; | | +| Conditions.cs:27:17:27:19 | Before ...++ | Conditions.cs:27:17:27:17 | access to local variable x | | +| Conditions.cs:27:17:27:20 | ...; | Conditions.cs:27:17:27:19 | Before ...++ | | +| Conditions.cs:27:17:27:20 | After ...; | Conditions.cs:26:13:27:20 | After if (...) ... | | +| Conditions.cs:28:9:29:16 | After if (...) ... | Conditions.cs:30:9:30:17 | Before return ...; | | | Conditions.cs:28:9:29:16 | if (...) ... | Conditions.cs:28:13:28:14 | access to parameter b2 | | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:29:13:29:16 | ...; | true | -| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:30:16:30:16 | access to local variable x | false | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | Conditions.cs:28:9:29:16 | After if (...) ... | | +| Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | Conditions.cs:29:13:29:16 | ...; | | +| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | After access to parameter b2 [false] | false | +| Conditions.cs:28:13:28:14 | access to parameter b2 | Conditions.cs:28:13:28:14 | After access to parameter b2 [true] | true | | Conditions.cs:29:13:29:13 | access to local variable x | Conditions.cs:29:13:29:15 | ...++ | | -| Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:30:16:30:16 | access to local variable x | | -| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:13 | access to local variable x | | -| Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:22:9:22:10 | exit M2 (normal) | return | +| Conditions.cs:29:13:29:15 | ...++ | Conditions.cs:29:13:29:15 | After ...++ | | +| Conditions.cs:29:13:29:15 | After ...++ | Conditions.cs:29:13:29:16 | After ...; | | +| Conditions.cs:29:13:29:15 | Before ...++ | Conditions.cs:29:13:29:13 | access to local variable x | | +| Conditions.cs:29:13:29:16 | ...; | Conditions.cs:29:13:29:15 | Before ...++ | | +| Conditions.cs:29:13:29:16 | After ...; | Conditions.cs:28:9:29:16 | After if (...) ... | | +| Conditions.cs:30:9:30:17 | Before return ...; | Conditions.cs:30:16:30:16 | access to local variable x | | +| Conditions.cs:30:9:30:17 | return ...; | Conditions.cs:22:9:22:10 | Normal Exit | return | | Conditions.cs:30:16:30:16 | access to local variable x | Conditions.cs:30:9:30:17 | return ...; | | -| Conditions.cs:33:9:33:10 | enter M3 | Conditions.cs:34:5:44:5 | {...} | | -| Conditions.cs:33:9:33:10 | exit M3 (normal) | Conditions.cs:33:9:33:10 | exit M3 | | +| Conditions.cs:33:9:33:10 | Entry | Conditions.cs:34:5:44:5 | {...} | | +| Conditions.cs:33:9:33:10 | Normal Exit | Conditions.cs:33:9:33:10 | Exit | | | Conditions.cs:34:5:44:5 | {...} | Conditions.cs:35:9:35:18 | ... ...; | | -| Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:17:35:17 | 0 | | -| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:36:9:36:23 | ... ...; | | +| Conditions.cs:35:9:35:18 | ... ...; | Conditions.cs:35:13:35:17 | Before Int32 x = ... | | +| Conditions.cs:35:9:35:18 | After ... ...; | Conditions.cs:36:9:36:23 | ... ...; | | +| Conditions.cs:35:13:35:13 | access to local variable x | Conditions.cs:35:17:35:17 | 0 | | +| Conditions.cs:35:13:35:17 | After Int32 x = ... | Conditions.cs:35:9:35:18 | After ... ...; | | +| Conditions.cs:35:13:35:17 | Before Int32 x = ... | Conditions.cs:35:13:35:13 | access to local variable x | | +| Conditions.cs:35:13:35:17 | Int32 x = ... | Conditions.cs:35:13:35:17 | After Int32 x = ... | | | Conditions.cs:35:17:35:17 | 0 | Conditions.cs:35:13:35:17 | Int32 x = ... | | -| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:18:36:22 | false | | -| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:37:9:38:20 | if (...) ... | | +| Conditions.cs:36:9:36:23 | ... ...; | Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | | +| Conditions.cs:36:9:36:23 | After ... ...; | Conditions.cs:37:9:38:20 | if (...) ... | | +| Conditions.cs:36:13:36:14 | access to local variable b2 | Conditions.cs:36:18:36:22 | false | | +| Conditions.cs:36:13:36:22 | After Boolean b2 = ... | Conditions.cs:36:9:36:23 | After ... ...; | | +| Conditions.cs:36:13:36:22 | Before Boolean b2 = ... | Conditions.cs:36:13:36:14 | access to local variable b2 | | +| Conditions.cs:36:13:36:22 | Boolean b2 = ... | Conditions.cs:36:13:36:22 | After Boolean b2 = ... | | | Conditions.cs:36:18:36:22 | false | Conditions.cs:36:13:36:22 | Boolean b2 = ... | | +| Conditions.cs:37:9:38:20 | After if (...) ... | Conditions.cs:39:9:40:16 | if (...) ... | | | Conditions.cs:37:9:38:20 | if (...) ... | Conditions.cs:37:13:37:14 | access to parameter b1 | | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:38:13:38:20 | ...; | true | -| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:39:9:40:16 | if (...) ... | false | -| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:39:9:40:16 | if (...) ... | | -| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:18:38:19 | access to parameter b1 | | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | Conditions.cs:37:9:38:20 | After if (...) ... | | +| Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | Conditions.cs:38:13:38:20 | ...; | | +| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | After access to parameter b1 [false] | false | +| Conditions.cs:37:13:37:14 | access to parameter b1 | Conditions.cs:37:13:37:14 | After access to parameter b1 [true] | true | +| Conditions.cs:38:13:38:14 | access to local variable b2 | Conditions.cs:38:18:38:19 | access to parameter b1 | | +| Conditions.cs:38:13:38:19 | ... = ... | Conditions.cs:38:13:38:19 | After ... = ... | | +| Conditions.cs:38:13:38:19 | After ... = ... | Conditions.cs:38:13:38:20 | After ...; | | +| Conditions.cs:38:13:38:19 | Before ... = ... | Conditions.cs:38:13:38:14 | access to local variable b2 | | +| Conditions.cs:38:13:38:20 | ...; | Conditions.cs:38:13:38:19 | Before ... = ... | | +| Conditions.cs:38:13:38:20 | After ...; | Conditions.cs:37:9:38:20 | After if (...) ... | | | Conditions.cs:38:18:38:19 | access to parameter b1 | Conditions.cs:38:13:38:19 | ... = ... | | +| Conditions.cs:39:9:40:16 | After if (...) ... | Conditions.cs:41:9:42:16 | if (...) ... | | | Conditions.cs:39:9:40:16 | if (...) ... | Conditions.cs:39:13:39:14 | access to local variable b2 | | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:40:13:40:16 | ...; | true | -| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:41:9:42:16 | if (...) ... | false | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | Conditions.cs:39:9:40:16 | After if (...) ... | | +| Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | Conditions.cs:40:13:40:16 | ...; | | +| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | After access to local variable b2 [false] | false | +| Conditions.cs:39:13:39:14 | access to local variable b2 | Conditions.cs:39:13:39:14 | After access to local variable b2 [true] | true | | Conditions.cs:40:13:40:13 | access to local variable x | Conditions.cs:40:13:40:15 | ...++ | | -| Conditions.cs:40:13:40:15 | ...++ | Conditions.cs:41:9:42:16 | if (...) ... | | -| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:13 | access to local variable x | | +| Conditions.cs:40:13:40:15 | ...++ | Conditions.cs:40:13:40:15 | After ...++ | | +| Conditions.cs:40:13:40:15 | After ...++ | Conditions.cs:40:13:40:16 | After ...; | | +| Conditions.cs:40:13:40:15 | Before ...++ | Conditions.cs:40:13:40:13 | access to local variable x | | +| Conditions.cs:40:13:40:16 | ...; | Conditions.cs:40:13:40:15 | Before ...++ | | +| Conditions.cs:40:13:40:16 | After ...; | Conditions.cs:39:9:40:16 | After if (...) ... | | +| Conditions.cs:41:9:42:16 | After if (...) ... | Conditions.cs:43:9:43:17 | Before return ...; | | | Conditions.cs:41:9:42:16 | if (...) ... | Conditions.cs:41:13:41:14 | access to local variable b2 | | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:42:13:42:16 | ...; | true | -| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:43:16:43:16 | access to local variable x | false | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | Conditions.cs:41:9:42:16 | After if (...) ... | | +| Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | Conditions.cs:42:13:42:16 | ...; | | +| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | After access to local variable b2 [false] | false | +| Conditions.cs:41:13:41:14 | access to local variable b2 | Conditions.cs:41:13:41:14 | After access to local variable b2 [true] | true | | Conditions.cs:42:13:42:13 | access to local variable x | Conditions.cs:42:13:42:15 | ...++ | | -| Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:43:16:43:16 | access to local variable x | | -| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:13 | access to local variable x | | -| Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:33:9:33:10 | exit M3 (normal) | return | +| Conditions.cs:42:13:42:15 | ...++ | Conditions.cs:42:13:42:15 | After ...++ | | +| Conditions.cs:42:13:42:15 | After ...++ | Conditions.cs:42:13:42:16 | After ...; | | +| Conditions.cs:42:13:42:15 | Before ...++ | Conditions.cs:42:13:42:13 | access to local variable x | | +| Conditions.cs:42:13:42:16 | ...; | Conditions.cs:42:13:42:15 | Before ...++ | | +| Conditions.cs:42:13:42:16 | After ...; | Conditions.cs:41:9:42:16 | After if (...) ... | | +| Conditions.cs:43:9:43:17 | Before return ...; | Conditions.cs:43:16:43:16 | access to local variable x | | +| Conditions.cs:43:9:43:17 | return ...; | Conditions.cs:33:9:33:10 | Normal Exit | return | | Conditions.cs:43:16:43:16 | access to local variable x | Conditions.cs:43:9:43:17 | return ...; | | -| Conditions.cs:46:9:46:10 | enter M4 | Conditions.cs:47:5:55:5 | {...} | | -| Conditions.cs:46:9:46:10 | exit M4 (normal) | Conditions.cs:46:9:46:10 | exit M4 | | +| Conditions.cs:46:9:46:10 | Entry | Conditions.cs:47:5:55:5 | {...} | | +| Conditions.cs:46:9:46:10 | Normal Exit | Conditions.cs:46:9:46:10 | Exit | | | Conditions.cs:47:5:55:5 | {...} | Conditions.cs:48:9:48:18 | ... ...; | | -| Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:17:48:17 | 0 | | -| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:49:9:53:9 | while (...) ... | | +| Conditions.cs:48:9:48:18 | ... ...; | Conditions.cs:48:13:48:17 | Before Int32 y = ... | | +| Conditions.cs:48:9:48:18 | After ... ...; | Conditions.cs:49:9:53:9 | while (...) ... | | +| Conditions.cs:48:13:48:13 | access to local variable y | Conditions.cs:48:17:48:17 | 0 | | +| Conditions.cs:48:13:48:17 | After Int32 y = ... | Conditions.cs:48:9:48:18 | After ... ...; | | +| Conditions.cs:48:13:48:17 | Before Int32 y = ... | Conditions.cs:48:13:48:13 | access to local variable y | | +| Conditions.cs:48:13:48:17 | Int32 y = ... | Conditions.cs:48:13:48:17 | After Int32 y = ... | | | Conditions.cs:48:17:48:17 | 0 | Conditions.cs:48:13:48:17 | Int32 y = ... | | -| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:16:49:16 | access to parameter x | | +| Conditions.cs:49:9:53:9 | After while (...) ... | Conditions.cs:54:9:54:17 | Before return ...; | | +| Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | Conditions.cs:49:16:49:22 | Before ... > ... | | +| Conditions.cs:49:9:53:9 | while (...) ... | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | | | Conditions.cs:49:16:49:16 | access to parameter x | Conditions.cs:49:16:49:18 | ...-- | | -| Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:22:49:22 | 0 | | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:50:9:53:9 | {...} | true | -| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:54:16:54:16 | access to local variable y | false | +| Conditions.cs:49:16:49:18 | ...-- | Conditions.cs:49:16:49:18 | After ...-- | | +| Conditions.cs:49:16:49:18 | After ...-- | Conditions.cs:49:22:49:22 | 0 | | +| Conditions.cs:49:16:49:18 | Before ...-- | Conditions.cs:49:16:49:16 | access to parameter x | | +| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | After ... > ... [false] | false | +| Conditions.cs:49:16:49:22 | ... > ... | Conditions.cs:49:16:49:22 | After ... > ... [true] | true | +| Conditions.cs:49:16:49:22 | After ... > ... [false] | Conditions.cs:49:9:53:9 | After while (...) ... | | +| Conditions.cs:49:16:49:22 | After ... > ... [true] | Conditions.cs:50:9:53:9 | {...} | | +| Conditions.cs:49:16:49:22 | Before ... > ... | Conditions.cs:49:16:49:18 | Before ...-- | | | Conditions.cs:49:22:49:22 | 0 | Conditions.cs:49:16:49:22 | ... > ... | | +| Conditions.cs:50:9:53:9 | After {...} | Conditions.cs:49:9:53:9 | [LoopHeader] while (...) ... | | | Conditions.cs:50:9:53:9 | {...} | Conditions.cs:51:13:52:20 | if (...) ... | | +| Conditions.cs:51:13:52:20 | After if (...) ... | Conditions.cs:50:9:53:9 | After {...} | | | Conditions.cs:51:13:52:20 | if (...) ... | Conditions.cs:51:17:51:17 | access to parameter b | | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:49:16:49:16 | access to parameter x | false | -| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:52:17:52:20 | ...; | true | +| Conditions.cs:51:17:51:17 | After access to parameter b [false] | Conditions.cs:51:13:52:20 | After if (...) ... | | +| Conditions.cs:51:17:51:17 | After access to parameter b [true] | Conditions.cs:52:17:52:20 | ...; | | +| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | After access to parameter b [false] | false | +| Conditions.cs:51:17:51:17 | access to parameter b | Conditions.cs:51:17:51:17 | After access to parameter b [true] | true | | Conditions.cs:52:17:52:17 | access to local variable y | Conditions.cs:52:17:52:19 | ...++ | | -| Conditions.cs:52:17:52:19 | ...++ | Conditions.cs:49:16:49:16 | access to parameter x | | -| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:17 | access to local variable y | | -| Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:46:9:46:10 | exit M4 (normal) | return | +| Conditions.cs:52:17:52:19 | ...++ | Conditions.cs:52:17:52:19 | After ...++ | | +| Conditions.cs:52:17:52:19 | After ...++ | Conditions.cs:52:17:52:20 | After ...; | | +| Conditions.cs:52:17:52:19 | Before ...++ | Conditions.cs:52:17:52:17 | access to local variable y | | +| Conditions.cs:52:17:52:20 | ...; | Conditions.cs:52:17:52:19 | Before ...++ | | +| Conditions.cs:52:17:52:20 | After ...; | Conditions.cs:51:13:52:20 | After if (...) ... | | +| Conditions.cs:54:9:54:17 | Before return ...; | Conditions.cs:54:16:54:16 | access to local variable y | | +| Conditions.cs:54:9:54:17 | return ...; | Conditions.cs:46:9:46:10 | Normal Exit | return | | Conditions.cs:54:16:54:16 | access to local variable y | Conditions.cs:54:9:54:17 | return ...; | | -| Conditions.cs:57:9:57:10 | enter M5 | Conditions.cs:58:5:68:5 | {...} | | -| Conditions.cs:57:9:57:10 | exit M5 (normal) | Conditions.cs:57:9:57:10 | exit M5 | | +| Conditions.cs:57:9:57:10 | Entry | Conditions.cs:58:5:68:5 | {...} | | +| Conditions.cs:57:9:57:10 | Normal Exit | Conditions.cs:57:9:57:10 | Exit | | | Conditions.cs:58:5:68:5 | {...} | Conditions.cs:59:9:59:18 | ... ...; | | -| Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:17:59:17 | 0 | | -| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:60:9:64:9 | while (...) ... | | +| Conditions.cs:59:9:59:18 | ... ...; | Conditions.cs:59:13:59:17 | Before Int32 y = ... | | +| Conditions.cs:59:9:59:18 | After ... ...; | Conditions.cs:60:9:64:9 | while (...) ... | | +| Conditions.cs:59:13:59:13 | access to local variable y | Conditions.cs:59:17:59:17 | 0 | | +| Conditions.cs:59:13:59:17 | After Int32 y = ... | Conditions.cs:59:9:59:18 | After ... ...; | | +| Conditions.cs:59:13:59:17 | Before Int32 y = ... | Conditions.cs:59:13:59:13 | access to local variable y | | +| Conditions.cs:59:13:59:17 | Int32 y = ... | Conditions.cs:59:13:59:17 | After Int32 y = ... | | | Conditions.cs:59:17:59:17 | 0 | Conditions.cs:59:13:59:17 | Int32 y = ... | | -| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:16:60:16 | access to parameter x | | +| Conditions.cs:60:9:64:9 | After while (...) ... | Conditions.cs:65:9:66:16 | if (...) ... | | +| Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | Conditions.cs:60:16:60:22 | Before ... > ... | | +| Conditions.cs:60:9:64:9 | while (...) ... | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | | | Conditions.cs:60:16:60:16 | access to parameter x | Conditions.cs:60:16:60:18 | ...-- | | -| Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:22:60:22 | 0 | | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:61:9:64:9 | {...} | true | -| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:65:9:66:16 | if (...) ... | false | +| Conditions.cs:60:16:60:18 | ...-- | Conditions.cs:60:16:60:18 | After ...-- | | +| Conditions.cs:60:16:60:18 | After ...-- | Conditions.cs:60:22:60:22 | 0 | | +| Conditions.cs:60:16:60:18 | Before ...-- | Conditions.cs:60:16:60:16 | access to parameter x | | +| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | After ... > ... [false] | false | +| Conditions.cs:60:16:60:22 | ... > ... | Conditions.cs:60:16:60:22 | After ... > ... [true] | true | +| Conditions.cs:60:16:60:22 | After ... > ... [false] | Conditions.cs:60:9:64:9 | After while (...) ... | | +| Conditions.cs:60:16:60:22 | After ... > ... [true] | Conditions.cs:61:9:64:9 | {...} | | +| Conditions.cs:60:16:60:22 | Before ... > ... | Conditions.cs:60:16:60:18 | Before ...-- | | | Conditions.cs:60:22:60:22 | 0 | Conditions.cs:60:16:60:22 | ... > ... | | +| Conditions.cs:61:9:64:9 | After {...} | Conditions.cs:60:9:64:9 | [LoopHeader] while (...) ... | | | Conditions.cs:61:9:64:9 | {...} | Conditions.cs:62:13:63:20 | if (...) ... | | +| Conditions.cs:62:13:63:20 | After if (...) ... | Conditions.cs:61:9:64:9 | After {...} | | | Conditions.cs:62:13:63:20 | if (...) ... | Conditions.cs:62:17:62:17 | access to parameter b | | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:60:16:60:16 | access to parameter x | false | -| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:63:17:63:20 | ...; | true | +| Conditions.cs:62:17:62:17 | After access to parameter b [false] | Conditions.cs:62:13:63:20 | After if (...) ... | | +| Conditions.cs:62:17:62:17 | After access to parameter b [true] | Conditions.cs:63:17:63:20 | ...; | | +| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | After access to parameter b [false] | false | +| Conditions.cs:62:17:62:17 | access to parameter b | Conditions.cs:62:17:62:17 | After access to parameter b [true] | true | | Conditions.cs:63:17:63:17 | access to local variable y | Conditions.cs:63:17:63:19 | ...++ | | -| Conditions.cs:63:17:63:19 | ...++ | Conditions.cs:60:16:60:16 | access to parameter x | | -| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:17 | access to local variable y | | +| Conditions.cs:63:17:63:19 | ...++ | Conditions.cs:63:17:63:19 | After ...++ | | +| Conditions.cs:63:17:63:19 | After ...++ | Conditions.cs:63:17:63:20 | After ...; | | +| Conditions.cs:63:17:63:19 | Before ...++ | Conditions.cs:63:17:63:17 | access to local variable y | | +| Conditions.cs:63:17:63:20 | ...; | Conditions.cs:63:17:63:19 | Before ...++ | | +| Conditions.cs:63:17:63:20 | After ...; | Conditions.cs:62:13:63:20 | After if (...) ... | | +| Conditions.cs:65:9:66:16 | After if (...) ... | Conditions.cs:67:9:67:17 | Before return ...; | | | Conditions.cs:65:9:66:16 | if (...) ... | Conditions.cs:65:13:65:13 | access to parameter b | | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:66:13:66:16 | ...; | true | -| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:67:16:67:16 | access to local variable y | false | +| Conditions.cs:65:13:65:13 | After access to parameter b [false] | Conditions.cs:65:9:66:16 | After if (...) ... | | +| Conditions.cs:65:13:65:13 | After access to parameter b [true] | Conditions.cs:66:13:66:16 | ...; | | +| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | After access to parameter b [false] | false | +| Conditions.cs:65:13:65:13 | access to parameter b | Conditions.cs:65:13:65:13 | After access to parameter b [true] | true | | Conditions.cs:66:13:66:13 | access to local variable y | Conditions.cs:66:13:66:15 | ...++ | | -| Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:67:16:67:16 | access to local variable y | | -| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:13 | access to local variable y | | -| Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:57:9:57:10 | exit M5 (normal) | return | +| Conditions.cs:66:13:66:15 | ...++ | Conditions.cs:66:13:66:15 | After ...++ | | +| Conditions.cs:66:13:66:15 | After ...++ | Conditions.cs:66:13:66:16 | After ...; | | +| Conditions.cs:66:13:66:15 | Before ...++ | Conditions.cs:66:13:66:13 | access to local variable y | | +| Conditions.cs:66:13:66:16 | ...; | Conditions.cs:66:13:66:15 | Before ...++ | | +| Conditions.cs:66:13:66:16 | After ...; | Conditions.cs:65:9:66:16 | After if (...) ... | | +| Conditions.cs:67:9:67:17 | Before return ...; | Conditions.cs:67:16:67:16 | access to local variable y | | +| Conditions.cs:67:9:67:17 | return ...; | Conditions.cs:57:9:57:10 | Normal Exit | return | | Conditions.cs:67:16:67:16 | access to local variable y | Conditions.cs:67:9:67:17 | return ...; | | -| Conditions.cs:70:9:70:10 | enter M6 | Conditions.cs:71:5:84:5 | {...} | | -| Conditions.cs:70:9:70:10 | exit M6 (normal) | Conditions.cs:70:9:70:10 | exit M6 | | +| Conditions.cs:70:9:70:10 | Entry | Conditions.cs:71:5:84:5 | {...} | | +| Conditions.cs:70:9:70:10 | Normal Exit | Conditions.cs:70:9:70:10 | Exit | | | Conditions.cs:71:5:84:5 | {...} | Conditions.cs:72:9:72:30 | ... ...; | | -| Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:17:72:18 | access to parameter ss | | -| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:73:9:73:18 | ... ...; | | +| Conditions.cs:72:9:72:30 | ... ...; | Conditions.cs:72:13:72:29 | Before Boolean b = ... | | +| Conditions.cs:72:9:72:30 | After ... ...; | Conditions.cs:73:9:73:18 | ... ...; | | +| Conditions.cs:72:13:72:13 | access to local variable b | Conditions.cs:72:17:72:29 | Before ... > ... | | +| Conditions.cs:72:13:72:29 | After Boolean b = ... | Conditions.cs:72:9:72:30 | After ... ...; | | +| Conditions.cs:72:13:72:29 | Before Boolean b = ... | Conditions.cs:72:13:72:13 | access to local variable b | | +| Conditions.cs:72:13:72:29 | Boolean b = ... | Conditions.cs:72:13:72:29 | After Boolean b = ... | | | Conditions.cs:72:17:72:18 | access to parameter ss | Conditions.cs:72:17:72:25 | access to property Length | | -| Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:29:72:29 | 0 | | -| Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:13:72:29 | Boolean b = ... | | +| Conditions.cs:72:17:72:25 | After access to property Length | Conditions.cs:72:29:72:29 | 0 | | +| Conditions.cs:72:17:72:25 | Before access to property Length | Conditions.cs:72:17:72:18 | access to parameter ss | | +| Conditions.cs:72:17:72:25 | access to property Length | Conditions.cs:72:17:72:25 | After access to property Length | | +| Conditions.cs:72:17:72:29 | ... > ... | Conditions.cs:72:17:72:29 | After ... > ... | | +| Conditions.cs:72:17:72:29 | After ... > ... | Conditions.cs:72:13:72:29 | Boolean b = ... | | +| Conditions.cs:72:17:72:29 | Before ... > ... | Conditions.cs:72:17:72:25 | Before access to property Length | | | Conditions.cs:72:29:72:29 | 0 | Conditions.cs:72:17:72:29 | ... > ... | | -| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:17:73:17 | 0 | | -| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:74:27:74:28 | access to parameter ss | | +| Conditions.cs:73:9:73:18 | ... ...; | Conditions.cs:73:13:73:17 | Before Int32 x = ... | | +| Conditions.cs:73:9:73:18 | After ... ...; | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | | +| Conditions.cs:73:13:73:13 | access to local variable x | Conditions.cs:73:17:73:17 | 0 | | +| Conditions.cs:73:13:73:17 | After Int32 x = ... | Conditions.cs:73:9:73:18 | After ... ...; | | +| Conditions.cs:73:13:73:17 | Before Int32 x = ... | Conditions.cs:73:13:73:13 | access to local variable x | | +| Conditions.cs:73:13:73:17 | Int32 x = ... | Conditions.cs:73:13:73:17 | After Int32 x = ... | | | Conditions.cs:73:17:73:17 | 0 | Conditions.cs:73:13:73:17 | Int32 x = ... | | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | non-empty | -| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | empty | +| Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | Conditions.cs:81:9:82:16 | if (...) ... | | +| Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | | +| Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:74:22:74:22 | String _ | | +| Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | Conditions.cs:74:27:74:28 | access to parameter ss | | | Conditions.cs:74:22:74:22 | String _ | Conditions.cs:75:9:80:9 | {...} | | -| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | | +| Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | Conditions.cs:74:9:80:9 | After foreach (... ... in ...) ... | | +| Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | Conditions.cs:74:22:74:22 | String _ | | +| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:27:74:28 | After access to parameter ss [empty] | empty | +| Conditions.cs:74:27:74:28 | access to parameter ss | Conditions.cs:74:27:74:28 | After access to parameter ss [non-empty] | non-empty | +| Conditions.cs:75:9:80:9 | After {...} | Conditions.cs:74:9:80:9 | [LoopHeader] foreach (... ... in ...) ... | | | Conditions.cs:75:9:80:9 | {...} | Conditions.cs:76:13:77:20 | if (...) ... | | +| Conditions.cs:76:13:77:20 | After if (...) ... | Conditions.cs:78:13:79:26 | if (...) ... | | | Conditions.cs:76:13:77:20 | if (...) ... | Conditions.cs:76:17:76:17 | access to local variable b | | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:77:17:77:20 | ...; | true | -| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:78:13:79:26 | if (...) ... | false | +| Conditions.cs:76:17:76:17 | After access to local variable b [false] | Conditions.cs:76:13:77:20 | After if (...) ... | | +| Conditions.cs:76:17:76:17 | After access to local variable b [true] | Conditions.cs:77:17:77:20 | ...; | | +| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | After access to local variable b [false] | false | +| Conditions.cs:76:17:76:17 | access to local variable b | Conditions.cs:76:17:76:17 | After access to local variable b [true] | true | | Conditions.cs:77:17:77:17 | access to local variable x | Conditions.cs:77:17:77:19 | ...++ | | -| Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:78:13:79:26 | if (...) ... | | -| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:17 | access to local variable x | | -| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:17 | access to local variable x | | +| Conditions.cs:77:17:77:19 | ...++ | Conditions.cs:77:17:77:19 | After ...++ | | +| Conditions.cs:77:17:77:19 | After ...++ | Conditions.cs:77:17:77:20 | After ...; | | +| Conditions.cs:77:17:77:19 | Before ...++ | Conditions.cs:77:17:77:17 | access to local variable x | | +| Conditions.cs:77:17:77:20 | ...; | Conditions.cs:77:17:77:19 | Before ...++ | | +| Conditions.cs:77:17:77:20 | After ...; | Conditions.cs:76:13:77:20 | After if (...) ... | | +| Conditions.cs:78:13:79:26 | After if (...) ... | Conditions.cs:75:9:80:9 | After {...} | | +| Conditions.cs:78:13:79:26 | if (...) ... | Conditions.cs:78:17:78:21 | Before ... > ... | | | Conditions.cs:78:17:78:17 | access to local variable x | Conditions.cs:78:21:78:21 | 0 | | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | false | -| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:79:17:79:26 | ...; | true | +| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | After ... > ... [false] | false | +| Conditions.cs:78:17:78:21 | ... > ... | Conditions.cs:78:17:78:21 | After ... > ... [true] | true | +| Conditions.cs:78:17:78:21 | After ... > ... [false] | Conditions.cs:78:13:79:26 | After if (...) ... | | +| Conditions.cs:78:17:78:21 | After ... > ... [true] | Conditions.cs:79:17:79:26 | ...; | | +| Conditions.cs:78:17:78:21 | Before ... > ... | Conditions.cs:78:17:78:17 | access to local variable x | | | Conditions.cs:78:21:78:21 | 0 | Conditions.cs:78:17:78:21 | ... > ... | | -| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:74:9:80:9 | foreach (... ... in ...) ... | | -| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:21:79:25 | false | | +| Conditions.cs:79:17:79:17 | access to local variable b | Conditions.cs:79:21:79:25 | false | | +| Conditions.cs:79:17:79:25 | ... = ... | Conditions.cs:79:17:79:25 | After ... = ... | | +| Conditions.cs:79:17:79:25 | After ... = ... | Conditions.cs:79:17:79:26 | After ...; | | +| Conditions.cs:79:17:79:25 | Before ... = ... | Conditions.cs:79:17:79:17 | access to local variable b | | +| Conditions.cs:79:17:79:26 | ...; | Conditions.cs:79:17:79:25 | Before ... = ... | | +| Conditions.cs:79:17:79:26 | After ...; | Conditions.cs:78:13:79:26 | After if (...) ... | | | Conditions.cs:79:21:79:25 | false | Conditions.cs:79:17:79:25 | ... = ... | | +| Conditions.cs:81:9:82:16 | After if (...) ... | Conditions.cs:83:9:83:17 | Before return ...; | | | Conditions.cs:81:9:82:16 | if (...) ... | Conditions.cs:81:13:81:13 | access to local variable b | | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:82:13:82:16 | ...; | true | -| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:83:16:83:16 | access to local variable x | false | +| Conditions.cs:81:13:81:13 | After access to local variable b [false] | Conditions.cs:81:9:82:16 | After if (...) ... | | +| Conditions.cs:81:13:81:13 | After access to local variable b [true] | Conditions.cs:82:13:82:16 | ...; | | +| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | After access to local variable b [false] | false | +| Conditions.cs:81:13:81:13 | access to local variable b | Conditions.cs:81:13:81:13 | After access to local variable b [true] | true | | Conditions.cs:82:13:82:13 | access to local variable x | Conditions.cs:82:13:82:15 | ...++ | | -| Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:83:16:83:16 | access to local variable x | | -| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:13 | access to local variable x | | -| Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:70:9:70:10 | exit M6 (normal) | return | +| Conditions.cs:82:13:82:15 | ...++ | Conditions.cs:82:13:82:15 | After ...++ | | +| Conditions.cs:82:13:82:15 | After ...++ | Conditions.cs:82:13:82:16 | After ...; | | +| Conditions.cs:82:13:82:15 | Before ...++ | Conditions.cs:82:13:82:13 | access to local variable x | | +| Conditions.cs:82:13:82:16 | ...; | Conditions.cs:82:13:82:15 | Before ...++ | | +| Conditions.cs:82:13:82:16 | After ...; | Conditions.cs:81:9:82:16 | After if (...) ... | | +| Conditions.cs:83:9:83:17 | Before return ...; | Conditions.cs:83:16:83:16 | access to local variable x | | +| Conditions.cs:83:9:83:17 | return ...; | Conditions.cs:70:9:70:10 | Normal Exit | return | | Conditions.cs:83:16:83:16 | access to local variable x | Conditions.cs:83:9:83:17 | return ...; | | -| Conditions.cs:86:9:86:10 | enter M7 | Conditions.cs:87:5:100:5 | {...} | | -| Conditions.cs:86:9:86:10 | exit M7 (normal) | Conditions.cs:86:9:86:10 | exit M7 | | +| Conditions.cs:86:9:86:10 | Entry | Conditions.cs:87:5:100:5 | {...} | | +| Conditions.cs:86:9:86:10 | Normal Exit | Conditions.cs:86:9:86:10 | Exit | | | Conditions.cs:87:5:100:5 | {...} | Conditions.cs:88:9:88:30 | ... ...; | | -| Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:17:88:18 | access to parameter ss | | -| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:89:9:89:18 | ... ...; | | +| Conditions.cs:88:9:88:30 | ... ...; | Conditions.cs:88:13:88:29 | Before Boolean b = ... | | +| Conditions.cs:88:9:88:30 | After ... ...; | Conditions.cs:89:9:89:18 | ... ...; | | +| Conditions.cs:88:13:88:13 | access to local variable b | Conditions.cs:88:17:88:29 | Before ... > ... | | +| Conditions.cs:88:13:88:29 | After Boolean b = ... | Conditions.cs:88:9:88:30 | After ... ...; | | +| Conditions.cs:88:13:88:29 | Before Boolean b = ... | Conditions.cs:88:13:88:13 | access to local variable b | | +| Conditions.cs:88:13:88:29 | Boolean b = ... | Conditions.cs:88:13:88:29 | After Boolean b = ... | | | Conditions.cs:88:17:88:18 | access to parameter ss | Conditions.cs:88:17:88:25 | access to property Length | | -| Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:29:88:29 | 0 | | -| Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:13:88:29 | Boolean b = ... | | +| Conditions.cs:88:17:88:25 | After access to property Length | Conditions.cs:88:29:88:29 | 0 | | +| Conditions.cs:88:17:88:25 | Before access to property Length | Conditions.cs:88:17:88:18 | access to parameter ss | | +| Conditions.cs:88:17:88:25 | access to property Length | Conditions.cs:88:17:88:25 | After access to property Length | | +| Conditions.cs:88:17:88:29 | ... > ... | Conditions.cs:88:17:88:29 | After ... > ... | | +| Conditions.cs:88:17:88:29 | After ... > ... | Conditions.cs:88:13:88:29 | Boolean b = ... | | +| Conditions.cs:88:17:88:29 | Before ... > ... | Conditions.cs:88:17:88:25 | Before access to property Length | | | Conditions.cs:88:29:88:29 | 0 | Conditions.cs:88:17:88:29 | ... > ... | | -| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:17:89:17 | 0 | | -| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:90:27:90:28 | access to parameter ss | | +| Conditions.cs:89:9:89:18 | ... ...; | Conditions.cs:89:13:89:17 | Before Int32 x = ... | | +| Conditions.cs:89:9:89:18 | After ... ...; | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | | +| Conditions.cs:89:13:89:13 | access to local variable x | Conditions.cs:89:17:89:17 | 0 | | +| Conditions.cs:89:13:89:17 | After Int32 x = ... | Conditions.cs:89:9:89:18 | After ... ...; | | +| Conditions.cs:89:13:89:17 | Before Int32 x = ... | Conditions.cs:89:13:89:13 | access to local variable x | | +| Conditions.cs:89:13:89:17 | Int32 x = ... | Conditions.cs:89:13:89:17 | After Int32 x = ... | | | Conditions.cs:89:17:89:17 | 0 | Conditions.cs:89:13:89:17 | Int32 x = ... | | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | non-empty | -| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:99:16:99:16 | access to local variable x | empty | +| Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | Conditions.cs:99:9:99:17 | Before return ...; | | +| Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | | +| Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | Conditions.cs:90:22:90:22 | String _ | | +| Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | Conditions.cs:90:27:90:28 | access to parameter ss | | | Conditions.cs:90:22:90:22 | String _ | Conditions.cs:91:9:98:9 | {...} | | -| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | | +| Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | Conditions.cs:90:9:98:9 | After foreach (... ... in ...) ... | | +| Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | Conditions.cs:90:22:90:22 | String _ | | +| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:27:90:28 | After access to parameter ss [empty] | empty | +| Conditions.cs:90:27:90:28 | access to parameter ss | Conditions.cs:90:27:90:28 | After access to parameter ss [non-empty] | non-empty | +| Conditions.cs:91:9:98:9 | After {...} | Conditions.cs:90:9:98:9 | [LoopHeader] foreach (... ... in ...) ... | | | Conditions.cs:91:9:98:9 | {...} | Conditions.cs:92:13:93:20 | if (...) ... | | +| Conditions.cs:92:13:93:20 | After if (...) ... | Conditions.cs:94:13:95:26 | if (...) ... | | | Conditions.cs:92:13:93:20 | if (...) ... | Conditions.cs:92:17:92:17 | access to local variable b | | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:93:17:93:20 | ...; | true | -| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:94:13:95:26 | if (...) ... | false | +| Conditions.cs:92:17:92:17 | After access to local variable b [false] | Conditions.cs:92:13:93:20 | After if (...) ... | | +| Conditions.cs:92:17:92:17 | After access to local variable b [true] | Conditions.cs:93:17:93:20 | ...; | | +| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | After access to local variable b [false] | false | +| Conditions.cs:92:17:92:17 | access to local variable b | Conditions.cs:92:17:92:17 | After access to local variable b [true] | true | | Conditions.cs:93:17:93:17 | access to local variable x | Conditions.cs:93:17:93:19 | ...++ | | -| Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:94:13:95:26 | if (...) ... | | -| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:17 | access to local variable x | | -| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:17 | access to local variable x | | +| Conditions.cs:93:17:93:19 | ...++ | Conditions.cs:93:17:93:19 | After ...++ | | +| Conditions.cs:93:17:93:19 | After ...++ | Conditions.cs:93:17:93:20 | After ...; | | +| Conditions.cs:93:17:93:19 | Before ...++ | Conditions.cs:93:17:93:17 | access to local variable x | | +| Conditions.cs:93:17:93:20 | ...; | Conditions.cs:93:17:93:19 | Before ...++ | | +| Conditions.cs:93:17:93:20 | After ...; | Conditions.cs:92:13:93:20 | After if (...) ... | | +| Conditions.cs:94:13:95:26 | After if (...) ... | Conditions.cs:96:13:97:20 | if (...) ... | | +| Conditions.cs:94:13:95:26 | if (...) ... | Conditions.cs:94:17:94:21 | Before ... > ... | | | Conditions.cs:94:17:94:17 | access to local variable x | Conditions.cs:94:21:94:21 | 0 | | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:95:17:95:26 | ...; | true | -| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:96:13:97:20 | if (...) ... | false | +| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | After ... > ... [false] | false | +| Conditions.cs:94:17:94:21 | ... > ... | Conditions.cs:94:17:94:21 | After ... > ... [true] | true | +| Conditions.cs:94:17:94:21 | After ... > ... [false] | Conditions.cs:94:13:95:26 | After if (...) ... | | +| Conditions.cs:94:17:94:21 | After ... > ... [true] | Conditions.cs:95:17:95:26 | ...; | | +| Conditions.cs:94:17:94:21 | Before ... > ... | Conditions.cs:94:17:94:17 | access to local variable x | | | Conditions.cs:94:21:94:21 | 0 | Conditions.cs:94:17:94:21 | ... > ... | | -| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:96:13:97:20 | if (...) ... | | -| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:21:95:25 | false | | +| Conditions.cs:95:17:95:17 | access to local variable b | Conditions.cs:95:21:95:25 | false | | +| Conditions.cs:95:17:95:25 | ... = ... | Conditions.cs:95:17:95:25 | After ... = ... | | +| Conditions.cs:95:17:95:25 | After ... = ... | Conditions.cs:95:17:95:26 | After ...; | | +| Conditions.cs:95:17:95:25 | Before ... = ... | Conditions.cs:95:17:95:17 | access to local variable b | | +| Conditions.cs:95:17:95:26 | ...; | Conditions.cs:95:17:95:25 | Before ... = ... | | +| Conditions.cs:95:17:95:26 | After ...; | Conditions.cs:94:13:95:26 | After if (...) ... | | | Conditions.cs:95:21:95:25 | false | Conditions.cs:95:17:95:25 | ... = ... | | +| Conditions.cs:96:13:97:20 | After if (...) ... | Conditions.cs:91:9:98:9 | After {...} | | | Conditions.cs:96:13:97:20 | if (...) ... | Conditions.cs:96:17:96:17 | access to local variable b | | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | false | -| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:97:17:97:20 | ...; | true | +| Conditions.cs:96:17:96:17 | After access to local variable b [false] | Conditions.cs:96:13:97:20 | After if (...) ... | | +| Conditions.cs:96:17:96:17 | After access to local variable b [true] | Conditions.cs:97:17:97:20 | ...; | | +| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | After access to local variable b [false] | false | +| Conditions.cs:96:17:96:17 | access to local variable b | Conditions.cs:96:17:96:17 | After access to local variable b [true] | true | | Conditions.cs:97:17:97:17 | access to local variable x | Conditions.cs:97:17:97:19 | ...++ | | -| Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:90:9:98:9 | foreach (... ... in ...) ... | | -| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:17 | access to local variable x | | -| Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:86:9:86:10 | exit M7 (normal) | return | +| Conditions.cs:97:17:97:19 | ...++ | Conditions.cs:97:17:97:19 | After ...++ | | +| Conditions.cs:97:17:97:19 | After ...++ | Conditions.cs:97:17:97:20 | After ...; | | +| Conditions.cs:97:17:97:19 | Before ...++ | Conditions.cs:97:17:97:17 | access to local variable x | | +| Conditions.cs:97:17:97:20 | ...; | Conditions.cs:97:17:97:19 | Before ...++ | | +| Conditions.cs:97:17:97:20 | After ...; | Conditions.cs:96:13:97:20 | After if (...) ... | | +| Conditions.cs:99:9:99:17 | Before return ...; | Conditions.cs:99:16:99:16 | access to local variable x | | +| Conditions.cs:99:9:99:17 | return ...; | Conditions.cs:86:9:86:10 | Normal Exit | return | | Conditions.cs:99:16:99:16 | access to local variable x | Conditions.cs:99:9:99:17 | return ...; | | -| Conditions.cs:102:12:102:13 | enter M8 | Conditions.cs:103:5:111:5 | {...} | | -| Conditions.cs:102:12:102:13 | exit M8 (normal) | Conditions.cs:102:12:102:13 | exit M8 | | +| Conditions.cs:102:12:102:13 | Entry | Conditions.cs:103:5:111:5 | {...} | | +| Conditions.cs:102:12:102:13 | Normal Exit | Conditions.cs:102:12:102:13 | Exit | | | Conditions.cs:103:5:111:5 | {...} | Conditions.cs:104:9:104:29 | ... ...; | | -| Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:17:104:17 | access to parameter b | | -| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:105:9:106:20 | if (...) ... | | +| Conditions.cs:104:9:104:29 | ... ...; | Conditions.cs:104:13:104:28 | Before String x = ... | | +| Conditions.cs:104:9:104:29 | After ... ...; | Conditions.cs:105:9:106:20 | if (...) ... | | +| Conditions.cs:104:13:104:13 | access to local variable x | Conditions.cs:104:17:104:28 | Before call to method ToString | | +| Conditions.cs:104:13:104:28 | After String x = ... | Conditions.cs:104:9:104:29 | After ... ...; | | +| Conditions.cs:104:13:104:28 | Before String x = ... | Conditions.cs:104:13:104:13 | access to local variable x | | +| Conditions.cs:104:13:104:28 | String x = ... | Conditions.cs:104:13:104:28 | After String x = ... | | | Conditions.cs:104:17:104:17 | access to parameter b | Conditions.cs:104:17:104:28 | call to method ToString | | -| Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:13:104:28 | String x = ... | | +| Conditions.cs:104:17:104:28 | After call to method ToString | Conditions.cs:104:13:104:28 | String x = ... | | +| Conditions.cs:104:17:104:28 | Before call to method ToString | Conditions.cs:104:17:104:17 | access to parameter b | | +| Conditions.cs:104:17:104:28 | call to method ToString | Conditions.cs:104:17:104:28 | After call to method ToString | | +| Conditions.cs:105:9:106:20 | After if (...) ... | Conditions.cs:107:9:109:24 | if (...) ... | | | Conditions.cs:105:9:106:20 | if (...) ... | Conditions.cs:105:13:105:13 | access to parameter b | | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:106:13:106:20 | ...; | true | -| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:107:9:109:24 | if (...) ... | false | +| Conditions.cs:105:13:105:13 | After access to parameter b [false] | Conditions.cs:105:9:106:20 | After if (...) ... | | +| Conditions.cs:105:13:105:13 | After access to parameter b [true] | Conditions.cs:106:13:106:20 | ...; | | +| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | After access to parameter b [false] | false | +| Conditions.cs:105:13:105:13 | access to parameter b | Conditions.cs:105:13:105:13 | After access to parameter b [true] | true | | Conditions.cs:106:13:106:13 | access to local variable x | Conditions.cs:106:18:106:19 | "" | | -| Conditions.cs:106:13:106:19 | ... += ... | Conditions.cs:107:9:109:24 | if (...) ... | | -| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:13 | access to local variable x | | +| Conditions.cs:106:13:106:19 | ... += ... | Conditions.cs:106:13:106:19 | After ... += ... | | +| Conditions.cs:106:13:106:19 | After ... += ... | Conditions.cs:106:13:106:20 | After ...; | | +| Conditions.cs:106:13:106:19 | Before ... += ... | Conditions.cs:106:13:106:13 | access to local variable x | | +| Conditions.cs:106:13:106:20 | ...; | Conditions.cs:106:13:106:19 | Before ... += ... | | +| Conditions.cs:106:13:106:20 | After ...; | Conditions.cs:105:9:106:20 | After if (...) ... | | | Conditions.cs:106:18:106:19 | "" | Conditions.cs:106:13:106:19 | ... += ... | | -| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:13:107:13 | access to local variable x | | +| Conditions.cs:107:9:109:24 | After if (...) ... | Conditions.cs:110:9:110:17 | Before return ...; | | +| Conditions.cs:107:9:109:24 | if (...) ... | Conditions.cs:107:13:107:24 | Before ... > ... | | | Conditions.cs:107:13:107:13 | access to local variable x | Conditions.cs:107:13:107:20 | access to property Length | | -| Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:107:24:107:24 | 0 | | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:108:13:109:24 | if (...) ... | true | -| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:110:16:110:16 | access to local variable x | false | +| Conditions.cs:107:13:107:20 | After access to property Length | Conditions.cs:107:24:107:24 | 0 | | +| Conditions.cs:107:13:107:20 | Before access to property Length | Conditions.cs:107:13:107:13 | access to local variable x | | +| Conditions.cs:107:13:107:20 | access to property Length | Conditions.cs:107:13:107:20 | After access to property Length | | +| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | After ... > ... [false] | false | +| Conditions.cs:107:13:107:24 | ... > ... | Conditions.cs:107:13:107:24 | After ... > ... [true] | true | +| Conditions.cs:107:13:107:24 | After ... > ... [false] | Conditions.cs:107:9:109:24 | After if (...) ... | | +| Conditions.cs:107:13:107:24 | After ... > ... [true] | Conditions.cs:108:13:109:24 | if (...) ... | | +| Conditions.cs:107:13:107:24 | Before ... > ... | Conditions.cs:107:13:107:20 | Before access to property Length | | | Conditions.cs:107:24:107:24 | 0 | Conditions.cs:107:13:107:24 | ... > ... | | -| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:18:108:18 | access to parameter b | | -| Conditions.cs:108:17:108:18 | [false] !... | Conditions.cs:110:16:110:16 | access to local variable x | false | -| Conditions.cs:108:17:108:18 | [true] !... | Conditions.cs:109:17:109:24 | ...; | true | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | [false] !... | true | -| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:17:108:18 | [true] !... | false | +| Conditions.cs:108:13:109:24 | After if (...) ... | Conditions.cs:107:9:109:24 | After if (...) ... | | +| Conditions.cs:108:13:109:24 | if (...) ... | Conditions.cs:108:17:108:18 | !... | | +| Conditions.cs:108:17:108:18 | !... | Conditions.cs:108:18:108:18 | access to parameter b | | +| Conditions.cs:108:17:108:18 | After !... [false] | Conditions.cs:108:13:109:24 | After if (...) ... | | +| Conditions.cs:108:17:108:18 | After !... [true] | Conditions.cs:109:17:109:24 | ...; | | +| Conditions.cs:108:18:108:18 | After access to parameter b [false] | Conditions.cs:108:17:108:18 | After !... [true] | true | +| Conditions.cs:108:18:108:18 | After access to parameter b [true] | Conditions.cs:108:17:108:18 | After !... [false] | false | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | After access to parameter b [false] | false | +| Conditions.cs:108:18:108:18 | access to parameter b | Conditions.cs:108:18:108:18 | After access to parameter b [true] | true | | Conditions.cs:109:17:109:17 | access to local variable x | Conditions.cs:109:22:109:23 | "" | | -| Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:110:16:110:16 | access to local variable x | | -| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:17 | access to local variable x | | +| Conditions.cs:109:17:109:23 | ... += ... | Conditions.cs:109:17:109:23 | After ... += ... | | +| Conditions.cs:109:17:109:23 | After ... += ... | Conditions.cs:109:17:109:24 | After ...; | | +| Conditions.cs:109:17:109:23 | Before ... += ... | Conditions.cs:109:17:109:17 | access to local variable x | | +| Conditions.cs:109:17:109:24 | ...; | Conditions.cs:109:17:109:23 | Before ... += ... | | +| Conditions.cs:109:17:109:24 | After ...; | Conditions.cs:108:13:109:24 | After if (...) ... | | | Conditions.cs:109:22:109:23 | "" | Conditions.cs:109:17:109:23 | ... += ... | | -| Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:102:12:102:13 | exit M8 (normal) | return | +| Conditions.cs:110:9:110:17 | Before return ...; | Conditions.cs:110:16:110:16 | access to local variable x | | +| Conditions.cs:110:9:110:17 | return ...; | Conditions.cs:102:12:102:13 | Normal Exit | return | | Conditions.cs:110:16:110:16 | access to local variable x | Conditions.cs:110:9:110:17 | return ...; | | -| Conditions.cs:113:10:113:11 | enter M9 | Conditions.cs:114:5:124:5 | {...} | | -| Conditions.cs:113:10:113:11 | exit M9 (normal) | Conditions.cs:113:10:113:11 | exit M9 | | +| Conditions.cs:113:10:113:11 | Entry | Conditions.cs:114:5:124:5 | {...} | | +| Conditions.cs:113:10:113:11 | Normal Exit | Conditions.cs:113:10:113:11 | Exit | | +| Conditions.cs:114:5:124:5 | After {...} | Conditions.cs:113:10:113:11 | Normal Exit | | | Conditions.cs:114:5:124:5 | {...} | Conditions.cs:115:9:115:24 | ... ...; | | -| Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:20:115:23 | null | | -| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:116:9:123:9 | for (...;...;...) ... | | +| Conditions.cs:115:9:115:24 | ... ...; | Conditions.cs:115:16:115:23 | Before String s = ... | | +| Conditions.cs:115:9:115:24 | After ... ...; | Conditions.cs:116:9:123:9 | for (...;...;...) ... | | +| Conditions.cs:115:16:115:16 | access to local variable s | Conditions.cs:115:20:115:23 | null | | +| Conditions.cs:115:16:115:23 | After String s = ... | Conditions.cs:115:9:115:24 | After ... ...; | | +| Conditions.cs:115:16:115:23 | Before String s = ... | Conditions.cs:115:16:115:16 | access to local variable s | | +| Conditions.cs:115:16:115:23 | String s = ... | Conditions.cs:115:16:115:23 | After String s = ... | | | Conditions.cs:115:20:115:23 | null | Conditions.cs:115:16:115:23 | String s = ... | | -| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:22:116:22 | 0 | | -| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:25:116:25 | access to local variable i | | +| Conditions.cs:116:9:123:9 | After for (...;...;...) ... | Conditions.cs:114:5:124:5 | After {...} | | +| Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | Conditions.cs:116:42:116:44 | Before ...++ | | +| Conditions.cs:116:9:123:9 | for (...;...;...) ... | Conditions.cs:116:18:116:22 | Before Int32 i = ... | | +| Conditions.cs:116:18:116:18 | access to local variable i | Conditions.cs:116:22:116:22 | 0 | | +| Conditions.cs:116:18:116:22 | After Int32 i = ... | Conditions.cs:116:25:116:39 | Before ... < ... | | +| Conditions.cs:116:18:116:22 | Before Int32 i = ... | Conditions.cs:116:18:116:18 | access to local variable i | | +| Conditions.cs:116:18:116:22 | Int32 i = ... | Conditions.cs:116:18:116:22 | After Int32 i = ... | | | Conditions.cs:116:22:116:22 | 0 | Conditions.cs:116:18:116:22 | Int32 i = ... | | -| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:29:116:32 | access to parameter args | | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:113:10:113:11 | exit M9 (normal) | false | -| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:117:9:123:9 | {...} | true | +| Conditions.cs:116:25:116:25 | access to local variable i | Conditions.cs:116:29:116:39 | Before access to property Length | | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [false] | false | +| Conditions.cs:116:25:116:39 | ... < ... | Conditions.cs:116:25:116:39 | After ... < ... [true] | true | +| Conditions.cs:116:25:116:39 | After ... < ... [false] | Conditions.cs:116:9:123:9 | After for (...;...;...) ... | | +| Conditions.cs:116:25:116:39 | After ... < ... [true] | Conditions.cs:117:9:123:9 | {...} | | +| Conditions.cs:116:25:116:39 | Before ... < ... | Conditions.cs:116:25:116:25 | access to local variable i | | | Conditions.cs:116:29:116:32 | access to parameter args | Conditions.cs:116:29:116:39 | access to property Length | | -| Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:116:25:116:39 | ... < ... | | +| Conditions.cs:116:29:116:39 | After access to property Length | Conditions.cs:116:25:116:39 | ... < ... | | +| Conditions.cs:116:29:116:39 | Before access to property Length | Conditions.cs:116:29:116:32 | access to parameter args | | +| Conditions.cs:116:29:116:39 | access to property Length | Conditions.cs:116:29:116:39 | After access to property Length | | | Conditions.cs:116:42:116:42 | access to local variable i | Conditions.cs:116:42:116:44 | ...++ | | -| Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:116:25:116:25 | access to local variable i | | +| Conditions.cs:116:42:116:44 | ...++ | Conditions.cs:116:42:116:44 | After ...++ | | +| Conditions.cs:116:42:116:44 | After ...++ | Conditions.cs:116:25:116:39 | Before ... < ... | | +| Conditions.cs:116:42:116:44 | Before ...++ | Conditions.cs:116:42:116:42 | access to local variable i | | +| Conditions.cs:117:9:123:9 | After {...} | Conditions.cs:116:9:123:9 | [LoopHeader] for (...;...;...) ... | | | Conditions.cs:117:9:123:9 | {...} | Conditions.cs:118:13:118:44 | ... ...; | | -| Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:24:118:24 | access to local variable i | | -| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:119:13:120:23 | if (...) ... | | -| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:29:118:32 | access to parameter args | | -| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:17:118:43 | Boolean last = ... | | +| Conditions.cs:118:13:118:44 | ... ...; | Conditions.cs:118:17:118:43 | Before Boolean last = ... | | +| Conditions.cs:118:13:118:44 | After ... ...; | Conditions.cs:119:13:120:23 | if (...) ... | | +| Conditions.cs:118:17:118:20 | access to local variable last | Conditions.cs:118:24:118:43 | Before ... == ... | | +| Conditions.cs:118:17:118:43 | After Boolean last = ... | Conditions.cs:118:13:118:44 | After ... ...; | | +| Conditions.cs:118:17:118:43 | Before Boolean last = ... | Conditions.cs:118:17:118:20 | access to local variable last | | +| Conditions.cs:118:17:118:43 | Boolean last = ... | Conditions.cs:118:17:118:43 | After Boolean last = ... | | +| Conditions.cs:118:24:118:24 | access to local variable i | Conditions.cs:118:29:118:43 | Before ... - ... | | +| Conditions.cs:118:24:118:43 | ... == ... | Conditions.cs:118:24:118:43 | After ... == ... | | +| Conditions.cs:118:24:118:43 | After ... == ... | Conditions.cs:118:17:118:43 | Boolean last = ... | | +| Conditions.cs:118:24:118:43 | Before ... == ... | Conditions.cs:118:24:118:24 | access to local variable i | | | Conditions.cs:118:29:118:32 | access to parameter args | Conditions.cs:118:29:118:39 | access to property Length | | -| Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:43:118:43 | 1 | | -| Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:24:118:43 | ... == ... | | +| Conditions.cs:118:29:118:39 | After access to property Length | Conditions.cs:118:43:118:43 | 1 | | +| Conditions.cs:118:29:118:39 | Before access to property Length | Conditions.cs:118:29:118:32 | access to parameter args | | +| Conditions.cs:118:29:118:39 | access to property Length | Conditions.cs:118:29:118:39 | After access to property Length | | +| Conditions.cs:118:29:118:43 | ... - ... | Conditions.cs:118:29:118:43 | After ... - ... | | +| Conditions.cs:118:29:118:43 | After ... - ... | Conditions.cs:118:24:118:43 | ... == ... | | +| Conditions.cs:118:29:118:43 | Before ... - ... | Conditions.cs:118:29:118:39 | Before access to property Length | | | Conditions.cs:118:43:118:43 | 1 | Conditions.cs:118:29:118:43 | ... - ... | | -| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:18:119:21 | access to local variable last | | -| Conditions.cs:119:17:119:21 | [false] !... | Conditions.cs:121:13:122:25 | if (...) ... | false | -| Conditions.cs:119:17:119:21 | [true] !... | Conditions.cs:120:17:120:23 | ...; | true | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | [false] !... | true | -| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:17:119:21 | [true] !... | false | -| Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:121:13:122:25 | if (...) ... | | -| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:21:120:22 | "" | | +| Conditions.cs:119:13:120:23 | After if (...) ... | Conditions.cs:121:13:122:25 | if (...) ... | | +| Conditions.cs:119:13:120:23 | if (...) ... | Conditions.cs:119:17:119:21 | !... | | +| Conditions.cs:119:17:119:21 | !... | Conditions.cs:119:18:119:21 | access to local variable last | | +| Conditions.cs:119:17:119:21 | After !... [false] | Conditions.cs:119:13:120:23 | After if (...) ... | | +| Conditions.cs:119:17:119:21 | After !... [true] | Conditions.cs:120:17:120:23 | ...; | | +| Conditions.cs:119:18:119:21 | After access to local variable last [false] | Conditions.cs:119:17:119:21 | After !... [true] | true | +| Conditions.cs:119:18:119:21 | After access to local variable last [true] | Conditions.cs:119:17:119:21 | After !... [false] | false | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | After access to local variable last [false] | false | +| Conditions.cs:119:18:119:21 | access to local variable last | Conditions.cs:119:18:119:21 | After access to local variable last [true] | true | +| Conditions.cs:120:17:120:17 | access to local variable s | Conditions.cs:120:21:120:22 | "" | | +| Conditions.cs:120:17:120:22 | ... = ... | Conditions.cs:120:17:120:22 | After ... = ... | | +| Conditions.cs:120:17:120:22 | After ... = ... | Conditions.cs:120:17:120:23 | After ...; | | +| Conditions.cs:120:17:120:22 | Before ... = ... | Conditions.cs:120:17:120:17 | access to local variable s | | +| Conditions.cs:120:17:120:23 | ...; | Conditions.cs:120:17:120:22 | Before ... = ... | | +| Conditions.cs:120:17:120:23 | After ...; | Conditions.cs:119:13:120:23 | After if (...) ... | | | Conditions.cs:120:21:120:22 | "" | Conditions.cs:120:17:120:22 | ... = ... | | +| Conditions.cs:121:13:122:25 | After if (...) ... | Conditions.cs:117:9:123:9 | After {...} | | | Conditions.cs:121:13:122:25 | if (...) ... | Conditions.cs:121:17:121:20 | access to local variable last | | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:116:42:116:42 | access to local variable i | false | -| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:122:17:122:25 | ...; | true | -| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:116:42:116:42 | access to local variable i | | -| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:21:122:24 | null | | +| Conditions.cs:121:17:121:20 | After access to local variable last [false] | Conditions.cs:121:13:122:25 | After if (...) ... | | +| Conditions.cs:121:17:121:20 | After access to local variable last [true] | Conditions.cs:122:17:122:25 | ...; | | +| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | After access to local variable last [false] | false | +| Conditions.cs:121:17:121:20 | access to local variable last | Conditions.cs:121:17:121:20 | After access to local variable last [true] | true | +| Conditions.cs:122:17:122:17 | access to local variable s | Conditions.cs:122:21:122:24 | null | | +| Conditions.cs:122:17:122:24 | ... = ... | Conditions.cs:122:17:122:24 | After ... = ... | | +| Conditions.cs:122:17:122:24 | After ... = ... | Conditions.cs:122:17:122:25 | After ...; | | +| Conditions.cs:122:17:122:24 | Before ... = ... | Conditions.cs:122:17:122:17 | access to local variable s | | +| Conditions.cs:122:17:122:25 | ...; | Conditions.cs:122:17:122:24 | Before ... = ... | | +| Conditions.cs:122:17:122:25 | After ...; | Conditions.cs:121:13:122:25 | After if (...) ... | | | Conditions.cs:122:21:122:24 | null | Conditions.cs:122:17:122:24 | ... = ... | | -| Conditions.cs:129:10:129:12 | enter M10 | Conditions.cs:130:5:141:5 | {...} | | +| Conditions.cs:129:10:129:12 | Entry | Conditions.cs:130:5:141:5 | {...} | | | Conditions.cs:130:5:141:5 | {...} | Conditions.cs:131:9:140:9 | while (...) ... | | -| Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:131:16:131:19 | true | | -| Conditions.cs:131:16:131:19 | true | Conditions.cs:132:9:140:9 | {...} | true | +| Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | Conditions.cs:131:16:131:19 | true | | +| Conditions.cs:131:9:140:9 | while (...) ... | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | | +| Conditions.cs:131:16:131:19 | After true [true] | Conditions.cs:132:9:140:9 | {...} | | +| Conditions.cs:131:16:131:19 | true | Conditions.cs:131:16:131:19 | After true [true] | true | +| Conditions.cs:132:9:140:9 | After {...} | Conditions.cs:131:9:140:9 | [LoopHeader] while (...) ... | | | Conditions.cs:132:9:140:9 | {...} | Conditions.cs:133:13:139:13 | if (...) ... | | -| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:133:17:133:22 | this access | | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:131:16:131:19 | true | false | -| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:134:13:139:13 | {...} | true | +| Conditions.cs:133:13:139:13 | After if (...) ... | Conditions.cs:132:9:140:9 | After {...} | | +| Conditions.cs:133:13:139:13 | if (...) ... | Conditions.cs:133:17:133:22 | Before access to field Field1 | | +| Conditions.cs:133:17:133:22 | After access to field Field1 [false] | Conditions.cs:133:13:139:13 | After if (...) ... | | +| Conditions.cs:133:17:133:22 | After access to field Field1 [true] | Conditions.cs:134:13:139:13 | {...} | | +| Conditions.cs:133:17:133:22 | Before access to field Field1 | Conditions.cs:133:17:133:22 | this access | | +| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | After access to field Field1 [false] | false | +| Conditions.cs:133:17:133:22 | access to field Field1 | Conditions.cs:133:17:133:22 | After access to field Field1 [true] | true | | Conditions.cs:133:17:133:22 | this access | Conditions.cs:133:17:133:22 | access to field Field1 | | +| Conditions.cs:134:13:139:13 | After {...} | Conditions.cs:133:13:139:13 | After if (...) ... | | | Conditions.cs:134:13:139:13 | {...} | Conditions.cs:135:17:138:17 | if (...) ... | | -| Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:135:21:135:26 | this access | | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:131:16:131:19 | true | false | -| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:136:17:138:17 | {...} | true | +| Conditions.cs:135:17:138:17 | After if (...) ... | Conditions.cs:134:13:139:13 | After {...} | | +| Conditions.cs:135:17:138:17 | if (...) ... | Conditions.cs:135:21:135:26 | Before access to field Field2 | | +| Conditions.cs:135:21:135:26 | After access to field Field2 [false] | Conditions.cs:135:17:138:17 | After if (...) ... | | +| Conditions.cs:135:21:135:26 | After access to field Field2 [true] | Conditions.cs:136:17:138:17 | {...} | | +| Conditions.cs:135:21:135:26 | Before access to field Field2 | Conditions.cs:135:21:135:26 | this access | | +| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | After access to field Field2 [false] | false | +| Conditions.cs:135:21:135:26 | access to field Field2 | Conditions.cs:135:21:135:26 | After access to field Field2 [true] | true | | Conditions.cs:135:21:135:26 | this access | Conditions.cs:135:21:135:26 | access to field Field2 | | +| Conditions.cs:136:17:138:17 | After {...} | Conditions.cs:135:17:138:17 | After if (...) ... | | | Conditions.cs:136:17:138:17 | {...} | Conditions.cs:137:21:137:38 | ...; | | -| Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:137:21:137:37 | call to method ToString | | +| Conditions.cs:137:21:137:26 | After access to field Field1 | Conditions.cs:137:21:137:37 | call to method ToString | | +| Conditions.cs:137:21:137:26 | Before access to field Field1 | Conditions.cs:137:21:137:26 | this access | | +| Conditions.cs:137:21:137:26 | access to field Field1 | Conditions.cs:137:21:137:26 | After access to field Field1 | | | Conditions.cs:137:21:137:26 | this access | Conditions.cs:137:21:137:26 | access to field Field1 | | -| Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:131:16:131:19 | true | | -| Conditions.cs:137:21:137:38 | ...; | Conditions.cs:137:21:137:26 | this access | | -| Conditions.cs:143:10:143:12 | enter M11 | Conditions.cs:144:5:150:5 | {...} | | -| Conditions.cs:143:10:143:12 | exit M11 (normal) | Conditions.cs:143:10:143:12 | exit M11 | | +| Conditions.cs:137:21:137:37 | After call to method ToString | Conditions.cs:137:21:137:38 | After ...; | | +| Conditions.cs:137:21:137:37 | Before call to method ToString | Conditions.cs:137:21:137:26 | Before access to field Field1 | | +| Conditions.cs:137:21:137:37 | call to method ToString | Conditions.cs:137:21:137:37 | After call to method ToString | | +| Conditions.cs:137:21:137:38 | ...; | Conditions.cs:137:21:137:37 | Before call to method ToString | | +| Conditions.cs:137:21:137:38 | After ...; | Conditions.cs:136:17:138:17 | After {...} | | +| Conditions.cs:143:10:143:12 | Entry | Conditions.cs:144:5:150:5 | {...} | | +| Conditions.cs:143:10:143:12 | Normal Exit | Conditions.cs:143:10:143:12 | Exit | | +| Conditions.cs:144:5:150:5 | After {...} | Conditions.cs:143:10:143:12 | Normal Exit | | | Conditions.cs:144:5:150:5 | {...} | Conditions.cs:145:9:145:30 | ... ...; | | -| Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:145:17:145:17 | access to parameter b | | -| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:146:9:149:49 | if (...) ... | | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:21:145:23 | "a" | true | -| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:27:145:29 | "b" | false | -| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:13:145:29 | String s = ... | | -| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:17:145:29 | ... ? ... : ... | | -| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:17:145:29 | ... ? ... : ... | | +| Conditions.cs:145:9:145:30 | ... ...; | Conditions.cs:145:13:145:29 | Before String s = ... | | +| Conditions.cs:145:9:145:30 | After ... ...; | Conditions.cs:146:9:149:49 | if (...) ... | | +| Conditions.cs:145:13:145:13 | access to local variable s | Conditions.cs:145:17:145:29 | ... ? ... : ... | | +| Conditions.cs:145:13:145:29 | After String s = ... | Conditions.cs:145:9:145:30 | After ... ...; | | +| Conditions.cs:145:13:145:29 | Before String s = ... | Conditions.cs:145:13:145:13 | access to local variable s | | +| Conditions.cs:145:13:145:29 | String s = ... | Conditions.cs:145:13:145:29 | After String s = ... | | +| Conditions.cs:145:17:145:17 | After access to parameter b [false] | Conditions.cs:145:27:145:29 | "b" | | +| Conditions.cs:145:17:145:17 | After access to parameter b [true] | Conditions.cs:145:21:145:23 | "a" | | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | After access to parameter b [false] | false | +| Conditions.cs:145:17:145:17 | access to parameter b | Conditions.cs:145:17:145:17 | After access to parameter b [true] | true | +| Conditions.cs:145:17:145:29 | ... ? ... : ... | Conditions.cs:145:17:145:17 | access to parameter b | | +| Conditions.cs:145:17:145:29 | After ... ? ... : ... | Conditions.cs:145:13:145:29 | String s = ... | | +| Conditions.cs:145:21:145:23 | "a" | Conditions.cs:145:17:145:29 | After ... ? ... : ... | | +| Conditions.cs:145:27:145:29 | "b" | Conditions.cs:145:17:145:29 | After ... ? ... : ... | | +| Conditions.cs:146:9:149:49 | After if (...) ... | Conditions.cs:144:5:150:5 | After {...} | | | Conditions.cs:146:9:149:49 | if (...) ... | Conditions.cs:146:13:146:13 | access to parameter b | | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:147:13:147:49 | ...; | true | -| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:149:13:149:49 | ...; | false | -| Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:143:10:143:12 | exit M11 (normal) | | -| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:40:147:43 | "a = " | | -| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:13:147:48 | call to method WriteLine | | -| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:45:147:45 | access to local variable s | | -| Conditions.cs:147:44:147:46 | {...} | Conditions.cs:147:38:147:47 | $"..." | | +| Conditions.cs:146:13:146:13 | After access to parameter b [false] | Conditions.cs:149:13:149:49 | ...; | | +| Conditions.cs:146:13:146:13 | After access to parameter b [true] | Conditions.cs:147:13:147:49 | ...; | | +| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | After access to parameter b [false] | false | +| Conditions.cs:146:13:146:13 | access to parameter b | Conditions.cs:146:13:146:13 | After access to parameter b [true] | true | +| Conditions.cs:147:13:147:48 | After call to method WriteLine | Conditions.cs:147:13:147:49 | After ...; | | +| Conditions.cs:147:13:147:48 | Before call to method WriteLine | Conditions.cs:147:38:147:47 | Before $"..." | | +| Conditions.cs:147:13:147:48 | call to method WriteLine | Conditions.cs:147:13:147:48 | After call to method WriteLine | | +| Conditions.cs:147:13:147:49 | ...; | Conditions.cs:147:13:147:48 | Before call to method WriteLine | | +| Conditions.cs:147:13:147:49 | After ...; | Conditions.cs:146:9:149:49 | After if (...) ... | | +| Conditions.cs:147:38:147:47 | $"..." | Conditions.cs:147:38:147:47 | After $"..." | | +| Conditions.cs:147:38:147:47 | After $"..." | Conditions.cs:147:13:147:48 | call to method WriteLine | | +| Conditions.cs:147:38:147:47 | Before $"..." | Conditions.cs:147:40:147:43 | "a = " | | +| Conditions.cs:147:40:147:43 | "a = " | Conditions.cs:147:44:147:46 | Before {...} | | +| Conditions.cs:147:44:147:46 | After {...} | Conditions.cs:147:38:147:47 | $"..." | | +| Conditions.cs:147:44:147:46 | Before {...} | Conditions.cs:147:45:147:45 | access to local variable s | | +| Conditions.cs:147:44:147:46 | {...} | Conditions.cs:147:44:147:46 | After {...} | | | Conditions.cs:147:45:147:45 | access to local variable s | Conditions.cs:147:44:147:46 | {...} | | -| Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:143:10:143:12 | exit M11 (normal) | | -| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:40:149:43 | "b = " | | -| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:13:149:48 | call to method WriteLine | | -| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:45:149:45 | access to local variable s | | -| Conditions.cs:149:44:149:46 | {...} | Conditions.cs:149:38:149:47 | $"..." | | +| Conditions.cs:149:13:149:48 | After call to method WriteLine | Conditions.cs:149:13:149:49 | After ...; | | +| Conditions.cs:149:13:149:48 | Before call to method WriteLine | Conditions.cs:149:38:149:47 | Before $"..." | | +| Conditions.cs:149:13:149:48 | call to method WriteLine | Conditions.cs:149:13:149:48 | After call to method WriteLine | | +| Conditions.cs:149:13:149:49 | ...; | Conditions.cs:149:13:149:48 | Before call to method WriteLine | | +| Conditions.cs:149:13:149:49 | After ...; | Conditions.cs:146:9:149:49 | After if (...) ... | | +| Conditions.cs:149:38:149:47 | $"..." | Conditions.cs:149:38:149:47 | After $"..." | | +| Conditions.cs:149:38:149:47 | After $"..." | Conditions.cs:149:13:149:48 | call to method WriteLine | | +| Conditions.cs:149:38:149:47 | Before $"..." | Conditions.cs:149:40:149:43 | "b = " | | +| Conditions.cs:149:40:149:43 | "b = " | Conditions.cs:149:44:149:46 | Before {...} | | +| Conditions.cs:149:44:149:46 | After {...} | Conditions.cs:149:38:149:47 | $"..." | | +| Conditions.cs:149:44:149:46 | Before {...} | Conditions.cs:149:45:149:45 | access to local variable s | | +| Conditions.cs:149:44:149:46 | {...} | Conditions.cs:149:44:149:46 | After {...} | | | Conditions.cs:149:45:149:45 | access to local variable s | Conditions.cs:149:44:149:46 | {...} | | -| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | {...} | | -| ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | call to constructor Object | | -| ExitMethods.cs:6:7:6:17 | enter ExitMethods | ExitMethods.cs:6:7:6:17 | this access | | -| ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | ExitMethods.cs:6:7:6:17 | exit ExitMethods | | +| ExitMethods.cs:6:7:6:17 | After call to constructor Object | ExitMethods.cs:6:7:6:17 | {...} | | +| ExitMethods.cs:6:7:6:17 | After call to method | ExitMethods.cs:6:7:6:17 | Before call to constructor Object | | +| ExitMethods.cs:6:7:6:17 | Before call to constructor Object | ExitMethods.cs:6:7:6:17 | call to constructor Object | | +| ExitMethods.cs:6:7:6:17 | Before call to method | ExitMethods.cs:6:7:6:17 | this access | | +| ExitMethods.cs:6:7:6:17 | Entry | ExitMethods.cs:6:7:6:17 | Before call to method | | +| ExitMethods.cs:6:7:6:17 | Normal Exit | ExitMethods.cs:6:7:6:17 | Exit | | +| ExitMethods.cs:6:7:6:17 | call to constructor Object | ExitMethods.cs:6:7:6:17 | After call to constructor Object | | +| ExitMethods.cs:6:7:6:17 | call to method | ExitMethods.cs:6:7:6:17 | After call to method | | | ExitMethods.cs:6:7:6:17 | this access | ExitMethods.cs:6:7:6:17 | call to method | | -| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | exit ExitMethods (normal) | | -| ExitMethods.cs:8:10:8:11 | enter M1 | ExitMethods.cs:9:5:12:5 | {...} | | -| ExitMethods.cs:8:10:8:11 | exit M1 (normal) | ExitMethods.cs:8:10:8:11 | exit M1 | | +| ExitMethods.cs:6:7:6:17 | {...} | ExitMethods.cs:6:7:6:17 | Normal Exit | | +| ExitMethods.cs:8:10:8:11 | Entry | ExitMethods.cs:9:5:12:5 | {...} | | +| ExitMethods.cs:8:10:8:11 | Normal Exit | ExitMethods.cs:8:10:8:11 | Exit | | | ExitMethods.cs:9:5:12:5 | {...} | ExitMethods.cs:10:9:10:25 | ...; | | -| ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:11:9:11:15 | return ...; | | -| ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:10:20:10:23 | true | | +| ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | ExitMethods.cs:10:9:10:25 | After ...; | | +| ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | ExitMethods.cs:10:20:10:23 | true | | +| ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | ExitMethods.cs:10:9:10:24 | After call to method ErrorMaybe | | +| ExitMethods.cs:10:9:10:25 | ...; | ExitMethods.cs:10:9:10:24 | Before call to method ErrorMaybe | | +| ExitMethods.cs:10:9:10:25 | After ...; | ExitMethods.cs:11:9:11:15 | Before return ...; | | | ExitMethods.cs:10:20:10:23 | true | ExitMethods.cs:10:9:10:24 | call to method ErrorMaybe | | -| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:8:10:8:11 | exit M1 (normal) | return | -| ExitMethods.cs:14:10:14:11 | enter M2 | ExitMethods.cs:15:5:18:5 | {...} | | -| ExitMethods.cs:14:10:14:11 | exit M2 (normal) | ExitMethods.cs:14:10:14:11 | exit M2 | | +| ExitMethods.cs:11:9:11:15 | Before return ...; | ExitMethods.cs:11:9:11:15 | return ...; | | +| ExitMethods.cs:11:9:11:15 | return ...; | ExitMethods.cs:8:10:8:11 | Normal Exit | return | +| ExitMethods.cs:14:10:14:11 | Entry | ExitMethods.cs:15:5:18:5 | {...} | | +| ExitMethods.cs:14:10:14:11 | Normal Exit | ExitMethods.cs:14:10:14:11 | Exit | | | ExitMethods.cs:15:5:18:5 | {...} | ExitMethods.cs:16:9:16:26 | ...; | | -| ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:17:9:17:15 | return ...; | | -| ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:16:20:16:24 | false | | +| ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | ExitMethods.cs:16:9:16:26 | After ...; | | +| ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | ExitMethods.cs:16:20:16:24 | false | | +| ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | ExitMethods.cs:16:9:16:25 | After call to method ErrorMaybe | | +| ExitMethods.cs:16:9:16:26 | ...; | ExitMethods.cs:16:9:16:25 | Before call to method ErrorMaybe | | +| ExitMethods.cs:16:9:16:26 | After ...; | ExitMethods.cs:17:9:17:15 | Before return ...; | | | ExitMethods.cs:16:20:16:24 | false | ExitMethods.cs:16:9:16:25 | call to method ErrorMaybe | | -| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:14:10:14:11 | exit M2 (normal) | return | -| ExitMethods.cs:20:10:20:11 | enter M3 | ExitMethods.cs:21:5:24:5 | {...} | | -| ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | ExitMethods.cs:20:10:20:11 | exit M3 | | +| ExitMethods.cs:17:9:17:15 | Before return ...; | ExitMethods.cs:17:9:17:15 | return ...; | | +| ExitMethods.cs:17:9:17:15 | return ...; | ExitMethods.cs:14:10:14:11 | Normal Exit | return | +| ExitMethods.cs:20:10:20:11 | Entry | ExitMethods.cs:21:5:24:5 | {...} | | +| ExitMethods.cs:20:10:20:11 | Exceptional Exit | ExitMethods.cs:20:10:20:11 | Exit | | | ExitMethods.cs:21:5:24:5 | {...} | ExitMethods.cs:22:9:22:26 | ...; | | -| ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:20:10:20:11 | exit M3 (abnormal) | exception | -| ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:21:22:24 | true | | +| ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | ExitMethods.cs:22:21:22:24 | true | | +| ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | ExitMethods.cs:20:10:20:11 | Exceptional Exit | exception | +| ExitMethods.cs:22:9:22:26 | ...; | ExitMethods.cs:22:9:22:25 | Before call to method ErrorAlways | | | ExitMethods.cs:22:21:22:24 | true | ExitMethods.cs:22:9:22:25 | call to method ErrorAlways | | -| ExitMethods.cs:26:10:26:11 | enter M4 | ExitMethods.cs:27:5:30:5 | {...} | | -| ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | ExitMethods.cs:26:10:26:11 | exit M4 | | +| ExitMethods.cs:26:10:26:11 | Entry | ExitMethods.cs:27:5:30:5 | {...} | | +| ExitMethods.cs:26:10:26:11 | Exceptional Exit | ExitMethods.cs:26:10:26:11 | Exit | | | ExitMethods.cs:27:5:30:5 | {...} | ExitMethods.cs:28:9:28:15 | ...; | | -| ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:26:10:26:11 | exit M4 (abnormal) | exit | +| ExitMethods.cs:28:9:28:14 | Before call to method Exit | ExitMethods.cs:28:9:28:14 | this access | | +| ExitMethods.cs:28:9:28:14 | call to method Exit | ExitMethods.cs:26:10:26:11 | Exceptional Exit | exception | | ExitMethods.cs:28:9:28:14 | this access | ExitMethods.cs:28:9:28:14 | call to method Exit | | -| ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:28:9:28:14 | this access | | -| ExitMethods.cs:32:10:32:11 | enter M5 | ExitMethods.cs:33:5:36:5 | {...} | | -| ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | ExitMethods.cs:32:10:32:11 | exit M5 | | +| ExitMethods.cs:28:9:28:15 | ...; | ExitMethods.cs:28:9:28:14 | Before call to method Exit | | +| ExitMethods.cs:32:10:32:11 | Entry | ExitMethods.cs:33:5:36:5 | {...} | | +| ExitMethods.cs:32:10:32:11 | Exceptional Exit | ExitMethods.cs:32:10:32:11 | Exit | | | ExitMethods.cs:33:5:36:5 | {...} | ExitMethods.cs:34:9:34:26 | ...; | | -| ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:32:10:32:11 | exit M5 (abnormal) | exit | +| ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | ExitMethods.cs:34:9:34:25 | this access | | +| ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | ExitMethods.cs:32:10:32:11 | Exceptional Exit | exception | | ExitMethods.cs:34:9:34:25 | this access | ExitMethods.cs:34:9:34:25 | call to method ApplicationExit | | -| ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:34:9:34:25 | this access | | -| ExitMethods.cs:38:10:38:11 | enter M6 | ExitMethods.cs:39:5:52:5 | {...} | | -| ExitMethods.cs:38:10:38:11 | exit M6 (normal) | ExitMethods.cs:38:10:38:11 | exit M6 | | +| ExitMethods.cs:34:9:34:26 | ...; | ExitMethods.cs:34:9:34:25 | Before call to method ApplicationExit | | +| ExitMethods.cs:38:10:38:11 | Entry | ExitMethods.cs:39:5:52:5 | {...} | | +| ExitMethods.cs:38:10:38:11 | Exceptional Exit | ExitMethods.cs:38:10:38:11 | Exit | | +| ExitMethods.cs:38:10:38:11 | Normal Exit | ExitMethods.cs:38:10:38:11 | Exit | | | ExitMethods.cs:39:5:52:5 | {...} | ExitMethods.cs:40:9:51:9 | try {...} ... | | | ExitMethods.cs:40:9:51:9 | try {...} ... | ExitMethods.cs:41:9:43:9 | {...} | | | ExitMethods.cs:41:9:43:9 | {...} | ExitMethods.cs:42:13:42:31 | ...; | | +| ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | ExitMethods.cs:42:25:42:29 | false | | | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | ExitMethods.cs:44:9:47:9 | catch (...) {...} | exception | -| ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:42:25:42:29 | false | | +| ExitMethods.cs:42:13:42:31 | ...; | ExitMethods.cs:42:13:42:30 | Before call to method ErrorAlways | | | ExitMethods.cs:42:25:42:29 | false | ExitMethods.cs:42:13:42:30 | call to method ErrorAlways | | -| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:45:9:47:9 | {...} | match | -| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | catch (...) {...} | no-match | -| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:46:13:46:19 | return ...; | | -| ExitMethods.cs:46:13:46:19 | return ...; | ExitMethods.cs:38:10:38:11 | exit M6 (normal) | return | -| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:49:9:51:9 | {...} | match | -| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:50:13:50:19 | return ...; | | -| ExitMethods.cs:50:13:50:19 | return ...; | ExitMethods.cs:38:10:38:11 | exit M6 (normal) | return | -| ExitMethods.cs:54:10:54:11 | enter M7 | ExitMethods.cs:55:5:58:5 | {...} | | -| ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | ExitMethods.cs:54:10:54:11 | exit M7 | | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | ExitMethods.cs:45:9:47:9 | {...} | | +| ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | ExitMethods.cs:48:9:51:9 | catch (...) {...} | | +| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [match] | match | +| ExitMethods.cs:44:9:47:9 | catch (...) {...} | ExitMethods.cs:44:9:47:9 | After catch (...) {...} [no-match] | no-match | +| ExitMethods.cs:45:9:47:9 | {...} | ExitMethods.cs:46:13:46:19 | Before return ...; | | +| ExitMethods.cs:46:13:46:19 | Before return ...; | ExitMethods.cs:46:13:46:19 | return ...; | | +| ExitMethods.cs:46:13:46:19 | return ...; | ExitMethods.cs:38:10:38:11 | Normal Exit | return | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | ExitMethods.cs:49:9:51:9 | {...} | | +| ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | ExitMethods.cs:38:10:38:11 | Exceptional Exit | exception | +| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [match] | match | +| ExitMethods.cs:48:9:51:9 | catch (...) {...} | ExitMethods.cs:48:9:51:9 | After catch (...) {...} [no-match] | no-match | +| ExitMethods.cs:49:9:51:9 | {...} | ExitMethods.cs:50:13:50:19 | Before return ...; | | +| ExitMethods.cs:50:13:50:19 | Before return ...; | ExitMethods.cs:50:13:50:19 | return ...; | | +| ExitMethods.cs:50:13:50:19 | return ...; | ExitMethods.cs:38:10:38:11 | Normal Exit | return | +| ExitMethods.cs:54:10:54:11 | Entry | ExitMethods.cs:55:5:58:5 | {...} | | +| ExitMethods.cs:54:10:54:11 | Exceptional Exit | ExitMethods.cs:54:10:54:11 | Exit | | | ExitMethods.cs:55:5:58:5 | {...} | ExitMethods.cs:56:9:56:23 | ...; | | -| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:54:10:54:11 | exit M7 (abnormal) | exception | -| ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | | -| ExitMethods.cs:60:10:60:11 | enter M8 | ExitMethods.cs:61:5:64:5 | {...} | | -| ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | ExitMethods.cs:60:10:60:11 | exit M8 | | +| ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | | +| ExitMethods.cs:56:9:56:22 | call to method ErrorAlways2 | ExitMethods.cs:54:10:54:11 | Exceptional Exit | exception | +| ExitMethods.cs:56:9:56:23 | ...; | ExitMethods.cs:56:9:56:22 | Before call to method ErrorAlways2 | | +| ExitMethods.cs:60:10:60:11 | Entry | ExitMethods.cs:61:5:64:5 | {...} | | +| ExitMethods.cs:60:10:60:11 | Exceptional Exit | ExitMethods.cs:60:10:60:11 | Exit | | | ExitMethods.cs:61:5:64:5 | {...} | ExitMethods.cs:62:9:62:23 | ...; | | -| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:60:10:60:11 | exit M8 (abnormal) | exception | -| ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | | -| ExitMethods.cs:66:17:66:26 | enter ErrorMaybe | ExitMethods.cs:67:5:70:5 | {...} | | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (abnormal) | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | | -| ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe | | +| ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | | +| ExitMethods.cs:62:9:62:22 | call to method ErrorAlways3 | ExitMethods.cs:60:10:60:11 | Exceptional Exit | exception | +| ExitMethods.cs:62:9:62:23 | ...; | ExitMethods.cs:62:9:62:22 | Before call to method ErrorAlways3 | | +| ExitMethods.cs:66:17:66:26 | Entry | ExitMethods.cs:67:5:70:5 | {...} | | +| ExitMethods.cs:66:17:66:26 | Exceptional Exit | ExitMethods.cs:66:17:66:26 | Exit | | +| ExitMethods.cs:66:17:66:26 | Normal Exit | ExitMethods.cs:66:17:66:26 | Exit | | +| ExitMethods.cs:67:5:70:5 | After {...} | ExitMethods.cs:66:17:66:26 | Normal Exit | | | ExitMethods.cs:67:5:70:5 | {...} | ExitMethods.cs:68:9:69:34 | if (...) ... | | +| ExitMethods.cs:68:9:69:34 | After if (...) ... | ExitMethods.cs:67:5:70:5 | After {...} | | | ExitMethods.cs:68:9:69:34 | if (...) ... | ExitMethods.cs:68:13:68:13 | access to parameter b | | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (normal) | false | -| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:69:19:69:33 | object creation of type Exception | true | -| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:66:17:66:26 | exit ErrorMaybe (abnormal) | exception | -| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:13:69:34 | throw ...; | | -| ExitMethods.cs:72:17:72:27 | enter ErrorAlways | ExitMethods.cs:73:5:78:5 | {...} | | -| ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | ExitMethods.cs:72:17:72:27 | exit ErrorAlways | | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | ExitMethods.cs:68:9:69:34 | After if (...) ... | | +| ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | ExitMethods.cs:69:13:69:34 | Before throw ...; | | +| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | After access to parameter b [false] | false | +| ExitMethods.cs:68:13:68:13 | access to parameter b | ExitMethods.cs:68:13:68:13 | After access to parameter b [true] | true | +| ExitMethods.cs:69:13:69:34 | Before throw ...; | ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | | +| ExitMethods.cs:69:13:69:34 | throw ...; | ExitMethods.cs:66:17:66:26 | Exceptional Exit | exception | +| ExitMethods.cs:69:19:69:33 | After object creation of type Exception | ExitMethods.cs:69:13:69:34 | throw ...; | | +| ExitMethods.cs:69:19:69:33 | Before object creation of type Exception | ExitMethods.cs:69:19:69:33 | object creation of type Exception | | +| ExitMethods.cs:69:19:69:33 | object creation of type Exception | ExitMethods.cs:69:19:69:33 | After object creation of type Exception | | +| ExitMethods.cs:72:17:72:27 | Entry | ExitMethods.cs:73:5:78:5 | {...} | | +| ExitMethods.cs:72:17:72:27 | Exceptional Exit | ExitMethods.cs:72:17:72:27 | Exit | | | ExitMethods.cs:73:5:78:5 | {...} | ExitMethods.cs:74:9:77:45 | if (...) ... | | | ExitMethods.cs:74:9:77:45 | if (...) ... | ExitMethods.cs:74:13:74:13 | access to parameter b | | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:75:19:75:33 | object creation of type Exception | true | -| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:77:41:77:43 | "b" | false | -| ExitMethods.cs:75:13:75:34 | throw ...; | ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | exception | -| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:13:75:34 | throw ...; | | -| ExitMethods.cs:77:13:77:45 | throw ...; | ExitMethods.cs:72:17:72:27 | exit ErrorAlways (abnormal) | exception | -| ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:77:13:77:45 | throw ...; | | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | ExitMethods.cs:77:13:77:45 | Before throw ...; | | +| ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | ExitMethods.cs:75:13:75:34 | Before throw ...; | | +| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | After access to parameter b [false] | false | +| ExitMethods.cs:74:13:74:13 | access to parameter b | ExitMethods.cs:74:13:74:13 | After access to parameter b [true] | true | +| ExitMethods.cs:75:13:75:34 | Before throw ...; | ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | | +| ExitMethods.cs:75:13:75:34 | throw ...; | ExitMethods.cs:72:17:72:27 | Exceptional Exit | exception | +| ExitMethods.cs:75:19:75:33 | After object creation of type Exception | ExitMethods.cs:75:13:75:34 | throw ...; | | +| ExitMethods.cs:75:19:75:33 | Before object creation of type Exception | ExitMethods.cs:75:19:75:33 | object creation of type Exception | | +| ExitMethods.cs:75:19:75:33 | object creation of type Exception | ExitMethods.cs:75:19:75:33 | After object creation of type Exception | | +| ExitMethods.cs:77:13:77:45 | Before throw ...; | ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | | +| ExitMethods.cs:77:13:77:45 | throw ...; | ExitMethods.cs:72:17:72:27 | Exceptional Exit | exception | +| ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | ExitMethods.cs:77:13:77:45 | throw ...; | | +| ExitMethods.cs:77:19:77:44 | Before object creation of type ArgumentException | ExitMethods.cs:77:41:77:43 | "b" | | +| ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | ExitMethods.cs:77:19:77:44 | After object creation of type ArgumentException | | | ExitMethods.cs:77:41:77:43 | "b" | ExitMethods.cs:77:19:77:44 | object creation of type ArgumentException | | -| ExitMethods.cs:80:17:80:28 | enter ErrorAlways2 | ExitMethods.cs:81:5:83:5 | {...} | | -| ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 | | -| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:82:15:82:29 | object creation of type Exception | | -| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:80:17:80:28 | exit ErrorAlways2 (abnormal) | exception | -| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:82:9:82:30 | throw ...; | | -| ExitMethods.cs:85:17:85:28 | enter ErrorAlways3 | ExitMethods.cs:85:41:85:55 | object creation of type Exception | | -| ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 | | -| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:17:85:28 | exit ErrorAlways3 (abnormal) | exception | -| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:35:85:55 | throw ... | | -| ExitMethods.cs:87:10:87:13 | enter Exit | ExitMethods.cs:88:5:90:5 | {...} | | -| ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | ExitMethods.cs:87:10:87:13 | exit Exit | | +| ExitMethods.cs:80:17:80:28 | Entry | ExitMethods.cs:81:5:83:5 | {...} | | +| ExitMethods.cs:80:17:80:28 | Exceptional Exit | ExitMethods.cs:80:17:80:28 | Exit | | +| ExitMethods.cs:81:5:83:5 | {...} | ExitMethods.cs:82:9:82:30 | Before throw ...; | | +| ExitMethods.cs:82:9:82:30 | Before throw ...; | ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | | +| ExitMethods.cs:82:9:82:30 | throw ...; | ExitMethods.cs:80:17:80:28 | Exceptional Exit | exception | +| ExitMethods.cs:82:15:82:29 | After object creation of type Exception | ExitMethods.cs:82:9:82:30 | throw ...; | | +| ExitMethods.cs:82:15:82:29 | Before object creation of type Exception | ExitMethods.cs:82:15:82:29 | object creation of type Exception | | +| ExitMethods.cs:82:15:82:29 | object creation of type Exception | ExitMethods.cs:82:15:82:29 | After object creation of type Exception | | +| ExitMethods.cs:85:17:85:28 | Entry | ExitMethods.cs:85:35:85:55 | Before throw ... | | +| ExitMethods.cs:85:17:85:28 | Exceptional Exit | ExitMethods.cs:85:17:85:28 | Exit | | +| ExitMethods.cs:85:35:85:55 | Before throw ... | ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | | +| ExitMethods.cs:85:35:85:55 | throw ... | ExitMethods.cs:85:17:85:28 | Exceptional Exit | exception | +| ExitMethods.cs:85:41:85:55 | After object creation of type Exception | ExitMethods.cs:85:35:85:55 | throw ... | | +| ExitMethods.cs:85:41:85:55 | Before object creation of type Exception | ExitMethods.cs:85:41:85:55 | object creation of type Exception | | +| ExitMethods.cs:85:41:85:55 | object creation of type Exception | ExitMethods.cs:85:41:85:55 | After object creation of type Exception | | +| ExitMethods.cs:87:10:87:13 | Entry | ExitMethods.cs:88:5:90:5 | {...} | | +| ExitMethods.cs:87:10:87:13 | Exceptional Exit | ExitMethods.cs:87:10:87:13 | Exit | | | ExitMethods.cs:88:5:90:5 | {...} | ExitMethods.cs:89:9:89:28 | ...; | | -| ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:87:10:87:13 | exit Exit (abnormal) | exit | -| ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:89:26:89:26 | 0 | | +| ExitMethods.cs:89:9:89:27 | Before call to method Exit | ExitMethods.cs:89:26:89:26 | 0 | | +| ExitMethods.cs:89:9:89:27 | call to method Exit | ExitMethods.cs:87:10:87:13 | Exceptional Exit | exception | +| ExitMethods.cs:89:9:89:28 | ...; | ExitMethods.cs:89:9:89:27 | Before call to method Exit | | | ExitMethods.cs:89:26:89:26 | 0 | ExitMethods.cs:89:9:89:27 | call to method Exit | | -| ExitMethods.cs:92:10:92:18 | enter ExitInTry | ExitMethods.cs:93:5:103:5 | {...} | | -| ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | ExitMethods.cs:92:10:92:18 | exit ExitInTry | | +| ExitMethods.cs:92:10:92:18 | Entry | ExitMethods.cs:93:5:103:5 | {...} | | +| ExitMethods.cs:92:10:92:18 | Exceptional Exit | ExitMethods.cs:92:10:92:18 | Exit | | +| ExitMethods.cs:92:10:92:18 | Normal Exit | ExitMethods.cs:92:10:92:18 | Exit | | +| ExitMethods.cs:93:5:103:5 | After {...} | ExitMethods.cs:92:10:92:18 | Normal Exit | | | ExitMethods.cs:93:5:103:5 | {...} | ExitMethods.cs:94:9:102:9 | try {...} ... | | +| ExitMethods.cs:94:9:102:9 | After try {...} ... | ExitMethods.cs:93:5:103:5 | After {...} | | | ExitMethods.cs:94:9:102:9 | try {...} ... | ExitMethods.cs:95:9:97:9 | {...} | | | ExitMethods.cs:95:9:97:9 | {...} | ExitMethods.cs:96:13:96:19 | ...; | | -| ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:92:10:92:18 | exit ExitInTry (abnormal) | exit | +| ExitMethods.cs:96:13:96:18 | Before call to method Exit | ExitMethods.cs:96:13:96:18 | this access | | +| ExitMethods.cs:96:13:96:18 | call to method Exit | ExitMethods.cs:99:9:102:9 | {...} | exception | | ExitMethods.cs:96:13:96:18 | this access | ExitMethods.cs:96:13:96:18 | call to method Exit | | -| ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:96:13:96:18 | this access | | -| ExitMethods.cs:105:10:105:24 | enter ApplicationExit | ExitMethods.cs:106:5:108:5 | {...} | | -| ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | ExitMethods.cs:105:10:105:24 | exit ApplicationExit | | +| ExitMethods.cs:96:13:96:19 | ...; | ExitMethods.cs:96:13:96:18 | Before call to method Exit | | +| ExitMethods.cs:99:9:102:9 | After {...} | ExitMethods.cs:92:10:92:18 | Exceptional Exit | exception | +| ExitMethods.cs:99:9:102:9 | After {...} | ExitMethods.cs:94:9:102:9 | After try {...} ... | | +| ExitMethods.cs:99:9:102:9 | {...} | ExitMethods.cs:101:13:101:41 | ...; | | +| ExitMethods.cs:101:13:101:40 | After call to method WriteLine | ExitMethods.cs:101:13:101:41 | After ...; | | +| ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | ExitMethods.cs:101:38:101:39 | "" | | +| ExitMethods.cs:101:13:101:40 | call to method WriteLine | ExitMethods.cs:101:13:101:40 | After call to method WriteLine | | +| ExitMethods.cs:101:13:101:41 | ...; | ExitMethods.cs:101:13:101:40 | Before call to method WriteLine | | +| ExitMethods.cs:101:13:101:41 | After ...; | ExitMethods.cs:99:9:102:9 | After {...} | | +| ExitMethods.cs:101:38:101:39 | "" | ExitMethods.cs:101:13:101:40 | call to method WriteLine | | +| ExitMethods.cs:105:10:105:24 | Entry | ExitMethods.cs:106:5:108:5 | {...} | | +| ExitMethods.cs:105:10:105:24 | Exceptional Exit | ExitMethods.cs:105:10:105:24 | Exit | | | ExitMethods.cs:106:5:108:5 | {...} | ExitMethods.cs:107:9:107:48 | ...; | | -| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:105:10:105:24 | exit ApplicationExit (abnormal) | exit | -| ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:107:9:107:47 | call to method Exit | | -| ExitMethods.cs:110:13:110:21 | enter ThrowExpr | ExitMethods.cs:111:5:113:5 | {...} | | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr (abnormal) | ExitMethods.cs:110:13:110:21 | exit ThrowExpr | | -| ExitMethods.cs:110:13:110:21 | exit ThrowExpr (normal) | ExitMethods.cs:110:13:110:21 | exit ThrowExpr | | -| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:112:16:112:20 | access to parameter input | | -| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:110:13:110:21 | exit ThrowExpr (normal) | return | -| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:25:112:25 | 0 | | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:29:112:29 | 1 | true | -| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:69:112:75 | "input" | false | -| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:9:112:77 | return ...; | | +| ExitMethods.cs:107:9:107:47 | Before call to method Exit | ExitMethods.cs:107:9:107:47 | call to method Exit | | +| ExitMethods.cs:107:9:107:47 | call to method Exit | ExitMethods.cs:105:10:105:24 | Exceptional Exit | exception | +| ExitMethods.cs:107:9:107:48 | ...; | ExitMethods.cs:107:9:107:47 | Before call to method Exit | | +| ExitMethods.cs:110:13:110:21 | Entry | ExitMethods.cs:111:5:113:5 | {...} | | +| ExitMethods.cs:110:13:110:21 | Exceptional Exit | ExitMethods.cs:110:13:110:21 | Exit | | +| ExitMethods.cs:110:13:110:21 | Normal Exit | ExitMethods.cs:110:13:110:21 | Exit | | +| ExitMethods.cs:111:5:113:5 | {...} | ExitMethods.cs:112:9:112:77 | Before return ...; | | +| ExitMethods.cs:112:9:112:77 | Before return ...; | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | | +| ExitMethods.cs:112:9:112:77 | return ...; | ExitMethods.cs:110:13:110:21 | Normal Exit | return | +| ExitMethods.cs:112:16:112:20 | access to parameter input | ExitMethods.cs:112:25:112:25 | Before (...) ... | | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | After ... != ... [false] | false | +| ExitMethods.cs:112:16:112:25 | ... != ... | ExitMethods.cs:112:16:112:25 | After ... != ... [true] | true | +| ExitMethods.cs:112:16:112:25 | After ... != ... [false] | ExitMethods.cs:112:41:112:76 | Before throw ... | | +| ExitMethods.cs:112:16:112:25 | After ... != ... [true] | ExitMethods.cs:112:29:112:37 | Before ... / ... | | +| ExitMethods.cs:112:16:112:25 | Before ... != ... | ExitMethods.cs:112:16:112:20 | access to parameter input | | +| ExitMethods.cs:112:16:112:76 | ... ? ... : ... | ExitMethods.cs:112:16:112:25 | Before ... != ... | | +| ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | ExitMethods.cs:112:9:112:77 | return ...; | | | ExitMethods.cs:112:25:112:25 | 0 | ExitMethods.cs:112:25:112:25 | (...) ... | | -| ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:16:112:25 | ... != ... | | +| ExitMethods.cs:112:25:112:25 | (...) ... | ExitMethods.cs:112:25:112:25 | After (...) ... | | +| ExitMethods.cs:112:25:112:25 | After (...) ... | ExitMethods.cs:112:16:112:25 | ... != ... | | +| ExitMethods.cs:112:25:112:25 | Before (...) ... | ExitMethods.cs:112:25:112:25 | 0 | | | ExitMethods.cs:112:29:112:29 | 1 | ExitMethods.cs:112:29:112:29 | (...) ... | | -| ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:112:33:112:37 | access to parameter input | | -| ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:112:16:112:76 | ... ? ... : ... | | +| ExitMethods.cs:112:29:112:29 | (...) ... | ExitMethods.cs:112:29:112:29 | After (...) ... | | +| ExitMethods.cs:112:29:112:29 | After (...) ... | ExitMethods.cs:112:33:112:37 | access to parameter input | | +| ExitMethods.cs:112:29:112:29 | Before (...) ... | ExitMethods.cs:112:29:112:29 | 1 | | +| ExitMethods.cs:112:29:112:37 | ... / ... | ExitMethods.cs:112:29:112:37 | After ... / ... | | +| ExitMethods.cs:112:29:112:37 | After ... / ... | ExitMethods.cs:112:16:112:76 | After ... ? ... : ... | | +| ExitMethods.cs:112:29:112:37 | Before ... / ... | ExitMethods.cs:112:29:112:29 | Before (...) ... | | | ExitMethods.cs:112:33:112:37 | access to parameter input | ExitMethods.cs:112:29:112:37 | ... / ... | | -| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:110:13:110:21 | exit ThrowExpr (abnormal) | exception | -| ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:41:112:76 | throw ... | | +| ExitMethods.cs:112:41:112:76 | Before throw ... | ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | | +| ExitMethods.cs:112:41:112:76 | throw ... | ExitMethods.cs:110:13:110:21 | Exceptional Exit | exception | +| ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | ExitMethods.cs:112:41:112:76 | throw ... | | +| ExitMethods.cs:112:47:112:76 | Before object creation of type ArgumentException | ExitMethods.cs:112:69:112:75 | "input" | | +| ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | ExitMethods.cs:112:47:112:76 | After object creation of type ArgumentException | | | ExitMethods.cs:112:69:112:75 | "input" | ExitMethods.cs:112:47:112:76 | object creation of type ArgumentException | | -| ExitMethods.cs:115:16:115:34 | enter ExtensionMethodCall | ExitMethods.cs:116:5:118:5 | {...} | | -| ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall | | -| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:117:16:117:16 | access to parameter s | | -| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:115:16:115:34 | exit ExtensionMethodCall (normal) | return | +| ExitMethods.cs:115:16:115:34 | Entry | ExitMethods.cs:116:5:118:5 | {...} | | +| ExitMethods.cs:115:16:115:34 | Normal Exit | ExitMethods.cs:115:16:115:34 | Exit | | +| ExitMethods.cs:116:5:118:5 | {...} | ExitMethods.cs:117:9:117:39 | Before return ...; | | +| ExitMethods.cs:117:9:117:39 | Before return ...; | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | | +| ExitMethods.cs:117:9:117:39 | return ...; | ExitMethods.cs:115:16:115:34 | Normal Exit | return | | ExitMethods.cs:117:16:117:16 | access to parameter s | ExitMethods.cs:117:27:117:29 | - | | -| 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:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:9:117:39 | return ...; | | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | ExitMethods.cs:117:38:117:38 | 1 | | +| ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | ExitMethods.cs:117:34:117:34 | 0 | | +| ExitMethods.cs:117:16:117:30 | Before call to method Contains | ExitMethods.cs:117:16:117:16 | access to parameter s | | +| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | After call to method Contains [false] | false | +| ExitMethods.cs:117:16:117:30 | call to method Contains | ExitMethods.cs:117:16:117:30 | After call to method Contains [true] | true | +| ExitMethods.cs:117:16:117:38 | ... ? ... : ... | ExitMethods.cs:117:16:117:30 | Before call to method Contains | | +| ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | ExitMethods.cs:117:9:117:39 | return ...; | | | ExitMethods.cs:117:27:117:29 | - | ExitMethods.cs:117:16:117:30 | call to method Contains | | -| ExitMethods.cs:117:34:117:34 | 0 | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | | -| ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:16:117:38 | ... ? ... : ... | | -| 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:117:34:117:34 | 0 | ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | | +| ExitMethods.cs:117:38:117:38 | 1 | ExitMethods.cs:117:16:117:38 | After ... ? ... : ... | | +| ExitMethods.cs:120:17:120:32 | Entry | ExitMethods.cs:121:5:124:5 | {...} | | +| ExitMethods.cs:120:17:120:32 | Exceptional Exit | ExitMethods.cs:120:17:120:32 | Exit | | | ExitMethods.cs:121:5:124:5 | {...} | ExitMethods.cs:122:9:122:29 | ...; | | -| 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:9:122:28 | Before call to method IsTrue | ExitMethods.cs:122:23:122:27 | false | | +| ExitMethods.cs:122:9:122:28 | call to method IsTrue | ExitMethods.cs:120:17:120:32 | Exceptional Exit | exception | +| ExitMethods.cs:122:9:122:29 | ...; | ExitMethods.cs:122:9:122:28 | Before 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:126:17:126:33 | Entry | ExitMethods.cs:127:5:130:5 | {...} | | +| ExitMethods.cs:126:17:126:33 | Exceptional Exit | ExitMethods.cs:126:17:126:33 | Exit | | | ExitMethods.cs:127:5:130:5 | {...} | ExitMethods.cs:128:9:128:27 | ...; | | -| ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:126:17:126:33 | exit FailingAssertion2 (abnormal) | exception | +| ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | ExitMethods.cs:128:9:128:26 | this access | | +| ExitMethods.cs:128:9:128:26 | call to method FailingAssertion | ExitMethods.cs:126:17:126:33 | Exceptional Exit | exception | | 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: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 | 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:128:9:128:27 | ...; | ExitMethods.cs:128:9:128:26 | Before call to method FailingAssertion | | +| ExitMethods.cs:132:10:132:20 | Entry | ExitMethods.cs:132:33:132:49 | Before call to method IsFalse | | +| ExitMethods.cs:132:10:132:20 | Exceptional Exit | ExitMethods.cs:132:10:132:20 | Exit | | +| ExitMethods.cs:132:10:132:20 | Normal Exit | ExitMethods.cs:132:10:132:20 | Exit | | +| ExitMethods.cs:132:33:132:49 | After call to method IsFalse | ExitMethods.cs:132:10:132:20 | Normal Exit | | +| ExitMethods.cs:132:33:132:49 | Before call to method IsFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | | +| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:10:132:20 | Exceptional Exit | exception | +| ExitMethods.cs:132:33:132:49 | call to method IsFalse | ExitMethods.cs:132:33:132:49 | After call to method IsFalse | | | 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:134:17:134:33 | Entry | ExitMethods.cs:135:5:138:5 | {...} | | +| ExitMethods.cs:134:17:134:33 | Exceptional Exit | ExitMethods.cs:134:17:134:33 | Exit | | | ExitMethods.cs:135:5:138:5 | {...} | ExitMethods.cs:136:9:136:26 | ...; | | -| 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 | Before call to method AssertFalse | ExitMethods.cs:136:9:136:25 | this access | | +| ExitMethods.cs:136:9:136:25 | call to method AssertFalse | ExitMethods.cs:134:17:134:33 | Exceptional Exit | 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:9:136:26 | ...; | ExitMethods.cs:136:9:136:25 | Before 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:140:17:140:42 | Entry | ExitMethods.cs:141:5:147:5 | {...} | | +| ExitMethods.cs:140:17:140:42 | Exceptional Exit | ExitMethods.cs:140:17:140:42 | Exit | | | ExitMethods.cs:141:5:147:5 | {...} | ExitMethods.cs:142:9:145:53 | if (...) ... | | | ExitMethods.cs:142:9:145:53 | if (...) ... | ExitMethods.cs:142:13:142:13 | access to parameter b | | -| 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 | -| ExitMethods.cs:143:13:143:42 | call to method Throw | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | exception | -| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:41:143:41 | access to parameter e | | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | ExitMethods.cs:145:13:145:53 | ...; | | +| ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | ExitMethods.cs:143:13:143:43 | ...; | | +| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | After access to parameter b [false] | false | +| ExitMethods.cs:142:13:142:13 | access to parameter b | ExitMethods.cs:142:13:142:13 | After access to parameter b [true] | true | +| ExitMethods.cs:143:13:143:42 | Before call to method Throw | ExitMethods.cs:143:41:143:41 | access to parameter e | | +| ExitMethods.cs:143:13:143:42 | call to method Throw | ExitMethods.cs:140:17:140:42 | Exceptional Exit | exception | +| ExitMethods.cs:143:13:143:43 | ...; | ExitMethods.cs:143:13:143:42 | Before call to method Throw | | | ExitMethods.cs:143:41:143:41 | access to parameter e | ExitMethods.cs:143:13:143:42 | call to method Throw | | -| ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:145:13:145:52 | call to method Throw | | -| ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:140:17:140:42 | exit ExceptionDispatchInfoThrow (abnormal) | exception | -| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:43:145:43 | access to parameter e | | +| ExitMethods.cs:145:13:145:44 | After call to method Capture | ExitMethods.cs:145:13:145:52 | call to method Throw | | +| ExitMethods.cs:145:13:145:44 | Before call to method Capture | ExitMethods.cs:145:43:145:43 | access to parameter e | | +| ExitMethods.cs:145:13:145:44 | call to method Capture | ExitMethods.cs:145:13:145:44 | After call to method Capture | | +| ExitMethods.cs:145:13:145:52 | Before call to method Throw | ExitMethods.cs:145:13:145:44 | Before call to method Capture | | +| ExitMethods.cs:145:13:145:52 | call to method Throw | ExitMethods.cs:140:17:140:42 | Exceptional Exit | exception | +| ExitMethods.cs:145:13:145:53 | ...; | ExitMethods.cs:145:13:145:52 | Before call to method Throw | | | ExitMethods.cs:145:43:145:43 | access to parameter e | ExitMethods.cs:145:13:145:44 | call to method Capture | | -| Extensions.cs:5:23:5:29 | enter ToInt32 | Extensions.cs:6:5:8:5 | {...} | | -| Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | Extensions.cs:5:23:5:29 | exit ToInt32 | | -| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:7:28:7:28 | access to parameter s | | -| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:5:23:5:29 | exit ToInt32 (normal) | return | -| Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:9:7:30 | return ...; | | +| Extensions.cs:5:23:5:29 | Entry | Extensions.cs:6:5:8:5 | {...} | | +| Extensions.cs:5:23:5:29 | Normal Exit | Extensions.cs:5:23:5:29 | Exit | | +| Extensions.cs:6:5:8:5 | {...} | Extensions.cs:7:9:7:30 | Before return ...; | | +| Extensions.cs:7:9:7:30 | Before return ...; | Extensions.cs:7:16:7:29 | Before call to method Parse | | +| Extensions.cs:7:9:7:30 | return ...; | Extensions.cs:5:23:5:29 | Normal Exit | return | +| Extensions.cs:7:16:7:29 | After call to method Parse | Extensions.cs:7:9:7:30 | return ...; | | +| Extensions.cs:7:16:7:29 | Before call to method Parse | Extensions.cs:7:28:7:28 | access to parameter s | | +| Extensions.cs:7:16:7:29 | call to method Parse | Extensions.cs:7:16:7:29 | After call to method Parse | | | Extensions.cs:7:28:7:28 | access to parameter s | Extensions.cs:7:16:7:29 | call to method Parse | | -| Extensions.cs:10:24:10:29 | enter ToBool | Extensions.cs:11:5:13:5 | {...} | | -| Extensions.cs:10:24:10:29 | exit ToBool (normal) | Extensions.cs:10:24:10:29 | exit ToBool | | -| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:12:16:12:16 | access to parameter f | | -| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:10:24:10:29 | exit ToBool (normal) | return | +| Extensions.cs:10:24:10:29 | Entry | Extensions.cs:11:5:13:5 | {...} | | +| Extensions.cs:10:24:10:29 | Normal Exit | Extensions.cs:10:24:10:29 | Exit | | +| Extensions.cs:11:5:13:5 | {...} | Extensions.cs:12:9:12:20 | Before return ...; | | +| Extensions.cs:12:9:12:20 | Before return ...; | Extensions.cs:12:16:12:19 | Before delegate call | | +| Extensions.cs:12:9:12:20 | return ...; | Extensions.cs:10:24:10:29 | Normal Exit | return | | Extensions.cs:12:16:12:16 | access to parameter f | Extensions.cs:12:18:12:18 | access to parameter s | | -| Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:9:12:20 | return ...; | | +| Extensions.cs:12:16:12:19 | After delegate call | Extensions.cs:12:9:12:20 | return ...; | | +| Extensions.cs:12:16:12:19 | Before delegate call | Extensions.cs:12:16:12:16 | access to parameter f | | +| Extensions.cs:12:16:12:19 | delegate call | Extensions.cs:12:16:12:19 | After delegate call | | | Extensions.cs:12:18:12:18 | access to parameter s | Extensions.cs:12:16:12:19 | delegate call | | -| Extensions.cs:15:23:15:33 | enter CallToInt32 | Extensions.cs:15:48:15:50 | "0" | | -| Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | Extensions.cs:15:23:15:33 | exit CallToInt32 | | -| Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:23:15:33 | exit CallToInt32 (normal) | | +| Extensions.cs:15:23:15:33 | Entry | Extensions.cs:15:40:15:51 | Before call to method ToInt32 | | +| Extensions.cs:15:23:15:33 | Normal Exit | Extensions.cs:15:23:15:33 | Exit | | +| Extensions.cs:15:40:15:51 | After call to method ToInt32 | Extensions.cs:15:23:15:33 | Normal Exit | | +| Extensions.cs:15:40:15:51 | Before call to method ToInt32 | Extensions.cs:15:48:15:50 | "0" | | +| Extensions.cs:15:40:15:51 | call to method ToInt32 | Extensions.cs:15:40:15:51 | After call to method ToInt32 | | | Extensions.cs:15:48:15:50 | "0" | Extensions.cs:15:40:15:51 | call to method ToInt32 | | -| Extensions.cs:20:17:20:20 | enter Main | Extensions.cs:21:5:26:5 | {...} | | -| Extensions.cs:20:17:20:20 | exit Main (normal) | Extensions.cs:20:17:20:20 | exit Main | | +| Extensions.cs:20:17:20:20 | Entry | Extensions.cs:21:5:26:5 | {...} | | +| Extensions.cs:20:17:20:20 | Normal Exit | Extensions.cs:20:17:20:20 | Exit | | +| Extensions.cs:21:5:26:5 | After {...} | Extensions.cs:20:17:20:20 | Normal Exit | | | Extensions.cs:21:5:26:5 | {...} | Extensions.cs:22:9:22:20 | ...; | | | Extensions.cs:22:9:22:9 | access to parameter s | Extensions.cs:22:9:22:19 | call to method ToInt32 | | -| Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:23:9:23:31 | ...; | | -| Extensions.cs:22:9:22:20 | ...; | Extensions.cs:22:9:22:9 | access to parameter s | | -| Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:24:9:24:46 | ...; | | -| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:23:28:23:29 | "" | | +| Extensions.cs:22:9:22:19 | After call to method ToInt32 | Extensions.cs:22:9:22:20 | After ...; | | +| Extensions.cs:22:9:22:19 | Before call to method ToInt32 | Extensions.cs:22:9:22:9 | access to parameter s | | +| Extensions.cs:22:9:22:19 | call to method ToInt32 | Extensions.cs:22:9:22:19 | After call to method ToInt32 | | +| Extensions.cs:22:9:22:20 | ...; | Extensions.cs:22:9:22:19 | Before call to method ToInt32 | | +| Extensions.cs:22:9:22:20 | After ...; | Extensions.cs:23:9:23:31 | ...; | | +| Extensions.cs:23:9:23:30 | After call to method ToInt32 | Extensions.cs:23:9:23:31 | After ...; | | +| Extensions.cs:23:9:23:30 | Before call to method ToInt32 | Extensions.cs:23:28:23:29 | "" | | +| Extensions.cs:23:9:23:30 | call to method ToInt32 | Extensions.cs:23:9:23:30 | After call to method ToInt32 | | +| Extensions.cs:23:9:23:31 | ...; | Extensions.cs:23:9:23:30 | Before call to method ToInt32 | | +| Extensions.cs:23:9:23:31 | After ...; | Extensions.cs:24:9:24:46 | ...; | | | Extensions.cs:23:28:23:29 | "" | Extensions.cs:23:9:23:30 | call to method ToInt32 | | -| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:25:9:25:34 | ...; | | -| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:24:27:24:32 | "true" | | -| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:35:24:44 | access to method Parse | | +| Extensions.cs:24:9:24:45 | After call to method ToBool | Extensions.cs:24:9:24:46 | After ...; | | +| Extensions.cs:24:9:24:45 | Before call to method ToBool | Extensions.cs:24:27:24:32 | "true" | | +| Extensions.cs:24:9:24:45 | call to method ToBool | Extensions.cs:24:9:24:45 | After call to method ToBool | | +| Extensions.cs:24:9:24:46 | ...; | Extensions.cs:24:9:24:45 | Before call to method ToBool | | +| Extensions.cs:24:9:24:46 | After ...; | Extensions.cs:25:9:25:34 | ...; | | +| Extensions.cs:24:27:24:32 | "true" | Extensions.cs:24:35:24:44 | Before delegate creation of type Func | | +| Extensions.cs:24:35:24:44 | After delegate creation of type Func | Extensions.cs:24:9:24:45 | call to method ToBool | | +| Extensions.cs:24:35:24:44 | Before delegate creation of type Func | Extensions.cs:24:35:24:44 | access to method Parse | | | Extensions.cs:24:35:24:44 | access to method Parse | Extensions.cs:24:35:24:44 | delegate creation of type Func | | -| Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:24:9:24:45 | call to method ToBool | | -| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:23:25:32 | access to method Parse | | -| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:20:17:20:20 | exit Main (normal) | | -| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:25:9:25:14 | "true" | | +| Extensions.cs:24:35:24:44 | delegate creation of type Func | Extensions.cs:24:35:24:44 | After delegate creation of type Func | | +| Extensions.cs:25:9:25:14 | "true" | Extensions.cs:25:23:25:32 | Before delegate creation of type Func | | +| Extensions.cs:25:9:25:33 | After call to method ToBool | Extensions.cs:25:9:25:34 | After ...; | | +| Extensions.cs:25:9:25:33 | Before call to method ToBool | Extensions.cs:25:9:25:14 | "true" | | +| Extensions.cs:25:9:25:33 | call to method ToBool | Extensions.cs:25:9:25:33 | After call to method ToBool | | +| Extensions.cs:25:9:25:34 | ...; | Extensions.cs:25:9:25:33 | Before call to method ToBool | | +| Extensions.cs:25:9:25:34 | After ...; | Extensions.cs:21:5:26:5 | After {...} | | +| Extensions.cs:25:23:25:32 | After delegate creation of type Func | Extensions.cs:25:9:25:33 | call to method ToBool | | +| Extensions.cs:25:23:25:32 | Before delegate creation of type Func | Extensions.cs:25:23:25:32 | access to method Parse | | | Extensions.cs:25:23:25:32 | access to method Parse | Extensions.cs:25:23:25:32 | delegate creation of type Func | | -| Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:25:9:25:33 | call to method ToBool | | -| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | {...} | | -| Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | call to constructor Object | | -| Finally.cs:3:14:3:20 | enter Finally | Finally.cs:3:14:3:20 | this access | | -| Finally.cs:3:14:3:20 | exit Finally (normal) | Finally.cs:3:14:3:20 | exit Finally | | +| Extensions.cs:25:23:25:32 | delegate creation of type Func | Extensions.cs:25:23:25:32 | After delegate creation of type Func | | +| Finally.cs:3:14:3:20 | After call to constructor Object | Finally.cs:3:14:3:20 | {...} | | +| Finally.cs:3:14:3:20 | After call to method | Finally.cs:3:14:3:20 | Before call to constructor Object | | +| Finally.cs:3:14:3:20 | Before call to constructor Object | Finally.cs:3:14:3:20 | call to constructor Object | | +| Finally.cs:3:14:3:20 | Before call to method | Finally.cs:3:14:3:20 | this access | | +| Finally.cs:3:14:3:20 | Entry | Finally.cs:3:14:3:20 | Before call to method | | +| Finally.cs:3:14:3:20 | Normal Exit | Finally.cs:3:14:3:20 | Exit | | +| Finally.cs:3:14:3:20 | call to constructor Object | Finally.cs:3:14:3:20 | After call to constructor Object | | +| Finally.cs:3:14:3:20 | call to method | Finally.cs:3:14:3:20 | After call to method | | | Finally.cs:3:14:3:20 | this access | Finally.cs:3:14:3:20 | call to method | | -| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | exit Finally (normal) | | -| Finally.cs:7:10:7:11 | enter M1 | Finally.cs:8:5:17:5 | {...} | | -| Finally.cs:7:10:7:11 | exit M1 (abnormal) | Finally.cs:7:10:7:11 | exit M1 | | -| Finally.cs:7:10:7:11 | exit M1 (normal) | Finally.cs:7:10:7:11 | exit M1 | | +| Finally.cs:3:14:3:20 | {...} | Finally.cs:3:14:3:20 | Normal Exit | | +| Finally.cs:7:10:7:11 | Entry | Finally.cs:8:5:17:5 | {...} | | +| Finally.cs:7:10:7:11 | Exceptional Exit | Finally.cs:7:10:7:11 | Exit | | +| Finally.cs:7:10:7:11 | Normal Exit | Finally.cs:7:10:7:11 | Exit | | +| Finally.cs:8:5:17:5 | After {...} | Finally.cs:7:10:7:11 | Normal Exit | | | Finally.cs:8:5:17:5 | {...} | Finally.cs:9:9:16:9 | try {...} ... | | +| Finally.cs:9:9:16:9 | After try {...} ... | Finally.cs:8:5:17:5 | After {...} | | | Finally.cs:9:9:16:9 | try {...} ... | Finally.cs:10:9:12:9 | {...} | | +| Finally.cs:10:9:12:9 | After {...} | Finally.cs:14:9:16:9 | {...} | | | Finally.cs:10:9:12:9 | {...} | Finally.cs:11:13:11:38 | ...; | | -| Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:14:9:16:9 | {...} | , exception | -| Finally.cs:11:13:11:38 | ...; | Finally.cs:11:31:11:36 | "Try1" | | +| Finally.cs:11:13:11:37 | After call to method WriteLine | Finally.cs:11:13:11:38 | After ...; | | +| Finally.cs:11:13:11:37 | Before call to method WriteLine | Finally.cs:11:31:11:36 | "Try1" | | +| Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:11:13:11:37 | After call to method WriteLine | | +| Finally.cs:11:13:11:37 | call to method WriteLine | Finally.cs:14:9:16:9 | {...} | exception | +| Finally.cs:11:13:11:38 | ...; | Finally.cs:11:13:11:37 | Before call to method WriteLine | | +| Finally.cs:11:13:11:38 | After ...; | Finally.cs:10:9:12:9 | After {...} | | | Finally.cs:11:31:11:36 | "Try1" | Finally.cs:11:13:11:37 | call to method WriteLine | | +| Finally.cs:14:9:16:9 | After {...} | Finally.cs:7:10:7:11 | Exceptional Exit | exception | +| Finally.cs:14:9:16:9 | After {...} | Finally.cs:9:9:16:9 | After try {...} ... | | | Finally.cs:14:9:16:9 | {...} | Finally.cs:15:13:15:41 | ...; | | -| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:7:10:7:11 | exit M1 (abnormal) | exception | -| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:7:10:7:11 | exit M1 (normal) | | -| Finally.cs:15:13:15:41 | ...; | Finally.cs:15:31:15:39 | "Finally" | | +| Finally.cs:15:13:15:40 | After call to method WriteLine | Finally.cs:15:13:15:41 | After ...; | | +| Finally.cs:15:13:15:40 | Before call to method WriteLine | Finally.cs:15:31:15:39 | "Finally" | | +| Finally.cs:15:13:15:40 | call to method WriteLine | Finally.cs:15:13:15:40 | After call to method WriteLine | | +| Finally.cs:15:13:15:41 | ...; | Finally.cs:15:13:15:40 | Before call to method WriteLine | | +| Finally.cs:15:13:15:41 | After ...; | Finally.cs:14:9:16:9 | After {...} | | | Finally.cs:15:31:15:39 | "Finally" | Finally.cs:15:13:15:40 | call to method WriteLine | | -| Finally.cs:19:10:19:11 | enter M2 | Finally.cs:20:5:52:5 | {...} | | -| Finally.cs:19:10:19:11 | exit M2 (abnormal) | Finally.cs:19:10:19:11 | exit M2 | | -| Finally.cs:19:10:19:11 | exit M2 (normal) | Finally.cs:19:10:19:11 | exit M2 | | +| Finally.cs:19:10:19:11 | Entry | Finally.cs:20:5:52:5 | {...} | | +| Finally.cs:19:10:19:11 | Exceptional Exit | Finally.cs:19:10:19:11 | Exit | | +| Finally.cs:19:10:19:11 | Normal Exit | Finally.cs:19:10:19:11 | Exit | | +| Finally.cs:20:5:52:5 | After {...} | Finally.cs:19:10:19:11 | Normal Exit | | | Finally.cs:20:5:52:5 | {...} | Finally.cs:21:9:51:9 | try {...} ... | | +| Finally.cs:21:9:51:9 | After try {...} ... | Finally.cs:20:5:52:5 | After {...} | | | Finally.cs:21:9:51:9 | try {...} ... | Finally.cs:22:9:25:9 | {...} | | | Finally.cs:22:9:25:9 | {...} | Finally.cs:23:13:23:38 | ...; | | -| Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:24:13:24:19 | return ...; | | +| Finally.cs:23:13:23:37 | After call to method WriteLine | Finally.cs:23:13:23:38 | After ...; | | +| Finally.cs:23:13:23:37 | Before call to method WriteLine | Finally.cs:23:31:23:36 | "Try2" | | +| Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:23:13:23:37 | After call to method WriteLine | | | Finally.cs:23:13:23:37 | call to method WriteLine | Finally.cs:26:9:29:9 | catch (...) {...} | exception | -| Finally.cs:23:13:23:38 | ...; | Finally.cs:23:31:23:36 | "Try2" | | +| Finally.cs:23:13:23:38 | ...; | Finally.cs:23:13:23:37 | Before call to method WriteLine | | +| Finally.cs:23:13:23:38 | After ...; | Finally.cs:24:13:24:19 | Before return ...; | | | Finally.cs:23:31:23:36 | "Try2" | Finally.cs:23:13:23:37 | call to method WriteLine | | +| Finally.cs:24:13:24:19 | Before return ...; | Finally.cs:24:13:24:19 | return ...; | | | Finally.cs:24:13:24:19 | return ...; | Finally.cs:49:9:51:9 | {...} | return | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:38:26:39 | IOException ex | match | -| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:30:9:40:9 | catch (...) {...} | no-match | +| Finally.cs:26:9:29:9 | After catch (...) {...} [match] | Finally.cs:26:38:26:39 | IOException ex | | +| Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | Finally.cs:30:9:40:9 | catch (...) {...} | | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [match] | match | +| Finally.cs:26:9:29:9 | catch (...) {...} | Finally.cs:26:9:29:9 | After catch (...) {...} [no-match] | no-match | | Finally.cs:26:38:26:39 | IOException ex | Finally.cs:26:48:26:51 | true | | -| Finally.cs:26:48:26:51 | true | Finally.cs:27:9:29:9 | {...} | true | -| Finally.cs:27:9:29:9 | {...} | Finally.cs:28:13:28:18 | throw ...; | | +| Finally.cs:26:48:26:51 | After true [true] | Finally.cs:27:9:29:9 | {...} | | +| Finally.cs:26:48:26:51 | true | Finally.cs:26:48:26:51 | After true [true] | true | +| Finally.cs:27:9:29:9 | {...} | Finally.cs:28:13:28:18 | Before throw ...; | | +| Finally.cs:28:13:28:18 | Before throw ...; | Finally.cs:28:13:28:18 | throw ...; | | | Finally.cs:28:13:28:18 | throw ...; | Finally.cs:49:9:51:9 | {...} | exception | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:41:30:42 | ArgumentException ex | match | -| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:41:9:43:9 | catch (...) {...} | no-match | +| Finally.cs:30:9:40:9 | After catch (...) {...} [match] | Finally.cs:30:41:30:42 | ArgumentException ex | | +| Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | Finally.cs:41:9:43:9 | catch (...) {...} | | +| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [match] | match | +| Finally.cs:30:9:40:9 | catch (...) {...} | Finally.cs:30:9:40:9 | After catch (...) {...} [no-match] | no-match | | Finally.cs:30:41:30:42 | ArgumentException ex | Finally.cs:31:9:40:9 | {...} | | | Finally.cs:31:9:40:9 | {...} | Finally.cs:32:13:39:13 | try {...} ... | | | Finally.cs:32:13:39:13 | try {...} ... | Finally.cs:33:13:35:13 | {...} | | | Finally.cs:33:13:35:13 | {...} | Finally.cs:34:17:34:32 | if (...) ... | | | Finally.cs:34:17:34:32 | if (...) ... | Finally.cs:34:21:34:24 | true | | -| Finally.cs:34:21:34:24 | true | Finally.cs:34:27:34:32 | throw ...; | true | +| Finally.cs:34:21:34:24 | After true [true] | Finally.cs:34:27:34:32 | Before throw ...; | | +| Finally.cs:34:21:34:24 | true | Finally.cs:34:21:34:24 | After true [true] | true | +| Finally.cs:34:27:34:32 | Before throw ...; | Finally.cs:34:27:34:32 | throw ...; | | | Finally.cs:34:27:34:32 | throw ...; | Finally.cs:37:13:39:13 | {...} | exception | -| Finally.cs:37:13:39:13 | {...} | Finally.cs:38:37:38:42 | "Boo!" | | +| Finally.cs:37:13:39:13 | {...} | Finally.cs:38:17:38:44 | Before throw ...; | | +| Finally.cs:38:17:38:44 | Before throw ...; | Finally.cs:38:23:38:43 | Before object creation of type Exception | | | Finally.cs:38:17:38:44 | throw ...; | Finally.cs:49:9:51:9 | {...} | exception | -| Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:38:17:38:44 | throw ...; | | +| Finally.cs:38:23:38:43 | After object creation of type Exception | Finally.cs:38:17:38:44 | throw ...; | | +| Finally.cs:38:23:38:43 | Before object creation of type Exception | Finally.cs:38:37:38:42 | "Boo!" | | +| Finally.cs:38:23:38:43 | object creation of type Exception | Finally.cs:38:23:38:43 | After object creation of type Exception | | | Finally.cs:38:37:38:42 | "Boo!" | Finally.cs:38:23:38:43 | object creation of type Exception | | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:42:9:43:9 | {...} | match | -| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:44:9:47:9 | catch {...} | no-match | +| Finally.cs:41:9:43:9 | After catch (...) {...} [match] | Finally.cs:42:9:43:9 | {...} | | +| Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | Finally.cs:44:9:47:9 | catch {...} | | +| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [match] | match | +| Finally.cs:41:9:43:9 | catch (...) {...} | Finally.cs:41:9:43:9 | After catch (...) {...} [no-match] | no-match | | Finally.cs:42:9:43:9 | {...} | Finally.cs:49:9:51:9 | {...} | | -| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:45:9:47:9 | {...} | | -| Finally.cs:45:9:47:9 | {...} | Finally.cs:46:13:46:19 | return ...; | | +| Finally.cs:44:9:47:9 | After catch {...} [match] | Finally.cs:45:9:47:9 | {...} | | +| Finally.cs:44:9:47:9 | catch {...} | Finally.cs:44:9:47:9 | After catch {...} [match] | match | +| Finally.cs:45:9:47:9 | {...} | Finally.cs:46:13:46:19 | Before return ...; | | +| Finally.cs:46:13:46:19 | Before return ...; | Finally.cs:46:13:46:19 | return ...; | | | Finally.cs:46:13:46:19 | return ...; | Finally.cs:49:9:51:9 | {...} | return | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:19:10:19:11 | Exceptional Exit | exception | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:19:10:19:11 | Normal Exit | return | +| Finally.cs:49:9:51:9 | After {...} | Finally.cs:21:9:51:9 | After try {...} ... | | | Finally.cs:49:9:51:9 | {...} | Finally.cs:50:13:50:41 | ...; | | -| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:19:10:19:11 | exit M2 (abnormal) | exception | -| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:19:10:19:11 | exit M2 (normal) | , return | -| Finally.cs:50:13:50:41 | ...; | Finally.cs:50:31:50:39 | "Finally" | | +| Finally.cs:50:13:50:40 | After call to method WriteLine | Finally.cs:50:13:50:41 | After ...; | | +| Finally.cs:50:13:50:40 | Before call to method WriteLine | Finally.cs:50:31:50:39 | "Finally" | | +| Finally.cs:50:13:50:40 | call to method WriteLine | Finally.cs:50:13:50:40 | After call to method WriteLine | | +| Finally.cs:50:13:50:41 | ...; | Finally.cs:50:13:50:40 | Before call to method WriteLine | | +| Finally.cs:50:13:50:41 | After ...; | Finally.cs:49:9:51:9 | After {...} | | | Finally.cs:50:31:50:39 | "Finally" | Finally.cs:50:13:50:40 | call to method WriteLine | | -| Finally.cs:54:10:54:11 | enter M3 | Finally.cs:55:5:72:5 | {...} | | -| Finally.cs:54:10:54:11 | exit M3 (abnormal) | Finally.cs:54:10:54:11 | exit M3 | | -| Finally.cs:54:10:54:11 | exit M3 (normal) | Finally.cs:54:10:54:11 | exit M3 | | +| Finally.cs:54:10:54:11 | Entry | Finally.cs:55:5:72:5 | {...} | | +| Finally.cs:54:10:54:11 | Exceptional Exit | Finally.cs:54:10:54:11 | Exit | | +| Finally.cs:54:10:54:11 | Normal Exit | Finally.cs:54:10:54:11 | Exit | | +| Finally.cs:55:5:72:5 | After {...} | Finally.cs:54:10:54:11 | Normal Exit | | | Finally.cs:55:5:72:5 | {...} | Finally.cs:56:9:71:9 | try {...} ... | | +| Finally.cs:56:9:71:9 | After try {...} ... | Finally.cs:55:5:72:5 | After {...} | | | Finally.cs:56:9:71:9 | try {...} ... | Finally.cs:57:9:60:9 | {...} | | | Finally.cs:57:9:60:9 | {...} | Finally.cs:58:13:58:38 | ...; | | -| Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:59:13:59:19 | return ...; | | +| Finally.cs:58:13:58:37 | After call to method WriteLine | Finally.cs:58:13:58:38 | After ...; | | +| Finally.cs:58:13:58:37 | Before call to method WriteLine | Finally.cs:58:31:58:36 | "Try3" | | +| Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:58:13:58:37 | After call to method WriteLine | | | Finally.cs:58:13:58:37 | call to method WriteLine | Finally.cs:61:9:64:9 | catch (...) {...} | exception | -| Finally.cs:58:13:58:38 | ...; | Finally.cs:58:31:58:36 | "Try3" | | +| Finally.cs:58:13:58:38 | ...; | Finally.cs:58:13:58:37 | Before call to method WriteLine | | +| Finally.cs:58:13:58:38 | After ...; | Finally.cs:59:13:59:19 | Before return ...; | | | Finally.cs:58:31:58:36 | "Try3" | Finally.cs:58:13:58:37 | call to method WriteLine | | +| Finally.cs:59:13:59:19 | Before return ...; | Finally.cs:59:13:59:19 | return ...; | | | Finally.cs:59:13:59:19 | return ...; | Finally.cs:69:9:71:9 | {...} | return | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:38:61:39 | IOException ex | match | -| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:65:9:67:9 | catch (...) {...} | no-match | +| Finally.cs:61:9:64:9 | After catch (...) {...} [match] | Finally.cs:61:38:61:39 | IOException ex | | +| Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | Finally.cs:65:9:67:9 | catch (...) {...} | | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [match] | match | +| Finally.cs:61:9:64:9 | catch (...) {...} | Finally.cs:61:9:64:9 | After catch (...) {...} [no-match] | no-match | | Finally.cs:61:38:61:39 | IOException ex | Finally.cs:61:48:61:51 | true | | -| Finally.cs:61:48:61:51 | true | Finally.cs:62:9:64:9 | {...} | true | -| Finally.cs:62:9:64:9 | {...} | Finally.cs:63:13:63:18 | throw ...; | | +| Finally.cs:61:48:61:51 | After true [true] | Finally.cs:62:9:64:9 | {...} | | +| Finally.cs:61:48:61:51 | true | Finally.cs:61:48:61:51 | After true [true] | true | +| Finally.cs:62:9:64:9 | {...} | Finally.cs:63:13:63:18 | Before throw ...; | | +| Finally.cs:63:13:63:18 | Before throw ...; | Finally.cs:63:13:63:18 | throw ...; | | | Finally.cs:63:13:63:18 | throw ...; | Finally.cs:69:9:71:9 | {...} | exception | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:26:65:26 | Exception e | match | -| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:69:9:71:9 | {...} | exception | -| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:35:65:35 | access to local variable e | | +| Finally.cs:65:9:67:9 | After catch (...) {...} [match] | Finally.cs:65:26:65:26 | Exception e | | +| Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | Finally.cs:69:9:71:9 | {...} | exception | +| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [match] | match | +| Finally.cs:65:9:67:9 | catch (...) {...} | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | no-match | +| Finally.cs:65:26:65:26 | Exception e | Finally.cs:65:35:65:51 | Before ... != ... | | | Finally.cs:65:35:65:35 | access to local variable e | Finally.cs:65:35:65:43 | access to property Message | | -| Finally.cs:65:35:65:43 | access to property Message | Finally.cs:65:48:65:51 | null | | -| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:66:9:67:9 | {...} | true | -| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:69:9:71:9 | {...} | exception | +| Finally.cs:65:35:65:43 | After access to property Message | Finally.cs:65:48:65:51 | null | | +| Finally.cs:65:35:65:43 | Before access to property Message | Finally.cs:65:35:65:35 | access to local variable e | | +| Finally.cs:65:35:65:43 | access to property Message | Finally.cs:65:35:65:43 | After access to property Message | | +| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | After ... != ... [false] | false | +| Finally.cs:65:35:65:51 | ... != ... | Finally.cs:65:35:65:51 | After ... != ... [true] | true | +| Finally.cs:65:35:65:51 | After ... != ... [false] | Finally.cs:65:9:67:9 | After catch (...) {...} [no-match] | no-match | +| Finally.cs:65:35:65:51 | After ... != ... [true] | Finally.cs:66:9:67:9 | {...} | | +| Finally.cs:65:35:65:51 | Before ... != ... | Finally.cs:65:35:65:43 | Before access to property Message | | | Finally.cs:65:48:65:51 | null | Finally.cs:65:35:65:51 | ... != ... | | | Finally.cs:66:9:67:9 | {...} | Finally.cs:69:9:71:9 | {...} | | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:54:10:54:11 | Exceptional Exit | exception | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:54:10:54:11 | Normal Exit | return | +| Finally.cs:69:9:71:9 | After {...} | Finally.cs:56:9:71:9 | After try {...} ... | | | Finally.cs:69:9:71:9 | {...} | Finally.cs:70:13:70:41 | ...; | | -| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:54:10:54:11 | exit M3 (abnormal) | exception | -| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:54:10:54:11 | exit M3 (normal) | , return | -| Finally.cs:70:13:70:41 | ...; | Finally.cs:70:31:70:39 | "Finally" | | +| Finally.cs:70:13:70:40 | After call to method WriteLine | Finally.cs:70:13:70:41 | After ...; | | +| Finally.cs:70:13:70:40 | Before call to method WriteLine | Finally.cs:70:31:70:39 | "Finally" | | +| Finally.cs:70:13:70:40 | call to method WriteLine | Finally.cs:70:13:70:40 | After call to method WriteLine | | +| Finally.cs:70:13:70:41 | ...; | Finally.cs:70:13:70:40 | Before call to method WriteLine | | +| Finally.cs:70:13:70:41 | After ...; | Finally.cs:69:9:71:9 | After {...} | | | Finally.cs:70:31:70:39 | "Finally" | Finally.cs:70:13:70:40 | call to method WriteLine | | -| Finally.cs:74:10:74:11 | enter M4 | Finally.cs:75:5:101:5 | {...} | | -| Finally.cs:74:10:74:11 | exit M4 (abnormal) | Finally.cs:74:10:74:11 | exit M4 | | -| Finally.cs:74:10:74:11 | exit M4 (normal) | Finally.cs:74:10:74:11 | exit M4 | | +| Finally.cs:74:10:74:11 | Entry | Finally.cs:75:5:101:5 | {...} | | +| Finally.cs:74:10:74:11 | Exceptional Exit | Finally.cs:74:10:74:11 | Exit | | +| Finally.cs:74:10:74:11 | Normal Exit | Finally.cs:74:10:74:11 | Exit | | +| Finally.cs:75:5:101:5 | After {...} | Finally.cs:74:10:74:11 | Normal Exit | | | Finally.cs:75:5:101:5 | {...} | Finally.cs:76:9:76:19 | ... ...; | | -| Finally.cs:76:9:76:19 | ... ...; | Finally.cs:76:17:76:18 | 10 | | -| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:77:9:100:9 | while (...) ... | | +| Finally.cs:76:9:76:19 | ... ...; | Finally.cs:76:13:76:18 | Before Int32 i = ... | | +| Finally.cs:76:9:76:19 | After ... ...; | Finally.cs:77:9:100:9 | while (...) ... | | +| Finally.cs:76:13:76:13 | access to local variable i | Finally.cs:76:17:76:18 | 10 | | +| Finally.cs:76:13:76:18 | After Int32 i = ... | Finally.cs:76:9:76:19 | After ... ...; | | +| Finally.cs:76:13:76:18 | Before Int32 i = ... | Finally.cs:76:13:76:13 | access to local variable i | | +| Finally.cs:76:13:76:18 | Int32 i = ... | Finally.cs:76:13:76:18 | After Int32 i = ... | | | Finally.cs:76:17:76:18 | 10 | Finally.cs:76:13:76:18 | Int32 i = ... | | -| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:77:16:77:16 | access to local variable i | | +| Finally.cs:77:9:100:9 | After while (...) ... | Finally.cs:75:5:101:5 | After {...} | | +| Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | Finally.cs:77:16:77:20 | Before ... > ... | | +| Finally.cs:77:9:100:9 | while (...) ... | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | | | Finally.cs:77:16:77:16 | access to local variable i | Finally.cs:77:20:77:20 | 0 | | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:74:10:74:11 | exit M4 (normal) | false | -| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:78:9:100:9 | {...} | true | +| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | After ... > ... [false] | false | +| Finally.cs:77:16:77:20 | ... > ... | Finally.cs:77:16:77:20 | After ... > ... [true] | true | +| Finally.cs:77:16:77:20 | After ... > ... [false] | Finally.cs:77:9:100:9 | After while (...) ... | | +| Finally.cs:77:16:77:20 | After ... > ... [true] | Finally.cs:78:9:100:9 | {...} | | +| Finally.cs:77:16:77:20 | Before ... > ... | Finally.cs:77:16:77:16 | access to local variable i | | | Finally.cs:77:20:77:20 | 0 | Finally.cs:77:16:77:20 | ... > ... | | +| Finally.cs:78:9:100:9 | After {...} | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | | | Finally.cs:78:9:100:9 | {...} | Finally.cs:79:13:99:13 | try {...} ... | | +| Finally.cs:79:13:99:13 | After try {...} ... | Finally.cs:78:9:100:9 | After {...} | | | Finally.cs:79:13:99:13 | try {...} ... | Finally.cs:80:13:87:13 | {...} | | +| Finally.cs:80:13:87:13 | After {...} | Finally.cs:89:13:99:13 | {...} | | | Finally.cs:80:13:87:13 | {...} | Finally.cs:81:17:82:27 | if (...) ... | | -| Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:81:21:81:21 | access to local variable i | | +| Finally.cs:81:17:82:27 | After if (...) ... | Finally.cs:83:17:84:29 | if (...) ... | | +| Finally.cs:81:17:82:27 | if (...) ... | Finally.cs:81:21:81:26 | Before ... == ... | | | Finally.cs:81:21:81:21 | access to local variable i | Finally.cs:81:26:81:26 | 0 | | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:82:21:82:27 | return ...; | true | -| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:83:17:84:29 | if (...) ... | false | +| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | After ... == ... [false] | false | +| Finally.cs:81:21:81:26 | ... == ... | Finally.cs:81:21:81:26 | After ... == ... [true] | true | +| Finally.cs:81:21:81:26 | After ... == ... [false] | Finally.cs:81:17:82:27 | After if (...) ... | | +| Finally.cs:81:21:81:26 | After ... == ... [true] | Finally.cs:82:21:82:27 | Before return ...; | | +| Finally.cs:81:21:81:26 | Before ... == ... | Finally.cs:81:21:81:21 | access to local variable i | | | Finally.cs:81:26:81:26 | 0 | Finally.cs:81:21:81:26 | ... == ... | | +| Finally.cs:82:21:82:27 | Before return ...; | Finally.cs:82:21:82:27 | return ...; | | | Finally.cs:82:21:82:27 | return ...; | Finally.cs:89:13:99:13 | {...} | return | -| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:21:83:21 | access to local variable i | | +| Finally.cs:83:17:84:29 | After if (...) ... | Finally.cs:85:17:86:26 | if (...) ... | | +| Finally.cs:83:17:84:29 | if (...) ... | Finally.cs:83:21:83:26 | Before ... == ... | | | Finally.cs:83:21:83:21 | access to local variable i | Finally.cs:83:26:83:26 | 1 | | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:84:21:84:29 | continue; | true | -| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:85:17:86:26 | if (...) ... | false | +| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | After ... == ... [false] | false | +| Finally.cs:83:21:83:26 | ... == ... | Finally.cs:83:21:83:26 | After ... == ... [true] | true | +| Finally.cs:83:21:83:26 | After ... == ... [false] | Finally.cs:83:17:84:29 | After if (...) ... | | +| Finally.cs:83:21:83:26 | After ... == ... [true] | Finally.cs:84:21:84:29 | Before continue; | | +| Finally.cs:83:21:83:26 | Before ... == ... | Finally.cs:83:21:83:21 | access to local variable i | | | Finally.cs:83:26:83:26 | 1 | Finally.cs:83:21:83:26 | ... == ... | | +| Finally.cs:84:21:84:29 | Before continue; | Finally.cs:84:21:84:29 | continue; | | | Finally.cs:84:21:84:29 | continue; | Finally.cs:89:13:99:13 | {...} | continue | -| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:21:85:21 | access to local variable i | | +| Finally.cs:85:17:86:26 | After if (...) ... | Finally.cs:80:13:87:13 | After {...} | | +| Finally.cs:85:17:86:26 | if (...) ... | Finally.cs:85:21:85:26 | Before ... == ... | | | Finally.cs:85:21:85:21 | access to local variable i | Finally.cs:85:26:85:26 | 2 | | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:86:21:86:26 | break; | true | -| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:89:13:99:13 | {...} | false | +| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | After ... == ... [false] | false | +| Finally.cs:85:21:85:26 | ... == ... | Finally.cs:85:21:85:26 | After ... == ... [true] | true | +| Finally.cs:85:21:85:26 | After ... == ... [false] | Finally.cs:85:17:86:26 | After if (...) ... | | +| Finally.cs:85:21:85:26 | After ... == ... [true] | Finally.cs:86:21:86:26 | Before break; | | +| Finally.cs:85:21:85:26 | Before ... == ... | Finally.cs:85:21:85:21 | access to local variable i | | | Finally.cs:85:26:85:26 | 2 | Finally.cs:85:21:85:26 | ... == ... | | +| Finally.cs:86:21:86:26 | Before break; | Finally.cs:86:21:86:26 | break; | | | Finally.cs:86:21:86:26 | break; | Finally.cs:89:13:99:13 | {...} | break | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:74:10:74:11 | Normal Exit | return | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:77:9:100:9 | After while (...) ... | break | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:77:9:100:9 | [LoopHeader] while (...) ... | continue | +| Finally.cs:89:13:99:13 | After {...} | Finally.cs:79:13:99:13 | After try {...} ... | | | Finally.cs:89:13:99:13 | {...} | Finally.cs:90:17:98:17 | try {...} ... | | +| Finally.cs:90:17:98:17 | After try {...} ... | Finally.cs:89:13:99:13 | After {...} | | | Finally.cs:90:17:98:17 | try {...} ... | Finally.cs:91:17:94:17 | {...} | | +| Finally.cs:91:17:94:17 | After {...} | Finally.cs:96:17:98:17 | {...} | | | Finally.cs:91:17:94:17 | {...} | Finally.cs:92:21:93:46 | if (...) ... | | -| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:92:25:92:25 | access to local variable i | | +| Finally.cs:92:21:93:46 | After if (...) ... | Finally.cs:91:17:94:17 | After {...} | | +| Finally.cs:92:21:93:46 | if (...) ... | Finally.cs:92:25:92:30 | Before ... == ... | | | Finally.cs:92:25:92:25 | access to local variable i | Finally.cs:92:30:92:30 | 3 | | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:93:31:93:45 | object creation of type Exception | true | -| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:96:17:98:17 | {...} | false | +| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | After ... == ... [false] | false | +| Finally.cs:92:25:92:30 | ... == ... | Finally.cs:92:25:92:30 | After ... == ... [true] | true | +| Finally.cs:92:25:92:30 | After ... == ... [false] | Finally.cs:92:21:93:46 | After if (...) ... | | +| Finally.cs:92:25:92:30 | After ... == ... [true] | Finally.cs:93:25:93:46 | Before throw ...; | | +| Finally.cs:92:25:92:30 | Before ... == ... | Finally.cs:92:25:92:25 | access to local variable i | | | Finally.cs:92:30:92:30 | 3 | Finally.cs:92:25:92:30 | ... == ... | | +| Finally.cs:93:25:93:46 | Before throw ...; | Finally.cs:93:31:93:45 | Before object creation of type Exception | | | Finally.cs:93:25:93:46 | throw ...; | Finally.cs:96:17:98:17 | {...} | exception | -| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:25:93:46 | throw ...; | | +| Finally.cs:93:31:93:45 | After object creation of type Exception | Finally.cs:93:25:93:46 | throw ...; | | +| Finally.cs:93:31:93:45 | Before object creation of type Exception | Finally.cs:93:31:93:45 | object creation of type Exception | | +| Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:93:31:93:45 | After object creation of type Exception | | | Finally.cs:93:31:93:45 | object creation of type Exception | Finally.cs:96:17:98:17 | {...} | exception | +| Finally.cs:96:17:98:17 | After {...} | Finally.cs:74:10:74:11 | Exceptional Exit | exception | +| Finally.cs:96:17:98:17 | After {...} | Finally.cs:90:17:98:17 | After try {...} ... | | | Finally.cs:96:17:98:17 | {...} | Finally.cs:97:21:97:24 | ...; | | | Finally.cs:97:21:97:21 | access to local variable i | Finally.cs:97:21:97:23 | ...-- | | -| Finally.cs:97:21:97:23 | ...-- | Finally.cs:74:10:74:11 | exit M4 (abnormal) | exception | -| Finally.cs:97:21:97:23 | ...-- | Finally.cs:74:10:74:11 | exit M4 (normal) | break, return | -| Finally.cs:97:21:97:23 | ...-- | Finally.cs:77:16:77:16 | access to local variable i | , continue | -| Finally.cs:97:21:97:24 | ...; | Finally.cs:97:21:97:21 | access to local variable i | | -| Finally.cs:103:10:103:11 | enter M5 | Finally.cs:104:5:119:5 | {...} | | -| Finally.cs:103:10:103:11 | exit M5 (abnormal) | Finally.cs:103:10:103:11 | exit M5 | | -| Finally.cs:103:10:103:11 | exit M5 (normal) | Finally.cs:103:10:103:11 | exit M5 | | +| Finally.cs:97:21:97:23 | ...-- | Finally.cs:97:21:97:23 | After ...-- | | +| Finally.cs:97:21:97:23 | After ...-- | Finally.cs:97:21:97:24 | After ...; | | +| Finally.cs:97:21:97:23 | Before ...-- | Finally.cs:97:21:97:21 | access to local variable i | | +| Finally.cs:97:21:97:24 | ...; | Finally.cs:97:21:97:23 | Before ...-- | | +| Finally.cs:97:21:97:24 | After ...; | Finally.cs:96:17:98:17 | After {...} | | +| Finally.cs:103:10:103:11 | Entry | Finally.cs:104:5:119:5 | {...} | | +| Finally.cs:103:10:103:11 | Exceptional Exit | Finally.cs:103:10:103:11 | Exit | | +| Finally.cs:103:10:103:11 | Normal Exit | Finally.cs:103:10:103:11 | Exit | | +| Finally.cs:104:5:119:5 | After {...} | Finally.cs:103:10:103:11 | Normal Exit | | | Finally.cs:104:5:119:5 | {...} | Finally.cs:105:9:118:9 | try {...} ... | | +| Finally.cs:105:9:118:9 | After try {...} ... | Finally.cs:104:5:119:5 | After {...} | | | Finally.cs:105:9:118:9 | try {...} ... | Finally.cs:106:9:111:9 | {...} | | +| Finally.cs:106:9:111:9 | After {...} | Finally.cs:113:9:118:9 | {...} | | | Finally.cs:106:9:111:9 | {...} | Finally.cs:107:13:108:23 | if (...) ... | | -| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:21 | this access | | -| Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:28 | access to property Length | | +| Finally.cs:107:13:108:23 | After if (...) ... | Finally.cs:109:13:110:49 | if (...) ... | | +| Finally.cs:107:13:108:23 | if (...) ... | Finally.cs:107:17:107:33 | Before ... == ... | | +| Finally.cs:107:17:107:21 | After access to field Field | Finally.cs:107:17:107:28 | access to property Length | | +| Finally.cs:107:17:107:21 | Before access to field Field | Finally.cs:107:17:107:21 | this access | | +| Finally.cs:107:17:107:21 | access to field Field | Finally.cs:107:17:107:21 | After access to field Field | | | Finally.cs:107:17:107:21 | access to field Field | Finally.cs:113:9:118:9 | {...} | exception | | Finally.cs:107:17:107:21 | this access | Finally.cs:107:17:107:21 | access to field Field | | -| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:33:107:33 | 0 | | +| Finally.cs:107:17:107:28 | After access to property Length | Finally.cs:107:33:107:33 | 0 | | +| Finally.cs:107:17:107:28 | Before access to property Length | Finally.cs:107:17:107:21 | Before access to field Field | | +| Finally.cs:107:17:107:28 | access to property Length | Finally.cs:107:17:107:28 | After access to property Length | | | Finally.cs:107:17:107:28 | access to property Length | Finally.cs:113:9:118:9 | {...} | exception | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:108:17:108:23 | return ...; | true | -| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:109:13:110:49 | if (...) ... | false | +| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | After ... == ... [false] | false | +| Finally.cs:107:17:107:33 | ... == ... | Finally.cs:107:17:107:33 | After ... == ... [true] | true | +| Finally.cs:107:17:107:33 | After ... == ... [false] | Finally.cs:107:13:108:23 | After if (...) ... | | +| Finally.cs:107:17:107:33 | After ... == ... [true] | Finally.cs:108:17:108:23 | Before return ...; | | +| Finally.cs:107:17:107:33 | Before ... == ... | Finally.cs:107:17:107:28 | Before access to property Length | | | Finally.cs:107:33:107:33 | 0 | Finally.cs:107:17:107:33 | ... == ... | | +| Finally.cs:108:17:108:23 | Before return ...; | Finally.cs:108:17:108:23 | return ...; | | | Finally.cs:108:17:108:23 | return ...; | Finally.cs:113:9:118:9 | {...} | return | -| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:21 | this access | | -| Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:28 | access to property Length | | +| Finally.cs:109:13:110:49 | After if (...) ... | Finally.cs:106:9:111:9 | After {...} | | +| Finally.cs:109:13:110:49 | if (...) ... | Finally.cs:109:17:109:33 | Before ... == ... | | +| Finally.cs:109:17:109:21 | After access to field Field | Finally.cs:109:17:109:28 | access to property Length | | +| Finally.cs:109:17:109:21 | Before access to field Field | Finally.cs:109:17:109:21 | this access | | +| Finally.cs:109:17:109:21 | access to field Field | Finally.cs:109:17:109:21 | After access to field Field | | | Finally.cs:109:17:109:21 | access to field Field | Finally.cs:113:9:118:9 | {...} | exception | | Finally.cs:109:17:109:21 | this access | Finally.cs:109:17:109:21 | access to field Field | | -| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:33:109:33 | 1 | | +| Finally.cs:109:17:109:28 | After access to property Length | Finally.cs:109:33:109:33 | 1 | | +| Finally.cs:109:17:109:28 | Before access to property Length | Finally.cs:109:17:109:21 | Before access to field Field | | +| Finally.cs:109:17:109:28 | access to property Length | Finally.cs:109:17:109:28 | After access to property Length | | | Finally.cs:109:17:109:28 | access to property Length | Finally.cs:113:9:118:9 | {...} | exception | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | true | -| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:113:9:118:9 | {...} | false | +| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | After ... == ... [false] | false | +| Finally.cs:109:17:109:33 | ... == ... | Finally.cs:109:17:109:33 | After ... == ... [true] | true | +| Finally.cs:109:17:109:33 | After ... == ... [false] | Finally.cs:109:13:110:49 | After if (...) ... | | +| Finally.cs:109:17:109:33 | After ... == ... [true] | Finally.cs:110:17:110:49 | Before throw ...; | | +| Finally.cs:109:17:109:33 | Before ... == ... | Finally.cs:109:17:109:28 | Before access to property Length | | | Finally.cs:109:33:109:33 | 1 | Finally.cs:109:17:109:33 | ... == ... | | +| Finally.cs:110:17:110:49 | Before throw ...; | Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | | | Finally.cs:110:17:110:49 | throw ...; | Finally.cs:113:9:118:9 | {...} | exception | -| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | throw ...; | | +| Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | Finally.cs:110:17:110:49 | throw ...; | | +| Finally.cs:110:23:110:48 | Before object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | | +| Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:110:23:110:48 | After object creation of type OutOfMemoryException | | | Finally.cs:110:23:110:48 | object creation of type OutOfMemoryException | Finally.cs:113:9:118:9 | {...} | exception | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:103:10:103:11 | Exceptional Exit | exception | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:103:10:103:11 | Normal Exit | return | +| Finally.cs:113:9:118:9 | After {...} | Finally.cs:105:9:118:9 | After try {...} ... | | | Finally.cs:113:9:118:9 | {...} | Finally.cs:114:13:115:41 | if (...) ... | | -| Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:114:19:114:23 | this access | | -| Finally.cs:114:17:114:36 | [false] !... | Finally.cs:116:13:117:37 | if (...) ... | false | -| Finally.cs:114:17:114:36 | [true] !... | Finally.cs:115:17:115:41 | ...; | true | -| Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:30 | access to property Length | | +| Finally.cs:114:13:115:41 | After if (...) ... | Finally.cs:116:13:117:37 | if (...) ... | | +| Finally.cs:114:13:115:41 | if (...) ... | Finally.cs:114:17:114:36 | !... | | +| Finally.cs:114:17:114:36 | !... | Finally.cs:114:19:114:35 | Before ... == ... | | +| Finally.cs:114:17:114:36 | After !... [false] | Finally.cs:114:13:115:41 | After if (...) ... | | +| Finally.cs:114:17:114:36 | After !... [true] | Finally.cs:115:17:115:41 | ...; | | +| Finally.cs:114:19:114:23 | After access to field Field | Finally.cs:114:19:114:30 | access to property Length | | +| Finally.cs:114:19:114:23 | Before access to field Field | Finally.cs:114:19:114:23 | this access | | +| Finally.cs:114:19:114:23 | access to field Field | Finally.cs:114:19:114:23 | After access to field Field | | | Finally.cs:114:19:114:23 | this access | Finally.cs:114:19:114:23 | access to field Field | | -| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:35:114:35 | 0 | | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:17:114:36 | [false] !... | true | -| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:17:114:36 | [true] !... | false | +| Finally.cs:114:19:114:30 | After access to property Length | Finally.cs:114:35:114:35 | 0 | | +| Finally.cs:114:19:114:30 | Before access to property Length | Finally.cs:114:19:114:23 | Before access to field Field | | +| Finally.cs:114:19:114:30 | access to property Length | Finally.cs:114:19:114:30 | After access to property Length | | +| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | After ... == ... [false] | false | +| Finally.cs:114:19:114:35 | ... == ... | Finally.cs:114:19:114:35 | After ... == ... [true] | true | +| Finally.cs:114:19:114:35 | After ... == ... [false] | Finally.cs:114:17:114:36 | After !... [true] | true | +| Finally.cs:114:19:114:35 | After ... == ... [true] | Finally.cs:114:17:114:36 | After !... [false] | false | +| Finally.cs:114:19:114:35 | Before ... == ... | Finally.cs:114:19:114:30 | Before access to property Length | | | Finally.cs:114:35:114:35 | 0 | Finally.cs:114:19:114:35 | ... == ... | | -| Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:116:13:117:37 | if (...) ... | | -| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:35:115:39 | this access | | -| Finally.cs:115:35:115:39 | access to field Field | Finally.cs:115:17:115:40 | call to method WriteLine | | +| Finally.cs:115:17:115:40 | After call to method WriteLine | Finally.cs:115:17:115:41 | After ...; | | +| Finally.cs:115:17:115:40 | Before call to method WriteLine | Finally.cs:115:35:115:39 | Before access to field Field | | +| Finally.cs:115:17:115:40 | call to method WriteLine | Finally.cs:115:17:115:40 | After call to method WriteLine | | +| Finally.cs:115:17:115:41 | ...; | Finally.cs:115:17:115:40 | Before call to method WriteLine | | +| Finally.cs:115:17:115:41 | After ...; | Finally.cs:114:13:115:41 | After if (...) ... | | +| Finally.cs:115:35:115:39 | After access to field Field | Finally.cs:115:17:115:40 | call to method WriteLine | | +| Finally.cs:115:35:115:39 | Before access to field Field | Finally.cs:115:35:115:39 | this access | | +| Finally.cs:115:35:115:39 | access to field Field | Finally.cs:115:35:115:39 | After access to field Field | | | Finally.cs:115:35:115:39 | this access | Finally.cs:115:35:115:39 | access to field Field | | -| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:17:116:21 | this access | | -| Finally.cs:116:17:116:21 | access to field Field | Finally.cs:116:17:116:28 | access to property Length | | +| Finally.cs:116:13:117:37 | After if (...) ... | Finally.cs:113:9:118:9 | After {...} | | +| Finally.cs:116:13:117:37 | if (...) ... | Finally.cs:116:17:116:32 | Before ... > ... | | +| Finally.cs:116:17:116:21 | After access to field Field | Finally.cs:116:17:116:28 | access to property Length | | +| Finally.cs:116:17:116:21 | Before access to field Field | Finally.cs:116:17:116:21 | this access | | +| Finally.cs:116:17:116:21 | access to field Field | Finally.cs:116:17:116:21 | After access to field Field | | | Finally.cs:116:17:116:21 | this access | Finally.cs:116:17:116:21 | access to field Field | | -| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:32:116:32 | 0 | | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:103:10:103:11 | exit M5 (abnormal) | exception | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:103:10:103:11 | exit M5 (normal) | false, return | -| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:117:17:117:37 | ...; | true | +| Finally.cs:116:17:116:28 | After access to property Length | Finally.cs:116:32:116:32 | 0 | | +| Finally.cs:116:17:116:28 | Before access to property Length | Finally.cs:116:17:116:21 | Before access to field Field | | +| Finally.cs:116:17:116:28 | access to property Length | Finally.cs:116:17:116:28 | After access to property Length | | +| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | After ... > ... [false] | false | +| Finally.cs:116:17:116:32 | ... > ... | Finally.cs:116:17:116:32 | After ... > ... [true] | true | +| Finally.cs:116:17:116:32 | After ... > ... [false] | Finally.cs:116:13:117:37 | After if (...) ... | | +| Finally.cs:116:17:116:32 | After ... > ... [true] | Finally.cs:117:17:117:37 | ...; | | +| Finally.cs:116:17:116:32 | Before ... > ... | Finally.cs:116:17:116:28 | Before access to property Length | | | Finally.cs:116:32:116:32 | 0 | Finally.cs:116:17:116:32 | ... > ... | | -| Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:103:10:103:11 | exit M5 (abnormal) | exception | -| Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:103:10:103:11 | exit M5 (normal) | , return | -| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:35:117:35 | 1 | | +| Finally.cs:117:17:117:36 | After call to method WriteLine | Finally.cs:117:17:117:37 | After ...; | | +| Finally.cs:117:17:117:36 | Before call to method WriteLine | Finally.cs:117:35:117:35 | 1 | | +| Finally.cs:117:17:117:36 | call to method WriteLine | Finally.cs:117:17:117:36 | After call to method WriteLine | | +| Finally.cs:117:17:117:37 | ...; | Finally.cs:117:17:117:36 | Before call to method WriteLine | | +| Finally.cs:117:17:117:37 | After ...; | Finally.cs:116:13:117:37 | After if (...) ... | | | Finally.cs:117:35:117:35 | 1 | Finally.cs:117:17:117:36 | call to method WriteLine | | -| Finally.cs:121:10:121:11 | enter M6 | Finally.cs:122:5:131:5 | {...} | | -| Finally.cs:121:10:121:11 | exit M6 (normal) | Finally.cs:121:10:121:11 | exit M6 | | +| Finally.cs:121:10:121:11 | Entry | Finally.cs:122:5:131:5 | {...} | | +| Finally.cs:121:10:121:11 | Normal Exit | Finally.cs:121:10:121:11 | Exit | | +| Finally.cs:122:5:131:5 | After {...} | Finally.cs:121:10:121:11 | Normal Exit | | | Finally.cs:122:5:131:5 | {...} | Finally.cs:123:9:130:9 | try {...} ... | | +| Finally.cs:123:9:130:9 | After try {...} ... | Finally.cs:122:5:131:5 | After {...} | | | Finally.cs:123:9:130:9 | try {...} ... | Finally.cs:124:9:126:9 | {...} | | +| Finally.cs:124:9:126:9 | After {...} | Finally.cs:123:9:130:9 | After try {...} ... | | | Finally.cs:124:9:126:9 | {...} | Finally.cs:125:13:125:41 | ... ...; | | -| Finally.cs:125:13:125:41 | ... ...; | Finally.cs:125:24:125:24 | 0 | | -| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:121:10:121:11 | exit M6 (normal) | | +| Finally.cs:125:13:125:41 | ... ...; | Finally.cs:125:17:125:40 | Before Double temp = ... | | +| Finally.cs:125:13:125:41 | After ... ...; | Finally.cs:124:9:126:9 | After {...} | | +| Finally.cs:125:17:125:20 | access to local variable temp | Finally.cs:125:24:125:40 | Before ... / ... | | +| Finally.cs:125:17:125:40 | After Double temp = ... | Finally.cs:125:13:125:41 | After ... ...; | | +| Finally.cs:125:17:125:40 | Before Double temp = ... | Finally.cs:125:17:125:20 | access to local variable temp | | +| Finally.cs:125:17:125:40 | Double temp = ... | Finally.cs:125:17:125:40 | After Double temp = ... | | | Finally.cs:125:24:125:24 | 0 | Finally.cs:125:24:125:24 | (...) ... | | -| Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:28:125:40 | access to constant E | | -| Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:17:125:40 | Double temp = ... | | +| Finally.cs:125:24:125:24 | (...) ... | Finally.cs:125:24:125:24 | After (...) ... | | +| Finally.cs:125:24:125:24 | After (...) ... | Finally.cs:125:28:125:40 | access to constant E | | +| Finally.cs:125:24:125:24 | Before (...) ... | Finally.cs:125:24:125:24 | 0 | | +| Finally.cs:125:24:125:40 | ... / ... | Finally.cs:125:24:125:40 | After ... / ... | | +| Finally.cs:125:24:125:40 | After ... / ... | Finally.cs:125:17:125:40 | Double temp = ... | | +| Finally.cs:125:24:125:40 | Before ... / ... | Finally.cs:125:24:125:24 | Before (...) ... | | | Finally.cs:125:28:125:40 | access to constant E | Finally.cs:125:24:125:40 | ... / ... | | -| Finally.cs:133:10:133:11 | enter M7 | Finally.cs:134:5:145:5 | {...} | | -| Finally.cs:133:10:133:11 | exit M7 (abnormal) | Finally.cs:133:10:133:11 | exit M7 | | +| Finally.cs:133:10:133:11 | Entry | Finally.cs:134:5:145:5 | {...} | | +| Finally.cs:133:10:133:11 | Exceptional Exit | Finally.cs:133:10:133:11 | Exit | | | Finally.cs:134:5:145:5 | {...} | Finally.cs:135:9:143:9 | try {...} ... | | | Finally.cs:135:9:143:9 | try {...} ... | Finally.cs:136:9:138:9 | {...} | | +| Finally.cs:136:9:138:9 | After {...} | Finally.cs:140:9:143:9 | {...} | | | Finally.cs:136:9:138:9 | {...} | Finally.cs:137:13:137:37 | ...; | | -| Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:140:9:143:9 | {...} | , exception | -| Finally.cs:137:13:137:37 | ...; | Finally.cs:137:31:137:35 | "Try" | | +| Finally.cs:137:13:137:36 | After call to method WriteLine | Finally.cs:137:13:137:37 | After ...; | | +| Finally.cs:137:13:137:36 | Before call to method WriteLine | Finally.cs:137:31:137:35 | "Try" | | +| Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:137:13:137:36 | After call to method WriteLine | | +| Finally.cs:137:13:137:36 | call to method WriteLine | Finally.cs:140:9:143:9 | {...} | exception | +| Finally.cs:137:13:137:37 | ...; | Finally.cs:137:13:137:36 | Before call to method WriteLine | | +| Finally.cs:137:13:137:37 | After ...; | Finally.cs:136:9:138:9 | After {...} | | | Finally.cs:137:31:137:35 | "Try" | Finally.cs:137:13:137:36 | call to method WriteLine | | -| Finally.cs:140:9:143:9 | {...} | Finally.cs:141:41:141:42 | "" | | -| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:133:10:133:11 | exit M7 (abnormal) | exception | -| Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:13:141:44 | throw ...; | | +| Finally.cs:140:9:143:9 | {...} | Finally.cs:141:13:141:44 | Before throw ...; | | +| Finally.cs:141:13:141:44 | Before throw ...; | Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | | +| Finally.cs:141:13:141:44 | throw ...; | Finally.cs:133:10:133:11 | Exceptional Exit | exception | +| Finally.cs:141:19:141:43 | After object creation of type ArgumentException | Finally.cs:141:13:141:44 | throw ...; | | +| Finally.cs:141:19:141:43 | Before object creation of type ArgumentException | Finally.cs:141:41:141:42 | "" | | +| Finally.cs:141:19:141:43 | object creation of type ArgumentException | Finally.cs:141:19:141:43 | After object creation of type ArgumentException | | | Finally.cs:141:41:141:42 | "" | Finally.cs:141:19:141:43 | object creation of type ArgumentException | | -| Finally.cs:147:10:147:11 | enter M8 | Finally.cs:148:5:170:5 | {...} | | -| Finally.cs:147:10:147:11 | exit M8 (abnormal) | Finally.cs:147:10:147:11 | exit M8 | | -| Finally.cs:147:10:147:11 | exit M8 (normal) | Finally.cs:147:10:147:11 | exit M8 | | +| Finally.cs:147:10:147:11 | Entry | Finally.cs:148:5:170:5 | {...} | | +| Finally.cs:147:10:147:11 | Exceptional Exit | Finally.cs:147:10:147:11 | Exit | | +| Finally.cs:147:10:147:11 | Normal Exit | Finally.cs:147:10:147:11 | Exit | | +| Finally.cs:148:5:170:5 | After {...} | Finally.cs:147:10:147:11 | Normal Exit | | | Finally.cs:148:5:170:5 | {...} | Finally.cs:149:9:169:9 | try {...} ... | | +| Finally.cs:149:9:169:9 | After try {...} ... | Finally.cs:148:5:170:5 | After {...} | | | Finally.cs:149:9:169:9 | try {...} ... | Finally.cs:150:9:153:9 | {...} | | +| Finally.cs:150:9:153:9 | After {...} | Finally.cs:155:9:169:9 | {...} | | | Finally.cs:150:9:153:9 | {...} | Finally.cs:151:13:152:50 | if (...) ... | | -| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:151:17:151:20 | access to parameter args | | +| Finally.cs:151:13:152:50 | After if (...) ... | Finally.cs:150:9:153:9 | After {...} | | +| Finally.cs:151:13:152:50 | if (...) ... | Finally.cs:151:17:151:28 | Before ... == ... | | | Finally.cs:151:17:151:20 | access to parameter args | Finally.cs:151:25:151:28 | null | | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | true | -| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:155:9:169:9 | {...} | false | +| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | After ... == ... [false] | false | +| Finally.cs:151:17:151:28 | ... == ... | Finally.cs:151:17:151:28 | After ... == ... [true] | true | +| Finally.cs:151:17:151:28 | After ... == ... [false] | Finally.cs:151:13:152:50 | After if (...) ... | | +| Finally.cs:151:17:151:28 | After ... == ... [true] | Finally.cs:152:17:152:50 | Before throw ...; | | +| Finally.cs:151:17:151:28 | Before ... == ... | Finally.cs:151:17:151:20 | access to parameter args | | | Finally.cs:151:25:151:28 | null | Finally.cs:151:17:151:28 | ... == ... | | +| Finally.cs:152:17:152:50 | Before throw ...; | Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | | | Finally.cs:152:17:152:50 | throw ...; | Finally.cs:155:9:169:9 | {...} | exception | -| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | throw ...; | | +| Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | Finally.cs:152:17:152:50 | throw ...; | | +| Finally.cs:152:23:152:49 | Before object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | | +| Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:152:23:152:49 | After object creation of type ArgumentNullException | | | Finally.cs:152:23:152:49 | object creation of type ArgumentNullException | Finally.cs:155:9:169:9 | {...} | exception | +| Finally.cs:155:9:169:9 | After {...} | Finally.cs:147:10:147:11 | Exceptional Exit | exception | +| Finally.cs:155:9:169:9 | After {...} | Finally.cs:149:9:169:9 | After try {...} ... | | | Finally.cs:155:9:169:9 | {...} | Finally.cs:156:13:168:13 | try {...} ... | | +| Finally.cs:156:13:168:13 | After try {...} ... | Finally.cs:155:9:169:9 | After {...} | | | Finally.cs:156:13:168:13 | try {...} ... | Finally.cs:157:13:160:13 | {...} | | +| Finally.cs:157:13:160:13 | After {...} | Finally.cs:156:13:168:13 | After try {...} ... | | | Finally.cs:157:13:160:13 | {...} | Finally.cs:158:17:159:45 | if (...) ... | | -| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:24 | access to parameter args | | +| Finally.cs:158:17:159:45 | After if (...) ... | Finally.cs:157:13:160:13 | After {...} | | +| Finally.cs:158:17:159:45 | if (...) ... | Finally.cs:158:21:158:36 | Before ... == ... | | | Finally.cs:158:21:158:24 | access to parameter args | Finally.cs:158:21:158:31 | access to property Length | | -| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:36:158:36 | 1 | | +| Finally.cs:158:21:158:31 | After access to property Length | Finally.cs:158:36:158:36 | 1 | | +| Finally.cs:158:21:158:31 | Before access to property Length | Finally.cs:158:21:158:24 | access to parameter args | | +| Finally.cs:158:21:158:31 | access to property Length | Finally.cs:158:21:158:31 | After access to property Length | | | Finally.cs:158:21:158:31 | access to property Length | Finally.cs:161:13:164:13 | catch (...) {...} | exception | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:147:10:147:11 | exit M8 (abnormal) | exception | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:147:10:147:11 | exit M8 (normal) | false | -| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:159:41:159:43 | "1" | true | +| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | After ... == ... [false] | false | +| Finally.cs:158:21:158:36 | ... == ... | Finally.cs:158:21:158:36 | After ... == ... [true] | true | +| Finally.cs:158:21:158:36 | After ... == ... [false] | Finally.cs:158:17:159:45 | After if (...) ... | | +| Finally.cs:158:21:158:36 | After ... == ... [true] | Finally.cs:159:21:159:45 | Before throw ...; | | +| Finally.cs:158:21:158:36 | Before ... == ... | Finally.cs:158:21:158:31 | Before access to property Length | | | Finally.cs:158:36:158:36 | 1 | Finally.cs:158:21:158:36 | ... == ... | | +| Finally.cs:159:21:159:45 | Before throw ...; | Finally.cs:159:27:159:44 | Before object creation of type Exception | | | Finally.cs:159:21:159:45 | throw ...; | Finally.cs:161:13:164:13 | catch (...) {...} | exception | -| Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:21:159:45 | throw ...; | | +| Finally.cs:159:27:159:44 | After object creation of type Exception | Finally.cs:159:21:159:45 | throw ...; | | +| Finally.cs:159:27:159:44 | Before object creation of type Exception | Finally.cs:159:41:159:43 | "1" | | +| Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:159:27:159:44 | After object creation of type Exception | | | Finally.cs:159:27:159:44 | object creation of type Exception | Finally.cs:161:13:164:13 | catch (...) {...} | exception | | Finally.cs:159:41:159:43 | "1" | Finally.cs:159:27:159:44 | object creation of type Exception | | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:30:161:30 | Exception e | match | -| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:165:13:168:13 | catch {...} | no-match | -| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:39:161:39 | access to local variable e | | +| Finally.cs:161:13:164:13 | After catch (...) {...} [match] | Finally.cs:161:30:161:30 | Exception e | | +| Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | Finally.cs:165:13:168:13 | catch {...} | | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [match] | match | +| Finally.cs:161:13:164:13 | catch (...) {...} | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | no-match | +| Finally.cs:161:30:161:30 | Exception e | Finally.cs:161:39:161:54 | Before ... == ... | | | Finally.cs:161:39:161:39 | access to local variable e | Finally.cs:161:39:161:47 | access to property Message | | -| Finally.cs:161:39:161:47 | access to property Message | Finally.cs:161:52:161:54 | "1" | | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:162:13:164:13 | {...} | true | -| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:165:13:168:13 | catch {...} | false | +| Finally.cs:161:39:161:47 | After access to property Message | Finally.cs:161:52:161:54 | "1" | | +| Finally.cs:161:39:161:47 | Before access to property Message | Finally.cs:161:39:161:39 | access to local variable e | | +| Finally.cs:161:39:161:47 | access to property Message | Finally.cs:161:39:161:47 | After access to property Message | | +| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | After ... == ... [false] | false | +| Finally.cs:161:39:161:54 | ... == ... | Finally.cs:161:39:161:54 | After ... == ... [true] | true | +| Finally.cs:161:39:161:54 | After ... == ... [false] | Finally.cs:161:13:164:13 | After catch (...) {...} [no-match] | no-match | +| Finally.cs:161:39:161:54 | After ... == ... [true] | Finally.cs:162:13:164:13 | {...} | | +| Finally.cs:161:39:161:54 | Before ... == ... | Finally.cs:161:39:161:47 | Before access to property Message | | | Finally.cs:161:52:161:54 | "1" | Finally.cs:161:39:161:54 | ... == ... | | +| Finally.cs:162:13:164:13 | After {...} | Finally.cs:156:13:168:13 | After try {...} ... | | | Finally.cs:162:13:164:13 | {...} | Finally.cs:163:17:163:43 | ...; | | -| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:147:10:147:11 | exit M8 (abnormal) | exception | -| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:147:10:147:11 | exit M8 (normal) | | -| Finally.cs:163:17:163:43 | ...; | Finally.cs:163:35:163:38 | access to parameter args | | +| Finally.cs:163:17:163:42 | After call to method WriteLine | Finally.cs:163:17:163:43 | After ...; | | +| Finally.cs:163:17:163:42 | Before call to method WriteLine | Finally.cs:163:35:163:41 | Before access to array element | | +| Finally.cs:163:17:163:42 | call to method WriteLine | Finally.cs:163:17:163:42 | After call to method WriteLine | | +| Finally.cs:163:17:163:43 | ...; | Finally.cs:163:17:163:42 | Before call to method WriteLine | | +| Finally.cs:163:17:163:43 | After ...; | Finally.cs:162:13:164:13 | After {...} | | | Finally.cs:163:35:163:38 | access to parameter args | Finally.cs:163:40:163:40 | 0 | | -| Finally.cs:163:35:163:41 | access to array element | Finally.cs:163:17:163:42 | call to method WriteLine | | +| Finally.cs:163:35:163:41 | After access to array element | Finally.cs:163:17:163:42 | call to method WriteLine | | +| Finally.cs:163:35:163:41 | Before access to array element | Finally.cs:163:35:163:38 | access to parameter args | | +| Finally.cs:163:35:163:41 | access to array element | Finally.cs:163:35:163:41 | After access to array element | | | Finally.cs:163:40:163:40 | 0 | Finally.cs:163:35:163:41 | access to array element | | -| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:166:13:168:13 | {...} | | +| Finally.cs:165:13:168:13 | After catch {...} [match] | Finally.cs:166:13:168:13 | {...} | | +| Finally.cs:165:13:168:13 | catch {...} | Finally.cs:165:13:168:13 | After catch {...} [match] | match | +| Finally.cs:166:13:168:13 | After {...} | Finally.cs:156:13:168:13 | After try {...} ... | | | Finally.cs:166:13:168:13 | {...} | Finally.cs:167:17:167:38 | ...; | | -| Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:147:10:147:11 | exit M8 (abnormal) | exception | -| Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:147:10:147:11 | exit M8 (normal) | | -| Finally.cs:167:17:167:38 | ...; | Finally.cs:167:35:167:36 | "" | | +| Finally.cs:167:17:167:37 | After call to method WriteLine | Finally.cs:167:17:167:38 | After ...; | | +| Finally.cs:167:17:167:37 | Before call to method WriteLine | Finally.cs:167:35:167:36 | "" | | +| Finally.cs:167:17:167:37 | call to method WriteLine | Finally.cs:167:17:167:37 | After call to method WriteLine | | +| Finally.cs:167:17:167:38 | ...; | Finally.cs:167:17:167:37 | Before call to method WriteLine | | +| Finally.cs:167:17:167:38 | After ...; | Finally.cs:166:13:168:13 | After {...} | | | Finally.cs:167:35:167:36 | "" | Finally.cs:167:17:167:37 | call to method WriteLine | | -| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | {...} | | -| Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | call to constructor Exception | | -| Finally.cs:172:11:172:20 | enter ExceptionA | Finally.cs:172:11:172:20 | this access | | -| Finally.cs:172:11:172:20 | exit ExceptionA (normal) | Finally.cs:172:11:172:20 | exit ExceptionA | | +| Finally.cs:172:11:172:20 | After call to constructor Exception | Finally.cs:172:11:172:20 | {...} | | +| Finally.cs:172:11:172:20 | After call to method | Finally.cs:172:11:172:20 | Before call to constructor Exception | | +| Finally.cs:172:11:172:20 | Before call to constructor Exception | Finally.cs:172:11:172:20 | call to constructor Exception | | +| Finally.cs:172:11:172:20 | Before call to method | Finally.cs:172:11:172:20 | this access | | +| Finally.cs:172:11:172:20 | Entry | Finally.cs:172:11:172:20 | Before call to method | | +| Finally.cs:172:11:172:20 | Normal Exit | Finally.cs:172:11:172:20 | Exit | | +| Finally.cs:172:11:172:20 | call to constructor Exception | Finally.cs:172:11:172:20 | After call to constructor Exception | | +| Finally.cs:172:11:172:20 | call to method | Finally.cs:172:11:172:20 | After call to method | | | Finally.cs:172:11:172:20 | this access | Finally.cs:172:11:172:20 | call to method | | -| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | exit ExceptionA (normal) | | -| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | {...} | | -| Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | call to constructor Exception | | -| Finally.cs:173:11:173:20 | enter ExceptionB | Finally.cs:173:11:173:20 | this access | | -| Finally.cs:173:11:173:20 | exit ExceptionB (normal) | Finally.cs:173:11:173:20 | exit ExceptionB | | +| Finally.cs:172:11:172:20 | {...} | Finally.cs:172:11:172:20 | Normal Exit | | +| Finally.cs:173:11:173:20 | After call to constructor Exception | Finally.cs:173:11:173:20 | {...} | | +| Finally.cs:173:11:173:20 | After call to method | Finally.cs:173:11:173:20 | Before call to constructor Exception | | +| Finally.cs:173:11:173:20 | Before call to constructor Exception | Finally.cs:173:11:173:20 | call to constructor Exception | | +| Finally.cs:173:11:173:20 | Before call to method | Finally.cs:173:11:173:20 | this access | | +| Finally.cs:173:11:173:20 | Entry | Finally.cs:173:11:173:20 | Before call to method | | +| Finally.cs:173:11:173:20 | Normal Exit | Finally.cs:173:11:173:20 | Exit | | +| Finally.cs:173:11:173:20 | call to constructor Exception | Finally.cs:173:11:173:20 | After call to constructor Exception | | +| Finally.cs:173:11:173:20 | call to method | Finally.cs:173:11:173:20 | After call to method | | | Finally.cs:173:11:173:20 | this access | Finally.cs:173:11:173:20 | call to method | | -| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | exit ExceptionB (normal) | | -| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | {...} | | -| Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | call to constructor Exception | | -| Finally.cs:174:11:174:20 | enter ExceptionC | Finally.cs:174:11:174:20 | this access | | -| Finally.cs:174:11:174:20 | exit ExceptionC (normal) | Finally.cs:174:11:174:20 | exit ExceptionC | | +| Finally.cs:173:11:173:20 | {...} | Finally.cs:173:11:173:20 | Normal Exit | | +| Finally.cs:174:11:174:20 | After call to constructor Exception | Finally.cs:174:11:174:20 | {...} | | +| Finally.cs:174:11:174:20 | After call to method | Finally.cs:174:11:174:20 | Before call to constructor Exception | | +| Finally.cs:174:11:174:20 | Before call to constructor Exception | Finally.cs:174:11:174:20 | call to constructor Exception | | +| Finally.cs:174:11:174:20 | Before call to method | Finally.cs:174:11:174:20 | this access | | +| Finally.cs:174:11:174:20 | Entry | Finally.cs:174:11:174:20 | Before call to method | | +| Finally.cs:174:11:174:20 | Normal Exit | Finally.cs:174:11:174:20 | Exit | | +| Finally.cs:174:11:174:20 | call to constructor Exception | Finally.cs:174:11:174:20 | After call to constructor Exception | | +| Finally.cs:174:11:174:20 | call to method | Finally.cs:174:11:174:20 | After call to method | | | Finally.cs:174:11:174:20 | this access | Finally.cs:174:11:174:20 | call to method | | -| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | exit ExceptionC (normal) | | -| Finally.cs:176:10:176:11 | enter M9 | Finally.cs:177:5:193:5 | {...} | | -| Finally.cs:176:10:176:11 | exit M9 (abnormal) | Finally.cs:176:10:176:11 | exit M9 | | -| Finally.cs:176:10:176:11 | exit M9 (normal) | Finally.cs:176:10:176:11 | exit M9 | | +| Finally.cs:174:11:174:20 | {...} | Finally.cs:174:11:174:20 | Normal Exit | | +| Finally.cs:176:10:176:11 | Entry | Finally.cs:177:5:193:5 | {...} | | +| Finally.cs:176:10:176:11 | Exceptional Exit | Finally.cs:176:10:176:11 | Exit | | +| Finally.cs:176:10:176:11 | Normal Exit | Finally.cs:176:10:176:11 | Exit | | +| Finally.cs:177:5:193:5 | After {...} | Finally.cs:176:10:176:11 | Normal Exit | | | Finally.cs:177:5:193:5 | {...} | Finally.cs:178:9:192:9 | try {...} ... | | +| Finally.cs:178:9:192:9 | After try {...} ... | Finally.cs:177:5:193:5 | After {...} | | | Finally.cs:178:9:192:9 | try {...} ... | Finally.cs:179:9:181:9 | {...} | | +| Finally.cs:179:9:181:9 | After {...} | Finally.cs:183:9:192:9 | {...} | | | Finally.cs:179:9:181:9 | {...} | Finally.cs:180:13:180:43 | if (...) ... | | +| Finally.cs:180:13:180:43 | After if (...) ... | Finally.cs:179:9:181:9 | After {...} | | | Finally.cs:180:13:180:43 | if (...) ... | Finally.cs:180:17:180:18 | access to parameter b1 | | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:27:180:42 | object creation of type ExceptionA | true | -| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:183:9:192:9 | {...} | false | +| Finally.cs:180:17:180:18 | After access to parameter b1 [false] | Finally.cs:180:13:180:43 | After if (...) ... | | +| Finally.cs:180:17:180:18 | After access to parameter b1 [true] | Finally.cs:180:21:180:43 | Before throw ...; | | +| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | After access to parameter b1 [false] | false | +| Finally.cs:180:17:180:18 | access to parameter b1 | Finally.cs:180:17:180:18 | After access to parameter b1 [true] | true | +| Finally.cs:180:21:180:43 | Before throw ...; | Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | | | Finally.cs:180:21:180:43 | throw ...; | Finally.cs:183:9:192:9 | {...} | exception | -| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:21:180:43 | throw ...; | | +| Finally.cs:180:27:180:42 | After object creation of type ExceptionA | Finally.cs:180:21:180:43 | throw ...; | | +| Finally.cs:180:27:180:42 | Before object creation of type ExceptionA | Finally.cs:180:27:180:42 | object creation of type ExceptionA | | +| Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:180:27:180:42 | After object creation of type ExceptionA | | | Finally.cs:180:27:180:42 | object creation of type ExceptionA | Finally.cs:183:9:192:9 | {...} | exception | +| Finally.cs:183:9:192:9 | After {...} | Finally.cs:176:10:176:11 | Exceptional Exit | exception | +| Finally.cs:183:9:192:9 | After {...} | Finally.cs:178:9:192:9 | After try {...} ... | | | Finally.cs:183:9:192:9 | {...} | Finally.cs:184:13:191:13 | try {...} ... | | +| Finally.cs:184:13:191:13 | After try {...} ... | Finally.cs:183:9:192:9 | After {...} | | | Finally.cs:184:13:191:13 | try {...} ... | Finally.cs:185:13:187:13 | {...} | | +| Finally.cs:185:13:187:13 | After {...} | Finally.cs:184:13:191:13 | After try {...} ... | | | Finally.cs:185:13:187:13 | {...} | Finally.cs:186:17:186:47 | if (...) ... | | +| Finally.cs:186:17:186:47 | After if (...) ... | Finally.cs:185:13:187:13 | After {...} | | | Finally.cs:186:17:186:47 | if (...) ... | Finally.cs:186:21:186:22 | access to parameter b2 | | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:176:10:176:11 | exit M9 (abnormal) | exception | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:176:10:176:11 | exit M9 (normal) | false | -| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:31:186:46 | object creation of type ExceptionB | true | +| Finally.cs:186:21:186:22 | After access to parameter b2 [false] | Finally.cs:186:17:186:47 | After if (...) ... | | +| Finally.cs:186:21:186:22 | After access to parameter b2 [true] | Finally.cs:186:25:186:47 | Before throw ...; | | +| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | After access to parameter b2 [false] | false | +| Finally.cs:186:21:186:22 | access to parameter b2 | Finally.cs:186:21:186:22 | After access to parameter b2 [true] | true | +| Finally.cs:186:25:186:47 | Before throw ...; | Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | | | Finally.cs:186:25:186:47 | throw ...; | Finally.cs:188:13:191:13 | catch (...) {...} | exception | -| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:25:186:47 | throw ...; | | +| Finally.cs:186:31:186:46 | After object creation of type ExceptionB | Finally.cs:186:25:186:47 | throw ...; | | +| Finally.cs:186:31:186:46 | Before object creation of type ExceptionB | Finally.cs:186:31:186:46 | object creation of type ExceptionB | | +| Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:186:31:186:46 | After object creation of type ExceptionB | | | Finally.cs:186:31:186:46 | object creation of type ExceptionB | Finally.cs:188:13:191:13 | catch (...) {...} | exception | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:176:10:176:11 | exit M9 (abnormal) | exception | -| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:38:188:39 | access to parameter b2 | match | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:176:10:176:11 | exit M9 (abnormal) | exception | -| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:189:13:191:13 | {...} | true | +| Finally.cs:188:13:191:13 | After catch (...) {...} [match] | Finally.cs:188:38:188:39 | access to parameter b2 | | +| Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | Finally.cs:176:10:176:11 | Exceptional Exit | exception | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [match] | match | +| Finally.cs:188:13:191:13 | catch (...) {...} | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | no-match | +| Finally.cs:188:38:188:39 | After access to parameter b2 [false] | Finally.cs:188:13:191:13 | After catch (...) {...} [no-match] | no-match | +| Finally.cs:188:38:188:39 | After access to parameter b2 [true] | Finally.cs:189:13:191:13 | {...} | | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | After access to parameter b2 [false] | false | +| Finally.cs:188:38:188:39 | access to parameter b2 | Finally.cs:188:38:188:39 | After access to parameter b2 [true] | true | +| Finally.cs:189:13:191:13 | After {...} | Finally.cs:184:13:191:13 | After try {...} ... | | | Finally.cs:189:13:191:13 | {...} | Finally.cs:190:17:190:47 | if (...) ... | | +| Finally.cs:190:17:190:47 | After if (...) ... | Finally.cs:189:13:191:13 | After {...} | | | Finally.cs:190:17:190:47 | if (...) ... | Finally.cs:190:21:190:22 | access to parameter b1 | | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:176:10:176:11 | exit M9 (abnormal) | exception | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:176:10:176:11 | exit M9 (normal) | false | -| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:31:190:46 | object creation of type ExceptionC | true | -| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:176:10:176:11 | exit M9 (abnormal) | exception | -| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:25:190:47 | throw ...; | | -| Finally.cs:195:10:195:12 | enter M10 | Finally.cs:196:5:214:5 | {...} | | -| Finally.cs:195:10:195:12 | exit M10 (abnormal) | Finally.cs:195:10:195:12 | exit M10 | | -| Finally.cs:195:10:195:12 | exit M10 (normal) | Finally.cs:195:10:195:12 | exit M10 | | +| Finally.cs:190:21:190:22 | After access to parameter b1 [false] | Finally.cs:190:17:190:47 | After if (...) ... | | +| Finally.cs:190:21:190:22 | After access to parameter b1 [true] | Finally.cs:190:25:190:47 | Before throw ...; | | +| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | After access to parameter b1 [false] | false | +| Finally.cs:190:21:190:22 | access to parameter b1 | Finally.cs:190:21:190:22 | After access to parameter b1 [true] | true | +| Finally.cs:190:25:190:47 | Before throw ...; | Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | | +| Finally.cs:190:25:190:47 | throw ...; | Finally.cs:176:10:176:11 | Exceptional Exit | exception | +| Finally.cs:190:31:190:46 | After object creation of type ExceptionC | Finally.cs:190:25:190:47 | throw ...; | | +| Finally.cs:190:31:190:46 | Before object creation of type ExceptionC | Finally.cs:190:31:190:46 | object creation of type ExceptionC | | +| Finally.cs:190:31:190:46 | object creation of type ExceptionC | Finally.cs:190:31:190:46 | After object creation of type ExceptionC | | +| Finally.cs:195:10:195:12 | Entry | Finally.cs:196:5:214:5 | {...} | | +| Finally.cs:195:10:195:12 | Exceptional Exit | Finally.cs:195:10:195:12 | Exit | | +| Finally.cs:195:10:195:12 | Normal Exit | Finally.cs:195:10:195:12 | Exit | | +| Finally.cs:196:5:214:5 | After {...} | Finally.cs:195:10:195:12 | Normal Exit | | | Finally.cs:196:5:214:5 | {...} | Finally.cs:197:9:212:9 | try {...} ... | | +| Finally.cs:197:9:212:9 | After try {...} ... | Finally.cs:213:9:213:25 | ...; | | | Finally.cs:197:9:212:9 | try {...} ... | Finally.cs:198:9:200:9 | {...} | | +| Finally.cs:198:9:200:9 | After {...} | Finally.cs:202:9:212:9 | {...} | | | Finally.cs:198:9:200:9 | {...} | Finally.cs:199:13:199:43 | if (...) ... | | +| Finally.cs:199:13:199:43 | After if (...) ... | Finally.cs:198:9:200:9 | After {...} | | | Finally.cs:199:13:199:43 | if (...) ... | Finally.cs:199:17:199:18 | access to parameter b1 | | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:27:199:42 | object creation of type ExceptionA | true | -| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:202:9:212:9 | {...} | false | +| Finally.cs:199:17:199:18 | After access to parameter b1 [false] | Finally.cs:199:13:199:43 | After if (...) ... | | +| Finally.cs:199:17:199:18 | After access to parameter b1 [true] | Finally.cs:199:21:199:43 | Before throw ...; | | +| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | After access to parameter b1 [false] | false | +| Finally.cs:199:17:199:18 | access to parameter b1 | Finally.cs:199:17:199:18 | After access to parameter b1 [true] | true | +| Finally.cs:199:21:199:43 | Before throw ...; | Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | | | Finally.cs:199:21:199:43 | throw ...; | Finally.cs:202:9:212:9 | {...} | exception | -| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | | +| Finally.cs:199:27:199:42 | After object creation of type ExceptionA | Finally.cs:199:21:199:43 | throw ...; | | +| Finally.cs:199:27:199:42 | Before object creation of type ExceptionA | Finally.cs:199:27:199:42 | object creation of type ExceptionA | | +| Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:199:27:199:42 | After object creation of type ExceptionA | | | Finally.cs:199:27:199:42 | object creation of type ExceptionA | Finally.cs:202:9:212:9 | {...} | exception | +| Finally.cs:202:9:212:9 | After {...} | Finally.cs:195:10:195:12 | Exceptional Exit | exception | +| Finally.cs:202:9:212:9 | After {...} | Finally.cs:197:9:212:9 | After try {...} ... | | | Finally.cs:202:9:212:9 | {...} | Finally.cs:203:13:210:13 | try {...} ... | | +| Finally.cs:203:13:210:13 | After try {...} ... | Finally.cs:211:13:211:29 | ...; | | | Finally.cs:203:13:210:13 | try {...} ... | Finally.cs:204:13:206:13 | {...} | | +| Finally.cs:204:13:206:13 | After {...} | Finally.cs:208:13:210:13 | {...} | | | Finally.cs:204:13:206:13 | {...} | Finally.cs:205:17:205:47 | if (...) ... | | +| Finally.cs:205:17:205:47 | After if (...) ... | Finally.cs:204:13:206:13 | After {...} | | | Finally.cs:205:17:205:47 | if (...) ... | Finally.cs:205:21:205:22 | access to parameter b2 | | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:31:205:46 | object creation of type ExceptionB | true | -| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:208:13:210:13 | {...} | false | +| Finally.cs:205:21:205:22 | After access to parameter b2 [false] | Finally.cs:205:17:205:47 | After if (...) ... | | +| Finally.cs:205:21:205:22 | After access to parameter b2 [true] | Finally.cs:205:25:205:47 | Before throw ...; | | +| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | After access to parameter b2 [false] | false | +| Finally.cs:205:21:205:22 | access to parameter b2 | Finally.cs:205:21:205:22 | After access to parameter b2 [true] | true | +| Finally.cs:205:25:205:47 | Before throw ...; | Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | | | Finally.cs:205:25:205:47 | throw ...; | Finally.cs:208:13:210:13 | {...} | exception | -| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | | +| Finally.cs:205:31:205:46 | After object creation of type ExceptionB | Finally.cs:205:25:205:47 | throw ...; | | +| Finally.cs:205:31:205:46 | Before object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | | +| Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | After object creation of type ExceptionB | | | Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:208:13:210:13 | {...} | exception | +| Finally.cs:208:13:210:13 | After {...} | Finally.cs:195:10:195:12 | Exceptional Exit | exception | +| Finally.cs:208:13:210:13 | After {...} | Finally.cs:203:13:210:13 | After try {...} ... | | | Finally.cs:208:13:210:13 | {...} | Finally.cs:209:17:209:47 | if (...) ... | | +| Finally.cs:209:17:209:47 | After if (...) ... | Finally.cs:208:13:210:13 | After {...} | | | Finally.cs:209:17:209:47 | if (...) ... | Finally.cs:209:21:209:22 | access to parameter b3 | | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:195:10:195:12 | exit M10 (abnormal) | exception | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:31:209:46 | object creation of type ExceptionC | true | -| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | false | -| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | exit M10 (abnormal) | exception | -| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | | -| Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" | | -| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:28 | ... = ... | | -| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | exit M10 (abnormal) | exception | -| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:213:9:213:25 | ...; | | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access | | -| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:22 | access to field Field | | -| Finally.cs:213:9:213:12 | this access | Finally.cs:213:22:213:24 | "1" | | -| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:24 | ... = ... | | -| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | exit M10 (normal) | | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:12 | this access | | -| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:18 | access to field Field | | -| Finally.cs:216:10:216:12 | enter M11 | Finally.cs:217:5:231:5 | {...} | | -| Finally.cs:216:10:216:12 | exit M11 (normal) | Finally.cs:216:10:216:12 | exit M11 | | +| Finally.cs:209:21:209:22 | After access to parameter b3 [false] | Finally.cs:209:17:209:47 | After if (...) ... | | +| Finally.cs:209:21:209:22 | After access to parameter b3 [true] | Finally.cs:209:25:209:47 | Before throw ...; | | +| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | After access to parameter b3 [false] | false | +| Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:21:209:22 | After access to parameter b3 [true] | true | +| Finally.cs:209:25:209:47 | Before throw ...; | Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | | +| Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | Exceptional Exit | exception | +| Finally.cs:209:31:209:46 | After object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | | +| Finally.cs:209:31:209:46 | Before object creation of type ExceptionC | Finally.cs:209:31:209:46 | object creation of type ExceptionC | | +| Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:31:209:46 | After object creation of type ExceptionC | | +| Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:22 | access to field Field | | +| Finally.cs:211:13:211:22 | After access to field Field | Finally.cs:211:26:211:28 | "0" | | +| Finally.cs:211:13:211:22 | Before access to field Field | Finally.cs:211:13:211:16 | this access | | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:22 | After access to field Field | | +| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:28 | After ... = ... | | +| Finally.cs:211:13:211:28 | After ... = ... | Finally.cs:211:13:211:29 | After ...; | | +| Finally.cs:211:13:211:28 | Before ... = ... | Finally.cs:211:13:211:22 | Before access to field Field | | +| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | Before ... = ... | | +| Finally.cs:211:13:211:29 | After ...; | Finally.cs:202:9:212:9 | After {...} | | +| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... | | +| Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:18 | access to field Field | | +| Finally.cs:213:9:213:18 | After access to field Field | Finally.cs:213:22:213:24 | "1" | | +| Finally.cs:213:9:213:18 | Before access to field Field | Finally.cs:213:9:213:12 | this access | | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:18 | After access to field Field | | +| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:24 | After ... = ... | | +| Finally.cs:213:9:213:24 | After ... = ... | Finally.cs:213:9:213:25 | After ...; | | +| Finally.cs:213:9:213:24 | Before ... = ... | Finally.cs:213:9:213:18 | Before access to field Field | | +| Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:24 | Before ... = ... | | +| Finally.cs:213:9:213:25 | After ...; | Finally.cs:196:5:214:5 | After {...} | | +| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:24 | ... = ... | | +| Finally.cs:216:10:216:12 | Entry | Finally.cs:217:5:231:5 | {...} | | +| Finally.cs:216:10:216:12 | Normal Exit | Finally.cs:216:10:216:12 | Exit | | +| Finally.cs:217:5:231:5 | After {...} | Finally.cs:216:10:216:12 | Normal Exit | | | Finally.cs:217:5:231:5 | {...} | Finally.cs:218:9:229:9 | try {...} ... | | +| Finally.cs:218:9:229:9 | After try {...} ... | Finally.cs:230:9:230:34 | ...; | | | Finally.cs:218:9:229:9 | try {...} ... | Finally.cs:219:9:221:9 | {...} | | +| Finally.cs:219:9:221:9 | After {...} | Finally.cs:227:9:229:9 | {...} | | | Finally.cs:219:9:221:9 | {...} | Finally.cs:220:13:220:37 | ...; | | +| Finally.cs:220:13:220:36 | After call to method WriteLine | Finally.cs:220:13:220:37 | After ...; | | +| Finally.cs:220:13:220:36 | Before call to method WriteLine | Finally.cs:220:31:220:35 | "Try" | | +| Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:220:13:220:36 | After call to method WriteLine | | | Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:222:9:225:9 | catch {...} | exception | -| Finally.cs:220:13:220:36 | call to method WriteLine | Finally.cs:227:9:229:9 | {...} | | -| Finally.cs:220:13:220:37 | ...; | Finally.cs:220:31:220:35 | "Try" | | +| Finally.cs:220:13:220:37 | ...; | Finally.cs:220:13:220:36 | Before call to method WriteLine | | +| Finally.cs:220:13:220:37 | After ...; | Finally.cs:219:9:221:9 | After {...} | | | Finally.cs:220:31:220:35 | "Try" | Finally.cs:220:13:220:36 | call to method WriteLine | | -| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:223:9:225:9 | {...} | | +| Finally.cs:222:9:225:9 | After catch {...} [match] | Finally.cs:223:9:225:9 | {...} | | +| Finally.cs:222:9:225:9 | catch {...} | Finally.cs:222:9:225:9 | After catch {...} [match] | match | +| Finally.cs:223:9:225:9 | After {...} | Finally.cs:227:9:229:9 | {...} | | | Finally.cs:223:9:225:9 | {...} | Finally.cs:224:13:224:39 | ...; | | -| Finally.cs:224:13:224:38 | call to method WriteLine | Finally.cs:227:9:229:9 | {...} | | -| Finally.cs:224:13:224:39 | ...; | Finally.cs:224:31:224:37 | "Catch" | | +| Finally.cs:224:13:224:38 | After call to method WriteLine | Finally.cs:224:13:224:39 | After ...; | | +| Finally.cs:224:13:224:38 | Before call to method WriteLine | Finally.cs:224:31:224:37 | "Catch" | | +| Finally.cs:224:13:224:38 | call to method WriteLine | Finally.cs:224:13:224:38 | After call to method WriteLine | | +| Finally.cs:224:13:224:39 | ...; | Finally.cs:224:13:224:38 | Before call to method WriteLine | | +| Finally.cs:224:13:224:39 | After ...; | Finally.cs:223:9:225:9 | After {...} | | | Finally.cs:224:31:224:37 | "Catch" | Finally.cs:224:13:224:38 | call to method WriteLine | | +| Finally.cs:227:9:229:9 | After {...} | Finally.cs:218:9:229:9 | After try {...} ... | | | Finally.cs:227:9:229:9 | {...} | Finally.cs:228:13:228:41 | ...; | | -| Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:230:9:230:34 | ...; | | -| Finally.cs:228:13:228:41 | ...; | Finally.cs:228:31:228:39 | "Finally" | | +| Finally.cs:228:13:228:40 | After call to method WriteLine | Finally.cs:228:13:228:41 | After ...; | | +| Finally.cs:228:13:228:40 | Before call to method WriteLine | Finally.cs:228:31:228:39 | "Finally" | | +| Finally.cs:228:13:228:40 | call to method WriteLine | Finally.cs:228:13:228:40 | After call to method WriteLine | | +| Finally.cs:228:13:228:41 | ...; | Finally.cs:228:13:228:40 | Before call to method WriteLine | | +| Finally.cs:228:13:228:41 | After ...; | Finally.cs:227:9:229:9 | After {...} | | | Finally.cs:228:31:228:39 | "Finally" | Finally.cs:228:13:228:40 | call to method WriteLine | | -| Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:216:10:216:12 | exit M11 (normal) | | -| Finally.cs:230:9:230:34 | ...; | Finally.cs:230:27:230:32 | "Done" | | +| Finally.cs:230:9:230:33 | After call to method WriteLine | Finally.cs:230:9:230:34 | After ...; | | +| Finally.cs:230:9:230:33 | Before call to method WriteLine | Finally.cs:230:27:230:32 | "Done" | | +| Finally.cs:230:9:230:33 | call to method WriteLine | Finally.cs:230:9:230:33 | After call to method WriteLine | | +| Finally.cs:230:9:230:34 | ...; | Finally.cs:230:9:230:33 | Before call to method WriteLine | | +| Finally.cs:230:9:230:34 | After ...; | Finally.cs:217:5:231:5 | After {...} | | | Finally.cs:230:27:230:32 | "Done" | Finally.cs:230:9:230:33 | call to method WriteLine | | -| Finally.cs:233:10:233:12 | enter M12 | Finally.cs:234:5:261:5 | {...} | | -| Finally.cs:233:10:233:12 | exit M12 (abnormal) | Finally.cs:233:10:233:12 | exit M12 | | -| Finally.cs:233:10:233:12 | exit M12 (normal) | Finally.cs:233:10:233:12 | exit M12 | | +| Finally.cs:233:10:233:12 | Entry | Finally.cs:234:5:261:5 | {...} | | +| Finally.cs:233:10:233:12 | Exceptional Exit | Finally.cs:233:10:233:12 | Exit | | +| Finally.cs:233:10:233:12 | Normal Exit | Finally.cs:233:10:233:12 | Exit | | +| Finally.cs:234:5:261:5 | After {...} | Finally.cs:233:10:233:12 | Normal Exit | | | Finally.cs:234:5:261:5 | {...} | Finally.cs:235:9:259:9 | try {...} ... | | +| Finally.cs:235:9:259:9 | After try {...} ... | Finally.cs:260:9:260:34 | ...; | | | Finally.cs:235:9:259:9 | try {...} ... | Finally.cs:236:9:255:9 | {...} | | +| Finally.cs:236:9:255:9 | After {...} | Finally.cs:257:9:259:9 | {...} | | | Finally.cs:236:9:255:9 | {...} | Finally.cs:237:13:253:13 | try {...} ... | | +| Finally.cs:237:13:253:13 | After try {...} ... | Finally.cs:254:13:254:45 | ...; | | | Finally.cs:237:13:253:13 | try {...} ... | Finally.cs:238:13:241:13 | {...} | | +| Finally.cs:238:13:241:13 | After {...} | Finally.cs:243:13:253:13 | {...} | | | Finally.cs:238:13:241:13 | {...} | Finally.cs:239:17:240:43 | if (...) ... | | +| Finally.cs:239:17:240:43 | After if (...) ... | Finally.cs:238:13:241:13 | After {...} | | | Finally.cs:239:17:240:43 | if (...) ... | Finally.cs:239:21:239:22 | access to parameter b1 | | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:240:27:240:42 | object creation of type ExceptionA | true | -| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:243:13:253:13 | {...} | false | +| Finally.cs:239:21:239:22 | After access to parameter b1 [false] | Finally.cs:239:17:240:43 | After if (...) ... | | +| Finally.cs:239:21:239:22 | After access to parameter b1 [true] | Finally.cs:240:21:240:43 | Before throw ...; | | +| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | After access to parameter b1 [false] | false | +| Finally.cs:239:21:239:22 | access to parameter b1 | Finally.cs:239:21:239:22 | After access to parameter b1 [true] | true | +| Finally.cs:240:21:240:43 | Before throw ...; | Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | | | Finally.cs:240:21:240:43 | throw ...; | Finally.cs:243:13:253:13 | {...} | exception | -| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:21:240:43 | throw ...; | | +| Finally.cs:240:27:240:42 | After object creation of type ExceptionA | Finally.cs:240:21:240:43 | throw ...; | | +| Finally.cs:240:27:240:42 | Before object creation of type ExceptionA | Finally.cs:240:27:240:42 | object creation of type ExceptionA | | +| Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:240:27:240:42 | After object creation of type ExceptionA | | | Finally.cs:240:27:240:42 | object creation of type ExceptionA | Finally.cs:243:13:253:13 | {...} | exception | +| Finally.cs:243:13:253:13 | After {...} | Finally.cs:237:13:253:13 | After try {...} ... | | +| Finally.cs:243:13:253:13 | After {...} | Finally.cs:257:9:259:9 | {...} | exception | | Finally.cs:243:13:253:13 | {...} | Finally.cs:244:17:252:17 | try {...} ... | | +| Finally.cs:244:17:252:17 | After try {...} ... | Finally.cs:243:13:253:13 | After {...} | | | Finally.cs:244:17:252:17 | try {...} ... | Finally.cs:245:17:248:17 | {...} | | +| Finally.cs:245:17:248:17 | After {...} | Finally.cs:250:17:252:17 | {...} | | | Finally.cs:245:17:248:17 | {...} | Finally.cs:246:21:247:47 | if (...) ... | | +| Finally.cs:246:21:247:47 | After if (...) ... | Finally.cs:245:17:248:17 | After {...} | | | Finally.cs:246:21:247:47 | if (...) ... | Finally.cs:246:25:246:26 | access to parameter b2 | | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:247:31:247:46 | object creation of type ExceptionA | true | -| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:250:17:252:17 | {...} | false | +| Finally.cs:246:25:246:26 | After access to parameter b2 [false] | Finally.cs:246:21:247:47 | After if (...) ... | | +| Finally.cs:246:25:246:26 | After access to parameter b2 [true] | Finally.cs:247:25:247:47 | Before throw ...; | | +| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | After access to parameter b2 [false] | false | +| Finally.cs:246:25:246:26 | access to parameter b2 | Finally.cs:246:25:246:26 | After access to parameter b2 [true] | true | +| Finally.cs:247:25:247:47 | Before throw ...; | Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | | | Finally.cs:247:25:247:47 | throw ...; | Finally.cs:250:17:252:17 | {...} | exception | -| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:25:247:47 | throw ...; | | +| Finally.cs:247:31:247:46 | After object creation of type ExceptionA | Finally.cs:247:25:247:47 | throw ...; | | +| Finally.cs:247:31:247:46 | Before object creation of type ExceptionA | Finally.cs:247:31:247:46 | object creation of type ExceptionA | | +| Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:247:31:247:46 | After object creation of type ExceptionA | | | Finally.cs:247:31:247:46 | object creation of type ExceptionA | Finally.cs:250:17:252:17 | {...} | exception | +| Finally.cs:250:17:252:17 | After {...} | Finally.cs:244:17:252:17 | After try {...} ... | | +| Finally.cs:250:17:252:17 | After {...} | Finally.cs:257:9:259:9 | {...} | exception | | Finally.cs:250:17:252:17 | {...} | Finally.cs:251:21:251:55 | ...; | | -| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:254:13:254:45 | ...; | | -| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:257:9:259:9 | {...} | exception | -| Finally.cs:251:21:251:55 | ...; | Finally.cs:251:39:251:53 | "Inner finally" | | +| Finally.cs:251:21:251:54 | After call to method WriteLine | Finally.cs:251:21:251:55 | After ...; | | +| Finally.cs:251:21:251:54 | Before call to method WriteLine | Finally.cs:251:39:251:53 | "Inner finally" | | +| Finally.cs:251:21:251:54 | call to method WriteLine | Finally.cs:251:21:251:54 | After call to method WriteLine | | +| Finally.cs:251:21:251:55 | ...; | Finally.cs:251:21:251:54 | Before call to method WriteLine | | +| Finally.cs:251:21:251:55 | After ...; | Finally.cs:250:17:252:17 | After {...} | | | Finally.cs:251:39:251:53 | "Inner finally" | Finally.cs:251:21:251:54 | call to method WriteLine | | -| Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:257:9:259:9 | {...} | , exception | -| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:31:254:43 | "Mid finally" | | +| Finally.cs:254:13:254:44 | After call to method WriteLine | Finally.cs:254:13:254:45 | After ...; | | +| Finally.cs:254:13:254:44 | Before call to method WriteLine | Finally.cs:254:31:254:43 | "Mid finally" | | +| Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:254:13:254:44 | After call to method WriteLine | | +| Finally.cs:254:13:254:44 | call to method WriteLine | Finally.cs:257:9:259:9 | {...} | exception | +| Finally.cs:254:13:254:45 | ...; | Finally.cs:254:13:254:44 | Before call to method WriteLine | | +| Finally.cs:254:13:254:45 | After ...; | Finally.cs:236:9:255:9 | After {...} | | | Finally.cs:254:31:254:43 | "Mid finally" | Finally.cs:254:13:254:44 | call to method WriteLine | | +| Finally.cs:257:9:259:9 | After {...} | Finally.cs:233:10:233:12 | Exceptional Exit | exception | +| Finally.cs:257:9:259:9 | After {...} | Finally.cs:235:9:259:9 | After try {...} ... | | | Finally.cs:257:9:259:9 | {...} | Finally.cs:258:13:258:47 | ...; | | -| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:233:10:233:12 | exit M12 (abnormal) | exception | -| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:260:9:260:34 | ...; | | -| Finally.cs:258:13:258:47 | ...; | Finally.cs:258:31:258:45 | "Outer finally" | | +| Finally.cs:258:13:258:46 | After call to method WriteLine | Finally.cs:258:13:258:47 | After ...; | | +| Finally.cs:258:13:258:46 | Before call to method WriteLine | Finally.cs:258:31:258:45 | "Outer finally" | | +| Finally.cs:258:13:258:46 | call to method WriteLine | Finally.cs:258:13:258:46 | After call to method WriteLine | | +| Finally.cs:258:13:258:47 | ...; | Finally.cs:258:13:258:46 | Before call to method WriteLine | | +| Finally.cs:258:13:258:47 | After ...; | Finally.cs:257:9:259:9 | After {...} | | | Finally.cs:258:31:258:45 | "Outer finally" | Finally.cs:258:13:258:46 | call to method WriteLine | | -| Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:233:10:233:12 | exit M12 (normal) | | -| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:27:260:32 | "Done" | | +| Finally.cs:260:9:260:33 | After call to method WriteLine | Finally.cs:260:9:260:34 | After ...; | | +| Finally.cs:260:9:260:33 | Before call to method WriteLine | Finally.cs:260:27:260:32 | "Done" | | +| Finally.cs:260:9:260:33 | call to method WriteLine | Finally.cs:260:9:260:33 | After call to method WriteLine | | +| Finally.cs:260:9:260:34 | ...; | Finally.cs:260:9:260:33 | Before call to method WriteLine | | +| Finally.cs:260:9:260:34 | After ...; | Finally.cs:234:5:261:5 | After {...} | | | Finally.cs:260:27:260:32 | "Done" | Finally.cs:260:9:260:33 | call to method WriteLine | | -| Finally.cs:263:10:263:12 | enter M13 | Finally.cs:264:5:274:5 | {...} | | -| Finally.cs:263:10:263:12 | exit M13 (abnormal) | Finally.cs:263:10:263:12 | exit M13 | | -| Finally.cs:263:10:263:12 | exit M13 (normal) | Finally.cs:263:10:263:12 | exit M13 | | +| Finally.cs:263:10:263:12 | Entry | Finally.cs:264:5:274:5 | {...} | | +| Finally.cs:263:10:263:12 | Exceptional Exit | Finally.cs:263:10:263:12 | Exit | | +| Finally.cs:263:10:263:12 | Normal Exit | Finally.cs:263:10:263:12 | Exit | | +| Finally.cs:264:5:274:5 | After {...} | Finally.cs:263:10:263:12 | Normal Exit | | | Finally.cs:264:5:274:5 | {...} | Finally.cs:265:9:273:9 | try {...} ... | | +| Finally.cs:265:9:273:9 | After try {...} ... | Finally.cs:264:5:274:5 | After {...} | | | Finally.cs:265:9:273:9 | try {...} ... | Finally.cs:266:9:268:9 | {...} | | +| Finally.cs:266:9:268:9 | After {...} | Finally.cs:270:9:273:9 | {...} | | | Finally.cs:266:9:268:9 | {...} | Finally.cs:267:13:267:35 | ...; | | -| Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:270:9:273:9 | {...} | , exception | -| Finally.cs:267:13:267:35 | ...; | Finally.cs:267:31:267:33 | "1" | | +| Finally.cs:267:13:267:34 | After call to method WriteLine | Finally.cs:267:13:267:35 | After ...; | | +| Finally.cs:267:13:267:34 | Before call to method WriteLine | Finally.cs:267:31:267:33 | "1" | | +| Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:267:13:267:34 | After call to method WriteLine | | +| Finally.cs:267:13:267:34 | call to method WriteLine | Finally.cs:270:9:273:9 | {...} | exception | +| Finally.cs:267:13:267:35 | ...; | Finally.cs:267:13:267:34 | Before call to method WriteLine | | +| Finally.cs:267:13:267:35 | After ...; | Finally.cs:266:9:268:9 | After {...} | | | Finally.cs:267:31:267:33 | "1" | Finally.cs:267:13:267:34 | call to method WriteLine | | +| Finally.cs:270:9:273:9 | After {...} | Finally.cs:263:10:263:12 | Exceptional Exit | exception | +| Finally.cs:270:9:273:9 | After {...} | Finally.cs:265:9:273:9 | After try {...} ... | | | Finally.cs:270:9:273:9 | {...} | Finally.cs:271:13:271:35 | ...; | | -| Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:272:13:272:19 | ...; | | -| Finally.cs:271:13:271:35 | ...; | Finally.cs:271:31:271:33 | "3" | | +| Finally.cs:271:13:271:34 | After call to method WriteLine | Finally.cs:271:13:271:35 | After ...; | | +| Finally.cs:271:13:271:34 | Before call to method WriteLine | Finally.cs:271:31:271:33 | "3" | | +| Finally.cs:271:13:271:34 | call to method WriteLine | Finally.cs:271:13:271:34 | After call to method WriteLine | | +| Finally.cs:271:13:271:35 | ...; | Finally.cs:271:13:271:34 | Before call to method WriteLine | | +| Finally.cs:271:13:271:35 | After ...; | Finally.cs:272:13:272:19 | ...; | | | Finally.cs:271:31:271:33 | "3" | Finally.cs:271:13:271:34 | call to method WriteLine | | | Finally.cs:272:13:272:13 | access to parameter i | Finally.cs:272:18:272:18 | 3 | | -| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:263:10:263:12 | exit M13 (abnormal) | exception | -| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:263:10:263:12 | exit M13 (normal) | | -| Finally.cs:272:13:272:19 | ...; | Finally.cs:272:13:272:13 | access to parameter i | | +| Finally.cs:272:13:272:18 | ... += ... | Finally.cs:272:13:272:18 | After ... += ... | | +| Finally.cs:272:13:272:18 | After ... += ... | Finally.cs:272:13:272:19 | After ...; | | +| Finally.cs:272:13:272:18 | Before ... += ... | Finally.cs:272:13:272:13 | access to parameter i | | +| Finally.cs:272:13:272:19 | ...; | Finally.cs:272:13:272:18 | Before ... += ... | | +| Finally.cs:272:13:272:19 | After ...; | Finally.cs:270:9:273:9 | After {...} | | | Finally.cs:272:18:272:18 | 3 | Finally.cs:272:13:272:18 | ... += ... | | -| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | {...} | | -| Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | call to constructor Object | | -| Foreach.cs:4:7:4:13 | enter Foreach | Foreach.cs:4:7:4:13 | this access | | -| Foreach.cs:4:7:4:13 | exit Foreach (normal) | Foreach.cs:4:7:4:13 | exit Foreach | | +| Foreach.cs:4:7:4:13 | After call to constructor Object | Foreach.cs:4:7:4:13 | {...} | | +| Foreach.cs:4:7:4:13 | After call to method | Foreach.cs:4:7:4:13 | Before call to constructor Object | | +| Foreach.cs:4:7:4:13 | Before call to constructor Object | Foreach.cs:4:7:4:13 | call to constructor Object | | +| Foreach.cs:4:7:4:13 | Before call to method | Foreach.cs:4:7:4:13 | this access | | +| Foreach.cs:4:7:4:13 | Entry | Foreach.cs:4:7:4:13 | Before call to method | | +| Foreach.cs:4:7:4:13 | Normal Exit | Foreach.cs:4:7:4:13 | Exit | | +| Foreach.cs:4:7:4:13 | call to constructor Object | Foreach.cs:4:7:4:13 | After call to constructor Object | | +| Foreach.cs:4:7:4:13 | call to method | Foreach.cs:4:7:4:13 | After call to method | | | Foreach.cs:4:7:4:13 | this access | Foreach.cs:4:7:4:13 | call to method | | -| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | exit Foreach (normal) | | -| Foreach.cs:6:10:6:11 | enter M1 | Foreach.cs:7:5:10:5 | {...} | | -| Foreach.cs:6:10:6:11 | exit M1 (normal) | Foreach.cs:6:10:6:11 | exit M1 | | -| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:29:8:32 | access to parameter args | | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:6:10:6:11 | exit M1 (normal) | empty | -| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | non-empty | +| Foreach.cs:4:7:4:13 | {...} | Foreach.cs:4:7:4:13 | Normal Exit | | +| Foreach.cs:6:10:6:11 | Entry | Foreach.cs:7:5:10:5 | {...} | | +| Foreach.cs:6:10:6:11 | Normal Exit | Foreach.cs:6:10:6:11 | Exit | | +| Foreach.cs:7:5:10:5 | After {...} | Foreach.cs:6:10:6:11 | Normal Exit | | +| Foreach.cs:7:5:10:5 | {...} | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | | +| Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | Foreach.cs:7:5:10:5 | After {...} | | +| Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | | +| Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:8:22:8:24 | String arg | | +| Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | Foreach.cs:8:29:8:32 | access to parameter args | | | Foreach.cs:8:22:8:24 | String arg | Foreach.cs:9:13:9:13 | ; | | -| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | | -| Foreach.cs:9:13:9:13 | ; | Foreach.cs:8:9:9:13 | foreach (... ... in ...) ... | | -| Foreach.cs:12:10:12:11 | enter M2 | Foreach.cs:13:5:16:5 | {...} | | -| Foreach.cs:12:10:12:11 | exit M2 (normal) | Foreach.cs:12:10:12:11 | exit M2 | | -| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:14:27:14:30 | access to parameter args | | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:12:10:12:11 | exit M2 (normal) | empty | -| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | non-empty | +| Foreach.cs:8:29:8:32 | After access to parameter args [empty] | Foreach.cs:8:9:9:13 | After foreach (... ... in ...) ... | | +| Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | Foreach.cs:8:22:8:24 | String arg | | +| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:29:8:32 | After access to parameter args [empty] | empty | +| Foreach.cs:8:29:8:32 | access to parameter args | Foreach.cs:8:29:8:32 | After access to parameter args [non-empty] | non-empty | +| Foreach.cs:9:13:9:13 | ; | Foreach.cs:8:9:9:13 | [LoopHeader] foreach (... ... in ...) ... | | +| Foreach.cs:12:10:12:11 | Entry | Foreach.cs:13:5:16:5 | {...} | | +| Foreach.cs:12:10:12:11 | Normal Exit | Foreach.cs:12:10:12:11 | Exit | | +| Foreach.cs:13:5:16:5 | After {...} | Foreach.cs:12:10:12:11 | Normal Exit | | +| Foreach.cs:13:5:16:5 | {...} | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | | +| Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | Foreach.cs:13:5:16:5 | After {...} | | +| Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | | +| Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:14:22:14:22 | String _ | | +| Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | Foreach.cs:14:27:14:30 | access to parameter args | | | Foreach.cs:14:22:14:22 | String _ | Foreach.cs:15:13:15:13 | ; | | -| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | | -| Foreach.cs:15:13:15:13 | ; | Foreach.cs:14:9:15:13 | foreach (... ... in ...) ... | | -| Foreach.cs:18:10:18:11 | enter M3 | Foreach.cs:19:5:22:5 | {...} | | -| Foreach.cs:18:10:18:11 | exit M3 (normal) | Foreach.cs:18:10:18:11 | exit M3 | | -| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:20:27:20:27 | access to parameter e | | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:18:10:18:11 | exit M3 (normal) | empty | -| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | non-empty | +| Foreach.cs:14:27:14:30 | After access to parameter args [empty] | Foreach.cs:14:9:15:13 | After foreach (... ... in ...) ... | | +| Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | Foreach.cs:14:22:14:22 | String _ | | +| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:27:14:30 | After access to parameter args [empty] | empty | +| Foreach.cs:14:27:14:30 | access to parameter args | Foreach.cs:14:27:14:30 | After access to parameter args [non-empty] | non-empty | +| Foreach.cs:15:13:15:13 | ; | Foreach.cs:14:9:15:13 | [LoopHeader] foreach (... ... in ...) ... | | +| Foreach.cs:18:10:18:11 | Entry | Foreach.cs:19:5:22:5 | {...} | | +| Foreach.cs:18:10:18:11 | Normal Exit | Foreach.cs:18:10:18:11 | Exit | | +| Foreach.cs:19:5:22:5 | After {...} | Foreach.cs:18:10:18:11 | Normal Exit | | +| Foreach.cs:19:5:22:5 | {...} | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | | +| Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | Foreach.cs:19:5:22:5 | After {...} | | +| Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:20:22:20:22 | String x | | +| Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | Foreach.cs:20:27:20:68 | ... ?? ... | | | Foreach.cs:20:22:20:22 | String x | Foreach.cs:21:11:21:11 | ; | | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:38 | call to method ToArray | non-null | -| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:43:20:68 | call to method Empty | null | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:68 | ... ?? ... | non-null | -| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:43:20:68 | call to method Empty | null | -| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | | -| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:27:20:68 | ... ?? ... | | -| Foreach.cs:21:11:21:11 | ; | Foreach.cs:20:9:21:11 | foreach (... ... in ...) ... | | -| Foreach.cs:24:10:24:11 | enter M4 | Foreach.cs:25:5:28:5 | {...} | | -| Foreach.cs:24:10:24:11 | exit M4 (normal) | Foreach.cs:24:10:24:11 | exit M4 | | -| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:26:36:26:39 | access to parameter args | | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:24:10:24:11 | exit M4 (normal) | empty | -| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:23:26:23 | String x | non-empty | -| Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:27:11:27:11 | ; | | +| Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | Foreach.cs:20:27:20:38 | call to method ToArray | | +| Foreach.cs:20:27:20:27 | After access to parameter e [null] | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | null | +| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | After access to parameter e [non-null] | non-null | +| Foreach.cs:20:27:20:27 | access to parameter e | Foreach.cs:20:27:20:27 | After access to parameter e [null] | null | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | empty | +| Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | non-empty | +| Foreach.cs:20:27:20:38 | After call to method ToArray [null] | Foreach.cs:20:43:20:68 | Before call to method Empty | | +| Foreach.cs:20:27:20:38 | Before call to method ToArray | Foreach.cs:20:27:20:27 | access to parameter e | | +| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | After call to method ToArray [non-null] | non-null | +| Foreach.cs:20:27:20:38 | call to method ToArray | Foreach.cs:20:27:20:38 | After call to method ToArray [null] | null | +| Foreach.cs:20:27:20:68 | ... ?? ... | Foreach.cs:20:27:20:38 | Before call to method ToArray | | +| Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | Foreach.cs:20:9:21:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | Foreach.cs:20:22:20:22 | String x | | +| Foreach.cs:20:43:20:68 | After call to method Empty [empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [empty] | empty | +| Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | Foreach.cs:20:27:20:68 | After ... ?? ... [non-empty] | non-empty | +| Foreach.cs:20:43:20:68 | Before call to method Empty | Foreach.cs:20:43:20:68 | call to method Empty | | +| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | After call to method Empty [empty] | empty | +| Foreach.cs:20:43:20:68 | call to method Empty | Foreach.cs:20:43:20:68 | After call to method Empty [non-empty] | non-empty | +| Foreach.cs:21:11:21:11 | ; | Foreach.cs:20:9:21:11 | [LoopHeader] foreach (... ... in ...) ... | | +| Foreach.cs:24:10:24:11 | Entry | Foreach.cs:25:5:28:5 | {...} | | +| Foreach.cs:24:10:24:11 | Normal Exit | Foreach.cs:24:10:24:11 | Exit | | +| Foreach.cs:25:5:28:5 | After {...} | Foreach.cs:24:10:24:11 | Normal Exit | | +| Foreach.cs:25:5:28:5 | {...} | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | | +| Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | Foreach.cs:25:5:28:5 | After {...} | | +| Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:26:18:26:31 | Before (..., ...) | | +| Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | Foreach.cs:26:36:26:39 | access to parameter args | | +| Foreach.cs:26:18:26:31 | (..., ...) | Foreach.cs:26:18:26:31 | After (..., ...) | | +| Foreach.cs:26:18:26:31 | After (..., ...) | Foreach.cs:27:11:27:11 | ; | | +| Foreach.cs:26:18:26:31 | Before (..., ...) | Foreach.cs:26:23:26:23 | String x | | | Foreach.cs:26:23:26:23 | String x | Foreach.cs:26:30:26:30 | Int32 y | | | Foreach.cs:26:30:26:30 | Int32 y | Foreach.cs:26:18:26:31 | (..., ...) | | -| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | | -| Foreach.cs:27:11:27:11 | ; | Foreach.cs:26:9:27:11 | foreach (... ... in ...) ... | | -| Foreach.cs:30:10:30:11 | enter M5 | Foreach.cs:31:5:34:5 | {...} | | -| Foreach.cs:30:10:30:11 | exit M5 (normal) | Foreach.cs:30:10:30:11 | exit M5 | | -| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:32:32:32:35 | access to parameter args | | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:30:10:30:11 | exit M5 (normal) | empty | -| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:23:32:23 | String x | non-empty | -| Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:33:11:33:11 | ; | | +| Foreach.cs:26:36:26:39 | After access to parameter args [empty] | Foreach.cs:26:9:27:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | Foreach.cs:26:18:26:31 | Before (..., ...) | | +| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:36:26:39 | After access to parameter args [empty] | empty | +| Foreach.cs:26:36:26:39 | access to parameter args | Foreach.cs:26:36:26:39 | After access to parameter args [non-empty] | non-empty | +| Foreach.cs:27:11:27:11 | ; | Foreach.cs:26:9:27:11 | [LoopHeader] foreach (... ... in ...) ... | | +| Foreach.cs:30:10:30:11 | Entry | Foreach.cs:31:5:34:5 | {...} | | +| Foreach.cs:30:10:30:11 | Normal Exit | Foreach.cs:30:10:30:11 | Exit | | +| Foreach.cs:31:5:34:5 | After {...} | Foreach.cs:30:10:30:11 | Normal Exit | | +| Foreach.cs:31:5:34:5 | {...} | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | | +| Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | Foreach.cs:31:5:34:5 | After {...} | | +| Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:32:18:32:27 | Before (..., ...) | | +| Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | Foreach.cs:32:32:32:35 | access to parameter args | | +| Foreach.cs:32:18:32:27 | (..., ...) | Foreach.cs:32:18:32:27 | After (..., ...) | | +| Foreach.cs:32:18:32:27 | After (..., ...) | Foreach.cs:33:11:33:11 | ; | | +| Foreach.cs:32:18:32:27 | Before (..., ...) | Foreach.cs:32:23:32:23 | String x | | | Foreach.cs:32:23:32:23 | String x | Foreach.cs:32:26:32:26 | Int32 y | | | Foreach.cs:32:26:32:26 | Int32 y | Foreach.cs:32:18:32:27 | (..., ...) | | -| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | | -| Foreach.cs:33:11:33:11 | ; | Foreach.cs:32:9:33:11 | foreach (... ... in ...) ... | | -| Foreach.cs:36:10:36:11 | enter M6 | Foreach.cs:37:5:40:5 | {...} | | -| Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | exit M6 | | -| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:38:39:38:42 | access to parameter args | | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:36:10:36:11 | exit M6 (normal) | empty | -| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:26:38:26 | String x | non-empty | -| Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:39:11:39:11 | ; | | +| Foreach.cs:32:32:32:35 | After access to parameter args [empty] | Foreach.cs:32:9:33:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | Foreach.cs:32:18:32:27 | Before (..., ...) | | +| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:32:32:35 | After access to parameter args [empty] | empty | +| Foreach.cs:32:32:32:35 | access to parameter args | Foreach.cs:32:32:32:35 | After access to parameter args [non-empty] | non-empty | +| Foreach.cs:33:11:33:11 | ; | Foreach.cs:32:9:33:11 | [LoopHeader] foreach (... ... in ...) ... | | +| Foreach.cs:36:10:36:11 | Entry | Foreach.cs:37:5:40:5 | {...} | | +| Foreach.cs:36:10:36:11 | Normal Exit | Foreach.cs:36:10:36:11 | Exit | | +| Foreach.cs:37:5:40:5 | After {...} | Foreach.cs:36:10:36:11 | Normal Exit | | +| Foreach.cs:37:5:40:5 | {...} | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | | +| Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | Foreach.cs:37:5:40:5 | After {...} | | +| Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | Foreach.cs:38:18:38:34 | Before (..., ...) | | +| Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:39:38:42 | access to parameter args | | +| Foreach.cs:38:18:38:34 | (..., ...) | Foreach.cs:38:18:38:34 | After (..., ...) | | +| Foreach.cs:38:18:38:34 | After (..., ...) | Foreach.cs:39:11:39:11 | ; | | +| Foreach.cs:38:18:38:34 | Before (..., ...) | Foreach.cs:38:26:38:26 | String x | | | Foreach.cs:38:26:38:26 | String x | Foreach.cs:38:33:38:33 | Int32 y | | | Foreach.cs:38:33:38:33 | Int32 y | Foreach.cs:38:18:38:34 | (..., ...) | | -| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | | -| Foreach.cs:39:11:39:11 | ; | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:5:9:5:9 | this access | | -| Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | {...} | | -| Initializers.cs:3:7:3:18 | exit (normal) | Initializers.cs:3:7:3:18 | exit | | -| Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | exit Initializers | | -| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | exit Initializers (normal) | | -| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:17 | ... = ... | | -| Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:13:5:13 | access to field H | | -| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:6:9:6:9 | this access | | +| Foreach.cs:38:39:38:42 | After access to parameter args [empty] | Foreach.cs:38:9:39:11 | After foreach (... ... in ...) ... | | +| Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | Foreach.cs:38:18:38:34 | Before (..., ...) | | +| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:39:38:42 | After access to parameter args [empty] | empty | +| Foreach.cs:38:39:38:42 | access to parameter args | Foreach.cs:38:39:38:42 | After access to parameter args [non-empty] | non-empty | +| Foreach.cs:39:11:39:11 | ; | Foreach.cs:38:9:39:11 | [LoopHeader] foreach (... ... in ...) ... | | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:5:9:5:17 | Before ... = ... | | +| Initializers.cs:3:7:3:18 | Entry | Initializers.cs:18:16:18:20 | Before ... = ... | | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | Exit | | +| Initializers.cs:3:7:3:18 | Normal Exit | Initializers.cs:3:7:3:18 | Exit | | +| Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | Normal Exit | | +| Initializers.cs:5:9:5:9 | After access to field F | Initializers.cs:5:13:5:17 | Before ... + ... | | +| Initializers.cs:5:9:5:9 | Before access to field F | Initializers.cs:5:9:5:9 | this access | | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:9 | After access to field F | | +| Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:9:5:9 | access to field F | | +| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:9:5:17 | After ... = ... | | +| Initializers.cs:5:9:5:17 | After ... = ... | Initializers.cs:6:25:6:31 | Before ... = ... | | +| Initializers.cs:5:9:5:17 | Before ... = ... | Initializers.cs:5:9:5:9 | Before access to field F | | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:17:5:17 | 1 | | -| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:9:5:9 | access to field F | | +| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:13:5:17 | After ... + ... | | +| Initializers.cs:5:13:5:17 | After ... + ... | Initializers.cs:5:9:5:17 | ... = ... | | +| Initializers.cs:5:13:5:17 | Before ... + ... | Initializers.cs:5:13:5:13 | access to field H | | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:13:5:17 | ... + ... | | -| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:25:6:31 | ... = ... | | -| Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:27:6:27 | access to field H | | -| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:3:7:3:18 | exit (normal) | | +| Initializers.cs:6:9:6:9 | After access to property G | Initializers.cs:6:27:6:31 | Before ... + ... | | +| Initializers.cs:6:9:6:9 | Before access to property G | Initializers.cs:6:9:6:9 | this access | | +| Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:9:6:9 | After access to property G | | +| Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:9:6:9 | access to property G | | +| Initializers.cs:6:25:6:31 | ... = ... | Initializers.cs:6:25:6:31 | After ... = ... | | +| Initializers.cs:6:25:6:31 | After ... = ... | Initializers.cs:3:7:3:18 | Normal Exit | | +| Initializers.cs:6:25:6:31 | Before ... = ... | Initializers.cs:6:9:6:9 | Before access to property G | | | Initializers.cs:6:27:6:27 | access to field H | Initializers.cs:6:31:6:31 | 2 | | -| Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:6:9:6:9 | access to property G | | +| Initializers.cs:6:27:6:31 | ... + ... | Initializers.cs:6:27:6:31 | After ... + ... | | +| Initializers.cs:6:27:6:31 | After ... + ... | Initializers.cs:6:25:6:31 | ... = ... | | +| Initializers.cs:6:27:6:31 | Before ... + ... | Initializers.cs:6:27:6:27 | access to field H | | | Initializers.cs:6:31:6:31 | 2 | Initializers.cs:6:27:6:31 | ... + ... | | -| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:20:8:22 | {...} | | -| Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | call to constructor Object | | -| Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | this access | | -| Initializers.cs:8:5:8:16 | exit Initializers (normal) | Initializers.cs:8:5:8:16 | exit Initializers | | +| Initializers.cs:8:5:8:16 | After call to constructor Object | Initializers.cs:8:20:8:22 | {...} | | +| Initializers.cs:8:5:8:16 | After call to method | Initializers.cs:8:5:8:16 | Before call to constructor Object | | +| Initializers.cs:8:5:8:16 | Before call to constructor Object | Initializers.cs:8:5:8:16 | call to constructor Object | | +| Initializers.cs:8:5:8:16 | Before call to method | Initializers.cs:8:5:8:16 | this access | | +| Initializers.cs:8:5:8:16 | Entry | Initializers.cs:8:5:8:16 | Before call to method | | +| Initializers.cs:8:5:8:16 | Normal Exit | Initializers.cs:8:5:8:16 | Exit | | +| Initializers.cs:8:5:8:16 | call to constructor Object | Initializers.cs:8:5:8:16 | After call to constructor Object | | +| Initializers.cs:8:5:8:16 | call to method | Initializers.cs:8:5:8:16 | After call to method | | | Initializers.cs:8:5:8:16 | this access | Initializers.cs:8:5:8:16 | call to method | | -| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | exit Initializers (normal) | | -| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:28:10:30 | {...} | | -| Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | call to constructor Object | | -| Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | this access | | -| Initializers.cs:10:5:10:16 | exit Initializers (normal) | Initializers.cs:10:5:10:16 | exit Initializers | | +| Initializers.cs:8:20:8:22 | {...} | Initializers.cs:8:5:8:16 | Normal Exit | | +| Initializers.cs:10:5:10:16 | After call to constructor Object | Initializers.cs:10:28:10:30 | {...} | | +| Initializers.cs:10:5:10:16 | After call to method | Initializers.cs:10:5:10:16 | Before call to constructor Object | | +| Initializers.cs:10:5:10:16 | Before call to constructor Object | Initializers.cs:10:5:10:16 | call to constructor Object | | +| Initializers.cs:10:5:10:16 | Before call to method | Initializers.cs:10:5:10:16 | this access | | +| Initializers.cs:10:5:10:16 | Entry | Initializers.cs:10:5:10:16 | Before call to method | | +| Initializers.cs:10:5:10:16 | Normal Exit | Initializers.cs:10:5:10:16 | Exit | | +| Initializers.cs:10:5:10:16 | call to constructor Object | Initializers.cs:10:5:10:16 | After call to constructor Object | | +| Initializers.cs:10:5:10:16 | call to method | Initializers.cs:10:5:10:16 | After call to method | | | Initializers.cs:10:5:10:16 | this access | Initializers.cs:10:5:10:16 | call to method | | -| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | exit Initializers (normal) | | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:13:5:16:5 | {...} | | -| Initializers.cs:12:10:12:10 | exit M (normal) | Initializers.cs:12:10:12:10 | exit M | | +| Initializers.cs:10:28:10:30 | {...} | Initializers.cs:10:5:10:16 | Normal Exit | | +| Initializers.cs:12:10:12:10 | Entry | Initializers.cs:13:5:16:5 | {...} | | +| Initializers.cs:12:10:12:10 | Normal Exit | Initializers.cs:12:10:12:10 | Exit | | +| Initializers.cs:13:5:16:5 | After {...} | Initializers.cs:12:10:12:10 | Normal Exit | | | Initializers.cs:13:5:16:5 | {...} | Initializers.cs:14:9:14:54 | ... ...; | | -| Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:14:34:14:35 | "" | | -| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:15:9:15:64 | ... ...; | | -| Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:44:14:44 | 0 | | +| Initializers.cs:14:9:14:54 | ... ...; | Initializers.cs:14:13:14:53 | Before Initializers i = ... | | +| Initializers.cs:14:9:14:54 | After ... ...; | Initializers.cs:15:9:15:64 | ... ...; | | +| Initializers.cs:14:13:14:13 | access to local variable i | Initializers.cs:14:17:14:53 | Before object creation of type Initializers | | +| Initializers.cs:14:13:14:53 | After Initializers i = ... | Initializers.cs:14:9:14:54 | After ... ...; | | +| Initializers.cs:14:13:14:53 | Before Initializers i = ... | Initializers.cs:14:13:14:13 | access to local variable i | | +| Initializers.cs:14:13:14:53 | Initializers i = ... | Initializers.cs:14:13:14:53 | After Initializers i = ... | | +| Initializers.cs:14:17:14:53 | After object creation of type Initializers | Initializers.cs:14:13:14:53 | Initializers i = ... | | +| Initializers.cs:14:17:14:53 | Before object creation of type Initializers | Initializers.cs:14:34:14:35 | "" | | +| Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:38:14:53 | Before { ..., ... } | | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:17:14:53 | object creation of type Initializers | | -| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:13:14:53 | Initializers i = ... | | -| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:40:14:44 | ... = ... | | -| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:51:14:51 | 1 | | -| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:40 | access to field F | | -| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:51 | ... = ... | | -| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:38:14:53 | { ..., ... } | | -| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:47 | access to property G | | -| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:15:18:15:63 | 2 | | -| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:12:10:12:10 | exit M (normal) | | +| Initializers.cs:14:38:14:53 | After { ..., ... } | Initializers.cs:14:17:14:53 | After object creation of type Initializers | | +| Initializers.cs:14:38:14:53 | Before { ..., ... } | Initializers.cs:14:40:14:44 | Before ... = ... | | +| Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:38:14:53 | After { ..., ... } | | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:44:14:44 | 0 | | +| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:40:14:44 | After ... = ... | | +| Initializers.cs:14:40:14:44 | After ... = ... | Initializers.cs:14:47:14:51 | Before ... = ... | | +| Initializers.cs:14:40:14:44 | Before ... = ... | Initializers.cs:14:40:14:40 | access to field F | | +| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:44 | ... = ... | | +| Initializers.cs:14:47:14:47 | After access to property G | Initializers.cs:14:51:14:51 | 1 | | +| Initializers.cs:14:47:14:47 | Before access to property G | Initializers.cs:14:47:14:47 | access to property G | | +| Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:47 | After access to property G | | +| Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:47:14:51 | After ... = ... | | +| Initializers.cs:14:47:14:51 | After ... = ... | Initializers.cs:14:38:14:53 | { ..., ... } | | +| Initializers.cs:14:47:14:51 | Before ... = ... | Initializers.cs:14:47:14:47 | Before access to property G | | +| Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:51 | ... = ... | | +| Initializers.cs:15:9:15:64 | ... ...; | Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | | +| Initializers.cs:15:9:15:64 | After ... ...; | Initializers.cs:13:5:16:5 | After {...} | | +| Initializers.cs:15:13:15:14 | access to local variable iz | Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | | +| Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | Initializers.cs:15:9:15:64 | After ... ...; | | +| Initializers.cs:15:13:15:63 | Before Initializers[] iz = ... | Initializers.cs:15:13:15:14 | access to local variable iz | | +| Initializers.cs:15:13:15:63 | Initializers[] iz = ... | Initializers.cs:15:13:15:63 | After Initializers[] iz = ... | | | Initializers.cs:15:18:15:63 | 2 | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | | -| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:39:15:39 | access to local variable i | | -| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | | -| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:59:15:60 | "" | | -| Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:37:15:63 | { ..., ... } | | +| Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | Initializers.cs:15:13:15:63 | Initializers[] iz = ... | | +| Initializers.cs:15:18:15:63 | Before array creation of type Initializers[] | Initializers.cs:15:37:15:63 | Before { ..., ... } | | +| Initializers.cs:15:18:15:63 | array creation of type Initializers[] | Initializers.cs:15:18:15:63 | After array creation of type Initializers[] | | +| Initializers.cs:15:37:15:63 | After { ..., ... } | Initializers.cs:15:18:15:63 | 2 | | +| Initializers.cs:15:37:15:63 | Before { ..., ... } | Initializers.cs:15:39:15:39 | access to local variable i | | +| Initializers.cs:15:37:15:63 | { ..., ... } | Initializers.cs:15:37:15:63 | After { ..., ... } | | +| Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:42:15:61 | Before object creation of type Initializers | | +| Initializers.cs:15:42:15:61 | After object creation of type Initializers | Initializers.cs:15:37:15:63 | { ..., ... } | | +| Initializers.cs:15:42:15:61 | Before object creation of type Initializers | Initializers.cs:15:59:15:60 | "" | | +| Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:42:15:61 | After object creation of type Initializers | | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:42:15:61 | object creation of type Initializers | | -| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:16:18:20 | ... = ... | | -| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:20:18:20 | 1 | | -| Initializers.cs:18:16:18:16 | exit H (normal) | Initializers.cs:18:16:18:16 | exit H | | -| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | exit H (normal) | | -| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | access to field H | | -| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | {...} | | -| Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | call to constructor Object | | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:22:23:22:23 | this access | | -| Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | this access | | -| Initializers.cs:20:11:20:23 | exit (normal) | Initializers.cs:20:11:20:23 | exit | | -| Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | exit NoConstructor | | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:20:18:20 | 1 | | +| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:20 | After ... = ... | | +| Initializers.cs:18:16:18:20 | After ... = ... | Initializers.cs:3:7:3:18 | {...} | | +| Initializers.cs:18:16:18:20 | Before ... = ... | Initializers.cs:18:16:18:16 | access to field H | | +| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:20 | ... = ... | | +| Initializers.cs:20:11:20:23 | After call to constructor Object | Initializers.cs:20:11:20:23 | {...} | | +| Initializers.cs:20:11:20:23 | After call to method | Initializers.cs:20:11:20:23 | Before call to constructor Object | | +| Initializers.cs:20:11:20:23 | Before call to constructor Object | Initializers.cs:20:11:20:23 | call to constructor Object | | +| Initializers.cs:20:11:20:23 | Before call to method | Initializers.cs:20:11:20:23 | this access | | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:20:11:20:23 | Before call to method | | +| Initializers.cs:20:11:20:23 | Entry | Initializers.cs:22:23:22:27 | Before ... = ... | | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | Exit | | +| Initializers.cs:20:11:20:23 | Normal Exit | Initializers.cs:20:11:20:23 | Exit | | +| Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | After call to constructor Object | | +| Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | After call to method | | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | call to method | | -| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | | -| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:27 | ... = ... | | -| Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:27:22:27 | 0 | | -| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:23:23:23:23 | this access | | -| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | access to field F | | -| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:27 | ... = ... | | -| Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:27:23:27 | 1 | | -| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:20:11:20:23 | exit (normal) | | -| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | access to field G | | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:28:13:28:13 | this access | | -| Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:26:11:26:13 | exit | | -| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:17 | ... = ... | | -| Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:17:28:17 | 2 | | -| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:26:11:26:13 | exit (normal) | | -| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | access to field H | | -| Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | this access | | -| Initializers.cs:31:9:31:11 | exit Sub (normal) | Initializers.cs:31:9:31:11 | exit Sub | | +| Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | Normal Exit | | +| Initializers.cs:22:23:22:23 | After access to field F | Initializers.cs:22:27:22:27 | 0 | | +| Initializers.cs:22:23:22:23 | Before access to field F | Initializers.cs:22:23:22:23 | this access | | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:23 | After access to field F | | +| Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:23:22:23 | access to field F | | +| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:23:22:27 | After ... = ... | | +| Initializers.cs:22:23:22:27 | After ... = ... | Initializers.cs:23:23:23:27 | Before ... = ... | | +| Initializers.cs:22:23:22:27 | Before ... = ... | Initializers.cs:22:23:22:23 | Before access to field F | | +| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:27 | ... = ... | | +| Initializers.cs:23:23:23:23 | After access to field G | Initializers.cs:23:27:23:27 | 1 | | +| Initializers.cs:23:23:23:23 | Before access to field G | Initializers.cs:23:23:23:23 | this access | | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:23 | After access to field G | | +| Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:23:23:23 | access to field G | | +| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:23:23:27 | After ... = ... | | +| Initializers.cs:23:23:23:27 | After ... = ... | Initializers.cs:20:11:20:23 | Normal Exit | | +| Initializers.cs:23:23:23:27 | Before ... = ... | Initializers.cs:23:23:23:23 | Before access to field G | | +| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:27 | ... = ... | | +| Initializers.cs:26:11:26:13 | Entry | Initializers.cs:28:13:28:17 | Before ... = ... | | +| Initializers.cs:26:11:26:13 | Normal Exit | Initializers.cs:26:11:26:13 | Exit | | +| Initializers.cs:28:13:28:13 | After access to field H | Initializers.cs:28:17:28:17 | 2 | | +| Initializers.cs:28:13:28:13 | Before access to field H | Initializers.cs:28:13:28:13 | this access | | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:13 | After access to field H | | +| Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:13:28:13 | access to field H | | +| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:13:28:17 | After ... = ... | | +| Initializers.cs:28:13:28:17 | After ... = ... | Initializers.cs:26:11:26:13 | Normal Exit | | +| Initializers.cs:28:13:28:17 | Before ... = ... | Initializers.cs:28:13:28:13 | Before access to field H | | +| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:17 | ... = ... | | +| Initializers.cs:31:9:31:11 | After call to method | Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | | +| Initializers.cs:31:9:31:11 | Before call to method | Initializers.cs:31:9:31:11 | this access | | +| Initializers.cs:31:9:31:11 | Entry | Initializers.cs:31:9:31:11 | Before call to method | | +| Initializers.cs:31:9:31:11 | Normal Exit | Initializers.cs:31:9:31:11 | Exit | | +| Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:9:31:11 | After call to method | | | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | call to method | | -| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:24:31:33 | {...} | | +| Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | Initializers.cs:31:24:31:33 | {...} | | +| Initializers.cs:31:17:31:20 | Before call to constructor NoConstructor | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | | +| Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:17:31:20 | After call to constructor NoConstructor | | +| Initializers.cs:31:24:31:33 | After {...} | Initializers.cs:31:9:31:11 | Normal Exit | | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:26:31:31 | ...; | | -| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:30 | ... = ... | | -| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:30:31:30 | 3 | | -| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:9:31:11 | exit Sub (normal) | | -| Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:26 | this access | | -| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | access to field I | | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | | -| Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:9:33:11 | exit Sub | | -| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:29:33:38 | {...} | | +| Initializers.cs:31:26:31:26 | After access to field I | Initializers.cs:31:30:31:30 | 3 | | +| Initializers.cs:31:26:31:26 | Before access to field I | Initializers.cs:31:26:31:26 | this access | | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:26 | After access to field I | | +| Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:26:31:26 | access to field I | | +| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:26:31:30 | After ... = ... | | +| Initializers.cs:31:26:31:30 | After ... = ... | Initializers.cs:31:26:31:31 | After ...; | | +| Initializers.cs:31:26:31:30 | Before ... = ... | Initializers.cs:31:26:31:26 | Before access to field I | | +| Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:30 | Before ... = ... | | +| Initializers.cs:31:26:31:31 | After ...; | Initializers.cs:31:24:31:33 | After {...} | | +| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:30 | ... = ... | | +| Initializers.cs:33:9:33:11 | Entry | Initializers.cs:33:22:33:25 | Before call to constructor Sub | | +| Initializers.cs:33:9:33:11 | Normal Exit | Initializers.cs:33:9:33:11 | Exit | | +| Initializers.cs:33:22:33:25 | After call to constructor Sub | Initializers.cs:33:29:33:38 | {...} | | +| Initializers.cs:33:22:33:25 | Before call to constructor Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | | +| Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:22:33:25 | After call to constructor Sub | | +| Initializers.cs:33:29:33:38 | After {...} | Initializers.cs:33:9:33:11 | Normal Exit | | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:31:33:36 | ...; | | -| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:35 | ... = ... | | -| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:35:33:35 | access to parameter i | | -| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:9:33:11 | exit Sub (normal) | | -| Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:31 | this access | | -| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | access to field I | | -| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:27:35:40 | {...} | | -| Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | this access | | -| Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:9:35:11 | exit Sub | | +| Initializers.cs:33:31:33:31 | After access to field I | Initializers.cs:33:35:33:35 | access to parameter i | | +| Initializers.cs:33:31:33:31 | Before access to field I | Initializers.cs:33:31:33:31 | this access | | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:31 | After access to field I | | +| Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:31:33:31 | access to field I | | +| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:31:33:35 | After ... = ... | | +| Initializers.cs:33:31:33:35 | After ... = ... | Initializers.cs:33:31:33:36 | After ...; | | +| Initializers.cs:33:31:33:35 | Before ... = ... | Initializers.cs:33:31:33:31 | Before access to field I | | +| Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:35 | Before ... = ... | | +| Initializers.cs:33:31:33:36 | After ...; | Initializers.cs:33:29:33:38 | After {...} | | +| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:35 | ... = ... | | +| Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | Initializers.cs:35:27:35:40 | {...} | | +| Initializers.cs:35:9:35:11 | After call to method | Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | | +| Initializers.cs:35:9:35:11 | Before call to constructor NoConstructor | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | | +| Initializers.cs:35:9:35:11 | Before call to method | Initializers.cs:35:9:35:11 | this access | | +| Initializers.cs:35:9:35:11 | Entry | Initializers.cs:35:9:35:11 | Before call to method | | +| Initializers.cs:35:9:35:11 | Normal Exit | Initializers.cs:35:9:35:11 | Exit | | +| Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | After call to constructor NoConstructor | | +| Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | After call to method | | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | call to method | | +| Initializers.cs:35:27:35:40 | After {...} | Initializers.cs:35:9:35:11 | Normal Exit | | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:29:35:38 | ...; | | -| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:37 | ... = ... | | -| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:33:35:33 | access to parameter i | | -| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:9:35:11 | exit Sub (normal) | | -| Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:29 | this access | | +| Initializers.cs:35:29:35:29 | After access to field I | Initializers.cs:35:33:35:37 | Before ... + ... | | +| Initializers.cs:35:29:35:29 | Before access to field I | Initializers.cs:35:29:35:29 | this access | | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:29 | After access to field I | | +| Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:29:35:29 | access to field I | | +| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:29:35:37 | After ... = ... | | +| Initializers.cs:35:29:35:37 | After ... = ... | Initializers.cs:35:29:35:38 | After ...; | | +| Initializers.cs:35:29:35:37 | Before ... = ... | Initializers.cs:35:29:35:29 | Before access to field I | | +| Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:37 | Before ... = ... | | +| Initializers.cs:35:29:35:38 | After ...; | Initializers.cs:35:27:35:40 | After {...} | | | Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:37:35:37 | access to parameter j | | -| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:29:35:29 | access to field I | | +| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:33:35:37 | After ... + ... | | +| Initializers.cs:35:33:35:37 | After ... + ... | Initializers.cs:35:29:35:37 | ... = ... | | +| Initializers.cs:35:33:35:37 | Before ... + ... | Initializers.cs:35:33:35:33 | access to parameter i | | | Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:33:35:37 | ... + ... | | -| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | {...} | | -| Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | call to constructor Object | | -| Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | this access | | -| Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | Initializers.cs:39:7:39:23 | exit IndexInitializers | | +| Initializers.cs:39:7:39:23 | After call to constructor Object | Initializers.cs:39:7:39:23 | {...} | | +| Initializers.cs:39:7:39:23 | After call to method | Initializers.cs:39:7:39:23 | Before call to constructor Object | | +| Initializers.cs:39:7:39:23 | Before call to constructor Object | Initializers.cs:39:7:39:23 | call to constructor Object | | +| Initializers.cs:39:7:39:23 | Before call to method | Initializers.cs:39:7:39:23 | this access | | +| Initializers.cs:39:7:39:23 | Entry | Initializers.cs:39:7:39:23 | Before call to method | | +| Initializers.cs:39:7:39:23 | Normal Exit | Initializers.cs:39:7:39:23 | Exit | | +| Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | After call to constructor Object | | +| Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | After call to method | | | Initializers.cs:39:7:39:23 | this access | Initializers.cs:39:7:39:23 | call to method | | -| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | exit IndexInitializers (normal) | | -| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | {...} | | -| Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | call to constructor Object | | -| Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | this access | | -| Initializers.cs:41:11:41:18 | exit Compound (normal) | Initializers.cs:41:11:41:18 | exit Compound | | +| Initializers.cs:39:7:39:23 | {...} | Initializers.cs:39:7:39:23 | Normal Exit | | +| Initializers.cs:41:11:41:18 | After call to constructor Object | Initializers.cs:41:11:41:18 | {...} | | +| Initializers.cs:41:11:41:18 | After call to method | Initializers.cs:41:11:41:18 | Before call to constructor Object | | +| Initializers.cs:41:11:41:18 | Before call to constructor Object | Initializers.cs:41:11:41:18 | call to constructor Object | | +| Initializers.cs:41:11:41:18 | Before call to method | Initializers.cs:41:11:41:18 | this access | | +| Initializers.cs:41:11:41:18 | Entry | Initializers.cs:41:11:41:18 | Before call to method | | +| Initializers.cs:41:11:41:18 | Normal Exit | Initializers.cs:41:11:41:18 | Exit | | +| Initializers.cs:41:11:41:18 | call to constructor Object | Initializers.cs:41:11:41:18 | After call to constructor Object | | +| Initializers.cs:41:11:41:18 | call to method | Initializers.cs:41:11:41:18 | After call to method | | | Initializers.cs:41:11:41:18 | this access | Initializers.cs:41:11:41:18 | call to method | | -| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | exit Compound (normal) | | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:52:5:66:5 | {...} | | -| Initializers.cs:51:10:51:13 | exit Test (normal) | Initializers.cs:51:10:51:13 | exit Test | | +| Initializers.cs:41:11:41:18 | {...} | Initializers.cs:41:11:41:18 | Normal Exit | | +| Initializers.cs:51:10:51:13 | Entry | Initializers.cs:52:5:66:5 | {...} | | +| Initializers.cs:51:10:51:13 | Normal Exit | Initializers.cs:51:10:51:13 | Exit | | +| Initializers.cs:52:5:66:5 | After {...} | Initializers.cs:51:10:51:13 | Normal Exit | | | Initializers.cs:52:5:66:5 | {...} | Initializers.cs:54:9:54:96 | ... ...; | | -| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:20:54:95 | object creation of type Dictionary | | -| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:57:9:65:10 | ... ...; | | -| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:53:54:53 | 0 | | -| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:13:54:95 | Dictionary dict = ... | | -| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:52:54:63 | ... = ... | | -| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:67:54:67 | 1 | | -| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:58:54:63 | "Zero" | | -| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:52:54:54 | access to indexer | | -| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:66:54:76 | ... = ... | | -| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:80:54:80 | access to parameter i | | -| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:72:54:76 | "One" | | -| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:66:54:68 | access to indexer | | -| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:79:54:93 | ... = ... | | -| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:50:54:95 | { ..., ... } | | +| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | | +| Initializers.cs:54:9:54:96 | After ... ...; | Initializers.cs:57:9:65:10 | ... ...; | | +| Initializers.cs:54:13:54:16 | access to local variable dict | Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | | +| Initializers.cs:54:13:54:95 | After Dictionary dict = ... | Initializers.cs:54:9:54:96 | After ... ...; | | +| Initializers.cs:54:13:54:95 | Before Dictionary dict = ... | Initializers.cs:54:13:54:16 | access to local variable dict | | +| Initializers.cs:54:13:54:95 | Dictionary dict = ... | Initializers.cs:54:13:54:95 | After Dictionary dict = ... | | +| Initializers.cs:54:20:54:95 | After object creation of type Dictionary | Initializers.cs:54:13:54:95 | Dictionary dict = ... | | +| Initializers.cs:54:20:54:95 | Before object creation of type Dictionary | Initializers.cs:54:20:54:95 | object creation of type Dictionary | | +| Initializers.cs:54:20:54:95 | object creation of type Dictionary | Initializers.cs:54:50:54:95 | Before { ..., ... } | | +| Initializers.cs:54:50:54:95 | After { ..., ... } | Initializers.cs:54:20:54:95 | After object creation of type Dictionary | | +| Initializers.cs:54:50:54:95 | Before { ..., ... } | Initializers.cs:54:52:54:63 | Before ... = ... | | +| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:50:54:95 | After { ..., ... } | | +| Initializers.cs:54:52:54:54 | After access to indexer | Initializers.cs:54:58:54:63 | "Zero" | | +| Initializers.cs:54:52:54:54 | Before access to indexer | Initializers.cs:54:53:54:53 | 0 | | +| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:52:54:54 | After access to indexer | | +| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:52:54:63 | After ... = ... | | +| Initializers.cs:54:52:54:63 | After ... = ... | Initializers.cs:54:66:54:76 | Before ... = ... | | +| Initializers.cs:54:52:54:63 | Before ... = ... | Initializers.cs:54:52:54:54 | Before access to indexer | | +| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:52:54:54 | access to indexer | | +| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:52:54:63 | ... = ... | | +| Initializers.cs:54:66:54:68 | After access to indexer | Initializers.cs:54:72:54:76 | "One" | | +| Initializers.cs:54:66:54:68 | Before access to indexer | Initializers.cs:54:67:54:67 | 1 | | +| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:66:54:68 | After access to indexer | | +| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:66:54:76 | After ... = ... | | +| Initializers.cs:54:66:54:76 | After ... = ... | Initializers.cs:54:79:54:93 | Before ... = ... | | +| Initializers.cs:54:66:54:76 | Before ... = ... | Initializers.cs:54:66:54:68 | Before access to indexer | | +| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:66:54:68 | access to indexer | | +| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:66:54:76 | ... = ... | | +| Initializers.cs:54:79:54:85 | After access to indexer | Initializers.cs:54:89:54:93 | "Two" | | +| Initializers.cs:54:79:54:85 | Before access to indexer | Initializers.cs:54:80:54:84 | Before ... + ... | | +| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:79:54:85 | After access to indexer | | +| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:79:54:93 | After ... = ... | | +| Initializers.cs:54:79:54:93 | After ... = ... | Initializers.cs:54:50:54:95 | { ..., ... } | | +| Initializers.cs:54:79:54:93 | Before ... = ... | Initializers.cs:54:79:54:85 | Before access to indexer | | | Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:84:54:84 | 2 | | -| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:89:54:93 | "Two" | | +| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:80:54:84 | After ... + ... | | +| Initializers.cs:54:80:54:84 | After ... + ... | Initializers.cs:54:79:54:85 | access to indexer | | +| Initializers.cs:54:80:54:84 | Before ... + ... | Initializers.cs:54:80:54:80 | access to parameter i | | | Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:80:54:84 | ... + ... | | -| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:79:54:85 | access to indexer | | -| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:24:65:9 | object creation of type Compound | | -| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | exit Test (normal) | | -| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:34:59:34 | 0 | | -| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:57:13:65:9 | Compound compound = ... | | -| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:13:59:76 | ... = ... | | -| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:37:60:37 | 3 | | -| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:27 | access to field DictionaryField | | -| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:44 | ... = ... | | -| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:48:59:48 | 1 | | -| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:39:59:44 | "Zero" | | -| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:33:59:35 | access to indexer | | -| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:47:59:57 | ... = ... | | -| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:61:59:61 | access to parameter i | | -| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:53:59:57 | "One" | | -| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:47:59:49 | access to indexer | | -| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:60:59:74 | ... = ... | | -| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:31:59:76 | { ..., ... } | | +| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:79:54:93 | ... = ... | | +| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:13:65:9 | Before Compound compound = ... | | +| Initializers.cs:57:9:65:10 | After ... ...; | Initializers.cs:52:5:66:5 | After {...} | | +| Initializers.cs:57:13:57:20 | access to local variable compound | Initializers.cs:57:24:65:9 | Before object creation of type Compound | | +| Initializers.cs:57:13:65:9 | After Compound compound = ... | Initializers.cs:57:9:65:10 | After ... ...; | | +| Initializers.cs:57:13:65:9 | Before Compound compound = ... | Initializers.cs:57:13:57:20 | access to local variable compound | | +| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:57:13:65:9 | After Compound compound = ... | | +| Initializers.cs:57:24:65:9 | After object creation of type Compound | Initializers.cs:57:13:65:9 | Compound compound = ... | | +| Initializers.cs:57:24:65:9 | Before object creation of type Compound | Initializers.cs:57:24:65:9 | object creation of type Compound | | +| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:58:9:65:9 | Before { ..., ... } | | +| Initializers.cs:58:9:65:9 | After { ..., ... } | Initializers.cs:57:24:65:9 | After object creation of type Compound | | +| Initializers.cs:58:9:65:9 | Before { ..., ... } | Initializers.cs:59:13:59:76 | Before ... = ... | | +| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:58:9:65:9 | After { ..., ... } | | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:31:59:76 | Before { ..., ... } | | +| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:13:59:76 | After ... = ... | | +| Initializers.cs:59:13:59:76 | After ... = ... | Initializers.cs:60:13:60:80 | Before ... = ... | | +| Initializers.cs:59:13:59:76 | Before ... = ... | Initializers.cs:59:13:59:27 | access to field DictionaryField | | +| Initializers.cs:59:31:59:76 | After { ..., ... } | Initializers.cs:59:13:59:76 | ... = ... | | +| Initializers.cs:59:31:59:76 | Before { ..., ... } | Initializers.cs:59:33:59:44 | Before ... = ... | | +| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:31:59:76 | After { ..., ... } | | +| Initializers.cs:59:33:59:35 | After access to indexer | Initializers.cs:59:39:59:44 | "Zero" | | +| Initializers.cs:59:33:59:35 | Before access to indexer | Initializers.cs:59:34:59:34 | 0 | | +| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:35 | After access to indexer | | +| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:33:59:44 | After ... = ... | | +| Initializers.cs:59:33:59:44 | After ... = ... | Initializers.cs:59:47:59:57 | Before ... = ... | | +| Initializers.cs:59:33:59:44 | Before ... = ... | Initializers.cs:59:33:59:35 | Before access to indexer | | +| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:33:59:35 | access to indexer | | +| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:33:59:44 | ... = ... | | +| Initializers.cs:59:47:59:49 | After access to indexer | Initializers.cs:59:53:59:57 | "One" | | +| Initializers.cs:59:47:59:49 | Before access to indexer | Initializers.cs:59:48:59:48 | 1 | | +| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:47:59:49 | After access to indexer | | +| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:47:59:57 | After ... = ... | | +| Initializers.cs:59:47:59:57 | After ... = ... | Initializers.cs:59:60:59:74 | Before ... = ... | | +| Initializers.cs:59:47:59:57 | Before ... = ... | Initializers.cs:59:47:59:49 | Before access to indexer | | +| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:47:59:49 | access to indexer | | +| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:47:59:57 | ... = ... | | +| Initializers.cs:59:60:59:66 | After access to indexer | Initializers.cs:59:70:59:74 | "Two" | | +| Initializers.cs:59:60:59:66 | Before access to indexer | Initializers.cs:59:61:59:65 | Before ... + ... | | +| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:60:59:66 | After access to indexer | | +| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:60:59:74 | After ... = ... | | +| Initializers.cs:59:60:59:74 | After ... = ... | Initializers.cs:59:31:59:76 | { ..., ... } | | +| Initializers.cs:59:60:59:74 | Before ... = ... | Initializers.cs:59:60:59:66 | Before access to indexer | | | Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:65:59:65 | 2 | | -| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:70:59:74 | "Two" | | +| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:61:59:65 | After ... + ... | | +| Initializers.cs:59:61:59:65 | After ... + ... | Initializers.cs:59:60:59:66 | access to indexer | | +| Initializers.cs:59:61:59:65 | Before ... + ... | Initializers.cs:59:61:59:61 | access to parameter i | | | Initializers.cs:59:65:59:65 | 2 | Initializers.cs:59:61:59:65 | ... + ... | | -| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:60:59:66 | access to indexer | | -| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:80 | ... = ... | | -| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:61:29:61:29 | 0 | | -| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | | -| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:36:60:48 | ... = ... | | -| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:52:60:52 | 2 | | -| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:42:60:48 | "Three" | | -| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:36:60:38 | access to indexer | | -| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:51:60:61 | ... = ... | | -| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:65:60:65 | access to parameter i | | -| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:57:60:61 | "Two" | | -| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:51:60:53 | access to indexer | | -| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:64:60:78 | ... = ... | | -| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:34:60:80 | { ..., ... } | | +| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:60:59:74 | ... = ... | | +| Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | Initializers.cs:60:34:60:80 | Before { ..., ... } | | +| Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | | +| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:30 | After access to property DictionaryProperty | | +| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:13:60:80 | After ... = ... | | +| Initializers.cs:60:13:60:80 | After ... = ... | Initializers.cs:61:13:61:58 | Before ... = ... | | +| Initializers.cs:60:13:60:80 | Before ... = ... | Initializers.cs:60:13:60:30 | Before access to property DictionaryProperty | | +| Initializers.cs:60:34:60:80 | After { ..., ... } | Initializers.cs:60:13:60:80 | ... = ... | | +| Initializers.cs:60:34:60:80 | Before { ..., ... } | Initializers.cs:60:36:60:48 | Before ... = ... | | +| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:34:60:80 | After { ..., ... } | | +| Initializers.cs:60:36:60:38 | After access to indexer | Initializers.cs:60:42:60:48 | "Three" | | +| Initializers.cs:60:36:60:38 | Before access to indexer | Initializers.cs:60:37:60:37 | 3 | | +| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:36:60:38 | After access to indexer | | +| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:36:60:48 | After ... = ... | | +| Initializers.cs:60:36:60:48 | After ... = ... | Initializers.cs:60:51:60:61 | Before ... = ... | | +| Initializers.cs:60:36:60:48 | Before ... = ... | Initializers.cs:60:36:60:38 | Before access to indexer | | +| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:36:60:38 | access to indexer | | +| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:36:60:48 | ... = ... | | +| Initializers.cs:60:51:60:53 | After access to indexer | Initializers.cs:60:57:60:61 | "Two" | | +| Initializers.cs:60:51:60:53 | Before access to indexer | Initializers.cs:60:52:60:52 | 2 | | +| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:51:60:53 | After access to indexer | | +| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:51:60:61 | After ... = ... | | +| Initializers.cs:60:51:60:61 | After ... = ... | Initializers.cs:60:64:60:78 | Before ... = ... | | +| Initializers.cs:60:51:60:61 | Before ... = ... | Initializers.cs:60:51:60:53 | Before access to indexer | | +| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:51:60:53 | access to indexer | | +| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:51:60:61 | ... = ... | | +| Initializers.cs:60:64:60:70 | After access to indexer | Initializers.cs:60:74:60:78 | "One" | | +| Initializers.cs:60:64:60:70 | Before access to indexer | Initializers.cs:60:65:60:69 | Before ... + ... | | +| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:64:60:70 | After access to indexer | | +| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:64:60:78 | After ... = ... | | +| Initializers.cs:60:64:60:78 | After ... = ... | Initializers.cs:60:34:60:80 | { ..., ... } | | +| Initializers.cs:60:64:60:78 | Before ... = ... | Initializers.cs:60:64:60:70 | Before access to indexer | | | Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:69:60:69 | 1 | | -| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:74:60:78 | "One" | | +| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:65:60:69 | After ... + ... | | +| Initializers.cs:60:65:60:69 | After ... + ... | Initializers.cs:60:64:60:70 | access to indexer | | +| Initializers.cs:60:65:60:69 | Before ... + ... | Initializers.cs:60:65:60:65 | access to parameter i | | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:69 | ... + ... | | -| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:70 | access to indexer | | -| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:13:61:58 | ... = ... | | -| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:30:62:30 | 0 | | -| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:22 | access to field ArrayField | | -| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:28:61:39 | ... = ... | | -| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:43:61:43 | access to parameter i | | -| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:34:61:39 | "Zero" | | -| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:30 | access to array element | | -| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:42:61:56 | ... = ... | | -| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | | +| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:78 | ... = ... | | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:26:61:58 | Before { ..., ... } | | +| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:13:61:58 | After ... = ... | | +| Initializers.cs:61:13:61:58 | After ... = ... | Initializers.cs:62:13:62:60 | Before ... = ... | | +| Initializers.cs:61:13:61:58 | Before ... = ... | Initializers.cs:61:13:61:22 | access to field ArrayField | | +| Initializers.cs:61:26:61:58 | After { ..., ... } | Initializers.cs:61:13:61:58 | ... = ... | | +| Initializers.cs:61:26:61:58 | Before { ..., ... } | Initializers.cs:61:28:61:39 | Before ... = ... | | +| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:26:61:58 | After { ..., ... } | | +| Initializers.cs:61:28:61:30 | After access to array element | Initializers.cs:61:34:61:39 | "Zero" | | +| Initializers.cs:61:28:61:30 | Before access to array element | Initializers.cs:61:29:61:29 | 0 | | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:28:61:30 | After access to array element | | +| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:28:61:39 | After ... = ... | | +| Initializers.cs:61:28:61:39 | After ... = ... | Initializers.cs:61:42:61:56 | Before ... = ... | | +| Initializers.cs:61:28:61:39 | Before ... = ... | Initializers.cs:61:28:61:30 | Before access to array element | | +| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:28:61:30 | access to array element | | +| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:39 | ... = ... | | +| Initializers.cs:61:42:61:48 | After access to array element | Initializers.cs:61:52:61:56 | "One" | | +| Initializers.cs:61:42:61:48 | Before access to array element | Initializers.cs:61:43:61:47 | Before ... + ... | | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:42:61:48 | After access to array element | | +| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:42:61:56 | After ... = ... | | +| Initializers.cs:61:42:61:56 | After ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | | +| Initializers.cs:61:42:61:56 | Before ... = ... | Initializers.cs:61:42:61:48 | Before access to array element | | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:47:61:47 | 1 | | -| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:52:61:56 | "One" | | +| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:43:61:47 | After ... + ... | | +| Initializers.cs:61:43:61:47 | After ... + ... | Initializers.cs:61:42:61:48 | access to array element | | +| Initializers.cs:61:43:61:47 | Before ... + ... | Initializers.cs:61:43:61:43 | access to parameter i | | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:47 | ... + ... | | -| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:48 | access to array element | | -| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:13:62:60 | ... = ... | | -| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 | | -| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:23 | access to field ArrayField2 | | -| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:29:62:40 | ... = ... | | -| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:44:62:44 | 1 | | +| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:56 | ... = ... | | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:27:62:60 | Before { ..., ... } | | +| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:13:62:60 | After ... = ... | | +| Initializers.cs:62:13:62:60 | After ... = ... | Initializers.cs:63:13:63:60 | Before ... = ... | | +| Initializers.cs:62:13:62:60 | Before ... = ... | Initializers.cs:62:13:62:23 | access to field ArrayField2 | | +| Initializers.cs:62:27:62:60 | After { ..., ... } | Initializers.cs:62:13:62:60 | ... = ... | | +| Initializers.cs:62:27:62:60 | Before { ..., ... } | Initializers.cs:62:29:62:40 | Before ... = ... | | +| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:27:62:60 | After { ..., ... } | | +| Initializers.cs:62:29:62:34 | After access to array element | Initializers.cs:62:38:62:40 | "i" | | +| Initializers.cs:62:29:62:34 | Before access to array element | Initializers.cs:62:30:62:30 | 0 | | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:29:62:34 | After access to array element | | +| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:29:62:40 | After ... = ... | | +| Initializers.cs:62:29:62:40 | After ... = ... | Initializers.cs:62:43:62:58 | Before ... = ... | | +| Initializers.cs:62:29:62:40 | Before ... = ... | Initializers.cs:62:29:62:34 | Before access to array element | | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:33:62:33 | 1 | | -| Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:38:62:40 | "i" | | -| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:34 | access to array element | | -| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:43:62:58 | ... = ... | | -| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | | -| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:47 | access to parameter i | | +| Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:29:62:34 | access to array element | | +| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:40 | ... = ... | | +| Initializers.cs:62:43:62:52 | After access to array element | Initializers.cs:62:56:62:58 | "1" | | +| Initializers.cs:62:43:62:52 | Before access to array element | Initializers.cs:62:44:62:44 | 1 | | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:43:62:52 | After access to array element | | +| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:43:62:58 | After ... = ... | | +| Initializers.cs:62:43:62:58 | After ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | | +| Initializers.cs:62:43:62:58 | Before ... = ... | Initializers.cs:62:43:62:52 | Before access to array element | | +| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:51 | Before ... + ... | | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:51:62:51 | 0 | | -| Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:56:62:58 | "1" | | +| Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:47:62:51 | After ... + ... | | +| Initializers.cs:62:47:62:51 | After ... + ... | Initializers.cs:62:43:62:52 | access to array element | | +| Initializers.cs:62:47:62:51 | Before ... + ... | Initializers.cs:62:47:62:47 | access to parameter i | | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:47:62:51 | ... + ... | | -| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:52 | access to array element | | -| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:60 | ... = ... | | -| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:64:33:64:33 | 0 | | -| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:13:63:25 | access to property ArrayProperty | | -| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:31:63:41 | ... = ... | | -| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:45:63:45 | access to parameter i | | -| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:37:63:41 | "One" | | -| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:33 | access to array element | | -| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:44:63:58 | ... = ... | | -| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | | +| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:58 | ... = ... | | +| Initializers.cs:63:13:63:25 | After access to property ArrayProperty | Initializers.cs:63:29:63:60 | Before { ..., ... } | | +| Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | Initializers.cs:63:13:63:25 | access to property ArrayProperty | | +| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:25 | After access to property ArrayProperty | | +| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:13:63:60 | After ... = ... | | +| Initializers.cs:63:13:63:60 | After ... = ... | Initializers.cs:64:13:64:63 | Before ... = ... | | +| Initializers.cs:63:13:63:60 | Before ... = ... | Initializers.cs:63:13:63:25 | Before access to property ArrayProperty | | +| Initializers.cs:63:29:63:60 | After { ..., ... } | Initializers.cs:63:13:63:60 | ... = ... | | +| Initializers.cs:63:29:63:60 | Before { ..., ... } | Initializers.cs:63:31:63:41 | Before ... = ... | | +| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:29:63:60 | After { ..., ... } | | +| Initializers.cs:63:31:63:33 | After access to array element | Initializers.cs:63:37:63:41 | "One" | | +| Initializers.cs:63:31:63:33 | Before access to array element | Initializers.cs:63:32:63:32 | 1 | | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:31:63:33 | After access to array element | | +| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:31:63:41 | After ... = ... | | +| Initializers.cs:63:31:63:41 | After ... = ... | Initializers.cs:63:44:63:58 | Before ... = ... | | +| Initializers.cs:63:31:63:41 | Before ... = ... | Initializers.cs:63:31:63:33 | Before access to array element | | +| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:31:63:33 | access to array element | | +| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:41 | ... = ... | | +| Initializers.cs:63:44:63:50 | After access to array element | Initializers.cs:63:54:63:58 | "Two" | | +| Initializers.cs:63:44:63:50 | Before access to array element | Initializers.cs:63:45:63:49 | Before ... + ... | | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:44:63:50 | After access to array element | | +| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:44:63:58 | After ... = ... | | +| Initializers.cs:63:44:63:58 | After ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | | +| Initializers.cs:63:44:63:58 | Before ... = ... | Initializers.cs:63:44:63:50 | Before access to array element | | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:49:63:49 | 2 | | -| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:54:63:58 | "Two" | | +| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:45:63:49 | After ... + ... | | +| Initializers.cs:63:45:63:49 | After ... + ... | Initializers.cs:63:44:63:50 | access to array element | | +| Initializers.cs:63:45:63:49 | Before ... + ... | Initializers.cs:63:45:63:45 | access to parameter i | | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:49 | ... + ... | | -| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:50 | access to array element | | -| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:63 | ... = ... | | -| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | | -| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | | -| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:32:64:43 | ... = ... | | -| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:47:64:47 | 1 | | +| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:58 | ... = ... | | +| Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | Initializers.cs:64:30:64:63 | Before { ..., ... } | | +| Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | | +| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:26 | After access to property ArrayProperty2 | | +| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:13:64:63 | After ... = ... | | +| Initializers.cs:64:13:64:63 | After ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | | +| Initializers.cs:64:13:64:63 | Before ... = ... | Initializers.cs:64:13:64:26 | Before access to property ArrayProperty2 | | +| Initializers.cs:64:30:64:63 | After { ..., ... } | Initializers.cs:64:13:64:63 | ... = ... | | +| Initializers.cs:64:30:64:63 | Before { ..., ... } | Initializers.cs:64:32:64:43 | Before ... = ... | | +| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:30:64:63 | After { ..., ... } | | +| Initializers.cs:64:32:64:37 | After access to array element | Initializers.cs:64:41:64:43 | "i" | | +| Initializers.cs:64:32:64:37 | Before access to array element | Initializers.cs:64:33:64:33 | 0 | | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:32:64:37 | After access to array element | | +| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:32:64:43 | After ... = ... | | +| Initializers.cs:64:32:64:43 | After ... = ... | Initializers.cs:64:46:64:61 | Before ... = ... | | +| Initializers.cs:64:32:64:43 | Before ... = ... | Initializers.cs:64:32:64:37 | Before access to array element | | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:36:64:36 | 1 | | -| Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:41:64:43 | "i" | | -| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:37 | access to array element | | -| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:46:64:61 | ... = ... | | -| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | | -| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:50 | access to parameter i | | +| Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:32:64:37 | access to array element | | +| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:43 | ... = ... | | +| Initializers.cs:64:46:64:55 | After access to array element | Initializers.cs:64:59:64:61 | "1" | | +| Initializers.cs:64:46:64:55 | Before access to array element | Initializers.cs:64:47:64:47 | 1 | | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:46:64:55 | After access to array element | | +| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:46:64:61 | After ... = ... | | +| Initializers.cs:64:46:64:61 | After ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | | +| Initializers.cs:64:46:64:61 | Before ... = ... | Initializers.cs:64:46:64:55 | Before access to array element | | +| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:54 | Before ... + ... | | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:54:64:54 | 0 | | -| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:59:64:61 | "1" | | +| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:50:64:54 | After ... + ... | | +| Initializers.cs:64:50:64:54 | After ... + ... | Initializers.cs:64:46:64:55 | access to array element | | +| Initializers.cs:64:50:64:54 | Before ... + ... | Initializers.cs:64:50:64:50 | access to parameter i | | | Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:50:64:54 | ... + ... | | -| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:55 | access to array element | | -| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | {...} | | -| LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | | -| LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | this access | | -| LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling | | +| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:61 | ... = ... | | +| LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | LoopUnrolling.cs:5:7:5:19 | {...} | | +| LoopUnrolling.cs:5:7:5:19 | After call to method | LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | | +| LoopUnrolling.cs:5:7:5:19 | Before call to constructor Object | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | | +| LoopUnrolling.cs:5:7:5:19 | Before call to method | LoopUnrolling.cs:5:7:5:19 | this access | | +| LoopUnrolling.cs:5:7:5:19 | Entry | LoopUnrolling.cs:5:7:5:19 | Before call to method | | +| LoopUnrolling.cs:5:7:5:19 | Normal Exit | LoopUnrolling.cs:5:7:5:19 | Exit | | +| LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | After call to constructor Object | | +| LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | After call to method | | | LoopUnrolling.cs:5:7:5:19 | this access | LoopUnrolling.cs:5:7:5:19 | call to method | | -| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling (normal) | | -| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:8:5:13:5 | {...} | | -| LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | exit M1 | | +| LoopUnrolling.cs:5:7:5:19 | {...} | LoopUnrolling.cs:5:7:5:19 | Normal Exit | | +| LoopUnrolling.cs:7:10:7:11 | Entry | LoopUnrolling.cs:8:5:13:5 | {...} | | +| LoopUnrolling.cs:7:10:7:11 | Normal Exit | LoopUnrolling.cs:7:10:7:11 | Exit | | +| LoopUnrolling.cs:8:5:13:5 | After {...} | LoopUnrolling.cs:7:10:7:11 | Normal Exit | | | LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:9:9:10:19 | if (...) ... | | -| LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:9:13:9:16 | access to parameter args | | +| LoopUnrolling.cs:9:9:10:19 | After if (...) ... | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:9:9:10:19 | if (...) ... | LoopUnrolling.cs:9:13:9:28 | Before ... == ... | | | LoopUnrolling.cs:9:13:9:16 | access to parameter args | LoopUnrolling.cs:9:13:9:23 | access to property Length | | -| LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:9:28:9:28 | 0 | | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:10:13:10:19 | return ...; | true | -| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | false | +| LoopUnrolling.cs:9:13:9:23 | After access to property Length | LoopUnrolling.cs:9:28:9:28 | 0 | | +| LoopUnrolling.cs:9:13:9:23 | Before access to property Length | LoopUnrolling.cs:9:13:9:16 | access to parameter args | | +| LoopUnrolling.cs:9:13:9:23 | access to property Length | LoopUnrolling.cs:9:13:9:23 | After access to property Length | | +| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | false | +| LoopUnrolling.cs:9:13:9:28 | ... == ... | LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | true | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [false] | LoopUnrolling.cs:9:9:10:19 | After if (...) ... | | +| LoopUnrolling.cs:9:13:9:28 | After ... == ... [true] | LoopUnrolling.cs:10:13:10:19 | Before return ...; | | +| LoopUnrolling.cs:9:13:9:28 | Before ... == ... | LoopUnrolling.cs:9:13:9:23 | Before access to property Length | | | LoopUnrolling.cs:9:28:9:28 | 0 | LoopUnrolling.cs:9:13:9:28 | ... == ... | | -| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | return | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | empty | -| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | non-empty | +| LoopUnrolling.cs:10:13:10:19 | Before return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | | +| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:7:10:7:11 | Normal Exit | return | +| LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:8:5:13:5 | After {...} | | +| LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:11:22:11:24 | String arg | | +| LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:11:29:11:32 | access to parameter args | | | LoopUnrolling.cs:11:22:11:24 | String arg | LoopUnrolling.cs:12:13:12:35 | ...; | | -| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | LoopUnrolling.cs:11:9:12:35 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:11:22:11:24 | String arg | | +| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [empty] | empty | +| LoopUnrolling.cs:11:29:11:32 | access to parameter args | LoopUnrolling.cs:11:29:11:32 | After access to parameter args [non-empty] | non-empty | +| LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | LoopUnrolling.cs:12:13:12:35 | After ...; | | +| LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | | +| LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | LoopUnrolling.cs:12:13:12:34 | After call to method WriteLine | | +| LoopUnrolling.cs:12:13:12:35 | ...; | LoopUnrolling.cs:12:13:12:34 | Before call to method WriteLine | | +| LoopUnrolling.cs:12:13:12:35 | After ...; | LoopUnrolling.cs:11:9:12:35 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:12:31:12:33 | access to local variable arg | LoopUnrolling.cs:12:13:12:34 | call to method WriteLine | | -| LoopUnrolling.cs:15:10:15:11 | enter M2 | LoopUnrolling.cs:16:5:20:5 | {...} | | -| LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | LoopUnrolling.cs:15:10:15:11 | exit M2 | | +| LoopUnrolling.cs:15:10:15:11 | Entry | LoopUnrolling.cs:16:5:20:5 | {...} | | +| LoopUnrolling.cs:15:10:15:11 | Normal Exit | LoopUnrolling.cs:15:10:15:11 | Exit | | +| LoopUnrolling.cs:16:5:20:5 | After {...} | LoopUnrolling.cs:15:10:15:11 | Normal Exit | | | LoopUnrolling.cs:16:5:20:5 | {...} | LoopUnrolling.cs:17:9:17:48 | ... ...; | | -| LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:17:18:17:47 | 3 | | -| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | | +| LoopUnrolling.cs:17:9:17:48 | ... ...; | LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | | +| LoopUnrolling.cs:17:9:17:48 | After ... ...; | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:17:13:17:14 | access to local variable xs | LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | | +| LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | LoopUnrolling.cs:17:9:17:48 | After ... ...; | | +| LoopUnrolling.cs:17:13:17:47 | Before String[] xs = ... | LoopUnrolling.cs:17:13:17:14 | access to local variable xs | | +| LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | LoopUnrolling.cs:17:13:17:47 | After String[] xs = ... | | | LoopUnrolling.cs:17:18:17:47 | 3 | LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | | -| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:33:17:35 | "a" | | -| LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | | +| LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | LoopUnrolling.cs:17:13:17:47 | String[] xs = ... | | +| LoopUnrolling.cs:17:18:17:47 | Before array creation of type String[] | LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | | +| LoopUnrolling.cs:17:18:17:47 | array creation of type String[] | LoopUnrolling.cs:17:18:17:47 | After array creation of type String[] | | +| LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | LoopUnrolling.cs:17:18:17:47 | 3 | | +| LoopUnrolling.cs:17:31:17:47 | Before { ..., ... } | LoopUnrolling.cs:17:33:17:35 | "a" | | +| LoopUnrolling.cs:17:31:17:47 | { ..., ... } | LoopUnrolling.cs:17:31:17:47 | After { ..., ... } | | | LoopUnrolling.cs:17:33:17:35 | "a" | LoopUnrolling.cs:17:38:17:40 | "b" | | | LoopUnrolling.cs:17:38:17:40 | "b" | LoopUnrolling.cs:17:43:17:45 | "c" | | | LoopUnrolling.cs:17:43:17:45 | "c" | LoopUnrolling.cs:17:31:17:47 | { ..., ... } | | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:15:10:15:11 | exit M2 (normal) | empty | -| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | non-empty | +| LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:16:5:20:5 | After {...} | | +| LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:18:22:18:22 | String x | | +| LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:18:27:18:28 | access to local variable xs | | | LoopUnrolling.cs:18:22:18:22 | String x | LoopUnrolling.cs:19:13:19:33 | ...; | | -| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:18:9:19:33 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:19:31:19:31 | access to local variable x | | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | LoopUnrolling.cs:18:9:19:33 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:18:22:18:22 | String x | | +| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:18:27:18:28 | access to local variable xs | LoopUnrolling.cs:18:27:18:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | LoopUnrolling.cs:19:13:19:33 | After ...; | | +| LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | LoopUnrolling.cs:19:31:19:31 | access to local variable x | | +| LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | LoopUnrolling.cs:19:13:19:32 | After call to method WriteLine | | +| LoopUnrolling.cs:19:13:19:33 | ...; | LoopUnrolling.cs:19:13:19:32 | Before call to method WriteLine | | +| LoopUnrolling.cs:19:13:19:33 | After ...; | LoopUnrolling.cs:18:9:19:33 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:19:31:19:31 | access to local variable x | LoopUnrolling.cs:19:13:19:32 | call to method WriteLine | | -| LoopUnrolling.cs:22:10:22:11 | enter M3 | LoopUnrolling.cs:23:5:27:5 | {...} | | -| LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | LoopUnrolling.cs:22:10:22:11 | exit M3 | | -| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:24:29:24:32 | access to parameter args | | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:22:10:22:11 | exit M3 (normal) | empty | -| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | non-empty | -| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:34:25:37 | access to parameter args | | -| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | non-empty | +| LoopUnrolling.cs:22:10:22:11 | Entry | LoopUnrolling.cs:23:5:27:5 | {...} | | +| LoopUnrolling.cs:22:10:22:11 | Normal Exit | LoopUnrolling.cs:22:10:22:11 | Exit | | +| LoopUnrolling.cs:23:5:27:5 | After {...} | LoopUnrolling.cs:22:10:22:11 | Normal Exit | | +| LoopUnrolling.cs:23:5:27:5 | {...} | LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:23:5:27:5 | After {...} | | +| LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:24:22:24:24 | Char arg | | +| LoopUnrolling.cs:24:9:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:24:29:24:32 | access to parameter args | | +| LoopUnrolling.cs:24:22:24:24 | Char arg | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | LoopUnrolling.cs:24:9:26:40 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:24:22:24:24 | Char arg | | +| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [empty] | empty | +| LoopUnrolling.cs:24:29:24:32 | access to parameter args | LoopUnrolling.cs:24:29:24:32 | After access to parameter args [non-empty] | non-empty | +| LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | LoopUnrolling.cs:24:9:26:40 | [LoopHeader] foreach (... ... in ...) ... | | +| LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:25:26:25:29 | Char arg0 | | +| LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | LoopUnrolling.cs:25:34:25:37 | access to parameter args | | | LoopUnrolling.cs:25:26:25:29 | Char arg0 | LoopUnrolling.cs:26:17:26:40 | ...; | | -| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:25:13:26:40 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | LoopUnrolling.cs:25:13:26:40 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | LoopUnrolling.cs:25:26:25:29 | Char arg0 | | +| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [empty] | empty | +| LoopUnrolling.cs:25:34:25:37 | access to parameter args | LoopUnrolling.cs:25:34:25:37 | After access to parameter args [non-empty] | non-empty | +| LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | LoopUnrolling.cs:26:17:26:40 | After ...; | | +| LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | | +| LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | LoopUnrolling.cs:26:17:26:39 | After call to method WriteLine | | +| LoopUnrolling.cs:26:17:26:40 | ...; | LoopUnrolling.cs:26:17:26:39 | Before call to method WriteLine | | +| LoopUnrolling.cs:26:17:26:40 | After ...; | LoopUnrolling.cs:25:13:26:40 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:26:35:26:38 | access to local variable arg0 | LoopUnrolling.cs:26:17:26:39 | call to method WriteLine | | -| LoopUnrolling.cs:29:10:29:11 | enter M4 | LoopUnrolling.cs:30:5:34:5 | {...} | | -| LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | LoopUnrolling.cs:29:10:29:11 | exit M4 | | +| LoopUnrolling.cs:29:10:29:11 | Entry | LoopUnrolling.cs:30:5:34:5 | {...} | | +| LoopUnrolling.cs:29:10:29:11 | Normal Exit | LoopUnrolling.cs:29:10:29:11 | Exit | | +| LoopUnrolling.cs:30:5:34:5 | After {...} | LoopUnrolling.cs:29:10:29:11 | Normal Exit | | | LoopUnrolling.cs:30:5:34:5 | {...} | LoopUnrolling.cs:31:9:31:31 | ... ...; | | -| LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:31:29:31:29 | 0 | | -| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | | -| LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | | +| LoopUnrolling.cs:31:9:31:31 | ... ...; | LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | | +| LoopUnrolling.cs:31:9:31:31 | After ... ...; | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:31:13:31:14 | access to local variable xs | LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | | +| LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | LoopUnrolling.cs:31:9:31:31 | After ... ...; | | +| LoopUnrolling.cs:31:13:31:30 | Before String[] xs = ... | LoopUnrolling.cs:31:13:31:14 | access to local variable xs | | +| LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | LoopUnrolling.cs:31:13:31:30 | After String[] xs = ... | | +| LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | LoopUnrolling.cs:31:13:31:30 | String[] xs = ... | | +| LoopUnrolling.cs:31:18:31:30 | Before array creation of type String[] | LoopUnrolling.cs:31:29:31:29 | 0 | | +| LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | LoopUnrolling.cs:31:18:31:30 | After array creation of type String[] | | | LoopUnrolling.cs:31:29:31:29 | 0 | LoopUnrolling.cs:31:18:31:30 | array creation of type String[] | | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:29:10:29:11 | exit M4 (normal) | empty | -| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | non-empty | +| LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | LoopUnrolling.cs:30:5:34:5 | After {...} | | +| LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:32:22:32:22 | String x | | +| LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | LoopUnrolling.cs:32:27:32:28 | access to local variable xs | | | LoopUnrolling.cs:32:22:32:22 | String x | LoopUnrolling.cs:33:13:33:33 | ...; | | -| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:32:9:33:33 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:33:31:33:31 | access to local variable x | | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | LoopUnrolling.cs:32:9:33:33 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:32:22:32:22 | String x | | +| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:32:27:32:28 | access to local variable xs | LoopUnrolling.cs:32:27:32:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | LoopUnrolling.cs:33:13:33:33 | After ...; | | +| LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | LoopUnrolling.cs:33:31:33:31 | access to local variable x | | +| LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | LoopUnrolling.cs:33:13:33:32 | After call to method WriteLine | | +| LoopUnrolling.cs:33:13:33:33 | ...; | LoopUnrolling.cs:33:13:33:32 | Before call to method WriteLine | | +| LoopUnrolling.cs:33:13:33:33 | After ...; | LoopUnrolling.cs:32:9:33:33 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:33:31:33:31 | access to local variable x | LoopUnrolling.cs:33:13:33:32 | call to method WriteLine | | -| LoopUnrolling.cs:36:10:36:11 | enter M5 | LoopUnrolling.cs:37:5:43:5 | {...} | | -| LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | LoopUnrolling.cs:36:10:36:11 | exit M5 | | +| LoopUnrolling.cs:36:10:36:11 | Entry | LoopUnrolling.cs:37:5:43:5 | {...} | | +| LoopUnrolling.cs:36:10:36:11 | Normal Exit | LoopUnrolling.cs:36:10:36:11 | Exit | | +| LoopUnrolling.cs:37:5:43:5 | After {...} | LoopUnrolling.cs:36:10:36:11 | Normal Exit | | | LoopUnrolling.cs:37:5:43:5 | {...} | LoopUnrolling.cs:38:9:38:48 | ... ...; | | -| LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:38:18:38:47 | 3 | | -| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:39:9:39:48 | ... ...; | | +| LoopUnrolling.cs:38:9:38:48 | ... ...; | LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | | +| LoopUnrolling.cs:38:9:38:48 | After ... ...; | LoopUnrolling.cs:39:9:39:48 | ... ...; | | +| LoopUnrolling.cs:38:13:38:14 | access to local variable xs | LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | | +| LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | LoopUnrolling.cs:38:9:38:48 | After ... ...; | | +| LoopUnrolling.cs:38:13:38:47 | Before String[] xs = ... | LoopUnrolling.cs:38:13:38:14 | access to local variable xs | | +| LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | LoopUnrolling.cs:38:13:38:47 | After String[] xs = ... | | | LoopUnrolling.cs:38:18:38:47 | 3 | LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | | -| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:33:38:35 | "a" | | -| LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | | +| LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | LoopUnrolling.cs:38:13:38:47 | String[] xs = ... | | +| LoopUnrolling.cs:38:18:38:47 | Before array creation of type String[] | LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | | +| LoopUnrolling.cs:38:18:38:47 | array creation of type String[] | LoopUnrolling.cs:38:18:38:47 | After array creation of type String[] | | +| LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | LoopUnrolling.cs:38:18:38:47 | 3 | | +| LoopUnrolling.cs:38:31:38:47 | Before { ..., ... } | LoopUnrolling.cs:38:33:38:35 | "a" | | +| LoopUnrolling.cs:38:31:38:47 | { ..., ... } | LoopUnrolling.cs:38:31:38:47 | After { ..., ... } | | | LoopUnrolling.cs:38:33:38:35 | "a" | LoopUnrolling.cs:38:38:38:40 | "b" | | | LoopUnrolling.cs:38:38:38:40 | "b" | LoopUnrolling.cs:38:43:38:45 | "c" | | | LoopUnrolling.cs:38:43:38:45 | "c" | LoopUnrolling.cs:38:31:38:47 | { ..., ... } | | -| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:39:18:39:47 | 3 | | -| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | | +| LoopUnrolling.cs:39:9:39:48 | ... ...; | LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | | +| LoopUnrolling.cs:39:9:39:48 | After ... ...; | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:39:13:39:14 | access to local variable ys | LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | | +| LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | LoopUnrolling.cs:39:9:39:48 | After ... ...; | | +| LoopUnrolling.cs:39:13:39:47 | Before String[] ys = ... | LoopUnrolling.cs:39:13:39:14 | access to local variable ys | | +| LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | LoopUnrolling.cs:39:13:39:47 | After String[] ys = ... | | | LoopUnrolling.cs:39:18:39:47 | 3 | LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | | -| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:33:39:35 | "0" | | -| LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | | +| LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | LoopUnrolling.cs:39:13:39:47 | String[] ys = ... | | +| LoopUnrolling.cs:39:18:39:47 | Before array creation of type String[] | LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | | +| LoopUnrolling.cs:39:18:39:47 | array creation of type String[] | LoopUnrolling.cs:39:18:39:47 | After array creation of type String[] | | +| LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | LoopUnrolling.cs:39:18:39:47 | 3 | | +| LoopUnrolling.cs:39:31:39:47 | Before { ..., ... } | LoopUnrolling.cs:39:33:39:35 | "0" | | +| LoopUnrolling.cs:39:31:39:47 | { ..., ... } | LoopUnrolling.cs:39:31:39:47 | After { ..., ... } | | | LoopUnrolling.cs:39:33:39:35 | "0" | LoopUnrolling.cs:39:38:39:40 | "1" | | | LoopUnrolling.cs:39:38:39:40 | "1" | LoopUnrolling.cs:39:43:39:45 | "2" | | | LoopUnrolling.cs:39:43:39:45 | "2" | LoopUnrolling.cs:39:31:39:47 | { ..., ... } | | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:36:10:36:11 | exit M5 (normal) | empty | -| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | non-empty | -| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | | -| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | empty | -| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | non-empty | +| LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:37:5:43:5 | After {...} | | +| LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:40:22:40:22 | String x | | +| LoopUnrolling.cs:40:9:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:40:27:40:28 | access to local variable xs | | +| LoopUnrolling.cs:40:22:40:22 | String x | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | LoopUnrolling.cs:40:9:42:41 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:40:22:40:22 | String x | | +| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:40:27:40:28 | access to local variable xs | LoopUnrolling.cs:40:27:40:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | LoopUnrolling.cs:40:9:42:41 | [LoopHeader] foreach (... ... in ...) ... | | +| LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:41:26:41:26 | String y | | +| LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | LoopUnrolling.cs:41:31:41:32 | access to local variable ys | | | LoopUnrolling.cs:41:26:41:26 | String y | LoopUnrolling.cs:42:17:42:41 | ...; | | -| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:41:13:42:41 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:42:35:42:35 | access to local variable x | | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | LoopUnrolling.cs:41:13:42:41 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | LoopUnrolling.cs:41:26:41:26 | String y | | +| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [empty] | empty | +| LoopUnrolling.cs:41:31:41:32 | access to local variable ys | LoopUnrolling.cs:41:31:41:32 | After access to local variable ys [non-empty] | non-empty | +| LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | LoopUnrolling.cs:42:17:42:41 | After ...; | | +| LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | LoopUnrolling.cs:42:35:42:39 | Before ... + ... | | +| LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | LoopUnrolling.cs:42:17:42:40 | After call to method WriteLine | | +| LoopUnrolling.cs:42:17:42:41 | ...; | LoopUnrolling.cs:42:17:42:40 | Before call to method WriteLine | | +| LoopUnrolling.cs:42:17:42:41 | After ...; | LoopUnrolling.cs:41:13:42:41 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:42:35:42:35 | access to local variable x | LoopUnrolling.cs:42:39:42:39 | access to local variable y | | -| LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | | +| LoopUnrolling.cs:42:35:42:39 | ... + ... | LoopUnrolling.cs:42:35:42:39 | After ... + ... | | +| LoopUnrolling.cs:42:35:42:39 | After ... + ... | LoopUnrolling.cs:42:17:42:40 | call to method WriteLine | | +| LoopUnrolling.cs:42:35:42:39 | Before ... + ... | LoopUnrolling.cs:42:35:42:35 | access to local variable x | | | LoopUnrolling.cs:42:39:42:39 | access to local variable y | LoopUnrolling.cs:42:35:42:39 | ... + ... | | -| LoopUnrolling.cs:45:10:45:11 | enter M6 | LoopUnrolling.cs:46:5:53:5 | {...} | | -| LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | LoopUnrolling.cs:45:10:45:11 | exit M6 | | +| LoopUnrolling.cs:45:10:45:11 | Entry | LoopUnrolling.cs:46:5:53:5 | {...} | | +| LoopUnrolling.cs:45:10:45:11 | Normal Exit | LoopUnrolling.cs:45:10:45:11 | Exit | | +| LoopUnrolling.cs:46:5:53:5 | After {...} | LoopUnrolling.cs:45:10:45:11 | Normal Exit | | | LoopUnrolling.cs:46:5:53:5 | {...} | LoopUnrolling.cs:47:9:47:48 | ... ...; | | -| LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:47:18:47:47 | 3 | | -| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | | +| LoopUnrolling.cs:47:9:47:48 | ... ...; | LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | | +| LoopUnrolling.cs:47:9:47:48 | After ... ...; | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:47:13:47:14 | access to local variable xs | LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | | +| LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | LoopUnrolling.cs:47:9:47:48 | After ... ...; | | +| LoopUnrolling.cs:47:13:47:47 | Before String[] xs = ... | LoopUnrolling.cs:47:13:47:14 | access to local variable xs | | +| LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | LoopUnrolling.cs:47:13:47:47 | After String[] xs = ... | | | LoopUnrolling.cs:47:18:47:47 | 3 | LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | | -| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:33:47:35 | "a" | | -| LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | | +| LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | LoopUnrolling.cs:47:13:47:47 | String[] xs = ... | | +| LoopUnrolling.cs:47:18:47:47 | Before array creation of type String[] | LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | | +| LoopUnrolling.cs:47:18:47:47 | array creation of type String[] | LoopUnrolling.cs:47:18:47:47 | After array creation of type String[] | | +| LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | LoopUnrolling.cs:47:18:47:47 | 3 | | +| LoopUnrolling.cs:47:31:47:47 | Before { ..., ... } | LoopUnrolling.cs:47:33:47:35 | "a" | | +| LoopUnrolling.cs:47:31:47:47 | { ..., ... } | LoopUnrolling.cs:47:31:47:47 | After { ..., ... } | | | LoopUnrolling.cs:47:33:47:35 | "a" | LoopUnrolling.cs:47:38:47:40 | "b" | | | LoopUnrolling.cs:47:38:47:40 | "b" | LoopUnrolling.cs:47:43:47:45 | "c" | | | LoopUnrolling.cs:47:43:47:45 | "c" | LoopUnrolling.cs:47:31:47:47 | { ..., ... } | | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:45:10:45:11 | exit M6 (normal) | empty | -| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:22:48:22 | String x | non-empty | +| LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:46:5:53:5 | After {...} | | +| LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:48:27:48:28 | access to local variable xs | | | LoopUnrolling.cs:48:22:48:22 | String x | LoopUnrolling.cs:49:9:52:9 | {...} | | -| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:9:52:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | LoopUnrolling.cs:48:9:52:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:48:22:48:22 | String x | | +| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:48:27:48:28 | access to local variable xs | LoopUnrolling.cs:48:27:48:28 | After access to local variable xs [non-empty] | non-empty | | LoopUnrolling.cs:49:9:52:9 | {...} | LoopUnrolling.cs:50:9:50:13 | Label: | | | LoopUnrolling.cs:50:9:50:13 | Label: | LoopUnrolling.cs:50:16:50:36 | ...; | | -| LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:51:13:51:23 | goto ...; | | -| LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:50:34:50:34 | access to local variable x | | +| LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | LoopUnrolling.cs:50:16:50:36 | After ...; | | +| LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | LoopUnrolling.cs:50:34:50:34 | access to local variable x | | +| LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | LoopUnrolling.cs:50:16:50:35 | After call to method WriteLine | | +| LoopUnrolling.cs:50:16:50:36 | ...; | LoopUnrolling.cs:50:16:50:35 | Before call to method WriteLine | | +| LoopUnrolling.cs:50:16:50:36 | After ...; | LoopUnrolling.cs:51:13:51:23 | Before goto ...; | | | LoopUnrolling.cs:50:34:50:34 | access to local variable x | LoopUnrolling.cs:50:16:50:35 | call to method WriteLine | | +| LoopUnrolling.cs:51:13:51:23 | Before goto ...; | LoopUnrolling.cs:51:13:51:23 | goto ...; | | | LoopUnrolling.cs:51:13:51:23 | goto ...; | LoopUnrolling.cs:50:9:50:13 | Label: | goto | -| LoopUnrolling.cs:55:10:55:11 | enter M7 | LoopUnrolling.cs:56:5:65:5 | {...} | | -| LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | LoopUnrolling.cs:55:10:55:11 | exit M7 | | +| LoopUnrolling.cs:55:10:55:11 | Entry | LoopUnrolling.cs:56:5:65:5 | {...} | | +| LoopUnrolling.cs:55:10:55:11 | Normal Exit | LoopUnrolling.cs:55:10:55:11 | Exit | | +| LoopUnrolling.cs:56:5:65:5 | After {...} | LoopUnrolling.cs:55:10:55:11 | Normal Exit | | | LoopUnrolling.cs:56:5:65:5 | {...} | LoopUnrolling.cs:57:9:57:48 | ... ...; | | -| LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:57:18:57:47 | 3 | | -| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | | +| LoopUnrolling.cs:57:9:57:48 | ... ...; | LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | | +| LoopUnrolling.cs:57:9:57:48 | After ... ...; | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:57:13:57:14 | access to local variable xs | LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | | +| LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | LoopUnrolling.cs:57:9:57:48 | After ... ...; | | +| LoopUnrolling.cs:57:13:57:47 | Before String[] xs = ... | LoopUnrolling.cs:57:13:57:14 | access to local variable xs | | +| LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | LoopUnrolling.cs:57:13:57:47 | After String[] xs = ... | | | LoopUnrolling.cs:57:18:57:47 | 3 | LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | | -| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:33:57:35 | "a" | | -| LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | | +| LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | LoopUnrolling.cs:57:13:57:47 | String[] xs = ... | | +| LoopUnrolling.cs:57:18:57:47 | Before array creation of type String[] | LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | | +| LoopUnrolling.cs:57:18:57:47 | array creation of type String[] | LoopUnrolling.cs:57:18:57:47 | After array creation of type String[] | | +| LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | LoopUnrolling.cs:57:18:57:47 | 3 | | +| LoopUnrolling.cs:57:31:57:47 | Before { ..., ... } | LoopUnrolling.cs:57:33:57:35 | "a" | | +| LoopUnrolling.cs:57:31:57:47 | { ..., ... } | LoopUnrolling.cs:57:31:57:47 | After { ..., ... } | | | LoopUnrolling.cs:57:33:57:35 | "a" | LoopUnrolling.cs:57:38:57:40 | "b" | | | LoopUnrolling.cs:57:38:57:40 | "b" | LoopUnrolling.cs:57:43:57:45 | "c" | | | LoopUnrolling.cs:57:43:57:45 | "c" | LoopUnrolling.cs:57:31:57:47 | { ..., ... } | | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:55:10:55:11 | exit M7 (normal) | empty | -| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | non-empty | +| LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:56:5:65:5 | After {...} | | +| LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:58:22:58:22 | String x | | +| LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:58:27:58:28 | access to local variable xs | | | LoopUnrolling.cs:58:22:58:22 | String x | LoopUnrolling.cs:59:9:64:9 | {...} | | -| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | LoopUnrolling.cs:58:9:64:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:58:22:58:22 | String x | | +| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:58:27:58:28 | access to local variable xs | LoopUnrolling.cs:58:27:58:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:59:9:64:9 | After {...} | LoopUnrolling.cs:58:9:64:9 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:59:9:64:9 | {...} | LoopUnrolling.cs:60:13:61:37 | if (...) ... | | +| LoopUnrolling.cs:60:13:61:37 | After if (...) ... | LoopUnrolling.cs:62:13:63:37 | if (...) ... | | | LoopUnrolling.cs:60:13:61:37 | if (...) ... | LoopUnrolling.cs:60:17:60:17 | access to parameter b | | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:61:17:61:37 | ...; | true | -| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:62:13:63:37 | if (...) ... | false | -| LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | LoopUnrolling.cs:62:13:63:37 | if (...) ... | | -| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:35:61:35 | access to local variable x | | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | | +| LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | LoopUnrolling.cs:61:17:61:37 | ...; | | +| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:60:17:60:17 | access to parameter b | LoopUnrolling.cs:60:17:60:17 | After access to parameter b [true] | true | +| LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | LoopUnrolling.cs:61:17:61:37 | After ...; | | +| LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | LoopUnrolling.cs:61:35:61:35 | access to local variable x | | +| LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | LoopUnrolling.cs:61:17:61:36 | After call to method WriteLine | | +| LoopUnrolling.cs:61:17:61:37 | ...; | LoopUnrolling.cs:61:17:61:36 | Before call to method WriteLine | | +| LoopUnrolling.cs:61:17:61:37 | After ...; | LoopUnrolling.cs:60:13:61:37 | After if (...) ... | | | LoopUnrolling.cs:61:35:61:35 | access to local variable x | LoopUnrolling.cs:61:17:61:36 | call to method WriteLine | | +| LoopUnrolling.cs:62:13:63:37 | After if (...) ... | LoopUnrolling.cs:59:9:64:9 | After {...} | | | LoopUnrolling.cs:62:13:63:37 | if (...) ... | LoopUnrolling.cs:62:17:62:17 | access to parameter b | | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | false | -| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:63:17:63:37 | ...; | true | -| LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | LoopUnrolling.cs:58:9:64:9 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:35:63:35 | access to local variable x | | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | | +| LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | LoopUnrolling.cs:63:17:63:37 | ...; | | +| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [false] | false | +| LoopUnrolling.cs:62:17:62:17 | access to parameter b | LoopUnrolling.cs:62:17:62:17 | After access to parameter b [true] | true | +| LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | LoopUnrolling.cs:63:17:63:37 | After ...; | | +| LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | LoopUnrolling.cs:63:35:63:35 | access to local variable x | | +| LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | LoopUnrolling.cs:63:17:63:36 | After call to method WriteLine | | +| LoopUnrolling.cs:63:17:63:37 | ...; | LoopUnrolling.cs:63:17:63:36 | Before call to method WriteLine | | +| LoopUnrolling.cs:63:17:63:37 | After ...; | LoopUnrolling.cs:62:13:63:37 | After if (...) ... | | | LoopUnrolling.cs:63:35:63:35 | access to local variable x | LoopUnrolling.cs:63:17:63:36 | call to method WriteLine | | -| LoopUnrolling.cs:67:10:67:11 | enter M8 | LoopUnrolling.cs:68:5:74:5 | {...} | | -| LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | LoopUnrolling.cs:67:10:67:11 | exit M8 | | +| LoopUnrolling.cs:67:10:67:11 | Entry | LoopUnrolling.cs:68:5:74:5 | {...} | | +| LoopUnrolling.cs:67:10:67:11 | Normal Exit | LoopUnrolling.cs:67:10:67:11 | Exit | | +| LoopUnrolling.cs:68:5:74:5 | After {...} | LoopUnrolling.cs:67:10:67:11 | Normal Exit | | | LoopUnrolling.cs:68:5:74:5 | {...} | LoopUnrolling.cs:69:9:70:19 | if (...) ... | | -| LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:69:14:69:17 | access to parameter args | | -| LoopUnrolling.cs:69:13:69:23 | [false] !... | LoopUnrolling.cs:71:9:71:21 | ...; | false | -| LoopUnrolling.cs:69:13:69:23 | [true] !... | LoopUnrolling.cs:70:13:70:19 | return ...; | true | +| LoopUnrolling.cs:69:9:70:19 | After if (...) ... | LoopUnrolling.cs:71:9:71:21 | ...; | | +| LoopUnrolling.cs:69:9:70:19 | if (...) ... | LoopUnrolling.cs:69:13:69:23 | !... | | +| LoopUnrolling.cs:69:13:69:23 | !... | LoopUnrolling.cs:69:14:69:23 | Before call to method Any | | +| LoopUnrolling.cs:69:13:69:23 | After !... [false] | LoopUnrolling.cs:69:9:70:19 | After if (...) ... | | +| LoopUnrolling.cs:69:13:69:23 | After !... [true] | LoopUnrolling.cs:70:13:70:19 | Before return ...; | | | LoopUnrolling.cs:69:14:69:17 | access to parameter args | LoopUnrolling.cs:69:14:69:23 | call to method Any | | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:13:69:23 | [false] !... | true | -| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:13:69:23 | [true] !... | false | -| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | return | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | LoopUnrolling.cs:69:13:69:23 | After !... [true] | true | +| LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | LoopUnrolling.cs:69:13:69:23 | After !... [false] | false | +| LoopUnrolling.cs:69:14:69:23 | Before call to method Any | LoopUnrolling.cs:69:14:69:17 | access to parameter args | | +| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | After call to method Any [false] | false | +| LoopUnrolling.cs:69:14:69:23 | call to method Any | LoopUnrolling.cs:69:14:69:23 | After call to method Any [true] | true | +| LoopUnrolling.cs:70:13:70:19 | Before return ...; | LoopUnrolling.cs:70:13:70:19 | return ...; | | +| LoopUnrolling.cs:70:13:70:19 | return ...; | LoopUnrolling.cs:67:10:67:11 | Normal Exit | return | | LoopUnrolling.cs:71:9:71:12 | access to parameter args | LoopUnrolling.cs:71:9:71:20 | call to method Clear | | -| LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:72:29:72:32 | access to parameter args | | -| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:12 | access to parameter args | | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:67:10:67:11 | exit M8 (normal) | empty | -| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | non-empty | +| LoopUnrolling.cs:71:9:71:20 | After call to method Clear | LoopUnrolling.cs:71:9:71:21 | After ...; | | +| LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | LoopUnrolling.cs:71:9:71:12 | access to parameter args | | +| LoopUnrolling.cs:71:9:71:20 | call to method Clear | LoopUnrolling.cs:71:9:71:20 | After call to method Clear | | +| LoopUnrolling.cs:71:9:71:21 | ...; | LoopUnrolling.cs:71:9:71:20 | Before call to method Clear | | +| LoopUnrolling.cs:71:9:71:21 | After ...; | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | LoopUnrolling.cs:68:5:74:5 | After {...} | | +| LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:72:22:72:24 | String arg | | +| LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | LoopUnrolling.cs:72:29:72:32 | access to parameter args | | | LoopUnrolling.cs:72:22:72:24 | String arg | LoopUnrolling.cs:73:13:73:35 | ...; | | -| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:72:9:73:35 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | LoopUnrolling.cs:72:9:73:35 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | LoopUnrolling.cs:72:22:72:24 | String arg | | +| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [empty] | empty | +| LoopUnrolling.cs:72:29:72:32 | access to parameter args | LoopUnrolling.cs:72:29:72:32 | After access to parameter args [non-empty] | non-empty | +| LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | LoopUnrolling.cs:73:13:73:35 | After ...; | | +| LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | | +| LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | LoopUnrolling.cs:73:13:73:34 | After call to method WriteLine | | +| LoopUnrolling.cs:73:13:73:35 | ...; | LoopUnrolling.cs:73:13:73:34 | Before call to method WriteLine | | +| LoopUnrolling.cs:73:13:73:35 | After ...; | LoopUnrolling.cs:72:9:73:35 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:73:31:73:33 | access to local variable arg | LoopUnrolling.cs:73:13:73:34 | call to method WriteLine | | -| LoopUnrolling.cs:76:10:76:11 | enter M9 | LoopUnrolling.cs:77:5:83:5 | {...} | | -| LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | LoopUnrolling.cs:76:10:76:11 | exit M9 | | +| LoopUnrolling.cs:76:10:76:11 | Entry | LoopUnrolling.cs:77:5:83:5 | {...} | | +| LoopUnrolling.cs:76:10:76:11 | Normal Exit | LoopUnrolling.cs:76:10:76:11 | Exit | | +| LoopUnrolling.cs:77:5:83:5 | After {...} | LoopUnrolling.cs:76:10:76:11 | Normal Exit | | | LoopUnrolling.cs:77:5:83:5 | {...} | LoopUnrolling.cs:78:9:78:34 | ... ...; | | -| LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:78:29:78:29 | 2 | | -| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | | -| LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | | +| LoopUnrolling.cs:78:9:78:34 | ... ...; | LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | | +| LoopUnrolling.cs:78:9:78:34 | After ... ...; | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:78:13:78:14 | access to local variable xs | LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | | +| LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | LoopUnrolling.cs:78:9:78:34 | After ... ...; | | +| LoopUnrolling.cs:78:13:78:33 | Before String[,] xs = ... | LoopUnrolling.cs:78:13:78:14 | access to local variable xs | | +| LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | LoopUnrolling.cs:78:13:78:33 | After String[,] xs = ... | | +| LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | LoopUnrolling.cs:78:13:78:33 | String[,] xs = ... | | +| LoopUnrolling.cs:78:18:78:33 | Before array creation of type String[,] | LoopUnrolling.cs:78:29:78:29 | 2 | | +| LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | LoopUnrolling.cs:78:18:78:33 | After array creation of type String[,] | | | LoopUnrolling.cs:78:29:78:29 | 2 | LoopUnrolling.cs:78:32:78:32 | 0 | | | LoopUnrolling.cs:78:32:78:32 | 0 | LoopUnrolling.cs:78:18:78:33 | array creation of type String[,] | | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:76:10:76:11 | exit M9 (normal) | empty | -| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | non-empty | +| LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:77:5:83:5 | After {...} | | +| LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:79:22:79:22 | String x | | +| LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:79:27:79:28 | access to local variable xs | | | LoopUnrolling.cs:79:22:79:22 | String x | LoopUnrolling.cs:80:9:82:9 | {...} | | -| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | LoopUnrolling.cs:79:9:82:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:79:22:79:22 | String x | | +| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:79:27:79:28 | access to local variable xs | LoopUnrolling.cs:79:27:79:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:80:9:82:9 | After {...} | LoopUnrolling.cs:79:9:82:9 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:80:9:82:9 | {...} | LoopUnrolling.cs:81:13:81:33 | ...; | | -| LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | LoopUnrolling.cs:79:9:82:9 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:81:31:81:31 | access to local variable x | | +| LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | LoopUnrolling.cs:81:13:81:33 | After ...; | | +| LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | LoopUnrolling.cs:81:31:81:31 | access to local variable x | | +| LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | LoopUnrolling.cs:81:13:81:32 | After call to method WriteLine | | +| LoopUnrolling.cs:81:13:81:33 | ...; | LoopUnrolling.cs:81:13:81:32 | Before call to method WriteLine | | +| LoopUnrolling.cs:81:13:81:33 | After ...; | LoopUnrolling.cs:80:9:82:9 | After {...} | | | LoopUnrolling.cs:81:31:81:31 | access to local variable x | LoopUnrolling.cs:81:13:81:32 | call to method WriteLine | | -| LoopUnrolling.cs:85:10:85:12 | enter M10 | LoopUnrolling.cs:86:5:92:5 | {...} | | -| LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | LoopUnrolling.cs:85:10:85:12 | exit M10 | | +| LoopUnrolling.cs:85:10:85:12 | Entry | LoopUnrolling.cs:86:5:92:5 | {...} | | +| LoopUnrolling.cs:85:10:85:12 | Normal Exit | LoopUnrolling.cs:85:10:85:12 | Exit | | +| LoopUnrolling.cs:86:5:92:5 | After {...} | LoopUnrolling.cs:85:10:85:12 | Normal Exit | | | LoopUnrolling.cs:86:5:92:5 | {...} | LoopUnrolling.cs:87:9:87:34 | ... ...; | | -| LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:87:29:87:29 | 0 | | -| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | | -| LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | | +| LoopUnrolling.cs:87:9:87:34 | ... ...; | LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | | +| LoopUnrolling.cs:87:9:87:34 | After ... ...; | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:87:13:87:14 | access to local variable xs | LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | | +| LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | LoopUnrolling.cs:87:9:87:34 | After ... ...; | | +| LoopUnrolling.cs:87:13:87:33 | Before String[,] xs = ... | LoopUnrolling.cs:87:13:87:14 | access to local variable xs | | +| LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | LoopUnrolling.cs:87:13:87:33 | After String[,] xs = ... | | +| LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | LoopUnrolling.cs:87:13:87:33 | String[,] xs = ... | | +| LoopUnrolling.cs:87:18:87:33 | Before array creation of type String[,] | LoopUnrolling.cs:87:29:87:29 | 0 | | +| LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | LoopUnrolling.cs:87:18:87:33 | After array creation of type String[,] | | | LoopUnrolling.cs:87:29:87:29 | 0 | LoopUnrolling.cs:87:32:87:32 | 2 | | | LoopUnrolling.cs:87:32:87:32 | 2 | LoopUnrolling.cs:87:18:87:33 | array creation of type String[,] | | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:85:10:85:12 | exit M10 (normal) | empty | -| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | non-empty | +| LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:86:5:92:5 | After {...} | | +| LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:88:22:88:22 | String x | | +| LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:88:27:88:28 | access to local variable xs | | | LoopUnrolling.cs:88:22:88:22 | String x | LoopUnrolling.cs:89:9:91:9 | {...} | | -| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | LoopUnrolling.cs:88:9:91:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:88:22:88:22 | String x | | +| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:88:27:88:28 | access to local variable xs | LoopUnrolling.cs:88:27:88:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:89:9:91:9 | After {...} | LoopUnrolling.cs:88:9:91:9 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:89:9:91:9 | {...} | LoopUnrolling.cs:90:13:90:33 | ...; | | -| LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | LoopUnrolling.cs:88:9:91:9 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:90:31:90:31 | access to local variable x | | +| LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | LoopUnrolling.cs:90:13:90:33 | After ...; | | +| LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | LoopUnrolling.cs:90:31:90:31 | access to local variable x | | +| LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | LoopUnrolling.cs:90:13:90:32 | After call to method WriteLine | | +| LoopUnrolling.cs:90:13:90:33 | ...; | LoopUnrolling.cs:90:13:90:32 | Before call to method WriteLine | | +| LoopUnrolling.cs:90:13:90:33 | After ...; | LoopUnrolling.cs:89:9:91:9 | After {...} | | | LoopUnrolling.cs:90:31:90:31 | access to local variable x | LoopUnrolling.cs:90:13:90:32 | call to method WriteLine | | -| LoopUnrolling.cs:94:10:94:12 | enter M11 | LoopUnrolling.cs:95:5:101:5 | {...} | | -| LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | LoopUnrolling.cs:94:10:94:12 | exit M11 | | +| LoopUnrolling.cs:94:10:94:12 | Entry | LoopUnrolling.cs:95:5:101:5 | {...} | | +| LoopUnrolling.cs:94:10:94:12 | Normal Exit | LoopUnrolling.cs:94:10:94:12 | Exit | | +| LoopUnrolling.cs:95:5:101:5 | After {...} | LoopUnrolling.cs:94:10:94:12 | Normal Exit | | | LoopUnrolling.cs:95:5:101:5 | {...} | LoopUnrolling.cs:96:9:96:34 | ... ...; | | -| LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:96:29:96:29 | 2 | | -| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | | -| LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | | +| LoopUnrolling.cs:96:9:96:34 | ... ...; | LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | | +| LoopUnrolling.cs:96:9:96:34 | After ... ...; | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:96:13:96:14 | access to local variable xs | LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | | +| LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | LoopUnrolling.cs:96:9:96:34 | After ... ...; | | +| LoopUnrolling.cs:96:13:96:33 | Before String[,] xs = ... | LoopUnrolling.cs:96:13:96:14 | access to local variable xs | | +| LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | LoopUnrolling.cs:96:13:96:33 | After String[,] xs = ... | | +| LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | LoopUnrolling.cs:96:13:96:33 | String[,] xs = ... | | +| LoopUnrolling.cs:96:18:96:33 | Before array creation of type String[,] | LoopUnrolling.cs:96:29:96:29 | 2 | | +| LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | LoopUnrolling.cs:96:18:96:33 | After array creation of type String[,] | | | LoopUnrolling.cs:96:29:96:29 | 2 | LoopUnrolling.cs:96:32:96:32 | 2 | | | LoopUnrolling.cs:96:32:96:32 | 2 | LoopUnrolling.cs:96:18:96:33 | array creation of type String[,] | | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:94:10:94:12 | exit M11 (normal) | empty | -| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | non-empty | +| LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | LoopUnrolling.cs:95:5:101:5 | After {...} | | +| LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | LoopUnrolling.cs:97:22:97:22 | String x | | +| LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | LoopUnrolling.cs:97:27:97:28 | access to local variable xs | | | LoopUnrolling.cs:97:22:97:22 | String x | LoopUnrolling.cs:98:9:100:9 | {...} | | -| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | LoopUnrolling.cs:97:9:100:9 | After foreach (... ... in ...) ... | | +| LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | LoopUnrolling.cs:97:22:97:22 | String x | | +| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [empty] | empty | +| LoopUnrolling.cs:97:27:97:28 | access to local variable xs | LoopUnrolling.cs:97:27:97:28 | After access to local variable xs [non-empty] | non-empty | +| LoopUnrolling.cs:98:9:100:9 | After {...} | LoopUnrolling.cs:97:9:100:9 | [LoopHeader] foreach (... ... in ...) ... | | | LoopUnrolling.cs:98:9:100:9 | {...} | LoopUnrolling.cs:99:13:99:33 | ...; | | -| LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | LoopUnrolling.cs:97:9:100:9 | foreach (... ... in ...) ... | | -| LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:99:31:99:31 | access to local variable x | | +| LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | LoopUnrolling.cs:99:13:99:33 | After ...; | | +| LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | LoopUnrolling.cs:99:31:99:31 | access to local variable x | | +| LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | LoopUnrolling.cs:99:13:99:32 | After call to method WriteLine | | +| LoopUnrolling.cs:99:13:99:33 | ...; | LoopUnrolling.cs:99:13:99:32 | Before call to method WriteLine | | +| LoopUnrolling.cs:99:13:99:33 | After ...; | LoopUnrolling.cs:98:9:100:9 | After {...} | | | LoopUnrolling.cs:99:31:99:31 | access to local variable x | LoopUnrolling.cs:99:13:99:32 | call to method WriteLine | | -| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | {...} | | -| MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationA.cs:4:7:4:8 | this access | | -| MultiImplementationA.cs:4:7:4:8 | enter C1 | MultiImplementationB.cs:1:7:1:8 | this access | | -| MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | MultiImplementationA.cs:4:7:4:8 | exit C1 | | +| MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | MultiImplementationA.cs:4:7:4:8 | {...} | | +| MultiImplementationA.cs:4:7:4:8 | After call to method | MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | | +| MultiImplementationA.cs:4:7:4:8 | Before call to constructor Object | MultiImplementationA.cs:4:7:4:8 | call to constructor Object | | +| MultiImplementationA.cs:4:7:4:8 | Before call to method | MultiImplementationA.cs:4:7:4:8 | this access | | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationA.cs:4:7:4:8 | Before call to method | | +| MultiImplementationA.cs:4:7:4:8 | Entry | MultiImplementationB.cs:1:7:1:8 | Before call to method | | +| MultiImplementationA.cs:4:7:4:8 | Normal Exit | MultiImplementationA.cs:4:7:4:8 | Exit | | +| MultiImplementationA.cs:4:7:4:8 | call to constructor Object | MultiImplementationA.cs:4:7:4:8 | After call to constructor Object | | +| MultiImplementationA.cs:4:7:4:8 | call to method | MultiImplementationA.cs:4:7:4:8 | After call to method | | | MultiImplementationA.cs:4:7:4:8 | this access | MultiImplementationA.cs:4:7:4:8 | call to method | | -| MultiImplementationA.cs:4:7:4:8 | {...} | MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationA.cs:6:28:6:31 | null | | -| MultiImplementationA.cs:6:22:6:31 | enter get_P1 | MultiImplementationB.cs:3:22:3:22 | 0 | | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 (abnormal) | MultiImplementationA.cs:6:22:6:31 | exit get_P1 | | -| MultiImplementationA.cs:6:22:6:31 | exit get_P1 (normal) | MultiImplementationA.cs:6:22:6:31 | exit get_P1 | | -| MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:22:6:31 | exit get_P1 (abnormal) | exception | +| MultiImplementationA.cs:4:7:4:8 | {...} | MultiImplementationA.cs:4:7:4:8 | Normal Exit | | +| MultiImplementationA.cs:6:22:6:31 | Before throw ... | MultiImplementationA.cs:6:28:6:31 | null | | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationA.cs:6:22:6:31 | Before throw ... | | +| MultiImplementationA.cs:6:22:6:31 | Entry | MultiImplementationB.cs:3:22:3:22 | 0 | | +| MultiImplementationA.cs:6:22:6:31 | Exceptional Exit | MultiImplementationA.cs:6:22:6:31 | Exit | | +| MultiImplementationA.cs:6:22:6:31 | Normal Exit | MultiImplementationA.cs:6:22:6:31 | Exit | | +| MultiImplementationA.cs:6:22:6:31 | throw ... | MultiImplementationA.cs:6:22:6:31 | Exceptional Exit | exception | | MultiImplementationA.cs:6:28:6:31 | null | MultiImplementationA.cs:6:22:6:31 | throw ... | | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationA.cs:7:25:7:39 | {...} | | -| MultiImplementationA.cs:7:21:7:23 | enter get_P2 | MultiImplementationB.cs:4:25:4:37 | {...} | | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 (abnormal) | MultiImplementationA.cs:7:21:7:23 | exit get_P2 | | -| MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | MultiImplementationA.cs:7:21:7:23 | exit get_P2 | | -| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:33:7:36 | null | | -| MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (abnormal) | exception | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationA.cs:7:25:7:39 | {...} | | +| MultiImplementationA.cs:7:21:7:23 | Entry | MultiImplementationB.cs:4:25:4:37 | {...} | | +| MultiImplementationA.cs:7:21:7:23 | Exceptional Exit | MultiImplementationA.cs:7:21:7:23 | Exit | | +| MultiImplementationA.cs:7:21:7:23 | Normal Exit | MultiImplementationA.cs:7:21:7:23 | Exit | | +| MultiImplementationA.cs:7:25:7:39 | {...} | MultiImplementationA.cs:7:27:7:37 | Before throw ...; | | +| MultiImplementationA.cs:7:27:7:37 | Before throw ...; | MultiImplementationA.cs:7:33:7:36 | null | | +| MultiImplementationA.cs:7:27:7:37 | throw ...; | MultiImplementationA.cs:7:21:7:23 | Exceptional Exit | exception | | MultiImplementationA.cs:7:33:7:36 | null | MultiImplementationA.cs:7:27:7:37 | throw ...; | | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationA.cs:7:45:7:59 | {...} | | -| MultiImplementationA.cs:7:41:7:43 | enter set_P2 | MultiImplementationB.cs:4:43:4:45 | {...} | | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 (abnormal) | MultiImplementationA.cs:7:41:7:43 | exit set_P2 | | -| MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | MultiImplementationA.cs:7:41:7:43 | exit set_P2 | | -| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:53:7:56 | null | | -| MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (abnormal) | exception | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationA.cs:7:45:7:59 | {...} | | +| MultiImplementationA.cs:7:41:7:43 | Entry | MultiImplementationB.cs:4:43:4:45 | {...} | | +| MultiImplementationA.cs:7:41:7:43 | Exceptional Exit | MultiImplementationA.cs:7:41:7:43 | Exit | | +| MultiImplementationA.cs:7:41:7:43 | Normal Exit | MultiImplementationA.cs:7:41:7:43 | Exit | | +| MultiImplementationA.cs:7:45:7:59 | {...} | MultiImplementationA.cs:7:47:7:57 | Before throw ...; | | +| MultiImplementationA.cs:7:47:7:57 | Before throw ...; | MultiImplementationA.cs:7:53:7:56 | null | | +| MultiImplementationA.cs:7:47:7:57 | throw ...; | MultiImplementationA.cs:7:41:7:43 | Exceptional Exit | exception | | MultiImplementationA.cs:7:53:7:56 | null | MultiImplementationA.cs:7:47:7:57 | throw ...; | | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationA.cs:8:29:8:32 | null | | -| MultiImplementationA.cs:8:16:8:16 | enter M | MultiImplementationB.cs:5:23:5:23 | 2 | | -| MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | MultiImplementationA.cs:8:16:8:16 | exit M | | -| MultiImplementationA.cs:8:16:8:16 | exit M (normal) | MultiImplementationA.cs:8:16:8:16 | exit M | | -| MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | exception | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationA.cs:8:23:8:32 | Before throw ... | | +| MultiImplementationA.cs:8:16:8:16 | Entry | MultiImplementationB.cs:5:23:5:23 | 2 | | +| MultiImplementationA.cs:8:16:8:16 | Exceptional Exit | MultiImplementationA.cs:8:16:8:16 | Exit | | +| MultiImplementationA.cs:8:16:8:16 | Normal Exit | MultiImplementationA.cs:8:16:8:16 | Exit | | +| MultiImplementationA.cs:8:23:8:32 | Before throw ... | MultiImplementationA.cs:8:29:8:32 | null | | +| MultiImplementationA.cs:8:23:8:32 | throw ... | MultiImplementationA.cs:8:16:8:16 | Exceptional Exit | exception | | MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:23:8:32 | throw ... | | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:13:16:13:16 | this access | | -| MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationB.cs:11:16:11:16 | this access | | -| MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit | | -| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:20 | ... = ... | | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:20:13:20 | 0 | | -| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:24:16:24:16 | this access | | -| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | access to field F | | -| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | access to parameter i | | -| MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationB.cs:12:37:12:40 | null | | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | MultiImplementationA.cs:14:31:14:31 | exit get_Item | | -| MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | MultiImplementationA.cs:14:31:14:31 | exit get_Item | | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationA.cs:15:40:15:52 | {...} | | -| MultiImplementationA.cs:15:36:15:38 | enter get_Item | MultiImplementationB.cs:13:40:13:54 | {...} | | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | MultiImplementationA.cs:15:36:15:38 | exit get_Item | | -| MultiImplementationA.cs:15:36:15:38 | exit get_Item (normal) | MultiImplementationA.cs:15:36:15:38 | exit get_Item | | -| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:49:15:49 | access to parameter s | | -| MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:36:15:38 | exit get_Item (normal) | return | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationA.cs:13:16:13:20 | Before ... = ... | | +| MultiImplementationA.cs:11:7:11:8 | Entry | MultiImplementationB.cs:11:16:11:20 | Before ... = ... | | +| MultiImplementationA.cs:11:7:11:8 | Normal Exit | MultiImplementationA.cs:11:7:11:8 | Exit | | +| MultiImplementationA.cs:13:16:13:16 | After access to field F | MultiImplementationA.cs:13:20:13:20 | 0 | | +| MultiImplementationA.cs:13:16:13:16 | Before access to field F | MultiImplementationA.cs:13:16:13:16 | this access | | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:16 | After access to field F | | +| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:16:13:16 | access to field F | | +| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:16:13:20 | After ... = ... | | +| MultiImplementationA.cs:13:16:13:20 | After ... = ... | MultiImplementationA.cs:24:32:24:34 | Before ... = ... | | +| MultiImplementationA.cs:13:16:13:20 | Before ... = ... | MultiImplementationA.cs:13:16:13:16 | Before access to field F | | +| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:20 | ... = ... | | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationA.cs:14:31:14:31 | access to parameter i | | +| MultiImplementationA.cs:14:31:14:31 | Entry | MultiImplementationB.cs:12:31:12:40 | Before throw ... | | +| MultiImplementationA.cs:14:31:14:31 | Exceptional Exit | MultiImplementationA.cs:14:31:14:31 | Exit | | +| MultiImplementationA.cs:14:31:14:31 | Normal Exit | MultiImplementationA.cs:14:31:14:31 | Exit | | +| MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | Normal Exit | | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationA.cs:15:40:15:52 | {...} | | +| MultiImplementationA.cs:15:36:15:38 | Entry | MultiImplementationB.cs:13:40:13:54 | {...} | | +| MultiImplementationA.cs:15:36:15:38 | Exceptional Exit | MultiImplementationA.cs:15:36:15:38 | Exit | | +| MultiImplementationA.cs:15:36:15:38 | Normal Exit | MultiImplementationA.cs:15:36:15:38 | Exit | | +| MultiImplementationA.cs:15:40:15:52 | {...} | MultiImplementationA.cs:15:42:15:50 | Before return ...; | | +| MultiImplementationA.cs:15:42:15:50 | Before return ...; | MultiImplementationA.cs:15:49:15:49 | access to parameter s | | +| MultiImplementationA.cs:15:42:15:50 | return ...; | MultiImplementationA.cs:15:36:15:38 | Normal Exit | return | | MultiImplementationA.cs:15:49:15:49 | access to parameter s | MultiImplementationA.cs:15:42:15:50 | return ...; | | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationA.cs:15:58:15:60 | {...} | | -| MultiImplementationA.cs:15:54:15:56 | enter set_Item | MultiImplementationB.cs:13:60:13:62 | {...} | | -| MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | MultiImplementationA.cs:15:54:15:56 | exit set_Item | | -| MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationA.cs:17:5:19:5 | {...} | | -| MultiImplementationA.cs:16:17:16:18 | enter M1 | MultiImplementationB.cs:15:5:17:5 | {...} | | -| MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | MultiImplementationA.cs:16:17:16:18 | exit M1 | | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationA.cs:15:58:15:60 | {...} | | +| MultiImplementationA.cs:15:54:15:56 | Entry | MultiImplementationB.cs:13:60:13:62 | {...} | | +| MultiImplementationA.cs:15:54:15:56 | Normal Exit | MultiImplementationA.cs:15:54:15:56 | Exit | | +| MultiImplementationA.cs:15:58:15:60 | {...} | MultiImplementationA.cs:15:54:15:56 | Normal Exit | | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationA.cs:17:5:19:5 | {...} | | +| MultiImplementationA.cs:16:17:16:18 | Entry | MultiImplementationB.cs:15:5:17:5 | {...} | | +| MultiImplementationA.cs:16:17:16:18 | Normal Exit | MultiImplementationA.cs:16:17:16:18 | Exit | | +| MultiImplementationA.cs:17:5:19:5 | After {...} | MultiImplementationA.cs:16:17:16:18 | Normal Exit | | | MultiImplementationA.cs:17:5:19:5 | {...} | MultiImplementationA.cs:18:9:18:22 | M2(...) | | -| MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | | -| MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:21:18:21 | 0 | | -| MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | MultiImplementationA.cs:18:9:18:22 | exit M2 | | -| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | exit M2 (normal) | | -| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:22:20:31 | {...} | | -| MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | this access | | -| MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationB.cs:18:12:18:13 | this access | | -| MultiImplementationA.cs:20:12:20:13 | exit C2 (abnormal) | MultiImplementationA.cs:20:12:20:13 | exit C2 | | -| MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | MultiImplementationA.cs:20:12:20:13 | exit C2 | | +| MultiImplementationA.cs:18:9:18:22 | Entry | MultiImplementationA.cs:18:21:18:21 | 0 | | +| MultiImplementationA.cs:18:9:18:22 | M2(...) | MultiImplementationA.cs:17:5:19:5 | After {...} | | +| MultiImplementationA.cs:18:9:18:22 | Normal Exit | MultiImplementationA.cs:18:9:18:22 | Exit | | +| MultiImplementationA.cs:18:21:18:21 | 0 | MultiImplementationA.cs:18:9:18:22 | Normal Exit | | +| MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | MultiImplementationA.cs:20:22:20:31 | {...} | | +| MultiImplementationA.cs:20:12:20:13 | After call to method | MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | | +| MultiImplementationA.cs:20:12:20:13 | Before call to constructor Object | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | | +| MultiImplementationA.cs:20:12:20:13 | Before call to method | MultiImplementationA.cs:20:12:20:13 | this access | | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationA.cs:20:12:20:13 | Before call to method | | +| MultiImplementationA.cs:20:12:20:13 | Entry | MultiImplementationB.cs:18:12:18:13 | Before call to method | | +| MultiImplementationA.cs:20:12:20:13 | Exceptional Exit | MultiImplementationA.cs:20:12:20:13 | Exit | | +| MultiImplementationA.cs:20:12:20:13 | Normal Exit | MultiImplementationA.cs:20:12:20:13 | Exit | | +| MultiImplementationA.cs:20:12:20:13 | call to constructor Object | MultiImplementationA.cs:20:12:20:13 | After call to constructor Object | | +| MultiImplementationA.cs:20:12:20:13 | call to method | MultiImplementationA.cs:20:12:20:13 | After call to method | | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | call to method | | +| MultiImplementationA.cs:20:22:20:31 | After {...} | MultiImplementationA.cs:20:12:20:13 | Normal Exit | | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:24:20:29 | ...; | | -| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:28 | ... = ... | | -| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:28:20:28 | access to parameter i | | -| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | | -| MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:24 | this access | | -| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | access to field F | | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:24:21:24 | 0 | | -| MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationB.cs:19:24:19:24 | 1 | | -| MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 | | -| MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:27:21:29 | {...} | | +| MultiImplementationA.cs:20:24:20:24 | After access to field F | MultiImplementationA.cs:20:28:20:28 | access to parameter i | | +| MultiImplementationA.cs:20:24:20:24 | Before access to field F | MultiImplementationA.cs:20:24:20:24 | this access | | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:24 | After access to field F | | +| MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:24:20:24 | access to field F | | +| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:24:20:28 | After ... = ... | | +| MultiImplementationA.cs:20:24:20:28 | After ... = ... | MultiImplementationA.cs:20:24:20:29 | After ...; | | +| MultiImplementationA.cs:20:24:20:28 | Before ... = ... | MultiImplementationA.cs:20:24:20:24 | Before access to field F | | +| MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:28 | Before ... = ... | | +| MultiImplementationA.cs:20:24:20:29 | After ...; | MultiImplementationA.cs:20:22:20:31 | After {...} | | +| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:28 | ... = ... | | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | | +| MultiImplementationA.cs:21:12:21:13 | Entry | MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | | +| MultiImplementationA.cs:21:12:21:13 | Normal Exit | MultiImplementationA.cs:21:12:21:13 | Exit | | +| MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | MultiImplementationA.cs:21:27:21:29 | {...} | | +| MultiImplementationA.cs:21:19:21:22 | Before call to constructor C2 | MultiImplementationA.cs:21:24:21:24 | 0 | | +| MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | MultiImplementationA.cs:21:19:21:22 | After call to constructor C2 | | | MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:19:21:22 | call to constructor C2 | | -| MultiImplementationA.cs:21:27:21:29 | {...} | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationA.cs:22:11:22:13 | {...} | | -| MultiImplementationA.cs:22:6:22:7 | enter ~C2 | MultiImplementationB.cs:20:11:20:25 | {...} | | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 (abnormal) | MultiImplementationA.cs:22:6:22:7 | exit ~C2 | | -| MultiImplementationA.cs:22:6:22:7 | exit ~C2 (normal) | MultiImplementationA.cs:22:6:22:7 | exit ~C2 | | -| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | exit ~C2 (normal) | | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationA.cs:23:50:23:53 | null | | -| MultiImplementationA.cs:23:28:23:35 | enter implicit conversion | MultiImplementationB.cs:21:56:21:59 | null | | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (abnormal) | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | | -| MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (normal) | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion | | -| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (normal) | | -| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:32:24:34 | ... = ... | | -| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:24:34:24:34 | 0 | | -| MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:11:7:11:8 | exit (normal) | | -| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:16:24:16 | access to property P | | -| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | {...} | | -| MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationA.cs:28:7:28:8 | this access | | -| MultiImplementationA.cs:28:7:28:8 | enter C3 | MultiImplementationB.cs:25:7:25:8 | this access | | -| MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | MultiImplementationA.cs:28:7:28:8 | exit C3 | | +| MultiImplementationA.cs:21:27:21:29 | {...} | MultiImplementationA.cs:21:12:21:13 | Normal Exit | | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationA.cs:22:11:22:13 | {...} | | +| MultiImplementationA.cs:22:6:22:7 | Entry | MultiImplementationB.cs:20:11:20:25 | {...} | | +| MultiImplementationA.cs:22:6:22:7 | Exceptional Exit | MultiImplementationA.cs:22:6:22:7 | Exit | | +| MultiImplementationA.cs:22:6:22:7 | Normal Exit | MultiImplementationA.cs:22:6:22:7 | Exit | | +| MultiImplementationA.cs:22:11:22:13 | {...} | MultiImplementationA.cs:22:6:22:7 | Normal Exit | | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationA.cs:23:50:23:53 | null | | +| MultiImplementationA.cs:23:28:23:35 | Entry | MultiImplementationB.cs:21:50:21:59 | Before throw ... | | +| MultiImplementationA.cs:23:28:23:35 | Exceptional Exit | MultiImplementationA.cs:23:28:23:35 | Exit | | +| MultiImplementationA.cs:23:28:23:35 | Normal Exit | MultiImplementationA.cs:23:28:23:35 | Exit | | +| MultiImplementationA.cs:23:50:23:53 | null | MultiImplementationA.cs:23:28:23:35 | Normal Exit | | +| MultiImplementationA.cs:24:16:24:16 | After access to property P | MultiImplementationA.cs:24:34:24:34 | 0 | | +| MultiImplementationA.cs:24:16:24:16 | Before access to property P | MultiImplementationA.cs:24:16:24:16 | this access | | +| MultiImplementationA.cs:24:16:24:16 | access to property P | MultiImplementationA.cs:24:16:24:16 | After access to property P | | +| MultiImplementationA.cs:24:16:24:16 | this access | MultiImplementationA.cs:24:16:24:16 | access to property P | | +| MultiImplementationA.cs:24:32:24:34 | ... = ... | MultiImplementationA.cs:24:32:24:34 | After ... = ... | | +| MultiImplementationA.cs:24:32:24:34 | After ... = ... | MultiImplementationA.cs:11:7:11:8 | Normal Exit | | +| MultiImplementationA.cs:24:32:24:34 | Before ... = ... | MultiImplementationA.cs:24:16:24:16 | Before access to property P | | +| MultiImplementationA.cs:24:34:24:34 | 0 | MultiImplementationA.cs:24:32:24:34 | ... = ... | | +| MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | MultiImplementationA.cs:28:7:28:8 | {...} | | +| MultiImplementationA.cs:28:7:28:8 | After call to method | MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | | +| MultiImplementationA.cs:28:7:28:8 | Before call to constructor Object | MultiImplementationA.cs:28:7:28:8 | call to constructor Object | | +| MultiImplementationA.cs:28:7:28:8 | Before call to method | MultiImplementationA.cs:28:7:28:8 | this access | | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationA.cs:28:7:28:8 | Before call to method | | +| MultiImplementationA.cs:28:7:28:8 | Entry | MultiImplementationB.cs:25:7:25:8 | Before call to method | | +| MultiImplementationA.cs:28:7:28:8 | Normal Exit | MultiImplementationA.cs:28:7:28:8 | Exit | | +| MultiImplementationA.cs:28:7:28:8 | call to constructor Object | MultiImplementationA.cs:28:7:28:8 | After call to constructor Object | | +| MultiImplementationA.cs:28:7:28:8 | call to method | MultiImplementationA.cs:28:7:28:8 | After call to method | | | MultiImplementationA.cs:28:7:28:8 | this access | MultiImplementationA.cs:28:7:28:8 | call to method | | -| MultiImplementationA.cs:28:7:28:8 | {...} | MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | | -| MultiImplementationA.cs:30:21:30:23 | enter get_P3 | MultiImplementationA.cs:30:34:30:37 | null | | -| MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | MultiImplementationA.cs:30:21:30:23 | exit get_P3 | | -| MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:21:30:23 | exit get_P3 (abnormal) | exception | +| MultiImplementationA.cs:28:7:28:8 | {...} | MultiImplementationA.cs:28:7:28:8 | Normal Exit | | +| MultiImplementationA.cs:30:21:30:23 | Entry | MultiImplementationA.cs:30:28:30:37 | Before throw ... | | +| MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | MultiImplementationA.cs:30:21:30:23 | Exit | | +| MultiImplementationA.cs:30:28:30:37 | Before throw ... | MultiImplementationA.cs:30:34:30:37 | null | | +| MultiImplementationA.cs:30:28:30:37 | throw ... | MultiImplementationA.cs:30:21:30:23 | Exceptional Exit | exception | | MultiImplementationA.cs:30:34:30:37 | null | MultiImplementationA.cs:30:28:30:37 | throw ... | | -| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | {...} | | -| MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationA.cs:34:15:34:16 | this access | | -| MultiImplementationA.cs:34:15:34:16 | enter C4 | MultiImplementationB.cs:30:15:30:16 | this access | | -| MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | MultiImplementationA.cs:34:15:34:16 | exit C4 | | +| MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | MultiImplementationA.cs:34:15:34:16 | {...} | | +| MultiImplementationA.cs:34:15:34:16 | After call to method | MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | | +| MultiImplementationA.cs:34:15:34:16 | Before call to constructor Object | MultiImplementationA.cs:34:15:34:16 | call to constructor Object | | +| MultiImplementationA.cs:34:15:34:16 | Before call to method | MultiImplementationA.cs:34:15:34:16 | this access | | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationA.cs:34:15:34:16 | Before call to method | | +| MultiImplementationA.cs:34:15:34:16 | Entry | MultiImplementationB.cs:30:15:30:16 | Before call to method | | +| MultiImplementationA.cs:34:15:34:16 | Normal Exit | MultiImplementationA.cs:34:15:34:16 | Exit | | +| MultiImplementationA.cs:34:15:34:16 | call to constructor Object | MultiImplementationA.cs:34:15:34:16 | After call to constructor Object | | +| MultiImplementationA.cs:34:15:34:16 | call to method | MultiImplementationA.cs:34:15:34:16 | After call to method | | | MultiImplementationA.cs:34:15:34:16 | this access | MultiImplementationA.cs:34:15:34:16 | call to method | | -| MultiImplementationA.cs:34:15:34:16 | {...} | MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationA.cs:36:14:36:28 | {...} | | -| MultiImplementationA.cs:36:9:36:10 | enter M1 | MultiImplementationB.cs:32:17:32:17 | 0 | | -| MultiImplementationA.cs:36:9:36:10 | exit M1 (abnormal) | MultiImplementationA.cs:36:9:36:10 | exit M1 | | -| MultiImplementationA.cs:36:9:36:10 | exit M1 (normal) | MultiImplementationA.cs:36:9:36:10 | exit M1 | | -| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:22:36:25 | null | | -| MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:9:36:10 | exit M1 (abnormal) | exception | +| MultiImplementationA.cs:34:15:34:16 | {...} | MultiImplementationA.cs:34:15:34:16 | Normal Exit | | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationA.cs:36:14:36:28 | {...} | | +| MultiImplementationA.cs:36:9:36:10 | Entry | MultiImplementationB.cs:32:17:32:17 | 0 | | +| MultiImplementationA.cs:36:9:36:10 | Exceptional Exit | MultiImplementationA.cs:36:9:36:10 | Exit | | +| MultiImplementationA.cs:36:9:36:10 | Normal Exit | MultiImplementationA.cs:36:9:36:10 | Exit | | +| MultiImplementationA.cs:36:14:36:28 | {...} | MultiImplementationA.cs:36:16:36:26 | Before throw ...; | | +| MultiImplementationA.cs:36:16:36:26 | Before throw ...; | MultiImplementationA.cs:36:22:36:25 | null | | +| MultiImplementationA.cs:36:16:36:26 | throw ...; | MultiImplementationA.cs:36:9:36:10 | Exceptional Exit | exception | | MultiImplementationA.cs:36:22:36:25 | null | MultiImplementationA.cs:36:16:36:26 | throw ...; | | -| MultiImplementationA.cs:37:9:37:10 | enter M2 | MultiImplementationA.cs:37:14:37:28 | {...} | | -| MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | MultiImplementationA.cs:37:9:37:10 | exit M2 | | -| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:22:37:25 | null | | -| MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:9:37:10 | exit M2 (abnormal) | exception | +| MultiImplementationA.cs:37:9:37:10 | Entry | MultiImplementationA.cs:37:14:37:28 | {...} | | +| MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | MultiImplementationA.cs:37:9:37:10 | Exit | | +| MultiImplementationA.cs:37:14:37:28 | {...} | MultiImplementationA.cs:37:16:37:26 | Before throw ...; | | +| MultiImplementationA.cs:37:16:37:26 | Before throw ...; | MultiImplementationA.cs:37:22:37:25 | null | | +| MultiImplementationA.cs:37:16:37:26 | throw ...; | MultiImplementationA.cs:37:9:37:10 | Exceptional Exit | exception | | MultiImplementationA.cs:37:22:37:25 | null | MultiImplementationA.cs:37:16:37:26 | throw ...; | | -| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | {...} | | -| MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | | +| MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | MultiImplementationB.cs:1:7:1:8 | {...} | | +| MultiImplementationB.cs:1:7:1:8 | After call to method | MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | | +| MultiImplementationB.cs:1:7:1:8 | Before call to constructor Object | MultiImplementationB.cs:1:7:1:8 | call to constructor Object | | +| MultiImplementationB.cs:1:7:1:8 | Before call to method | MultiImplementationB.cs:1:7:1:8 | this access | | +| MultiImplementationB.cs:1:7:1:8 | call to constructor Object | MultiImplementationB.cs:1:7:1:8 | After call to constructor Object | | +| MultiImplementationB.cs:1:7:1:8 | call to method | MultiImplementationB.cs:1:7:1:8 | After call to method | | | MultiImplementationB.cs:1:7:1:8 | this access | MultiImplementationB.cs:1:7:1:8 | call to method | | -| MultiImplementationB.cs:1:7:1:8 | {...} | MultiImplementationA.cs:4:7:4:8 | exit C1 (normal) | | -| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | exit get_P1 (normal) | | -| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:34:4:34 | 1 | | -| MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | return | +| MultiImplementationB.cs:1:7:1:8 | {...} | MultiImplementationA.cs:4:7:4:8 | Normal Exit | | +| MultiImplementationB.cs:3:22:3:22 | 0 | MultiImplementationA.cs:6:22:6:31 | Normal Exit | | +| MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationB.cs:4:27:4:35 | Before return ...; | | +| MultiImplementationB.cs:4:27:4:35 | Before return ...; | MultiImplementationB.cs:4:34:4:34 | 1 | | +| MultiImplementationB.cs:4:27:4:35 | return ...; | MultiImplementationA.cs:7:21:7:23 | Normal Exit | return | | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:27:4:35 | return ...; | | -| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | | -| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | exit M (normal) | | -| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:20 | ... = ... | | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:20:11:20 | 1 | | -| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:22:16:22:16 | this access | | -| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | access to field F | | -| MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | exception | +| MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | Normal Exit | | +| MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | Normal Exit | | +| MultiImplementationB.cs:11:16:11:16 | After access to field F | MultiImplementationB.cs:11:20:11:20 | 1 | | +| MultiImplementationB.cs:11:16:11:16 | Before access to field F | MultiImplementationB.cs:11:16:11:16 | this access | | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:16 | After access to field F | | +| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:16:11:16 | access to field F | | +| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:16:11:20 | After ... = ... | | +| MultiImplementationB.cs:11:16:11:20 | After ... = ... | MultiImplementationB.cs:22:32:22:34 | Before ... = ... | | +| MultiImplementationB.cs:11:16:11:20 | Before ... = ... | MultiImplementationB.cs:11:16:11:16 | Before access to field F | | +| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:20 | ... = ... | | +| MultiImplementationB.cs:12:31:12:40 | Before throw ... | MultiImplementationB.cs:12:37:12:40 | null | | +| MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | Exceptional Exit | exception | | MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:31:12:40 | throw ... | | -| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:48:13:51 | null | | -| MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | exception | +| MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:42:13:52 | Before throw ...; | | +| MultiImplementationB.cs:13:42:13:52 | Before throw ...; | MultiImplementationB.cs:13:48:13:51 | null | | +| MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationA.cs:15:36:15:38 | Exceptional Exit | exception | | MultiImplementationB.cs:13:48:13:51 | null | MultiImplementationB.cs:13:42:13:52 | throw ...; | | -| MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationA.cs:15:54:15:56 | exit set_Item (normal) | | +| MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationA.cs:15:54:15:56 | Normal Exit | | +| MultiImplementationB.cs:15:5:17:5 | After {...} | MultiImplementationA.cs:16:17:16:18 | Normal Exit | | | MultiImplementationB.cs:15:5:17:5 | {...} | MultiImplementationB.cs:16:9:16:31 | M2(...) | | -| MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationA.cs:16:17:16:18 | exit M1 (normal) | | -| MultiImplementationB.cs:16:9:16:31 | enter M2 | MultiImplementationB.cs:16:27:16:30 | null | | -| MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | MultiImplementationB.cs:16:9:16:31 | exit M2 | | -| MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:9:16:31 | exit M2 (abnormal) | exception | +| MultiImplementationB.cs:16:9:16:31 | Entry | MultiImplementationB.cs:16:21:16:30 | Before throw ... | | +| MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | MultiImplementationB.cs:16:9:16:31 | Exit | | +| MultiImplementationB.cs:16:9:16:31 | M2(...) | MultiImplementationB.cs:15:5:17:5 | After {...} | | +| MultiImplementationB.cs:16:21:16:30 | Before throw ... | MultiImplementationB.cs:16:27:16:30 | null | | +| MultiImplementationB.cs:16:21:16:30 | throw ... | MultiImplementationB.cs:16:9:16:31 | Exceptional Exit | exception | | MultiImplementationB.cs:16:27:16:30 | null | MultiImplementationB.cs:16:21:16:30 | throw ... | | -| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:22:18:36 | {...} | | -| MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | | +| MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | MultiImplementationB.cs:18:22:18:36 | {...} | | +| MultiImplementationB.cs:18:12:18:13 | After call to method | MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | | +| MultiImplementationB.cs:18:12:18:13 | Before call to constructor Object | MultiImplementationB.cs:18:12:18:13 | call to constructor Object | | +| MultiImplementationB.cs:18:12:18:13 | Before call to method | MultiImplementationB.cs:18:12:18:13 | this access | | +| MultiImplementationB.cs:18:12:18:13 | call to constructor Object | MultiImplementationB.cs:18:12:18:13 | After call to constructor Object | | +| MultiImplementationB.cs:18:12:18:13 | call to method | MultiImplementationB.cs:18:12:18:13 | After call to method | | | MultiImplementationB.cs:18:12:18:13 | this access | MultiImplementationB.cs:18:12:18:13 | call to method | | -| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:30:18:33 | null | | -| MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationA.cs:20:12:20:13 | exit C2 (abnormal) | exception | +| MultiImplementationB.cs:18:22:18:36 | {...} | MultiImplementationB.cs:18:24:18:34 | Before throw ...; | | +| MultiImplementationB.cs:18:24:18:34 | Before throw ...; | MultiImplementationB.cs:18:30:18:33 | null | | +| MultiImplementationB.cs:18:24:18:34 | throw ...; | MultiImplementationA.cs:20:12:20:13 | Exceptional Exit | exception | | MultiImplementationB.cs:18:30:18:33 | null | MultiImplementationB.cs:18:24:18:34 | throw ...; | | -| MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationB.cs:19:27:19:29 | {...} | | +| MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | MultiImplementationB.cs:19:27:19:29 | {...} | | +| MultiImplementationB.cs:19:19:19:22 | Before call to constructor C2 | MultiImplementationB.cs:19:24:19:24 | 1 | | +| MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | MultiImplementationB.cs:19:19:19:22 | After call to constructor C2 | | | MultiImplementationB.cs:19:24:19:24 | 1 | MultiImplementationB.cs:19:19:19:22 | call to constructor C2 | | -| MultiImplementationB.cs:19:27:19:29 | {...} | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | | -| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:19:20:22 | null | | -| MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationA.cs:22:6:22:7 | exit ~C2 (abnormal) | exception | +| MultiImplementationB.cs:19:27:19:29 | {...} | MultiImplementationA.cs:21:12:21:13 | Normal Exit | | +| MultiImplementationB.cs:20:11:20:25 | {...} | MultiImplementationB.cs:20:13:20:23 | Before throw ...; | | +| MultiImplementationB.cs:20:13:20:23 | Before throw ...; | MultiImplementationB.cs:20:19:20:22 | null | | +| MultiImplementationB.cs:20:13:20:23 | throw ...; | MultiImplementationA.cs:22:6:22:7 | Exceptional Exit | exception | | MultiImplementationB.cs:20:19:20:22 | null | MultiImplementationB.cs:20:13:20:23 | throw ...; | | -| MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationA.cs:23:28:23:35 | exit implicit conversion (abnormal) | exception | +| MultiImplementationB.cs:21:50:21:59 | Before throw ... | MultiImplementationB.cs:21:56:21:59 | null | | +| MultiImplementationB.cs:21:50:21:59 | throw ... | MultiImplementationA.cs:23:28:23:35 | Exceptional Exit | exception | | MultiImplementationB.cs:21:56:21:59 | null | MultiImplementationB.cs:21:50:21:59 | throw ... | | -| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:32:22:34 | ... = ... | | -| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:22:34:22:34 | 1 | | -| MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationA.cs:11:7:11:8 | exit (normal) | | -| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:16:22:16 | access to property P | | -| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | {...} | | -| MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | | +| MultiImplementationB.cs:22:16:22:16 | After access to property P | MultiImplementationB.cs:22:34:22:34 | 1 | | +| MultiImplementationB.cs:22:16:22:16 | Before access to property P | MultiImplementationB.cs:22:16:22:16 | this access | | +| MultiImplementationB.cs:22:16:22:16 | access to property P | MultiImplementationB.cs:22:16:22:16 | After access to property P | | +| MultiImplementationB.cs:22:16:22:16 | this access | MultiImplementationB.cs:22:16:22:16 | access to property P | | +| MultiImplementationB.cs:22:32:22:34 | ... = ... | MultiImplementationB.cs:22:32:22:34 | After ... = ... | | +| MultiImplementationB.cs:22:32:22:34 | After ... = ... | MultiImplementationA.cs:11:7:11:8 | Normal Exit | | +| MultiImplementationB.cs:22:32:22:34 | Before ... = ... | MultiImplementationB.cs:22:16:22:16 | Before access to property P | | +| MultiImplementationB.cs:22:34:22:34 | 1 | MultiImplementationB.cs:22:32:22:34 | ... = ... | | +| MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | MultiImplementationB.cs:25:7:25:8 | {...} | | +| MultiImplementationB.cs:25:7:25:8 | After call to method | MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | | +| MultiImplementationB.cs:25:7:25:8 | Before call to constructor Object | MultiImplementationB.cs:25:7:25:8 | call to constructor Object | | +| MultiImplementationB.cs:25:7:25:8 | Before call to method | MultiImplementationB.cs:25:7:25:8 | this access | | +| MultiImplementationB.cs:25:7:25:8 | call to constructor Object | MultiImplementationB.cs:25:7:25:8 | After call to constructor Object | | +| MultiImplementationB.cs:25:7:25:8 | call to method | MultiImplementationB.cs:25:7:25:8 | After call to method | | | MultiImplementationB.cs:25:7:25:8 | this access | MultiImplementationB.cs:25:7:25:8 | call to method | | -| MultiImplementationB.cs:25:7:25:8 | {...} | MultiImplementationA.cs:28:7:28:8 | exit C3 (normal) | | -| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | {...} | | -| MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | | +| MultiImplementationB.cs:25:7:25:8 | {...} | MultiImplementationA.cs:28:7:28:8 | Normal Exit | | +| MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | MultiImplementationB.cs:30:15:30:16 | {...} | | +| MultiImplementationB.cs:30:15:30:16 | After call to method | MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | | +| MultiImplementationB.cs:30:15:30:16 | Before call to constructor Object | MultiImplementationB.cs:30:15:30:16 | call to constructor Object | | +| MultiImplementationB.cs:30:15:30:16 | Before call to method | MultiImplementationB.cs:30:15:30:16 | this access | | +| MultiImplementationB.cs:30:15:30:16 | call to constructor Object | MultiImplementationB.cs:30:15:30:16 | After call to constructor Object | | +| MultiImplementationB.cs:30:15:30:16 | call to method | MultiImplementationB.cs:30:15:30:16 | After call to method | | | MultiImplementationB.cs:30:15:30:16 | this access | MultiImplementationB.cs:30:15:30:16 | call to method | | -| MultiImplementationB.cs:30:15:30:16 | {...} | MultiImplementationA.cs:34:15:34:16 | exit C4 (normal) | | -| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | exit M1 (normal) | | -| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | {...} | | -| NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | call to constructor Object | | -| NullCoalescing.cs:1:7:1:20 | enter NullCoalescing | NullCoalescing.cs:1:7:1:20 | this access | | -| NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | NullCoalescing.cs:1:7:1:20 | exit NullCoalescing | | +| MultiImplementationB.cs:30:15:30:16 | {...} | MultiImplementationA.cs:34:15:34:16 | Normal Exit | | +| MultiImplementationB.cs:32:17:32:17 | 0 | MultiImplementationA.cs:36:9:36:10 | Normal Exit | | +| NullCoalescing.cs:1:7:1:20 | After call to constructor Object | NullCoalescing.cs:1:7:1:20 | {...} | | +| NullCoalescing.cs:1:7:1:20 | After call to method | NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | | +| NullCoalescing.cs:1:7:1:20 | Before call to constructor Object | NullCoalescing.cs:1:7:1:20 | call to constructor Object | | +| NullCoalescing.cs:1:7:1:20 | Before call to method | NullCoalescing.cs:1:7:1:20 | this access | | +| NullCoalescing.cs:1:7:1:20 | Entry | NullCoalescing.cs:1:7:1:20 | Before call to method | | +| NullCoalescing.cs:1:7:1:20 | Normal Exit | NullCoalescing.cs:1:7:1:20 | Exit | | +| NullCoalescing.cs:1:7:1:20 | call to constructor Object | NullCoalescing.cs:1:7:1:20 | After call to constructor Object | | +| NullCoalescing.cs:1:7:1:20 | call to method | NullCoalescing.cs:1:7:1:20 | After call to method | | | NullCoalescing.cs:1:7:1:20 | this access | NullCoalescing.cs:1:7:1:20 | call to method | | -| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | exit NullCoalescing (normal) | | -| NullCoalescing.cs:3:9:3:10 | enter M1 | NullCoalescing.cs:3:23:3:23 | access to parameter i | | -| NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | NullCoalescing.cs:3:9:3:10 | exit M1 | | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:28 | ... ?? ... | non-null | -| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:28:3:28 | 0 | null | -| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:9:3:10 | exit M1 (normal) | | -| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:23:3:28 | ... ?? ... | | -| NullCoalescing.cs:5:9:5:10 | enter M2 | NullCoalescing.cs:5:25:5:25 | access to parameter b | | -| NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | NullCoalescing.cs:5:9:5:10 | exit M2 | | -| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | exit M2 (normal) | | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | false | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | true | -| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:30:5:34 | false | null | -| NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | NullCoalescing.cs:5:43:5:43 | 1 | false | -| NullCoalescing.cs:5:25:5:34 | [true] ... ?? ... | NullCoalescing.cs:5:39:5:39 | 0 | true | -| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:25:5:34 | [false] ... ?? ... | false | -| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | | -| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | | -| NullCoalescing.cs:7:12:7:13 | enter M3 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | | -| NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | NullCoalescing.cs:7:12:7:13 | exit M3 | | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:53 | ... ?? ... | non-null | -| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | null | -| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:12:7:13 | exit M3 (normal) | | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:53 | ... ?? ... | non-null | -| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:52:7:53 | "" | null | -| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:53 | ... ?? ... | | -| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:46:7:53 | ... ?? ... | | -| NullCoalescing.cs:9:12:9:13 | enter M4 | NullCoalescing.cs:9:37:9:37 | access to parameter b | | -| NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | NullCoalescing.cs:9:12:9:13 | exit M4 | | -| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:12:9:13 | exit M4 (normal) | | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:41:9:41 | access to parameter s | true | -| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:45:9:45 | access to parameter s | false | -| NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | non-null | -| NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | NullCoalescing.cs:9:51:9:52 | "" | null | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | non-null | -| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | null | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:37:9:45 | [non-null] ... ? ... : ... | non-null | -| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:37:9:45 | [null] ... ? ... : ... | null | -| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:58 | ... ?? ... | non-null | -| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:36:9:58 | ... ?? ... | | -| NullCoalescing.cs:11:9:11:10 | enter M5 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | | -| NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | NullCoalescing.cs:11:9:11:10 | exit M5 | | -| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | exit M5 (normal) | | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | false | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | true | -| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | null | -| NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | NullCoalescing.cs:11:68:11:68 | 1 | false | -| NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | NullCoalescing.cs:11:64:11:64 | 0 | true | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | false | -| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | true | -| NullCoalescing.cs:11:51:11:58 | [false] ... && ... | NullCoalescing.cs:11:44:11:59 | [false] ... ?? ... | false | -| NullCoalescing.cs:11:51:11:58 | [true] ... && ... | NullCoalescing.cs:11:44:11:59 | [true] ... ?? ... | true | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [false] ... && ... | false | -| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:51:11:58 | [true] ... && ... | true | -| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | | -| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | | -| NullCoalescing.cs:13:10:13:11 | enter M6 | NullCoalescing.cs:14:5:18:5 | {...} | | -| NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | NullCoalescing.cs:13:10:13:11 | exit M6 | | +| NullCoalescing.cs:1:7:1:20 | {...} | NullCoalescing.cs:1:7:1:20 | Normal Exit | | +| NullCoalescing.cs:3:9:3:10 | Entry | NullCoalescing.cs:3:23:3:28 | ... ?? ... | | +| NullCoalescing.cs:3:9:3:10 | Normal Exit | NullCoalescing.cs:3:9:3:10 | Exit | | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | NullCoalescing.cs:3:23:3:28 | After ... ?? ... | | +| NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | NullCoalescing.cs:3:28:3:28 | 0 | | +| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | After access to parameter i [non-null] | non-null | +| NullCoalescing.cs:3:23:3:23 | access to parameter i | NullCoalescing.cs:3:23:3:23 | After access to parameter i [null] | null | +| NullCoalescing.cs:3:23:3:28 | ... ?? ... | NullCoalescing.cs:3:23:3:23 | access to parameter i | | +| NullCoalescing.cs:3:23:3:28 | After ... ?? ... | NullCoalescing.cs:3:9:3:10 | Normal Exit | | +| NullCoalescing.cs:3:28:3:28 | 0 | NullCoalescing.cs:3:23:3:28 | After ... ?? ... | | +| NullCoalescing.cs:5:9:5:10 | Entry | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | | +| NullCoalescing.cs:5:9:5:10 | Normal Exit | NullCoalescing.cs:5:9:5:10 | Exit | | +| NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | NullCoalescing.cs:5:25:5:34 | ... ?? ... | | +| NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | NullCoalescing.cs:5:9:5:10 | Normal Exit | | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | false | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | true | +| NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | NullCoalescing.cs:5:30:5:34 | false | | +| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | After access to parameter b [non-null] | non-null | +| NullCoalescing.cs:5:25:5:25 | access to parameter b | NullCoalescing.cs:5:25:5:25 | After access to parameter b [null] | null | +| NullCoalescing.cs:5:25:5:34 | ... ?? ... | NullCoalescing.cs:5:25:5:25 | access to parameter b | | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | NullCoalescing.cs:5:43:5:43 | 1 | | +| NullCoalescing.cs:5:25:5:34 | After ... ?? ... [true] | NullCoalescing.cs:5:39:5:39 | 0 | | +| NullCoalescing.cs:5:30:5:34 | After false [false] | NullCoalescing.cs:5:25:5:34 | After ... ?? ... [false] | false | +| NullCoalescing.cs:5:30:5:34 | false | NullCoalescing.cs:5:30:5:34 | After false [false] | false | +| NullCoalescing.cs:5:39:5:39 | 0 | NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | | +| NullCoalescing.cs:5:43:5:43 | 1 | NullCoalescing.cs:5:24:5:43 | After ... ? ... : ... | | +| NullCoalescing.cs:7:12:7:13 | Entry | NullCoalescing.cs:7:40:7:53 | ... ?? ... | | +| NullCoalescing.cs:7:12:7:13 | Normal Exit | NullCoalescing.cs:7:12:7:13 | Exit | | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | NullCoalescing.cs:7:40:7:53 | After ... ?? ... | | +| NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | NullCoalescing.cs:7:46:7:53 | ... ?? ... | | +| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [non-null] | non-null | +| NullCoalescing.cs:7:40:7:41 | access to parameter s1 | NullCoalescing.cs:7:40:7:41 | After access to parameter s1 [null] | null | +| NullCoalescing.cs:7:40:7:53 | ... ?? ... | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | | +| NullCoalescing.cs:7:40:7:53 | After ... ?? ... | NullCoalescing.cs:7:12:7:13 | Normal Exit | | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | | +| NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | NullCoalescing.cs:7:52:7:53 | "" | | +| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [non-null] | non-null | +| NullCoalescing.cs:7:46:7:47 | access to parameter s2 | NullCoalescing.cs:7:46:7:47 | After access to parameter s2 [null] | null | +| NullCoalescing.cs:7:46:7:53 | ... ?? ... | NullCoalescing.cs:7:46:7:47 | access to parameter s2 | | +| NullCoalescing.cs:7:46:7:53 | After ... ?? ... | NullCoalescing.cs:7:40:7:53 | After ... ?? ... | | +| NullCoalescing.cs:7:52:7:53 | "" | NullCoalescing.cs:7:46:7:53 | After ... ?? ... | | +| NullCoalescing.cs:9:12:9:13 | Entry | NullCoalescing.cs:9:36:9:58 | ... ?? ... | | +| NullCoalescing.cs:9:12:9:13 | Normal Exit | NullCoalescing.cs:9:12:9:13 | Exit | | +| NullCoalescing.cs:9:36:9:58 | ... ?? ... | NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | | +| NullCoalescing.cs:9:36:9:58 | After ... ?? ... | NullCoalescing.cs:9:12:9:13 | Normal Exit | | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | NullCoalescing.cs:9:45:9:45 | access to parameter s | | +| NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | NullCoalescing.cs:9:41:9:41 | access to parameter s | | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | After access to parameter b [false] | false | +| NullCoalescing.cs:9:37:9:37 | access to parameter b | NullCoalescing.cs:9:37:9:37 | After access to parameter b [true] | true | +| NullCoalescing.cs:9:37:9:45 | ... ? ... : ... | NullCoalescing.cs:9:37:9:37 | access to parameter b | | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | NullCoalescing.cs:9:36:9:58 | After ... ?? ... | | +| NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | NullCoalescing.cs:9:51:9:58 | ... ?? ... | | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | non-null | +| NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | null | +| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | After access to parameter s [non-null] | non-null | +| NullCoalescing.cs:9:41:9:41 | access to parameter s | NullCoalescing.cs:9:41:9:41 | After access to parameter s [null] | null | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [non-null] | non-null | +| NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | NullCoalescing.cs:9:37:9:45 | After ... ? ... : ... [null] | null | +| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | After access to parameter s [non-null] | non-null | +| NullCoalescing.cs:9:45:9:45 | access to parameter s | NullCoalescing.cs:9:45:9:45 | After access to parameter s [null] | null | +| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | After "" [non-null] | non-null | +| NullCoalescing.cs:9:51:9:52 | "" | NullCoalescing.cs:9:51:9:52 | After "" [null] | null | +| NullCoalescing.cs:9:51:9:52 | After "" [non-null] | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | | +| NullCoalescing.cs:9:51:9:52 | After "" [null] | NullCoalescing.cs:9:57:9:58 | "" | | +| NullCoalescing.cs:9:51:9:58 | ... ?? ... | NullCoalescing.cs:9:51:9:52 | "" | | +| NullCoalescing.cs:9:51:9:58 | After ... ?? ... | NullCoalescing.cs:9:36:9:58 | After ... ?? ... | | +| NullCoalescing.cs:9:57:9:58 | "" | NullCoalescing.cs:9:51:9:58 | After ... ?? ... | | +| NullCoalescing.cs:11:9:11:10 | Entry | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | | +| NullCoalescing.cs:11:9:11:10 | Normal Exit | NullCoalescing.cs:11:9:11:10 | Exit | | +| NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | NullCoalescing.cs:11:44:11:59 | ... ?? ... | | +| NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | NullCoalescing.cs:11:9:11:10 | Normal Exit | | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | false | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | true | +| NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | NullCoalescing.cs:11:51:11:58 | ... && ... | | +| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [non-null] | non-null | +| NullCoalescing.cs:11:44:11:45 | access to parameter b1 | NullCoalescing.cs:11:44:11:45 | After access to parameter b1 [null] | null | +| NullCoalescing.cs:11:44:11:59 | ... ?? ... | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | NullCoalescing.cs:11:68:11:68 | 1 | | +| NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | NullCoalescing.cs:11:64:11:64 | 0 | | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | false | +| NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | NullCoalescing.cs:11:57:11:58 | access to parameter b3 | | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [false] | false | +| NullCoalescing.cs:11:51:11:52 | access to parameter b2 | NullCoalescing.cs:11:51:11:52 | After access to parameter b2 [true] | true | +| NullCoalescing.cs:11:51:11:58 | ... && ... | NullCoalescing.cs:11:51:11:52 | access to parameter b2 | | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [false] | false | +| NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | NullCoalescing.cs:11:44:11:59 | After ... ?? ... [true] | true | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | NullCoalescing.cs:11:51:11:58 | After ... && ... [false] | false | +| NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | NullCoalescing.cs:11:51:11:58 | After ... && ... [true] | true | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [false] | false | +| NullCoalescing.cs:11:57:11:58 | access to parameter b3 | NullCoalescing.cs:11:57:11:58 | After access to parameter b3 [true] | true | +| NullCoalescing.cs:11:64:11:64 | 0 | NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | | +| NullCoalescing.cs:11:68:11:68 | 1 | NullCoalescing.cs:11:43:11:68 | After ... ? ... : ... | | +| NullCoalescing.cs:13:10:13:11 | Entry | NullCoalescing.cs:14:5:18:5 | {...} | | +| NullCoalescing.cs:13:10:13:11 | Normal Exit | NullCoalescing.cs:13:10:13:11 | Exit | | +| NullCoalescing.cs:14:5:18:5 | After {...} | NullCoalescing.cs:13:10:13:11 | Normal Exit | | | NullCoalescing.cs:14:5:18:5 | {...} | NullCoalescing.cs:15:9:15:32 | ... ...; | | -| NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:23:15:26 | null | | -| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:16:9:16:26 | ... ...; | | -| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:31:15:31 | 0 | null | -| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | | +| NullCoalescing.cs:15:9:15:32 | ... ...; | NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | | +| NullCoalescing.cs:15:9:15:32 | After ... ...; | NullCoalescing.cs:16:9:16:26 | ... ...; | | +| NullCoalescing.cs:15:13:15:13 | access to local variable j | NullCoalescing.cs:15:17:15:31 | ... ?? ... | | +| NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | NullCoalescing.cs:15:9:15:32 | After ... ...; | | +| NullCoalescing.cs:15:13:15:31 | Before Int32 j = ... | NullCoalescing.cs:15:13:15:13 | access to local variable j | | +| NullCoalescing.cs:15:13:15:31 | Int32 j = ... | NullCoalescing.cs:15:13:15:31 | After Int32 j = ... | | +| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | non-null | +| NullCoalescing.cs:15:17:15:26 | (...) ... | NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | null | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [non-null] | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | | +| NullCoalescing.cs:15:17:15:26 | After (...) ... [null] | NullCoalescing.cs:15:31:15:31 | 0 | | +| NullCoalescing.cs:15:17:15:26 | Before (...) ... | NullCoalescing.cs:15:23:15:26 | null | | +| NullCoalescing.cs:15:17:15:31 | ... ?? ... | NullCoalescing.cs:15:17:15:26 | Before (...) ... | | +| NullCoalescing.cs:15:17:15:31 | After ... ?? ... | NullCoalescing.cs:15:13:15:31 | Int32 j = ... | | | NullCoalescing.cs:15:23:15:26 | null | NullCoalescing.cs:15:17:15:26 | (...) ... | | -| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:17:15:31 | ... ?? ... | | -| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:17:16:18 | "" | | -| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:17:9:17:25 | ...; | | -| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:25 | ... ?? ... | non-null | -| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:13:16:25 | String s = ... | | -| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:13:10:13:11 | exit M6 (normal) | | -| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:19:17:19 | access to parameter i | | -| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:24 | ... ?? ... | non-null | -| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:9:17:24 | ... = ... | | +| NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:15:17:15:31 | After ... ?? ... | | +| NullCoalescing.cs:16:9:16:26 | ... ...; | NullCoalescing.cs:16:13:16:25 | Before String s = ... | | +| NullCoalescing.cs:16:9:16:26 | After ... ...; | NullCoalescing.cs:17:9:17:25 | ...; | | +| NullCoalescing.cs:16:13:16:13 | access to local variable s | NullCoalescing.cs:16:17:16:25 | ... ?? ... | | +| NullCoalescing.cs:16:13:16:25 | After String s = ... | NullCoalescing.cs:16:9:16:26 | After ... ...; | | +| NullCoalescing.cs:16:13:16:25 | Before String s = ... | NullCoalescing.cs:16:13:16:13 | access to local variable s | | +| NullCoalescing.cs:16:13:16:25 | String s = ... | NullCoalescing.cs:16:13:16:25 | After String s = ... | | +| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:18 | After "" [non-null] | non-null | +| NullCoalescing.cs:16:17:16:18 | "" | NullCoalescing.cs:16:17:16:18 | After "" [null] | null | +| NullCoalescing.cs:16:17:16:18 | After "" [non-null] | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | | +| NullCoalescing.cs:16:17:16:18 | After "" [null] | NullCoalescing.cs:16:23:16:25 | "a" | | +| NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:16:17:16:18 | "" | | +| NullCoalescing.cs:16:17:16:25 | After ... ?? ... | NullCoalescing.cs:16:13:16:25 | String s = ... | | +| NullCoalescing.cs:16:23:16:25 | "a" | NullCoalescing.cs:16:17:16:25 | After ... ?? ... | | +| NullCoalescing.cs:17:9:17:9 | access to local variable j | NullCoalescing.cs:17:13:17:24 | ... ?? ... | | +| NullCoalescing.cs:17:9:17:24 | ... = ... | NullCoalescing.cs:17:9:17:24 | After ... = ... | | +| NullCoalescing.cs:17:9:17:24 | After ... = ... | NullCoalescing.cs:17:9:17:25 | After ...; | | +| NullCoalescing.cs:17:9:17:24 | Before ... = ... | NullCoalescing.cs:17:9:17:9 | access to local variable j | | +| NullCoalescing.cs:17:9:17:25 | ...; | NullCoalescing.cs:17:9:17:24 | Before ... = ... | | +| NullCoalescing.cs:17:9:17:25 | After ...; | NullCoalescing.cs:14:5:18:5 | After {...} | | +| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | non-null | +| NullCoalescing.cs:17:13:17:19 | (...) ... | NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | null | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [non-null] | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | | +| NullCoalescing.cs:17:13:17:19 | After (...) ... [null] | NullCoalescing.cs:17:24:17:24 | 1 | | +| NullCoalescing.cs:17:13:17:19 | Before (...) ... | NullCoalescing.cs:17:19:17:19 | access to parameter i | | +| NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:17:13:17:19 | Before (...) ... | | +| NullCoalescing.cs:17:13:17:24 | After ... ?? ... | NullCoalescing.cs:17:9:17:24 | ... = ... | | | NullCoalescing.cs:17:19:17:19 | access to parameter i | NullCoalescing.cs:17:13:17:19 | (...) ... | | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationB.cs:3:16:3:16 | this access | | -| PartialImplementationA.cs:1:15:1:21 | exit (normal) | PartialImplementationA.cs:1:15:1:21 | exit | | -| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:27:3:29 | {...} | | -| PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | | -| PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | this access | | -| PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:12:3:18 | exit Partial | | +| NullCoalescing.cs:17:24:17:24 | 1 | NullCoalescing.cs:17:13:17:24 | After ... ?? ... | | +| PartialImplementationA.cs:1:15:1:21 | Entry | PartialImplementationB.cs:3:16:3:20 | Before ... = ... | | +| PartialImplementationA.cs:1:15:1:21 | Normal Exit | PartialImplementationA.cs:1:15:1:21 | Exit | | +| PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | PartialImplementationA.cs:3:27:3:29 | {...} | | +| PartialImplementationA.cs:3:12:3:18 | After call to method | PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | | +| PartialImplementationA.cs:3:12:3:18 | Before call to constructor Object | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | | +| PartialImplementationA.cs:3:12:3:18 | Before call to method | PartialImplementationA.cs:3:12:3:18 | this access | | +| PartialImplementationA.cs:3:12:3:18 | Entry | PartialImplementationA.cs:3:12:3:18 | Before call to method | | +| PartialImplementationA.cs:3:12:3:18 | Normal Exit | PartialImplementationA.cs:3:12:3:18 | Exit | | +| PartialImplementationA.cs:3:12:3:18 | call to constructor Object | PartialImplementationA.cs:3:12:3:18 | After call to constructor Object | | +| PartialImplementationA.cs:3:12:3:18 | call to method | PartialImplementationA.cs:3:12:3:18 | After call to method | | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | call to method | | -| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | | -| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:20 | ... = ... | | -| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:20:3:20 | 0 | | -| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:5:16:5:16 | this access | | -| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | access to field F | | -| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:22:4:24 | {...} | | -| PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | | -| PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | this access | | -| PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | PartialImplementationB.cs:4:12:4:18 | exit Partial | | +| PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | Normal Exit | | +| PartialImplementationB.cs:3:16:3:16 | After access to field F | PartialImplementationB.cs:3:20:3:20 | 0 | | +| PartialImplementationB.cs:3:16:3:16 | Before access to field F | PartialImplementationB.cs:3:16:3:16 | this access | | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:16 | After access to field F | | +| PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:16:3:16 | access to field F | | +| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:16:3:20 | After ... = ... | | +| PartialImplementationB.cs:3:16:3:20 | After ... = ... | PartialImplementationB.cs:5:32:5:34 | Before ... = ... | | +| PartialImplementationB.cs:3:16:3:20 | Before ... = ... | PartialImplementationB.cs:3:16:3:16 | Before access to field F | | +| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:20 | ... = ... | | +| PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | PartialImplementationB.cs:4:22:4:24 | {...} | | +| PartialImplementationB.cs:4:12:4:18 | After call to method | PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | | +| PartialImplementationB.cs:4:12:4:18 | Before call to constructor Object | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | | +| PartialImplementationB.cs:4:12:4:18 | Before call to method | PartialImplementationB.cs:4:12:4:18 | this access | | +| PartialImplementationB.cs:4:12:4:18 | Entry | PartialImplementationB.cs:4:12:4:18 | Before call to method | | +| PartialImplementationB.cs:4:12:4:18 | Normal Exit | PartialImplementationB.cs:4:12:4:18 | Exit | | +| PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | After call to constructor Object | | +| PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | After call to method | | | PartialImplementationB.cs:4:12:4:18 | this access | PartialImplementationB.cs:4:12:4:18 | call to method | | -| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | exit Partial (normal) | | -| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:32:5:34 | ... = ... | | -| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:5:34:5:34 | 0 | | -| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationA.cs:1:15:1:21 | exit (normal) | | -| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:16:5:16 | access to property P | | -| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | {...} | | -| Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | call to constructor Object | | -| Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | this access | | -| Patterns.cs:3:7:3:14 | exit Patterns (normal) | Patterns.cs:3:7:3:14 | exit Patterns | | +| PartialImplementationB.cs:4:22:4:24 | {...} | PartialImplementationB.cs:4:12:4:18 | Normal Exit | | +| PartialImplementationB.cs:5:16:5:16 | After access to property P | PartialImplementationB.cs:5:34:5:34 | 0 | | +| PartialImplementationB.cs:5:16:5:16 | Before access to property P | PartialImplementationB.cs:5:16:5:16 | this access | | +| PartialImplementationB.cs:5:16:5:16 | access to property P | PartialImplementationB.cs:5:16:5:16 | After access to property P | | +| PartialImplementationB.cs:5:16:5:16 | this access | PartialImplementationB.cs:5:16:5:16 | access to property P | | +| PartialImplementationB.cs:5:32:5:34 | ... = ... | PartialImplementationB.cs:5:32:5:34 | After ... = ... | | +| PartialImplementationB.cs:5:32:5:34 | After ... = ... | PartialImplementationA.cs:1:15:1:21 | Normal Exit | | +| PartialImplementationB.cs:5:32:5:34 | Before ... = ... | PartialImplementationB.cs:5:16:5:16 | Before access to property P | | +| PartialImplementationB.cs:5:34:5:34 | 0 | PartialImplementationB.cs:5:32:5:34 | ... = ... | | +| Patterns.cs:3:7:3:14 | After call to constructor Object | Patterns.cs:3:7:3:14 | {...} | | +| Patterns.cs:3:7:3:14 | After call to method | Patterns.cs:3:7:3:14 | Before call to constructor Object | | +| Patterns.cs:3:7:3:14 | Before call to constructor Object | Patterns.cs:3:7:3:14 | call to constructor Object | | +| Patterns.cs:3:7:3:14 | Before call to method | Patterns.cs:3:7:3:14 | this access | | +| Patterns.cs:3:7:3:14 | Entry | Patterns.cs:3:7:3:14 | Before call to method | | +| Patterns.cs:3:7:3:14 | Normal Exit | Patterns.cs:3:7:3:14 | Exit | | +| Patterns.cs:3:7:3:14 | call to constructor Object | Patterns.cs:3:7:3:14 | After call to constructor Object | | +| Patterns.cs:3:7:3:14 | call to method | Patterns.cs:3:7:3:14 | After call to method | | | Patterns.cs:3:7:3:14 | this access | Patterns.cs:3:7:3:14 | call to method | | -| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | exit Patterns (normal) | | -| Patterns.cs:5:10:5:11 | enter M1 | Patterns.cs:6:5:43:5 | {...} | | -| Patterns.cs:5:10:5:11 | exit M1 (normal) | Patterns.cs:5:10:5:11 | exit M1 | | +| Patterns.cs:3:7:3:14 | {...} | Patterns.cs:3:7:3:14 | Normal Exit | | +| Patterns.cs:5:10:5:11 | Entry | Patterns.cs:6:5:43:5 | {...} | | +| Patterns.cs:5:10:5:11 | Normal Exit | Patterns.cs:5:10:5:11 | Exit | | +| Patterns.cs:6:5:43:5 | After {...} | Patterns.cs:5:10:5:11 | Normal Exit | | | Patterns.cs:6:5:43:5 | {...} | Patterns.cs:7:9:7:24 | ... ...; | | -| Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:20:7:23 | null | | -| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:8:9:18:9 | if (...) ... | | +| Patterns.cs:7:9:7:24 | ... ...; | Patterns.cs:7:16:7:23 | Before Object o = ... | | +| Patterns.cs:7:9:7:24 | After ... ...; | Patterns.cs:8:9:18:9 | if (...) ... | | +| Patterns.cs:7:16:7:16 | access to local variable o | Patterns.cs:7:20:7:23 | null | | +| Patterns.cs:7:16:7:23 | After Object o = ... | Patterns.cs:7:9:7:24 | After ... ...; | | +| Patterns.cs:7:16:7:23 | Before Object o = ... | Patterns.cs:7:16:7:16 | access to local variable o | | +| Patterns.cs:7:16:7:23 | Object o = ... | Patterns.cs:7:16:7:23 | After Object o = ... | | | Patterns.cs:7:20:7:23 | null | Patterns.cs:7:16:7:23 | Object o = ... | | -| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:8:13:8:13 | access to local variable o | | -| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:18:8:23 | Int32 i1 | | -| Patterns.cs:8:13:8:23 | [false] ... is ... | Patterns.cs:12:14:18:9 | if (...) ... | false | -| Patterns.cs:8:13:8:23 | [true] ... is ... | Patterns.cs:9:9:11:9 | {...} | true | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | [false] ... is ... | no-match | -| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | [true] ... is ... | match | +| Patterns.cs:8:9:18:9 | After if (...) ... | Patterns.cs:20:9:38:9 | switch (...) {...} | | +| Patterns.cs:8:9:18:9 | if (...) ... | Patterns.cs:8:13:8:23 | Before ... is ... | | +| Patterns.cs:8:13:8:13 | access to local variable o | Patterns.cs:8:13:8:23 | ... is ... | | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | After ... is ... [false] | false | +| Patterns.cs:8:13:8:23 | ... is ... | Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | true | +| Patterns.cs:8:13:8:23 | After ... is ... [false] | Patterns.cs:12:14:18:9 | if (...) ... | | +| Patterns.cs:8:13:8:23 | After ... is ... [true] | Patterns.cs:9:9:11:9 | {...} | | +| Patterns.cs:8:13:8:23 | Before ... is ... | Patterns.cs:8:13:8:13 | access to local variable o | | +| Patterns.cs:8:13:8:23 | [MatchTrue] ... is ... | Patterns.cs:8:18:8:23 | Int32 i1 | | +| Patterns.cs:8:18:8:23 | Int32 i1 | Patterns.cs:8:13:8:23 | After ... is ... [true] | true | +| Patterns.cs:9:9:11:9 | After {...} | Patterns.cs:8:9:18:9 | After if (...) ... | | | Patterns.cs:9:9:11:9 | {...} | Patterns.cs:10:13:10:43 | ...; | | -| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:20:9:38:9 | switch (...) {...} | | -| Patterns.cs:10:13:10:43 | ...; | Patterns.cs:10:33:10:36 | "int " | | -| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:13:10:42 | call to method WriteLine | | -| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:38:10:39 | access to local variable i1 | | -| Patterns.cs:10:37:10:40 | {...} | Patterns.cs:10:31:10:41 | $"..." | | +| Patterns.cs:10:13:10:42 | After call to method WriteLine | Patterns.cs:10:13:10:43 | After ...; | | +| Patterns.cs:10:13:10:42 | Before call to method WriteLine | Patterns.cs:10:31:10:41 | Before $"..." | | +| Patterns.cs:10:13:10:42 | call to method WriteLine | Patterns.cs:10:13:10:42 | After call to method WriteLine | | +| Patterns.cs:10:13:10:43 | ...; | Patterns.cs:10:13:10:42 | Before call to method WriteLine | | +| Patterns.cs:10:13:10:43 | After ...; | Patterns.cs:9:9:11:9 | After {...} | | +| Patterns.cs:10:31:10:41 | $"..." | Patterns.cs:10:31:10:41 | After $"..." | | +| Patterns.cs:10:31:10:41 | After $"..." | Patterns.cs:10:13:10:42 | call to method WriteLine | | +| Patterns.cs:10:31:10:41 | Before $"..." | Patterns.cs:10:33:10:36 | "int " | | +| Patterns.cs:10:33:10:36 | "int " | Patterns.cs:10:37:10:40 | Before {...} | | +| Patterns.cs:10:37:10:40 | After {...} | Patterns.cs:10:31:10:41 | $"..." | | +| Patterns.cs:10:37:10:40 | Before {...} | Patterns.cs:10:38:10:39 | access to local variable i1 | | +| Patterns.cs:10:37:10:40 | {...} | Patterns.cs:10:37:10:40 | After {...} | | | Patterns.cs:10:38:10:39 | access to local variable i1 | Patterns.cs:10:37:10:40 | {...} | | -| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:18 | access to local variable o | | -| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:23:12:31 | String s1 | | -| Patterns.cs:12:18:12:31 | [false] ... is ... | Patterns.cs:16:14:18:9 | if (...) ... | false | -| Patterns.cs:12:18:12:31 | [true] ... is ... | Patterns.cs:13:9:15:9 | {...} | true | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | [false] ... is ... | no-match | -| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | [true] ... is ... | match | +| Patterns.cs:12:14:18:9 | After if (...) ... | Patterns.cs:8:9:18:9 | After if (...) ... | | +| Patterns.cs:12:14:18:9 | if (...) ... | Patterns.cs:12:18:12:31 | Before ... is ... | | +| Patterns.cs:12:18:12:18 | access to local variable o | Patterns.cs:12:18:12:31 | ... is ... | | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | After ... is ... [false] | false | +| Patterns.cs:12:18:12:31 | ... is ... | Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | true | +| Patterns.cs:12:18:12:31 | After ... is ... [false] | Patterns.cs:16:14:18:9 | if (...) ... | | +| Patterns.cs:12:18:12:31 | After ... is ... [true] | Patterns.cs:13:9:15:9 | {...} | | +| Patterns.cs:12:18:12:31 | Before ... is ... | Patterns.cs:12:18:12:18 | access to local variable o | | +| Patterns.cs:12:18:12:31 | [MatchTrue] ... is ... | Patterns.cs:12:23:12:31 | String s1 | | +| Patterns.cs:12:23:12:31 | String s1 | Patterns.cs:12:18:12:31 | After ... is ... [true] | true | +| Patterns.cs:13:9:15:9 | After {...} | Patterns.cs:12:14:18:9 | After if (...) ... | | | Patterns.cs:13:9:15:9 | {...} | Patterns.cs:14:13:14:46 | ...; | | -| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:20:9:38:9 | switch (...) {...} | | -| Patterns.cs:14:13:14:46 | ...; | Patterns.cs:14:33:14:39 | "string " | | -| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:13:14:45 | call to method WriteLine | | -| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:41:14:42 | access to local variable s1 | | -| Patterns.cs:14:40:14:43 | {...} | Patterns.cs:14:31:14:44 | $"..." | | +| Patterns.cs:14:13:14:45 | After call to method WriteLine | Patterns.cs:14:13:14:46 | After ...; | | +| Patterns.cs:14:13:14:45 | Before call to method WriteLine | Patterns.cs:14:31:14:44 | Before $"..." | | +| Patterns.cs:14:13:14:45 | call to method WriteLine | Patterns.cs:14:13:14:45 | After call to method WriteLine | | +| Patterns.cs:14:13:14:46 | ...; | Patterns.cs:14:13:14:45 | Before call to method WriteLine | | +| Patterns.cs:14:13:14:46 | After ...; | Patterns.cs:13:9:15:9 | After {...} | | +| Patterns.cs:14:31:14:44 | $"..." | Patterns.cs:14:31:14:44 | After $"..." | | +| Patterns.cs:14:31:14:44 | After $"..." | Patterns.cs:14:13:14:45 | call to method WriteLine | | +| Patterns.cs:14:31:14:44 | Before $"..." | Patterns.cs:14:33:14:39 | "string " | | +| Patterns.cs:14:33:14:39 | "string " | Patterns.cs:14:40:14:43 | Before {...} | | +| Patterns.cs:14:40:14:43 | After {...} | Patterns.cs:14:31:14:44 | $"..." | | +| Patterns.cs:14:40:14:43 | Before {...} | Patterns.cs:14:41:14:42 | access to local variable s1 | | +| Patterns.cs:14:40:14:43 | {...} | Patterns.cs:14:40:14:43 | After {...} | | | Patterns.cs:14:41:14:42 | access to local variable s1 | Patterns.cs:14:40:14:43 | {...} | | -| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:18 | access to local variable o | | -| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:23:16:28 | Object v1 | | -| Patterns.cs:16:18:16:28 | [false] ... is ... | Patterns.cs:20:9:38:9 | switch (...) {...} | false | -| Patterns.cs:16:18:16:28 | [true] ... is ... | Patterns.cs:17:9:18:9 | {...} | true | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | [false] ... is ... | no-match | -| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | [true] ... is ... | match | -| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:20:9:38:9 | switch (...) {...} | | +| Patterns.cs:16:14:18:9 | After if (...) ... | Patterns.cs:12:14:18:9 | After if (...) ... | | +| Patterns.cs:16:14:18:9 | if (...) ... | Patterns.cs:16:18:16:28 | Before ... is ... | | +| Patterns.cs:16:18:16:18 | access to local variable o | Patterns.cs:16:18:16:28 | ... is ... | | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | After ... is ... [false] | false | +| Patterns.cs:16:18:16:28 | ... is ... | Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | true | +| Patterns.cs:16:18:16:28 | After ... is ... [false] | Patterns.cs:16:14:18:9 | After if (...) ... | | +| Patterns.cs:16:18:16:28 | After ... is ... [true] | Patterns.cs:17:9:18:9 | {...} | | +| Patterns.cs:16:18:16:28 | Before ... is ... | Patterns.cs:16:18:16:18 | access to local variable o | | +| Patterns.cs:16:18:16:28 | [MatchTrue] ... is ... | Patterns.cs:16:23:16:28 | Object v1 | | +| Patterns.cs:16:23:16:28 | Object v1 | Patterns.cs:16:18:16:28 | After ... is ... [true] | true | +| Patterns.cs:17:9:18:9 | {...} | Patterns.cs:16:14:18:9 | After if (...) ... | | +| Patterns.cs:20:9:38:9 | After switch (...) {...} | Patterns.cs:40:9:42:9 | switch (...) {...} | | | Patterns.cs:20:9:38:9 | switch (...) {...} | Patterns.cs:20:17:20:17 | access to local variable o | | | Patterns.cs:20:17:20:17 | access to local variable o | Patterns.cs:22:13:22:23 | case ...: | | -| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:18:22:22 | "xyz" | | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:23:17:23:22 | break; | match | -| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:24:13:24:36 | case ...: | no-match | -| Patterns.cs:23:17:23:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | break | -| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:18:24:23 | Int32 i2 | | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:30:24:31 | access to local variable i2 | match | -| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:27:13:27:24 | case ...: | no-match | +| Patterns.cs:22:13:22:23 | After case ...: [match] | Patterns.cs:22:18:22:22 | "xyz" | | +| Patterns.cs:22:13:22:23 | After case ...: [no-match] | Patterns.cs:24:13:24:36 | case ...: | | +| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:13:22:23 | After case ...: [match] | match | +| Patterns.cs:22:13:22:23 | case ...: | Patterns.cs:22:13:22:23 | After case ...: [no-match] | no-match | +| Patterns.cs:22:18:22:22 | "xyz" | Patterns.cs:23:17:23:22 | Before break; | | +| Patterns.cs:23:17:23:22 | Before break; | Patterns.cs:23:17:23:22 | break; | | +| Patterns.cs:23:17:23:22 | break; | Patterns.cs:20:9:38:9 | After switch (...) {...} | break | +| Patterns.cs:24:13:24:36 | After case ...: [match] | Patterns.cs:24:18:24:23 | Int32 i2 | | +| Patterns.cs:24:13:24:36 | After case ...: [no-match] | Patterns.cs:27:13:27:24 | case ...: | | +| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:13:24:36 | After case ...: [match] | match | +| Patterns.cs:24:13:24:36 | case ...: | Patterns.cs:24:13:24:36 | After case ...: [no-match] | no-match | +| Patterns.cs:24:18:24:23 | Int32 i2 | Patterns.cs:24:30:24:35 | Before ... > ... | | | Patterns.cs:24:30:24:31 | access to local variable i2 | Patterns.cs:24:35:24:35 | 0 | | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:25:17:25:52 | ...; | true | -| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:27:13:27:24 | case ...: | false | +| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | After ... > ... [false] | false | +| Patterns.cs:24:30:24:35 | ... > ... | Patterns.cs:24:30:24:35 | After ... > ... [true] | true | +| Patterns.cs:24:30:24:35 | After ... > ... [false] | Patterns.cs:27:13:27:24 | case ...: | | +| Patterns.cs:24:30:24:35 | After ... > ... [true] | Patterns.cs:25:17:25:52 | ...; | | +| Patterns.cs:24:30:24:35 | Before ... > ... | Patterns.cs:24:30:24:31 | access to local variable i2 | | | Patterns.cs:24:35:24:35 | 0 | Patterns.cs:24:30:24:35 | ... > ... | | -| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:26:17:26:22 | break; | | -| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:37:25:45 | "positive " | | -| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:17:25:51 | call to method WriteLine | | -| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:47:25:48 | access to local variable i2 | | -| Patterns.cs:25:46:25:49 | {...} | Patterns.cs:25:35:25:50 | $"..." | | +| Patterns.cs:25:17:25:51 | After call to method WriteLine | Patterns.cs:25:17:25:52 | After ...; | | +| Patterns.cs:25:17:25:51 | Before call to method WriteLine | Patterns.cs:25:35:25:50 | Before $"..." | | +| Patterns.cs:25:17:25:51 | call to method WriteLine | Patterns.cs:25:17:25:51 | After call to method WriteLine | | +| Patterns.cs:25:17:25:52 | ...; | Patterns.cs:25:17:25:51 | Before call to method WriteLine | | +| Patterns.cs:25:17:25:52 | After ...; | Patterns.cs:26:17:26:22 | Before break; | | +| Patterns.cs:25:35:25:50 | $"..." | Patterns.cs:25:35:25:50 | After $"..." | | +| Patterns.cs:25:35:25:50 | After $"..." | Patterns.cs:25:17:25:51 | call to method WriteLine | | +| Patterns.cs:25:35:25:50 | Before $"..." | Patterns.cs:25:37:25:45 | "positive " | | +| Patterns.cs:25:37:25:45 | "positive " | Patterns.cs:25:46:25:49 | Before {...} | | +| Patterns.cs:25:46:25:49 | After {...} | Patterns.cs:25:35:25:50 | $"..." | | +| Patterns.cs:25:46:25:49 | Before {...} | Patterns.cs:25:47:25:48 | access to local variable i2 | | +| Patterns.cs:25:46:25:49 | {...} | Patterns.cs:25:46:25:49 | After {...} | | | Patterns.cs:25:47:25:48 | access to local variable i2 | Patterns.cs:25:46:25:49 | {...} | | -| Patterns.cs:26:17:26:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | break | -| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:18:27:23 | Int32 i3 | | -| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:28:17:28:47 | ...; | match | -| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:30:13:30:27 | case ...: | no-match | -| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:29:17:29:22 | break; | | -| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:37:28:40 | "int " | | -| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:17:28:46 | call to method WriteLine | | -| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:42:28:43 | access to local variable i3 | | -| Patterns.cs:28:41:28:44 | {...} | Patterns.cs:28:35:28:45 | $"..." | | +| Patterns.cs:26:17:26:22 | Before break; | Patterns.cs:26:17:26:22 | break; | | +| Patterns.cs:26:17:26:22 | break; | Patterns.cs:20:9:38:9 | After switch (...) {...} | break | +| Patterns.cs:27:13:27:24 | After case ...: [match] | Patterns.cs:27:18:27:23 | Int32 i3 | | +| Patterns.cs:27:13:27:24 | After case ...: [no-match] | Patterns.cs:30:13:30:27 | case ...: | | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [match] | match | +| Patterns.cs:27:13:27:24 | case ...: | Patterns.cs:27:13:27:24 | After case ...: [no-match] | no-match | +| Patterns.cs:27:18:27:23 | Int32 i3 | Patterns.cs:28:17:28:47 | ...; | | +| Patterns.cs:28:17:28:46 | After call to method WriteLine | Patterns.cs:28:17:28:47 | After ...; | | +| Patterns.cs:28:17:28:46 | Before call to method WriteLine | Patterns.cs:28:35:28:45 | Before $"..." | | +| Patterns.cs:28:17:28:46 | call to method WriteLine | Patterns.cs:28:17:28:46 | After call to method WriteLine | | +| Patterns.cs:28:17:28:47 | ...; | Patterns.cs:28:17:28:46 | Before call to method WriteLine | | +| Patterns.cs:28:17:28:47 | After ...; | Patterns.cs:29:17:29:22 | Before break; | | +| Patterns.cs:28:35:28:45 | $"..." | Patterns.cs:28:35:28:45 | After $"..." | | +| Patterns.cs:28:35:28:45 | After $"..." | Patterns.cs:28:17:28:46 | call to method WriteLine | | +| Patterns.cs:28:35:28:45 | Before $"..." | Patterns.cs:28:37:28:40 | "int " | | +| Patterns.cs:28:37:28:40 | "int " | Patterns.cs:28:41:28:44 | Before {...} | | +| Patterns.cs:28:41:28:44 | After {...} | Patterns.cs:28:35:28:45 | $"..." | | +| Patterns.cs:28:41:28:44 | Before {...} | Patterns.cs:28:42:28:43 | access to local variable i3 | | +| Patterns.cs:28:41:28:44 | {...} | Patterns.cs:28:41:28:44 | After {...} | | | Patterns.cs:28:42:28:43 | access to local variable i3 | Patterns.cs:28:41:28:44 | {...} | | -| Patterns.cs:29:17:29:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | break | -| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:18:30:26 | String s2 | | -| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:31:17:31:50 | ...; | match | -| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:33:13:33:24 | case ...: | no-match | -| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:32:17:32:22 | break; | | -| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:37:31:43 | "string " | | -| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:17:31:49 | call to method WriteLine | | -| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:45:31:46 | access to local variable s2 | | -| Patterns.cs:31:44:31:47 | {...} | Patterns.cs:31:35:31:48 | $"..." | | +| Patterns.cs:29:17:29:22 | Before break; | Patterns.cs:29:17:29:22 | break; | | +| Patterns.cs:29:17:29:22 | break; | Patterns.cs:20:9:38:9 | After switch (...) {...} | break | +| Patterns.cs:30:13:30:27 | After case ...: [match] | Patterns.cs:30:18:30:26 | String s2 | | +| Patterns.cs:30:13:30:27 | After case ...: [no-match] | Patterns.cs:33:13:33:24 | case ...: | | +| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [match] | match | +| Patterns.cs:30:13:30:27 | case ...: | Patterns.cs:30:13:30:27 | After case ...: [no-match] | no-match | +| Patterns.cs:30:18:30:26 | String s2 | Patterns.cs:31:17:31:50 | ...; | | +| Patterns.cs:31:17:31:49 | After call to method WriteLine | Patterns.cs:31:17:31:50 | After ...; | | +| Patterns.cs:31:17:31:49 | Before call to method WriteLine | Patterns.cs:31:35:31:48 | Before $"..." | | +| Patterns.cs:31:17:31:49 | call to method WriteLine | Patterns.cs:31:17:31:49 | After call to method WriteLine | | +| Patterns.cs:31:17:31:50 | ...; | Patterns.cs:31:17:31:49 | Before call to method WriteLine | | +| Patterns.cs:31:17:31:50 | After ...; | Patterns.cs:32:17:32:22 | Before break; | | +| Patterns.cs:31:35:31:48 | $"..." | Patterns.cs:31:35:31:48 | After $"..." | | +| Patterns.cs:31:35:31:48 | After $"..." | Patterns.cs:31:17:31:49 | call to method WriteLine | | +| Patterns.cs:31:35:31:48 | Before $"..." | Patterns.cs:31:37:31:43 | "string " | | +| Patterns.cs:31:37:31:43 | "string " | Patterns.cs:31:44:31:47 | Before {...} | | +| Patterns.cs:31:44:31:47 | After {...} | Patterns.cs:31:35:31:48 | $"..." | | +| Patterns.cs:31:44:31:47 | Before {...} | Patterns.cs:31:45:31:46 | access to local variable s2 | | +| Patterns.cs:31:44:31:47 | {...} | Patterns.cs:31:44:31:47 | After {...} | | | Patterns.cs:31:45:31:46 | access to local variable s2 | Patterns.cs:31:44:31:47 | {...} | | -| Patterns.cs:32:17:32:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | break | -| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:18:33:23 | Object v2 | | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:34:17:34:22 | break; | match | -| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:35:13:35:20 | default: | no-match | -| Patterns.cs:34:17:34:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | break | -| Patterns.cs:35:13:35:20 | default: | Patterns.cs:36:17:36:52 | ...; | | -| Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:37:17:37:22 | break; | | -| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:36:35:36:50 | "Something else" | | +| Patterns.cs:32:17:32:22 | Before break; | Patterns.cs:32:17:32:22 | break; | | +| Patterns.cs:32:17:32:22 | break; | Patterns.cs:20:9:38:9 | After switch (...) {...} | break | +| Patterns.cs:33:13:33:24 | After case ...: [match] | Patterns.cs:33:18:33:23 | Object v2 | | +| Patterns.cs:33:13:33:24 | After case ...: [no-match] | Patterns.cs:35:13:35:20 | default: | | +| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [match] | match | +| Patterns.cs:33:13:33:24 | case ...: | Patterns.cs:33:13:33:24 | After case ...: [no-match] | no-match | +| Patterns.cs:33:18:33:23 | Object v2 | Patterns.cs:34:17:34:22 | Before break; | | +| Patterns.cs:34:17:34:22 | Before break; | Patterns.cs:34:17:34:22 | break; | | +| Patterns.cs:34:17:34:22 | break; | Patterns.cs:20:9:38:9 | After switch (...) {...} | break | +| Patterns.cs:35:13:35:20 | After default: [match] | Patterns.cs:36:17:36:52 | ...; | | +| Patterns.cs:35:13:35:20 | default: | Patterns.cs:35:13:35:20 | After default: [match] | match | +| Patterns.cs:36:17:36:51 | After call to method WriteLine | Patterns.cs:36:17:36:52 | After ...; | | +| Patterns.cs:36:17:36:51 | Before call to method WriteLine | Patterns.cs:36:35:36:50 | "Something else" | | +| Patterns.cs:36:17:36:51 | call to method WriteLine | Patterns.cs:36:17:36:51 | After call to method WriteLine | | +| Patterns.cs:36:17:36:52 | ...; | Patterns.cs:36:17:36:51 | Before call to method WriteLine | | +| Patterns.cs:36:17:36:52 | After ...; | Patterns.cs:37:17:37:22 | Before break; | | | Patterns.cs:36:35:36:50 | "Something else" | Patterns.cs:36:17:36:51 | call to method WriteLine | | -| Patterns.cs:37:17:37:22 | break; | Patterns.cs:40:9:42:9 | switch (...) {...} | break | +| Patterns.cs:37:17:37:22 | Before break; | Patterns.cs:37:17:37:22 | break; | | +| Patterns.cs:37:17:37:22 | break; | Patterns.cs:20:9:38:9 | After switch (...) {...} | break | +| Patterns.cs:40:9:42:9 | After switch (...) {...} | Patterns.cs:6:5:43:5 | After {...} | | | Patterns.cs:40:9:42:9 | switch (...) {...} | Patterns.cs:40:17:40:17 | access to local variable o | | -| Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:5:10:5:11 | exit M1 (normal) | | -| Patterns.cs:47:24:47:25 | enter M2 | Patterns.cs:48:9:48:9 | access to parameter c | | -| Patterns.cs:47:24:47:25 | exit M2 (normal) | Patterns.cs:47:24:47:25 | exit M2 | | -| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:48:18:48:20 | a | | -| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:47:24:47:25 | exit M2 (normal) | | -| Patterns.cs:48:14:48:20 | not ... | Patterns.cs:48:9:48:20 | ... is ... | | +| Patterns.cs:40:17:40:17 | access to local variable o | Patterns.cs:40:9:42:9 | After switch (...) {...} | | +| Patterns.cs:47:24:47:25 | Entry | Patterns.cs:48:9:48:20 | Before ... is ... | | +| Patterns.cs:47:24:47:25 | Normal Exit | Patterns.cs:47:24:47:25 | Exit | | +| Patterns.cs:48:9:48:9 | access to parameter c | Patterns.cs:48:9:48:20 | ... is ... | | +| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:20 | After ... is ... | | +| Patterns.cs:48:9:48:20 | ... is ... | Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | true | +| Patterns.cs:48:9:48:20 | After ... is ... | Patterns.cs:47:24:47:25 | Normal Exit | | +| Patterns.cs:48:9:48:20 | Before ... is ... | Patterns.cs:48:9:48:9 | access to parameter c | | +| Patterns.cs:48:9:48:20 | [MatchTrue] ... is ... | Patterns.cs:48:14:48:20 | Before not ... | | +| Patterns.cs:48:14:48:20 | After not ... | Patterns.cs:48:9:48:20 | After ... is ... | | +| Patterns.cs:48:14:48:20 | Before not ... | Patterns.cs:48:18:48:20 | a | | +| Patterns.cs:48:14:48:20 | not ... | Patterns.cs:48:14:48:20 | After not ... | | | Patterns.cs:48:18:48:20 | a | Patterns.cs:48:14:48:20 | not ... | | -| Patterns.cs:50:24:50:25 | enter M3 | Patterns.cs:51:9:51:9 | access to parameter c | | -| Patterns.cs:50:24:50:25 | exit M3 (normal) | Patterns.cs:50:24:50:25 | exit M3 | | -| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:18:51:21 | null | | -| Patterns.cs:51:9:51:21 | [false] ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | false | -| Patterns.cs:51:9:51:21 | [true] ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | true | -| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:50:24:50:25 | exit M3 (normal) | | -| Patterns.cs:51:14:51:21 | [match] not ... | Patterns.cs:51:9:51:21 | [true] ... is ... | match | -| Patterns.cs:51:14:51:21 | [no-match] not ... | Patterns.cs:51:9:51:21 | [false] ... is ... | no-match | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | [match] not ... | no-match | -| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | [no-match] not ... | match | -| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:30:51:30 | 1 | | -| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | | -| Patterns.cs:51:30:51:30 | 1 | Patterns.cs:51:25:51:30 | ... is ... | | -| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:39:51:39 | 2 | | -| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:9:51:39 | ... ? ... : ... | | -| Patterns.cs:51:39:51:39 | 2 | Patterns.cs:51:34:51:39 | ... is ... | | -| Patterns.cs:53:24:53:25 | enter M4 | Patterns.cs:54:9:54:9 | access to parameter c | | -| Patterns.cs:53:24:53:25 | exit M4 (normal) | Patterns.cs:53:24:53:25 | exit M4 | | -| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:54:18:54:37 | Patterns u | | -| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:53:24:53:25 | exit M4 (normal) | | -| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:9:54:37 | ... is ... | | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:37 | { ... } | no-match | -| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:33:54:33 | 1 | match | -| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:14:54:37 | not ... | | -| Patterns.cs:54:27:54:35 | [match] { ... } | Patterns.cs:54:18:54:37 | { ... } | match | -| Patterns.cs:54:27:54:35 | [no-match] { ... } | Patterns.cs:54:18:54:37 | { ... } | no-match | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [match] { ... } | match | -| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | [no-match] { ... } | no-match | -| Patterns.cs:56:26:56:27 | enter M5 | Patterns.cs:57:5:63:5 | {...} | | -| Patterns.cs:56:26:56:27 | exit M5 (normal) | Patterns.cs:56:26:56:27 | exit M5 | | -| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:58:16:58:16 | access to parameter i | | -| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:56:26:56:27 | exit M5 (normal) | return | -| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:60:17:60:17 | 1 | | -| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:9:62:10 | return ...; | | -| Patterns.cs:60:13:60:17 | [match] not ... | Patterns.cs:60:22:60:28 | "not 1" | match | -| Patterns.cs:60:13:60:17 | [no-match] not ... | Patterns.cs:61:13:61:13 | _ | no-match | -| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:58:16:62:9 | ... switch { ... } | | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | [match] not ... | no-match | -| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | [no-match] not ... | match | -| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:60:13:60:28 | ... => ... | | -| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:18:61:24 | "other" | match | -| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:58:16:62:9 | ... switch { ... } | | -| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:61:13:61:24 | ... => ... | | -| Patterns.cs:65:26:65:27 | enter M6 | Patterns.cs:66:5:72:5 | {...} | | -| Patterns.cs:65:26:65:27 | exit M6 (normal) | Patterns.cs:65:26:65:27 | exit M6 | | -| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:67:16:67:16 | 2 | | -| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:65:26:65:27 | exit M6 (normal) | return | -| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:69:17:69:17 | 2 | | -| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:9:71:10 | return ...; | | -| Patterns.cs:69:13:69:17 | [no-match] not ... | Patterns.cs:70:13:70:13 | 2 | no-match | -| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:13:69:17 | [no-match] not ... | match | -| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:18:70:27 | "possible" | match | -| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:67:16:71:9 | ... switch { ... } | | -| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:70:13:70:27 | ... => ... | | -| Patterns.cs:74:26:74:27 | enter M7 | Patterns.cs:75:5:83:5 | {...} | | -| Patterns.cs:74:26:74:27 | exit M7 (normal) | Patterns.cs:74:26:74:27 | exit M7 | | -| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:76:16:76:16 | access to parameter i | | -| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:74:26:74:27 | exit M7 (normal) | return | -| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:78:15:78:15 | 1 | | -| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:9:82:10 | return ...; | | -| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:20:78:24 | "> 1" | match | -| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:79:15:79:15 | 0 | no-match | -| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:76:16:82:9 | ... switch { ... } | | +| Patterns.cs:50:24:50:25 | Entry | Patterns.cs:51:9:51:39 | ... ? ... : ... | | +| Patterns.cs:50:24:50:25 | Normal Exit | Patterns.cs:50:24:50:25 | Exit | | +| Patterns.cs:51:9:51:9 | access to parameter c | Patterns.cs:51:9:51:21 | ... is ... | | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | After ... is ... [false] | false | +| Patterns.cs:51:9:51:21 | ... is ... | Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:9:51:21 | After ... is ... [false] | Patterns.cs:51:34:51:39 | Before ... is ... | | +| Patterns.cs:51:9:51:21 | After ... is ... [true] | Patterns.cs:51:25:51:30 | Before ... is ... | | +| Patterns.cs:51:9:51:21 | Before ... is ... | Patterns.cs:51:9:51:9 | access to parameter c | | +| Patterns.cs:51:9:51:21 | [MatchTrue] ... is ... | Patterns.cs:51:14:51:21 | Before not ... | | +| Patterns.cs:51:9:51:39 | ... ? ... : ... | Patterns.cs:51:9:51:21 | Before ... is ... | | +| Patterns.cs:51:9:51:39 | After ... ? ... : ... | Patterns.cs:50:24:50:25 | Normal Exit | | +| Patterns.cs:51:14:51:21 | After not ... | Patterns.cs:51:9:51:21 | After ... is ... [true] | true | +| Patterns.cs:51:14:51:21 | Before not ... | Patterns.cs:51:18:51:21 | null | | +| Patterns.cs:51:14:51:21 | not ... | Patterns.cs:51:14:51:21 | After not ... | | +| Patterns.cs:51:18:51:21 | null | Patterns.cs:51:14:51:21 | not ... | | +| Patterns.cs:51:25:51:25 | access to parameter c | Patterns.cs:51:25:51:30 | ... is ... | | +| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:30 | After ... is ... | | +| Patterns.cs:51:25:51:30 | ... is ... | Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:25:51:30 | After ... is ... | Patterns.cs:51:9:51:39 | After ... ? ... : ... | | +| Patterns.cs:51:25:51:30 | Before ... is ... | Patterns.cs:51:25:51:25 | access to parameter c | | +| Patterns.cs:51:25:51:30 | [MatchTrue] ... is ... | Patterns.cs:51:30:51:30 | 1 | | +| Patterns.cs:51:30:51:30 | 1 | Patterns.cs:51:25:51:30 | After ... is ... | | +| Patterns.cs:51:34:51:34 | access to parameter c | Patterns.cs:51:34:51:39 | ... is ... | | +| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:39 | After ... is ... | | +| Patterns.cs:51:34:51:39 | ... is ... | Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | true | +| Patterns.cs:51:34:51:39 | After ... is ... | Patterns.cs:51:9:51:39 | After ... ? ... : ... | | +| Patterns.cs:51:34:51:39 | Before ... is ... | Patterns.cs:51:34:51:34 | access to parameter c | | +| Patterns.cs:51:34:51:39 | [MatchTrue] ... is ... | Patterns.cs:51:39:51:39 | 2 | | +| Patterns.cs:51:39:51:39 | 2 | Patterns.cs:51:34:51:39 | After ... is ... | | +| Patterns.cs:53:24:53:25 | Entry | Patterns.cs:54:9:54:37 | Before ... is ... | | +| Patterns.cs:53:24:53:25 | Normal Exit | Patterns.cs:53:24:53:25 | Exit | | +| Patterns.cs:54:9:54:9 | access to parameter c | Patterns.cs:54:9:54:37 | ... is ... | | +| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:37 | After ... is ... | | +| Patterns.cs:54:9:54:37 | ... is ... | Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | true | +| Patterns.cs:54:9:54:37 | After ... is ... | Patterns.cs:53:24:53:25 | Normal Exit | | +| Patterns.cs:54:9:54:37 | Before ... is ... | Patterns.cs:54:9:54:9 | access to parameter c | | +| Patterns.cs:54:9:54:37 | [MatchTrue] ... is ... | Patterns.cs:54:14:54:37 | Before not ... | | +| Patterns.cs:54:14:54:37 | After not ... | Patterns.cs:54:9:54:37 | After ... is ... | | +| Patterns.cs:54:14:54:37 | Before not ... | Patterns.cs:54:18:54:37 | Before { ... } | | +| Patterns.cs:54:14:54:37 | not ... | Patterns.cs:54:14:54:37 | After not ... | | +| Patterns.cs:54:18:54:25 | access to type Patterns | Patterns.cs:54:27:54:35 | Before { ... } | | +| Patterns.cs:54:18:54:37 | After { ... } | Patterns.cs:54:14:54:37 | not ... | | +| Patterns.cs:54:18:54:37 | Before { ... } | Patterns.cs:54:18:54:37 | Patterns u | | +| Patterns.cs:54:18:54:37 | Patterns u | Patterns.cs:54:18:54:25 | access to type Patterns | | +| Patterns.cs:54:18:54:37 | { ... } | Patterns.cs:54:18:54:37 | After { ... } | | +| Patterns.cs:54:27:54:35 | After { ... } | Patterns.cs:54:18:54:37 | { ... } | | +| Patterns.cs:54:27:54:35 | Before { ... } | Patterns.cs:54:33:54:33 | 1 | | +| Patterns.cs:54:27:54:35 | { ... } | Patterns.cs:54:27:54:35 | After { ... } | | +| Patterns.cs:54:33:54:33 | 1 | Patterns.cs:54:27:54:35 | { ... } | | +| Patterns.cs:56:26:56:27 | Entry | Patterns.cs:57:5:63:5 | {...} | | +| Patterns.cs:56:26:56:27 | Normal Exit | Patterns.cs:56:26:56:27 | Exit | | +| Patterns.cs:57:5:63:5 | {...} | Patterns.cs:58:9:62:10 | Before return ...; | | +| Patterns.cs:58:9:62:10 | Before return ...; | Patterns.cs:58:16:62:9 | ... switch { ... } | | +| Patterns.cs:58:9:62:10 | return ...; | Patterns.cs:56:26:56:27 | Normal Exit | return | +| Patterns.cs:58:16:58:16 | access to parameter i | Patterns.cs:60:13:60:28 | ... => ... | | +| Patterns.cs:58:16:62:9 | ... switch { ... } | Patterns.cs:58:16:58:16 | access to parameter i | | +| Patterns.cs:58:16:62:9 | After ... switch { ... } | Patterns.cs:58:9:62:10 | return ...; | | +| Patterns.cs:60:13:60:17 | After not ... | Patterns.cs:60:22:60:28 | "not 1" | | +| Patterns.cs:60:13:60:17 | Before not ... | Patterns.cs:60:17:60:17 | 1 | | +| Patterns.cs:60:13:60:17 | not ... | Patterns.cs:60:13:60:17 | After not ... | | +| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:13:60:28 | After ... => ... [match] | match | +| Patterns.cs:60:13:60:28 | ... => ... | Patterns.cs:60:13:60:28 | After ... => ... [no-match] | no-match | +| Patterns.cs:60:13:60:28 | After ... => ... [match] | Patterns.cs:60:13:60:17 | Before not ... | | +| Patterns.cs:60:13:60:28 | After ... => ... [no-match] | Patterns.cs:61:13:61:24 | ... => ... | | +| Patterns.cs:60:17:60:17 | 1 | Patterns.cs:60:13:60:17 | not ... | | +| Patterns.cs:60:22:60:28 | "not 1" | Patterns.cs:58:16:62:9 | After ... switch { ... } | | +| Patterns.cs:61:13:61:13 | _ | Patterns.cs:61:18:61:24 | "other" | | +| Patterns.cs:61:13:61:24 | ... => ... | Patterns.cs:61:13:61:24 | After ... => ... [match] | match | +| Patterns.cs:61:13:61:24 | After ... => ... [match] | Patterns.cs:61:13:61:13 | _ | | +| Patterns.cs:61:18:61:24 | "other" | Patterns.cs:58:16:62:9 | After ... switch { ... } | | +| Patterns.cs:65:26:65:27 | Entry | Patterns.cs:66:5:72:5 | {...} | | +| Patterns.cs:65:26:65:27 | Normal Exit | Patterns.cs:65:26:65:27 | Exit | | +| Patterns.cs:66:5:72:5 | {...} | Patterns.cs:67:9:71:10 | Before return ...; | | +| Patterns.cs:67:9:71:10 | Before return ...; | Patterns.cs:67:16:71:9 | ... switch { ... } | | +| Patterns.cs:67:9:71:10 | return ...; | Patterns.cs:65:26:65:27 | Normal Exit | return | +| Patterns.cs:67:16:67:16 | 2 | Patterns.cs:69:13:69:33 | ... => ... | | +| Patterns.cs:67:16:71:9 | ... switch { ... } | Patterns.cs:67:16:67:16 | 2 | | +| Patterns.cs:67:16:71:9 | After ... switch { ... } | Patterns.cs:67:9:71:10 | return ...; | | +| Patterns.cs:69:13:69:17 | After not ... | Patterns.cs:69:22:69:33 | "impossible" | | +| Patterns.cs:69:13:69:17 | Before not ... | Patterns.cs:69:17:69:17 | 2 | | +| Patterns.cs:69:13:69:17 | not ... | Patterns.cs:69:13:69:17 | After not ... | | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:13:69:33 | After ... => ... [match] | match | +| Patterns.cs:69:13:69:33 | ... => ... | Patterns.cs:69:13:69:33 | After ... => ... [no-match] | no-match | +| Patterns.cs:69:13:69:33 | After ... => ... [match] | Patterns.cs:69:13:69:17 | Before not ... | | +| Patterns.cs:69:13:69:33 | After ... => ... [no-match] | Patterns.cs:70:13:70:27 | ... => ... | | +| Patterns.cs:69:17:69:17 | 2 | Patterns.cs:69:13:69:17 | not ... | | +| Patterns.cs:69:22:69:33 | "impossible" | Patterns.cs:67:16:71:9 | After ... switch { ... } | | +| Patterns.cs:70:13:70:13 | 2 | Patterns.cs:70:18:70:27 | "possible" | | +| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:27 | After ... => ... [match] | match | +| Patterns.cs:70:13:70:27 | ... => ... | Patterns.cs:70:13:70:27 | After ... => ... [no-match] | no-match | +| Patterns.cs:70:13:70:27 | After ... => ... [match] | Patterns.cs:70:13:70:13 | 2 | | +| Patterns.cs:70:13:70:27 | After ... => ... [no-match] | Patterns.cs:67:16:71:9 | After ... switch { ... } | | +| Patterns.cs:70:18:70:27 | "possible" | Patterns.cs:67:16:71:9 | After ... switch { ... } | | +| Patterns.cs:74:26:74:27 | Entry | Patterns.cs:75:5:83:5 | {...} | | +| Patterns.cs:74:26:74:27 | Normal Exit | Patterns.cs:74:26:74:27 | Exit | | +| Patterns.cs:75:5:83:5 | {...} | Patterns.cs:76:9:82:10 | Before return ...; | | +| Patterns.cs:76:9:82:10 | Before return ...; | Patterns.cs:76:16:82:9 | ... switch { ... } | | +| Patterns.cs:76:9:82:10 | return ...; | Patterns.cs:74:26:74:27 | Normal Exit | return | +| Patterns.cs:76:16:76:16 | access to parameter i | Patterns.cs:78:13:78:24 | ... => ... | | +| Patterns.cs:76:16:82:9 | ... switch { ... } | Patterns.cs:76:16:76:16 | access to parameter i | | +| Patterns.cs:76:16:82:9 | After ... switch { ... } | Patterns.cs:76:9:82:10 | return ...; | | +| Patterns.cs:78:13:78:15 | > ... | Patterns.cs:78:13:78:15 | After > ... | | +| Patterns.cs:78:13:78:15 | After > ... | Patterns.cs:78:20:78:24 | "> 1" | | +| Patterns.cs:78:13:78:15 | Before > ... | Patterns.cs:78:15:78:15 | 1 | | +| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:13:78:24 | After ... => ... [match] | match | +| Patterns.cs:78:13:78:24 | ... => ... | Patterns.cs:78:13:78:24 | After ... => ... [no-match] | no-match | +| Patterns.cs:78:13:78:24 | After ... => ... [match] | Patterns.cs:78:13:78:15 | Before > ... | | +| Patterns.cs:78:13:78:24 | After ... => ... [no-match] | Patterns.cs:79:13:79:24 | ... => ... | | | Patterns.cs:78:15:78:15 | 1 | Patterns.cs:78:13:78:15 | > ... | | -| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:78:13:78:24 | ... => ... | | -| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:20:79:24 | "< 0" | match | -| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:80:13:80:13 | 1 | no-match | -| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:76:16:82:9 | ... switch { ... } | | +| Patterns.cs:78:20:78:24 | "> 1" | Patterns.cs:76:16:82:9 | After ... switch { ... } | | +| Patterns.cs:79:13:79:15 | < ... | Patterns.cs:79:13:79:15 | After < ... | | +| Patterns.cs:79:13:79:15 | After < ... | Patterns.cs:79:20:79:24 | "< 0" | | +| Patterns.cs:79:13:79:15 | Before < ... | Patterns.cs:79:15:79:15 | 0 | | +| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:13:79:24 | After ... => ... [match] | match | +| Patterns.cs:79:13:79:24 | ... => ... | Patterns.cs:79:13:79:24 | After ... => ... [no-match] | no-match | +| Patterns.cs:79:13:79:24 | After ... => ... [match] | Patterns.cs:79:13:79:15 | Before < ... | | +| Patterns.cs:79:13:79:24 | After ... => ... [no-match] | Patterns.cs:80:13:80:20 | ... => ... | | | Patterns.cs:79:15:79:15 | 0 | Patterns.cs:79:13:79:15 | < ... | | -| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:79:13:79:24 | ... => ... | | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:18:80:20 | "1" | match | -| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:81:13:81:13 | _ | no-match | -| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:76:16:82:9 | ... switch { ... } | | -| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:80:13:80:20 | ... => ... | | -| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:18:81:20 | "0" | match | -| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:76:16:82:9 | ... switch { ... } | | -| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:81:13:81:20 | ... => ... | | -| Patterns.cs:85:26:85:27 | enter M8 | Patterns.cs:85:39:85:39 | access to parameter i | | -| Patterns.cs:85:26:85:27 | exit M8 (normal) | Patterns.cs:85:26:85:27 | exit M8 | | -| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:44:85:44 | 1 | | -| Patterns.cs:85:39:85:53 | [false] ... is ... | Patterns.cs:85:67:85:69 | "2" | false | -| Patterns.cs:85:39:85:53 | [true] ... is ... | Patterns.cs:85:57:85:63 | "not 2" | true | -| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:26:85:27 | exit M8 (normal) | | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:44:85:53 | [match] ... or ... | match | -| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:53:85:53 | 2 | no-match | -| Patterns.cs:85:44:85:53 | [match] ... or ... | Patterns.cs:85:39:85:53 | [true] ... is ... | match | -| Patterns.cs:85:44:85:53 | [no-match] ... or ... | Patterns.cs:85:39:85:53 | [false] ... is ... | no-match | -| Patterns.cs:85:49:85:53 | [match] not ... | Patterns.cs:85:44:85:53 | [match] ... or ... | match | -| Patterns.cs:85:49:85:53 | [no-match] not ... | Patterns.cs:85:44:85:53 | [no-match] ... or ... | no-match | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [match] not ... | no-match | -| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | [no-match] not ... | match | -| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:39:85:69 | ... ? ... : ... | | -| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:39:85:69 | ... ? ... : ... | | -| Patterns.cs:87:26:87:27 | enter M9 | Patterns.cs:87:39:87:39 | access to parameter i | | -| Patterns.cs:87:26:87:27 | exit M9 (normal) | Patterns.cs:87:26:87:27 | exit M9 | | -| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:44:87:44 | 1 | | -| Patterns.cs:87:39:87:54 | [false] ... is ... | Patterns.cs:87:64:87:70 | "not 1" | false | -| Patterns.cs:87:39:87:54 | [true] ... is ... | Patterns.cs:87:58:87:60 | "1" | true | -| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:26:87:27 | exit M9 (normal) | | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:44:87:54 | [no-match] ... and ... | no-match | -| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:54:87:54 | 2 | match | -| Patterns.cs:87:44:87:54 | [match] ... and ... | Patterns.cs:87:39:87:54 | [true] ... is ... | match | -| Patterns.cs:87:44:87:54 | [no-match] ... and ... | Patterns.cs:87:39:87:54 | [false] ... is ... | no-match | -| Patterns.cs:87:50:87:54 | [match] not ... | Patterns.cs:87:44:87:54 | [match] ... and ... | match | -| Patterns.cs:87:50:87:54 | [no-match] not ... | Patterns.cs:87:44:87:54 | [no-match] ... and ... | no-match | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [match] not ... | no-match | -| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | [no-match] not ... | match | -| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:39:87:70 | ... ? ... : ... | | -| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:39:87:70 | ... ? ... : ... | | -| Patterns.cs:93:17:93:19 | enter M10 | Patterns.cs:94:5:99:5 | {...} | | -| Patterns.cs:93:17:93:19 | exit M10 (normal) | Patterns.cs:93:17:93:19 | exit M10 | | +| Patterns.cs:79:20:79:24 | "< 0" | Patterns.cs:76:16:82:9 | After ... switch { ... } | | +| Patterns.cs:80:13:80:13 | 1 | Patterns.cs:80:18:80:20 | "1" | | +| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:20 | After ... => ... [match] | match | +| Patterns.cs:80:13:80:20 | ... => ... | Patterns.cs:80:13:80:20 | After ... => ... [no-match] | no-match | +| Patterns.cs:80:13:80:20 | After ... => ... [match] | Patterns.cs:80:13:80:13 | 1 | | +| Patterns.cs:80:13:80:20 | After ... => ... [no-match] | Patterns.cs:81:13:81:20 | ... => ... | | +| Patterns.cs:80:18:80:20 | "1" | Patterns.cs:76:16:82:9 | After ... switch { ... } | | +| Patterns.cs:81:13:81:13 | _ | Patterns.cs:81:18:81:20 | "0" | | +| Patterns.cs:81:13:81:20 | ... => ... | Patterns.cs:81:13:81:20 | After ... => ... [match] | match | +| Patterns.cs:81:13:81:20 | After ... => ... [match] | Patterns.cs:81:13:81:13 | _ | | +| Patterns.cs:81:18:81:20 | "0" | Patterns.cs:76:16:82:9 | After ... switch { ... } | | +| Patterns.cs:85:26:85:27 | Entry | Patterns.cs:85:39:85:69 | ... ? ... : ... | | +| Patterns.cs:85:26:85:27 | Normal Exit | Patterns.cs:85:26:85:27 | Exit | | +| Patterns.cs:85:39:85:39 | access to parameter i | Patterns.cs:85:39:85:53 | ... is ... | | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | After ... is ... [false] | false | +| Patterns.cs:85:39:85:53 | ... is ... | Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | true | +| Patterns.cs:85:39:85:53 | After ... is ... [false] | Patterns.cs:85:67:85:69 | "2" | | +| Patterns.cs:85:39:85:53 | After ... is ... [true] | Patterns.cs:85:57:85:63 | "not 2" | | +| Patterns.cs:85:39:85:53 | Before ... is ... | Patterns.cs:85:39:85:39 | access to parameter i | | +| Patterns.cs:85:39:85:53 | [MatchTrue] ... is ... | Patterns.cs:85:44:85:53 | Before ... or ... | | +| Patterns.cs:85:39:85:69 | ... ? ... : ... | Patterns.cs:85:39:85:53 | Before ... is ... | | +| Patterns.cs:85:39:85:69 | After ... ? ... : ... | Patterns.cs:85:26:85:27 | Normal Exit | | +| Patterns.cs:85:44:85:44 | 1 | Patterns.cs:85:49:85:53 | Before not ... | | +| Patterns.cs:85:44:85:53 | ... or ... | Patterns.cs:85:44:85:53 | After ... or ... | | +| Patterns.cs:85:44:85:53 | After ... or ... | Patterns.cs:85:39:85:53 | After ... is ... [true] | true | +| Patterns.cs:85:44:85:53 | Before ... or ... | Patterns.cs:85:44:85:44 | 1 | | +| Patterns.cs:85:49:85:53 | After not ... | Patterns.cs:85:44:85:53 | ... or ... | | +| Patterns.cs:85:49:85:53 | Before not ... | Patterns.cs:85:53:85:53 | 2 | | +| Patterns.cs:85:49:85:53 | not ... | Patterns.cs:85:49:85:53 | After not ... | | +| Patterns.cs:85:53:85:53 | 2 | Patterns.cs:85:49:85:53 | not ... | | +| Patterns.cs:85:57:85:63 | "not 2" | Patterns.cs:85:39:85:69 | After ... ? ... : ... | | +| Patterns.cs:85:67:85:69 | "2" | Patterns.cs:85:39:85:69 | After ... ? ... : ... | | +| Patterns.cs:87:26:87:27 | Entry | Patterns.cs:87:39:87:70 | ... ? ... : ... | | +| Patterns.cs:87:26:87:27 | Normal Exit | Patterns.cs:87:26:87:27 | Exit | | +| Patterns.cs:87:39:87:39 | access to parameter i | Patterns.cs:87:39:87:54 | ... is ... | | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | After ... is ... [false] | false | +| Patterns.cs:87:39:87:54 | ... is ... | Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | true | +| Patterns.cs:87:39:87:54 | After ... is ... [false] | Patterns.cs:87:64:87:70 | "not 1" | | +| Patterns.cs:87:39:87:54 | After ... is ... [true] | Patterns.cs:87:58:87:60 | "1" | | +| Patterns.cs:87:39:87:54 | Before ... is ... | Patterns.cs:87:39:87:39 | access to parameter i | | +| Patterns.cs:87:39:87:54 | [MatchTrue] ... is ... | Patterns.cs:87:44:87:54 | Before ... and ... | | +| Patterns.cs:87:39:87:70 | ... ? ... : ... | Patterns.cs:87:39:87:54 | Before ... is ... | | +| Patterns.cs:87:39:87:70 | After ... ? ... : ... | Patterns.cs:87:26:87:27 | Normal Exit | | +| Patterns.cs:87:44:87:44 | 1 | Patterns.cs:87:50:87:54 | Before not ... | | +| Patterns.cs:87:44:87:54 | ... and ... | Patterns.cs:87:44:87:54 | After ... and ... | | +| Patterns.cs:87:44:87:54 | After ... and ... | Patterns.cs:87:39:87:54 | After ... is ... [true] | true | +| Patterns.cs:87:44:87:54 | Before ... and ... | Patterns.cs:87:44:87:44 | 1 | | +| Patterns.cs:87:50:87:54 | After not ... | Patterns.cs:87:44:87:54 | ... and ... | | +| Patterns.cs:87:50:87:54 | Before not ... | Patterns.cs:87:54:87:54 | 2 | | +| Patterns.cs:87:50:87:54 | not ... | Patterns.cs:87:50:87:54 | After not ... | | +| Patterns.cs:87:54:87:54 | 2 | Patterns.cs:87:50:87:54 | not ... | | +| Patterns.cs:87:58:87:60 | "1" | Patterns.cs:87:39:87:70 | After ... ? ... : ... | | +| Patterns.cs:87:64:87:70 | "not 1" | Patterns.cs:87:39:87:70 | After ... ? ... : ... | | +| Patterns.cs:93:17:93:19 | Entry | Patterns.cs:94:5:99:5 | {...} | | +| Patterns.cs:93:17:93:19 | Normal Exit | Patterns.cs:93:17:93:19 | Exit | | +| Patterns.cs:94:5:99:5 | After {...} | Patterns.cs:93:17:93:19 | Normal Exit | | | Patterns.cs:94:5:99:5 | {...} | Patterns.cs:95:9:98:9 | if (...) ... | | -| Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:95:13:95:16 | this access | | -| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:29:95:31 | access to constant A | | -| Patterns.cs:95:13:95:40 | [false] ... is ... | Patterns.cs:93:17:93:19 | exit M10 (normal) | false | -| Patterns.cs:95:13:95:40 | [true] ... is ... | Patterns.cs:96:9:98:9 | {...} | true | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:13:95:40 | [true] ... is ... | match | -| Patterns.cs:95:21:95:40 | [match] { ... } | Patterns.cs:95:21:95:40 | [match] { ... } | match | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:13:95:40 | [false] ... is ... | no-match | -| Patterns.cs:95:21:95:40 | [no-match] { ... } | Patterns.cs:95:21:95:40 | [no-match] { ... } | no-match | -| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:29:95:38 | [match] ... or ... | match | -| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:36:95:38 | access to constant B | no-match | -| Patterns.cs:95:29:95:38 | [match] ... or ... | Patterns.cs:95:21:95:40 | [match] { ... } | match | -| Patterns.cs:95:29:95:38 | [no-match] ... or ... | Patterns.cs:95:21:95:40 | [no-match] { ... } | no-match | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | [match] ... or ... | match | -| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | [no-match] ... or ... | no-match | +| Patterns.cs:95:9:98:9 | After if (...) ... | Patterns.cs:94:5:99:5 | After {...} | | +| Patterns.cs:95:9:98:9 | if (...) ... | Patterns.cs:95:13:95:40 | Before ... is ... | | +| Patterns.cs:95:13:95:16 | this access | Patterns.cs:95:13:95:40 | ... is ... | | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | After ... is ... [false] | false | +| Patterns.cs:95:13:95:40 | ... is ... | Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | true | +| Patterns.cs:95:13:95:40 | After ... is ... [false] | Patterns.cs:95:9:98:9 | After if (...) ... | | +| Patterns.cs:95:13:95:40 | After ... is ... [true] | Patterns.cs:96:9:98:9 | {...} | | +| Patterns.cs:95:13:95:40 | Before ... is ... | Patterns.cs:95:13:95:16 | this access | | +| Patterns.cs:95:13:95:40 | [MatchTrue] ... is ... | Patterns.cs:95:21:95:40 | Before { ... } | | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:13:95:40 | After ... is ... [true] | true | +| Patterns.cs:95:21:95:40 | After { ... } | Patterns.cs:95:21:95:40 | { ... } | | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:95:21:95:40 | Before { ... } | | +| Patterns.cs:95:21:95:40 | Before { ... } | Patterns.cs:95:29:95:38 | Before ... or ... | | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | After { ... } | | +| Patterns.cs:95:21:95:40 | { ... } | Patterns.cs:95:21:95:40 | After { ... } | | +| Patterns.cs:95:29:95:31 | access to constant A | Patterns.cs:95:36:95:38 | access to constant B | | +| Patterns.cs:95:29:95:38 | ... or ... | Patterns.cs:95:29:95:38 | After ... or ... | | +| Patterns.cs:95:29:95:38 | After ... or ... | Patterns.cs:95:21:95:40 | { ... } | | +| Patterns.cs:95:29:95:38 | Before ... or ... | Patterns.cs:95:29:95:31 | access to constant A | | +| Patterns.cs:95:36:95:38 | access to constant B | Patterns.cs:95:29:95:38 | ... or ... | | +| Patterns.cs:96:9:98:9 | After {...} | Patterns.cs:95:9:98:9 | After if (...) ... | | | Patterns.cs:96:9:98:9 | {...} | Patterns.cs:97:13:97:39 | ...; | | -| Patterns.cs:97:13:97:38 | call to method WriteLine | Patterns.cs:93:17:93:19 | exit M10 (normal) | | -| Patterns.cs:97:13:97:39 | ...; | Patterns.cs:97:31:97:37 | "not C" | | +| Patterns.cs:97:13:97:38 | After call to method WriteLine | Patterns.cs:97:13:97:39 | After ...; | | +| Patterns.cs:97:13:97:38 | Before call to method WriteLine | Patterns.cs:97:31:97:37 | "not C" | | +| Patterns.cs:97:13:97:38 | call to method WriteLine | Patterns.cs:97:13:97:38 | After call to method WriteLine | | +| Patterns.cs:97:13:97:39 | ...; | Patterns.cs:97:13:97:38 | Before call to method WriteLine | | +| Patterns.cs:97:13:97:39 | After ...; | Patterns.cs:96:9:98:9 | After {...} | | | Patterns.cs:97:31:97:37 | "not C" | Patterns.cs:97:13:97:38 | call to method WriteLine | | -| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | {...} | | -| PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | call to constructor Object | | -| PostDominance.cs:3:7:3:19 | enter PostDominance | PostDominance.cs:3:7:3:19 | this access | | -| PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | PostDominance.cs:3:7:3:19 | exit PostDominance | | +| PostDominance.cs:3:7:3:19 | After call to constructor Object | PostDominance.cs:3:7:3:19 | {...} | | +| PostDominance.cs:3:7:3:19 | After call to method | PostDominance.cs:3:7:3:19 | Before call to constructor Object | | +| PostDominance.cs:3:7:3:19 | Before call to constructor Object | PostDominance.cs:3:7:3:19 | call to constructor Object | | +| PostDominance.cs:3:7:3:19 | Before call to method | PostDominance.cs:3:7:3:19 | this access | | +| PostDominance.cs:3:7:3:19 | Entry | PostDominance.cs:3:7:3:19 | Before call to method | | +| PostDominance.cs:3:7:3:19 | Normal Exit | PostDominance.cs:3:7:3:19 | Exit | | +| PostDominance.cs:3:7:3:19 | call to constructor Object | PostDominance.cs:3:7:3:19 | After call to constructor Object | | +| PostDominance.cs:3:7:3:19 | call to method | PostDominance.cs:3:7:3:19 | After call to method | | | PostDominance.cs:3:7:3:19 | this access | PostDominance.cs:3:7:3:19 | call to method | | -| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | exit PostDominance (normal) | | -| PostDominance.cs:5:10:5:11 | enter M1 | PostDominance.cs:6:5:8:5 | {...} | | -| PostDominance.cs:5:10:5:11 | exit M1 (normal) | PostDominance.cs:5:10:5:11 | exit M1 | | +| PostDominance.cs:3:7:3:19 | {...} | PostDominance.cs:3:7:3:19 | Normal Exit | | +| PostDominance.cs:5:10:5:11 | Entry | PostDominance.cs:6:5:8:5 | {...} | | +| PostDominance.cs:5:10:5:11 | Normal Exit | PostDominance.cs:5:10:5:11 | Exit | | +| PostDominance.cs:6:5:8:5 | After {...} | PostDominance.cs:5:10:5:11 | Normal Exit | | | PostDominance.cs:6:5:8:5 | {...} | PostDominance.cs:7:9:7:29 | ...; | | -| PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:5:10:5:11 | exit M1 (normal) | | -| PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:7:27:7:27 | access to parameter s | | +| PostDominance.cs:7:9:7:28 | After call to method WriteLine | PostDominance.cs:7:9:7:29 | After ...; | | +| PostDominance.cs:7:9:7:28 | Before call to method WriteLine | PostDominance.cs:7:27:7:27 | access to parameter s | | +| PostDominance.cs:7:9:7:28 | call to method WriteLine | PostDominance.cs:7:9:7:28 | After call to method WriteLine | | +| PostDominance.cs:7:9:7:29 | ...; | PostDominance.cs:7:9:7:28 | Before call to method WriteLine | | +| PostDominance.cs:7:9:7:29 | After ...; | PostDominance.cs:6:5:8:5 | After {...} | | | PostDominance.cs:7:27:7:27 | access to parameter s | PostDominance.cs:7:9:7:28 | call to method WriteLine | | -| PostDominance.cs:10:10:10:11 | enter M2 | PostDominance.cs:11:5:15:5 | {...} | | -| PostDominance.cs:10:10:10:11 | exit M2 (normal) | PostDominance.cs:10:10:10:11 | exit M2 | | +| PostDominance.cs:10:10:10:11 | Entry | PostDominance.cs:11:5:15:5 | {...} | | +| PostDominance.cs:10:10:10:11 | Normal Exit | PostDominance.cs:10:10:10:11 | Exit | | +| PostDominance.cs:11:5:15:5 | After {...} | PostDominance.cs:10:10:10:11 | Normal Exit | | | PostDominance.cs:11:5:15:5 | {...} | PostDominance.cs:12:9:13:19 | if (...) ... | | -| PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:12:13:12:13 | access to parameter s | | -| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:18:12:21 | null | | -| PostDominance.cs:12:13:12:21 | [false] ... is ... | PostDominance.cs:14:9:14:29 | ...; | false | -| PostDominance.cs:12:13:12:21 | [true] ... is ... | PostDominance.cs:13:13:13:19 | return ...; | true | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | [false] ... is ... | no-match | -| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | [true] ... is ... | match | -| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:10:10:10:11 | exit M2 (normal) | return | -| PostDominance.cs:14:9:14:28 | call to method WriteLine | PostDominance.cs:10:10:10:11 | exit M2 (normal) | | -| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:27:14:27 | access to parameter s | | +| PostDominance.cs:12:9:13:19 | After if (...) ... | PostDominance.cs:14:9:14:29 | ...; | | +| PostDominance.cs:12:9:13:19 | if (...) ... | PostDominance.cs:12:13:12:21 | Before ... is ... | | +| PostDominance.cs:12:13:12:13 | access to parameter s | PostDominance.cs:12:13:12:21 | ... is ... | | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | After ... is ... [false] | false | +| PostDominance.cs:12:13:12:21 | ... is ... | PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | true | +| PostDominance.cs:12:13:12:21 | After ... is ... [false] | PostDominance.cs:12:9:13:19 | After if (...) ... | | +| PostDominance.cs:12:13:12:21 | After ... is ... [true] | PostDominance.cs:13:13:13:19 | Before return ...; | | +| PostDominance.cs:12:13:12:21 | Before ... is ... | PostDominance.cs:12:13:12:13 | access to parameter s | | +| PostDominance.cs:12:13:12:21 | [MatchTrue] ... is ... | PostDominance.cs:12:18:12:21 | null | | +| PostDominance.cs:12:18:12:21 | null | PostDominance.cs:12:13:12:21 | After ... is ... [true] | true | +| PostDominance.cs:13:13:13:19 | Before return ...; | PostDominance.cs:13:13:13:19 | return ...; | | +| PostDominance.cs:13:13:13:19 | return ...; | PostDominance.cs:10:10:10:11 | Normal Exit | return | +| PostDominance.cs:14:9:14:28 | After call to method WriteLine | PostDominance.cs:14:9:14:29 | After ...; | | +| PostDominance.cs:14:9:14:28 | Before call to method WriteLine | PostDominance.cs:14:27:14:27 | access to parameter s | | +| PostDominance.cs:14:9:14:28 | call to method WriteLine | PostDominance.cs:14:9:14:28 | After call to method WriteLine | | +| PostDominance.cs:14:9:14:29 | ...; | PostDominance.cs:14:9:14:28 | Before call to method WriteLine | | +| PostDominance.cs:14:9:14:29 | After ...; | PostDominance.cs:11:5:15:5 | After {...} | | | PostDominance.cs:14:27:14:27 | access to parameter s | PostDominance.cs:14:9:14:28 | call to method WriteLine | | -| PostDominance.cs:17:10:17:11 | enter M3 | PostDominance.cs:18:5:22:5 | {...} | | -| PostDominance.cs:17:10:17:11 | exit M3 (abnormal) | PostDominance.cs:17:10:17:11 | exit M3 | | -| PostDominance.cs:17:10:17:11 | exit M3 (normal) | PostDominance.cs:17:10:17:11 | exit M3 | | +| PostDominance.cs:17:10:17:11 | Entry | PostDominance.cs:18:5:22:5 | {...} | | +| PostDominance.cs:17:10:17:11 | Exceptional Exit | PostDominance.cs:17:10:17:11 | Exit | | +| PostDominance.cs:17:10:17:11 | Normal Exit | PostDominance.cs:17:10:17:11 | Exit | | +| PostDominance.cs:18:5:22:5 | After {...} | PostDominance.cs:17:10:17:11 | Normal Exit | | | PostDominance.cs:18:5:22:5 | {...} | PostDominance.cs:19:9:20:55 | if (...) ... | | -| PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:19:13:19:13 | access to parameter s | | -| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:18:19:21 | null | | -| PostDominance.cs:19:13:19:21 | [false] ... is ... | PostDominance.cs:21:9:21:29 | ...; | false | -| PostDominance.cs:19:13:19:21 | [true] ... is ... | PostDominance.cs:20:45:20:53 | nameof(...) | true | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | [false] ... is ... | no-match | -| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | [true] ... is ... | match | -| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:17:10:17:11 | exit M3 (abnormal) | exception | -| PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:13:20:55 | throw ...; | | +| PostDominance.cs:19:9:20:55 | After if (...) ... | PostDominance.cs:21:9:21:29 | ...; | | +| PostDominance.cs:19:9:20:55 | if (...) ... | PostDominance.cs:19:13:19:21 | Before ... is ... | | +| PostDominance.cs:19:13:19:13 | access to parameter s | PostDominance.cs:19:13:19:21 | ... is ... | | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | After ... is ... [false] | false | +| PostDominance.cs:19:13:19:21 | ... is ... | PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | true | +| PostDominance.cs:19:13:19:21 | After ... is ... [false] | PostDominance.cs:19:9:20:55 | After if (...) ... | | +| PostDominance.cs:19:13:19:21 | After ... is ... [true] | PostDominance.cs:20:13:20:55 | Before throw ...; | | +| PostDominance.cs:19:13:19:21 | Before ... is ... | PostDominance.cs:19:13:19:13 | access to parameter s | | +| PostDominance.cs:19:13:19:21 | [MatchTrue] ... is ... | PostDominance.cs:19:18:19:21 | null | | +| PostDominance.cs:19:18:19:21 | null | PostDominance.cs:19:13:19:21 | After ... is ... [true] | true | +| PostDominance.cs:20:13:20:55 | Before throw ...; | PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | | +| PostDominance.cs:20:13:20:55 | throw ...; | PostDominance.cs:17:10:17:11 | Exceptional Exit | exception | +| PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | PostDominance.cs:20:13:20:55 | throw ...; | | +| PostDominance.cs:20:19:20:54 | Before object creation of type ArgumentNullException | PostDominance.cs:20:45:20:53 | nameof(...) | | +| PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | PostDominance.cs:20:19:20:54 | After object creation of type ArgumentNullException | | | PostDominance.cs:20:45:20:53 | nameof(...) | PostDominance.cs:20:19:20:54 | object creation of type ArgumentNullException | | -| PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:17:10:17:11 | exit M3 (normal) | | -| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:27:21:27 | access to parameter s | | +| PostDominance.cs:21:9:21:28 | After call to method WriteLine | PostDominance.cs:21:9:21:29 | After ...; | | +| PostDominance.cs:21:9:21:28 | Before call to method WriteLine | PostDominance.cs:21:27:21:27 | access to parameter s | | +| PostDominance.cs:21:9:21:28 | call to method WriteLine | PostDominance.cs:21:9:21:28 | After call to method WriteLine | | +| PostDominance.cs:21:9:21:29 | ...; | PostDominance.cs:21:9:21:28 | Before call to method WriteLine | | +| PostDominance.cs:21:9:21:29 | After ...; | PostDominance.cs:18:5:22:5 | After {...} | | | PostDominance.cs:21:27:21:27 | access to parameter s | PostDominance.cs:21:9:21:28 | call to method WriteLine | | -| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | {...} | | -| Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | call to constructor Object | | -| Qualifiers.cs:1:7:1:16 | enter Qualifiers | Qualifiers.cs:1:7:1:16 | this access | | -| Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | Qualifiers.cs:1:7:1:16 | exit Qualifiers | | +| Qualifiers.cs:1:7:1:16 | After call to constructor Object | Qualifiers.cs:1:7:1:16 | {...} | | +| Qualifiers.cs:1:7:1:16 | After call to method | Qualifiers.cs:1:7:1:16 | Before call to constructor Object | | +| Qualifiers.cs:1:7:1:16 | Before call to constructor Object | Qualifiers.cs:1:7:1:16 | call to constructor Object | | +| Qualifiers.cs:1:7:1:16 | Before call to method | Qualifiers.cs:1:7:1:16 | this access | | +| Qualifiers.cs:1:7:1:16 | Entry | Qualifiers.cs:1:7:1:16 | Before call to method | | +| Qualifiers.cs:1:7:1:16 | Normal Exit | Qualifiers.cs:1:7:1:16 | Exit | | +| Qualifiers.cs:1:7:1:16 | call to constructor Object | Qualifiers.cs:1:7:1:16 | After call to constructor Object | | +| Qualifiers.cs:1:7:1:16 | call to method | Qualifiers.cs:1:7:1:16 | After call to method | | | Qualifiers.cs:1:7:1:16 | this access | Qualifiers.cs:1:7:1:16 | call to method | | -| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | exit Qualifiers (normal) | | -| Qualifiers.cs:7:16:7:21 | enter Method | Qualifiers.cs:7:28:7:31 | null | | -| Qualifiers.cs:7:16:7:21 | exit Method (normal) | Qualifiers.cs:7:16:7:21 | exit Method | | -| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | exit Method (normal) | | -| Qualifiers.cs:8:23:8:34 | enter StaticMethod | Qualifiers.cs:8:41:8:44 | null | | -| Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | Qualifiers.cs:8:23:8:34 | exit StaticMethod | | -| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | exit StaticMethod (normal) | | -| Qualifiers.cs:10:10:10:10 | enter M | Qualifiers.cs:11:5:31:5 | {...} | | -| Qualifiers.cs:10:10:10:10 | exit M (normal) | Qualifiers.cs:10:10:10:10 | exit M | | +| Qualifiers.cs:1:7:1:16 | {...} | Qualifiers.cs:1:7:1:16 | Normal Exit | | +| Qualifiers.cs:7:16:7:21 | Entry | Qualifiers.cs:7:28:7:31 | null | | +| Qualifiers.cs:7:16:7:21 | Normal Exit | Qualifiers.cs:7:16:7:21 | Exit | | +| Qualifiers.cs:7:28:7:31 | null | Qualifiers.cs:7:16:7:21 | Normal Exit | | +| Qualifiers.cs:8:23:8:34 | Entry | Qualifiers.cs:8:41:8:44 | null | | +| Qualifiers.cs:8:23:8:34 | Normal Exit | Qualifiers.cs:8:23:8:34 | Exit | | +| Qualifiers.cs:8:41:8:44 | null | Qualifiers.cs:8:23:8:34 | Normal Exit | | +| Qualifiers.cs:10:10:10:10 | Entry | Qualifiers.cs:11:5:31:5 | {...} | | +| Qualifiers.cs:10:10:10:10 | Normal Exit | Qualifiers.cs:10:10:10:10 | Exit | | +| Qualifiers.cs:11:5:31:5 | After {...} | Qualifiers.cs:10:10:10:10 | Normal Exit | | | Qualifiers.cs:11:5:31:5 | {...} | Qualifiers.cs:12:9:12:22 | ... ...; | | -| Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:17:12:21 | this access | | -| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:13:9:13:21 | ...; | | -| Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | | +| Qualifiers.cs:12:9:12:22 | ... ...; | Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | | +| Qualifiers.cs:12:9:12:22 | After ... ...; | Qualifiers.cs:13:9:13:21 | ...; | | +| Qualifiers.cs:12:13:12:13 | access to local variable q | Qualifiers.cs:12:17:12:21 | Before access to field Field | | +| Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | Qualifiers.cs:12:9:12:22 | After ... ...; | | +| Qualifiers.cs:12:13:12:21 | Before Qualifiers q = ... | Qualifiers.cs:12:13:12:13 | access to local variable q | | +| Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | Qualifiers.cs:12:13:12:21 | After Qualifiers q = ... | | +| Qualifiers.cs:12:17:12:21 | After access to field Field | Qualifiers.cs:12:13:12:21 | Qualifiers q = ... | | +| Qualifiers.cs:12:17:12:21 | Before access to field Field | Qualifiers.cs:12:17:12:21 | this access | | +| Qualifiers.cs:12:17:12:21 | access to field Field | Qualifiers.cs:12:17:12:21 | After access to field Field | | | Qualifiers.cs:12:17:12:21 | this access | Qualifiers.cs:12:17:12:21 | access to field Field | | -| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:14:9:14:21 | ...; | | -| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:13:13:20 | this access | | -| Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:9:13:20 | ... = ... | | +| Qualifiers.cs:13:9:13:9 | access to local variable q | Qualifiers.cs:13:13:13:20 | Before access to property Property | | +| Qualifiers.cs:13:9:13:20 | ... = ... | Qualifiers.cs:13:9:13:20 | After ... = ... | | +| Qualifiers.cs:13:9:13:20 | After ... = ... | Qualifiers.cs:13:9:13:21 | After ...; | | +| Qualifiers.cs:13:9:13:20 | Before ... = ... | Qualifiers.cs:13:9:13:9 | access to local variable q | | +| Qualifiers.cs:13:9:13:21 | ...; | Qualifiers.cs:13:9:13:20 | Before ... = ... | | +| Qualifiers.cs:13:9:13:21 | After ...; | Qualifiers.cs:14:9:14:21 | ...; | | +| Qualifiers.cs:13:13:13:20 | After access to property Property | Qualifiers.cs:13:9:13:20 | ... = ... | | +| Qualifiers.cs:13:13:13:20 | Before access to property Property | Qualifiers.cs:13:13:13:20 | this access | | +| Qualifiers.cs:13:13:13:20 | access to property Property | Qualifiers.cs:13:13:13:20 | After access to property Property | | | Qualifiers.cs:13:13:13:20 | this access | Qualifiers.cs:13:13:13:20 | access to property Property | | -| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:16:9:16:23 | ...; | | -| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:13:14:20 | this access | | -| Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:9:14:20 | ... = ... | | +| Qualifiers.cs:14:9:14:9 | access to local variable q | Qualifiers.cs:14:13:14:20 | Before call to method Method | | +| Qualifiers.cs:14:9:14:20 | ... = ... | Qualifiers.cs:14:9:14:20 | After ... = ... | | +| Qualifiers.cs:14:9:14:20 | After ... = ... | Qualifiers.cs:14:9:14:21 | After ...; | | +| Qualifiers.cs:14:9:14:20 | Before ... = ... | Qualifiers.cs:14:9:14:9 | access to local variable q | | +| Qualifiers.cs:14:9:14:21 | ...; | Qualifiers.cs:14:9:14:20 | Before ... = ... | | +| Qualifiers.cs:14:9:14:21 | After ...; | Qualifiers.cs:16:9:16:23 | ...; | | +| Qualifiers.cs:14:13:14:20 | After call to method Method | Qualifiers.cs:14:9:14:20 | ... = ... | | +| Qualifiers.cs:14:13:14:20 | Before call to method Method | Qualifiers.cs:14:13:14:20 | this access | | +| Qualifiers.cs:14:13:14:20 | call to method Method | Qualifiers.cs:14:13:14:20 | After call to method Method | | | Qualifiers.cs:14:13:14:20 | this access | Qualifiers.cs:14:13:14:20 | call to method Method | | -| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:17:9:17:26 | ...; | | -| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:13:16:16 | this access | | +| Qualifiers.cs:16:9:16:9 | access to local variable q | Qualifiers.cs:16:13:16:22 | Before access to field Field | | +| Qualifiers.cs:16:9:16:22 | ... = ... | Qualifiers.cs:16:9:16:22 | After ... = ... | | +| Qualifiers.cs:16:9:16:22 | After ... = ... | Qualifiers.cs:16:9:16:23 | After ...; | | +| Qualifiers.cs:16:9:16:22 | Before ... = ... | Qualifiers.cs:16:9:16:9 | access to local variable q | | +| Qualifiers.cs:16:9:16:23 | ...; | Qualifiers.cs:16:9:16:22 | Before ... = ... | | +| Qualifiers.cs:16:9:16:23 | After ...; | Qualifiers.cs:17:9:17:26 | ...; | | | Qualifiers.cs:16:13:16:16 | this access | Qualifiers.cs:16:13:16:22 | access to field Field | | -| Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:9:16:22 | ... = ... | | -| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:18:9:18:26 | ...; | | -| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:13:17:16 | this access | | +| Qualifiers.cs:16:13:16:22 | After access to field Field | Qualifiers.cs:16:9:16:22 | ... = ... | | +| Qualifiers.cs:16:13:16:22 | Before access to field Field | Qualifiers.cs:16:13:16:16 | this access | | +| Qualifiers.cs:16:13:16:22 | access to field Field | Qualifiers.cs:16:13:16:22 | After access to field Field | | +| Qualifiers.cs:17:9:17:9 | access to local variable q | Qualifiers.cs:17:13:17:25 | Before access to property Property | | +| Qualifiers.cs:17:9:17:25 | ... = ... | Qualifiers.cs:17:9:17:25 | After ... = ... | | +| Qualifiers.cs:17:9:17:25 | After ... = ... | Qualifiers.cs:17:9:17:26 | After ...; | | +| Qualifiers.cs:17:9:17:25 | Before ... = ... | Qualifiers.cs:17:9:17:9 | access to local variable q | | +| Qualifiers.cs:17:9:17:26 | ...; | Qualifiers.cs:17:9:17:25 | Before ... = ... | | +| Qualifiers.cs:17:9:17:26 | After ...; | Qualifiers.cs:18:9:18:26 | ...; | | | Qualifiers.cs:17:13:17:16 | this access | Qualifiers.cs:17:13:17:25 | access to property Property | | -| Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:9:17:25 | ... = ... | | -| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:20:9:20:24 | ...; | | -| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:13:18:16 | this access | | +| Qualifiers.cs:17:13:17:25 | After access to property Property | Qualifiers.cs:17:9:17:25 | ... = ... | | +| Qualifiers.cs:17:13:17:25 | Before access to property Property | Qualifiers.cs:17:13:17:16 | this access | | +| Qualifiers.cs:17:13:17:25 | access to property Property | Qualifiers.cs:17:13:17:25 | After access to property Property | | +| Qualifiers.cs:18:9:18:9 | access to local variable q | Qualifiers.cs:18:13:18:25 | Before call to method Method | | +| Qualifiers.cs:18:9:18:25 | ... = ... | Qualifiers.cs:18:9:18:25 | After ... = ... | | +| Qualifiers.cs:18:9:18:25 | After ... = ... | Qualifiers.cs:18:9:18:26 | After ...; | | +| Qualifiers.cs:18:9:18:25 | Before ... = ... | Qualifiers.cs:18:9:18:9 | access to local variable q | | +| Qualifiers.cs:18:9:18:26 | ...; | Qualifiers.cs:18:9:18:25 | Before ... = ... | | +| Qualifiers.cs:18:9:18:26 | After ...; | Qualifiers.cs:20:9:20:24 | ...; | | | Qualifiers.cs:18:13:18:16 | this access | Qualifiers.cs:18:13:18:25 | call to method Method | | -| Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:9:18:25 | ... = ... | | -| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:21:9:21:27 | ...; | | -| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:13:20:23 | access to field StaticField | | +| Qualifiers.cs:18:13:18:25 | After call to method Method | Qualifiers.cs:18:9:18:25 | ... = ... | | +| Qualifiers.cs:18:13:18:25 | Before call to method Method | Qualifiers.cs:18:13:18:16 | this access | | +| Qualifiers.cs:18:13:18:25 | call to method Method | Qualifiers.cs:18:13:18:25 | After call to method Method | | +| Qualifiers.cs:20:9:20:9 | access to local variable q | Qualifiers.cs:20:13:20:23 | access to field StaticField | | +| Qualifiers.cs:20:9:20:23 | ... = ... | Qualifiers.cs:20:9:20:23 | After ... = ... | | +| Qualifiers.cs:20:9:20:23 | After ... = ... | Qualifiers.cs:20:9:20:24 | After ...; | | +| Qualifiers.cs:20:9:20:23 | Before ... = ... | Qualifiers.cs:20:9:20:9 | access to local variable q | | +| Qualifiers.cs:20:9:20:24 | ...; | Qualifiers.cs:20:9:20:23 | Before ... = ... | | +| Qualifiers.cs:20:9:20:24 | After ...; | Qualifiers.cs:21:9:21:27 | ...; | | | Qualifiers.cs:20:13:20:23 | access to field StaticField | Qualifiers.cs:20:9:20:23 | ... = ... | | -| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:22:9:22:27 | ...; | | -| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | | -| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:9:21:26 | ... = ... | | -| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:24:9:24:35 | ...; | | -| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | | -| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:9:22:26 | ... = ... | | -| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:25:9:25:38 | ...; | | -| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:13:24:34 | access to field StaticField | | +| Qualifiers.cs:21:9:21:9 | access to local variable q | Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | | +| Qualifiers.cs:21:9:21:26 | ... = ... | Qualifiers.cs:21:9:21:26 | After ... = ... | | +| Qualifiers.cs:21:9:21:26 | After ... = ... | Qualifiers.cs:21:9:21:27 | After ...; | | +| Qualifiers.cs:21:9:21:26 | Before ... = ... | Qualifiers.cs:21:9:21:9 | access to local variable q | | +| Qualifiers.cs:21:9:21:27 | ...; | Qualifiers.cs:21:9:21:26 | Before ... = ... | | +| Qualifiers.cs:21:9:21:27 | After ...; | Qualifiers.cs:22:9:22:27 | ...; | | +| Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | Qualifiers.cs:21:9:21:26 | ... = ... | | +| Qualifiers.cs:21:13:21:26 | Before access to property StaticProperty | Qualifiers.cs:21:13:21:26 | access to property StaticProperty | | +| Qualifiers.cs:21:13:21:26 | access to property StaticProperty | Qualifiers.cs:21:13:21:26 | After access to property StaticProperty | | +| Qualifiers.cs:22:9:22:9 | access to local variable q | Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | | +| Qualifiers.cs:22:9:22:26 | ... = ... | Qualifiers.cs:22:9:22:26 | After ... = ... | | +| Qualifiers.cs:22:9:22:26 | After ... = ... | Qualifiers.cs:22:9:22:27 | After ...; | | +| Qualifiers.cs:22:9:22:26 | Before ... = ... | Qualifiers.cs:22:9:22:9 | access to local variable q | | +| Qualifiers.cs:22:9:22:27 | ...; | Qualifiers.cs:22:9:22:26 | Before ... = ... | | +| Qualifiers.cs:22:9:22:27 | After ...; | Qualifiers.cs:24:9:24:35 | ...; | | +| Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | Qualifiers.cs:22:9:22:26 | ... = ... | | +| Qualifiers.cs:22:13:22:26 | Before call to method StaticMethod | Qualifiers.cs:22:13:22:26 | call to method StaticMethod | | +| Qualifiers.cs:22:13:22:26 | call to method StaticMethod | Qualifiers.cs:22:13:22:26 | After call to method StaticMethod | | +| Qualifiers.cs:24:9:24:9 | access to local variable q | Qualifiers.cs:24:13:24:34 | access to field StaticField | | +| Qualifiers.cs:24:9:24:34 | ... = ... | Qualifiers.cs:24:9:24:34 | After ... = ... | | +| Qualifiers.cs:24:9:24:34 | After ... = ... | Qualifiers.cs:24:9:24:35 | After ...; | | +| Qualifiers.cs:24:9:24:34 | Before ... = ... | Qualifiers.cs:24:9:24:9 | access to local variable q | | +| Qualifiers.cs:24:9:24:35 | ...; | Qualifiers.cs:24:9:24:34 | Before ... = ... | | +| Qualifiers.cs:24:9:24:35 | After ...; | Qualifiers.cs:25:9:25:38 | ...; | | | Qualifiers.cs:24:13:24:34 | access to field StaticField | Qualifiers.cs:24:9:24:34 | ... = ... | | -| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:26:9:26:38 | ...; | | -| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | | -| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:9:25:37 | ... = ... | | -| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:28:9:28:41 | ...; | | -| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | | -| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:9:26:37 | ... = ... | | -| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:29:9:29:47 | ...; | | -| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:13:28:34 | access to field StaticField | | +| Qualifiers.cs:25:9:25:9 | access to local variable q | Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | | +| Qualifiers.cs:25:9:25:37 | ... = ... | Qualifiers.cs:25:9:25:37 | After ... = ... | | +| Qualifiers.cs:25:9:25:37 | After ... = ... | Qualifiers.cs:25:9:25:38 | After ...; | | +| Qualifiers.cs:25:9:25:37 | Before ... = ... | Qualifiers.cs:25:9:25:9 | access to local variable q | | +| Qualifiers.cs:25:9:25:38 | ...; | Qualifiers.cs:25:9:25:37 | Before ... = ... | | +| Qualifiers.cs:25:9:25:38 | After ...; | Qualifiers.cs:26:9:26:38 | ...; | | +| Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | Qualifiers.cs:25:9:25:37 | ... = ... | | +| Qualifiers.cs:25:13:25:37 | Before access to property StaticProperty | Qualifiers.cs:25:13:25:37 | access to property StaticProperty | | +| Qualifiers.cs:25:13:25:37 | access to property StaticProperty | Qualifiers.cs:25:13:25:37 | After access to property StaticProperty | | +| Qualifiers.cs:26:9:26:9 | access to local variable q | Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | | +| Qualifiers.cs:26:9:26:37 | ... = ... | Qualifiers.cs:26:9:26:37 | After ... = ... | | +| Qualifiers.cs:26:9:26:37 | After ... = ... | Qualifiers.cs:26:9:26:38 | After ...; | | +| Qualifiers.cs:26:9:26:37 | Before ... = ... | Qualifiers.cs:26:9:26:9 | access to local variable q | | +| Qualifiers.cs:26:9:26:38 | ...; | Qualifiers.cs:26:9:26:37 | Before ... = ... | | +| Qualifiers.cs:26:9:26:38 | After ...; | Qualifiers.cs:28:9:28:41 | ...; | | +| Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | Qualifiers.cs:26:9:26:37 | ... = ... | | +| Qualifiers.cs:26:13:26:37 | Before call to method StaticMethod | Qualifiers.cs:26:13:26:37 | call to method StaticMethod | | +| Qualifiers.cs:26:13:26:37 | call to method StaticMethod | Qualifiers.cs:26:13:26:37 | After call to method StaticMethod | | +| Qualifiers.cs:28:9:28:9 | access to local variable q | Qualifiers.cs:28:13:28:40 | Before access to field Field | | +| Qualifiers.cs:28:9:28:40 | ... = ... | Qualifiers.cs:28:9:28:40 | After ... = ... | | +| Qualifiers.cs:28:9:28:40 | After ... = ... | Qualifiers.cs:28:9:28:41 | After ...; | | +| Qualifiers.cs:28:9:28:40 | Before ... = ... | Qualifiers.cs:28:9:28:9 | access to local variable q | | +| Qualifiers.cs:28:9:28:41 | ...; | Qualifiers.cs:28:9:28:40 | Before ... = ... | | +| Qualifiers.cs:28:9:28:41 | After ...; | Qualifiers.cs:29:9:29:47 | ...; | | | Qualifiers.cs:28:13:28:34 | access to field StaticField | Qualifiers.cs:28:13:28:40 | access to field Field | | -| Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:9:28:40 | ... = ... | | -| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:30:9:30:47 | ...; | | -| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | | -| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:46 | access to property Property | | -| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:9:29:46 | ... = ... | | -| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:10:10:10:10 | exit M (normal) | | -| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | | -| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:46 | call to method Method | | -| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:9:30:46 | ... = ... | | -| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | {...} | | -| Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | call to constructor Object | | -| Switch.cs:3:7:3:12 | enter Switch | Switch.cs:3:7:3:12 | this access | | -| Switch.cs:3:7:3:12 | exit Switch (normal) | Switch.cs:3:7:3:12 | exit Switch | | +| Qualifiers.cs:28:13:28:40 | After access to field Field | Qualifiers.cs:28:9:28:40 | ... = ... | | +| Qualifiers.cs:28:13:28:40 | Before access to field Field | Qualifiers.cs:28:13:28:34 | access to field StaticField | | +| Qualifiers.cs:28:13:28:40 | access to field Field | Qualifiers.cs:28:13:28:40 | After access to field Field | | +| Qualifiers.cs:29:9:29:9 | access to local variable q | Qualifiers.cs:29:13:29:46 | Before access to property Property | | +| Qualifiers.cs:29:9:29:46 | ... = ... | Qualifiers.cs:29:9:29:46 | After ... = ... | | +| Qualifiers.cs:29:9:29:46 | After ... = ... | Qualifiers.cs:29:9:29:47 | After ...; | | +| Qualifiers.cs:29:9:29:46 | Before ... = ... | Qualifiers.cs:29:9:29:9 | access to local variable q | | +| Qualifiers.cs:29:9:29:47 | ...; | Qualifiers.cs:29:9:29:46 | Before ... = ... | | +| Qualifiers.cs:29:9:29:47 | After ...; | Qualifiers.cs:30:9:30:47 | ...; | | +| Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | Qualifiers.cs:29:13:29:46 | access to property Property | | +| Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | Qualifiers.cs:29:13:29:37 | access to property StaticProperty | | +| Qualifiers.cs:29:13:29:37 | access to property StaticProperty | Qualifiers.cs:29:13:29:37 | After access to property StaticProperty | | +| Qualifiers.cs:29:13:29:46 | After access to property Property | Qualifiers.cs:29:9:29:46 | ... = ... | | +| Qualifiers.cs:29:13:29:46 | Before access to property Property | Qualifiers.cs:29:13:29:37 | Before access to property StaticProperty | | +| Qualifiers.cs:29:13:29:46 | access to property Property | Qualifiers.cs:29:13:29:46 | After access to property Property | | +| Qualifiers.cs:30:9:30:9 | access to local variable q | Qualifiers.cs:30:13:30:46 | Before call to method Method | | +| Qualifiers.cs:30:9:30:46 | ... = ... | Qualifiers.cs:30:9:30:46 | After ... = ... | | +| Qualifiers.cs:30:9:30:46 | After ... = ... | Qualifiers.cs:30:9:30:47 | After ...; | | +| Qualifiers.cs:30:9:30:46 | Before ... = ... | Qualifiers.cs:30:9:30:9 | access to local variable q | | +| Qualifiers.cs:30:9:30:47 | ...; | Qualifiers.cs:30:9:30:46 | Before ... = ... | | +| Qualifiers.cs:30:9:30:47 | After ...; | Qualifiers.cs:11:5:31:5 | After {...} | | +| Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | Qualifiers.cs:30:13:30:46 | call to method Method | | +| Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | Qualifiers.cs:30:13:30:37 | call to method StaticMethod | | +| Qualifiers.cs:30:13:30:37 | call to method StaticMethod | Qualifiers.cs:30:13:30:37 | After call to method StaticMethod | | +| Qualifiers.cs:30:13:30:46 | After call to method Method | Qualifiers.cs:30:9:30:46 | ... = ... | | +| Qualifiers.cs:30:13:30:46 | Before call to method Method | Qualifiers.cs:30:13:30:37 | Before call to method StaticMethod | | +| Qualifiers.cs:30:13:30:46 | call to method Method | Qualifiers.cs:30:13:30:46 | After call to method Method | | +| Switch.cs:3:7:3:12 | After call to constructor Object | Switch.cs:3:7:3:12 | {...} | | +| Switch.cs:3:7:3:12 | After call to method | Switch.cs:3:7:3:12 | Before call to constructor Object | | +| Switch.cs:3:7:3:12 | Before call to constructor Object | Switch.cs:3:7:3:12 | call to constructor Object | | +| Switch.cs:3:7:3:12 | Before call to method | Switch.cs:3:7:3:12 | this access | | +| Switch.cs:3:7:3:12 | Entry | Switch.cs:3:7:3:12 | Before call to method | | +| Switch.cs:3:7:3:12 | Normal Exit | Switch.cs:3:7:3:12 | Exit | | +| Switch.cs:3:7:3:12 | call to constructor Object | Switch.cs:3:7:3:12 | After call to constructor Object | | +| Switch.cs:3:7:3:12 | call to method | Switch.cs:3:7:3:12 | After call to method | | | Switch.cs:3:7:3:12 | this access | Switch.cs:3:7:3:12 | call to method | | -| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | exit Switch (normal) | | -| Switch.cs:5:10:5:11 | enter M1 | Switch.cs:6:5:8:5 | {...} | | -| Switch.cs:5:10:5:11 | exit M1 (normal) | Switch.cs:5:10:5:11 | exit M1 | | +| Switch.cs:3:7:3:12 | {...} | Switch.cs:3:7:3:12 | Normal Exit | | +| Switch.cs:5:10:5:11 | Entry | Switch.cs:6:5:8:5 | {...} | | +| Switch.cs:5:10:5:11 | Normal Exit | Switch.cs:5:10:5:11 | Exit | | +| Switch.cs:6:5:8:5 | After {...} | Switch.cs:5:10:5:11 | Normal Exit | | | Switch.cs:6:5:8:5 | {...} | Switch.cs:7:9:7:22 | switch (...) {...} | | +| Switch.cs:7:9:7:22 | After switch (...) {...} | Switch.cs:6:5:8:5 | After {...} | | | Switch.cs:7:9:7:22 | switch (...) {...} | Switch.cs:7:17:7:17 | access to parameter o | | -| Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:5:10:5:11 | exit M1 (normal) | | -| Switch.cs:10:10:10:11 | enter M2 | Switch.cs:11:5:33:5 | {...} | | -| Switch.cs:10:10:10:11 | exit M2 (abnormal) | Switch.cs:10:10:10:11 | exit M2 | | -| Switch.cs:10:10:10:11 | exit M2 (normal) | Switch.cs:10:10:10:11 | exit M2 | | +| Switch.cs:7:17:7:17 | access to parameter o | Switch.cs:7:9:7:22 | After switch (...) {...} | | +| Switch.cs:10:10:10:11 | Entry | Switch.cs:11:5:33:5 | {...} | | +| Switch.cs:10:10:10:11 | Exceptional Exit | Switch.cs:10:10:10:11 | Exit | | +| Switch.cs:10:10:10:11 | Normal Exit | Switch.cs:10:10:10:11 | Exit | | | Switch.cs:11:5:33:5 | {...} | Switch.cs:12:9:32:9 | switch (...) {...} | | | Switch.cs:12:9:32:9 | switch (...) {...} | Switch.cs:12:17:12:17 | access to parameter o | | | Switch.cs:12:17:12:17 | access to parameter o | Switch.cs:14:13:14:21 | case ...: | | -| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:18:14:20 | "a" | | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:15:17:15:23 | return ...; | match | -| Switch.cs:14:18:14:20 | "a" | Switch.cs:16:13:16:19 | case ...: | no-match | -| Switch.cs:15:17:15:23 | return ...; | Switch.cs:10:10:10:11 | exit M2 (normal) | return | -| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:18:16:18 | 0 | | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:17:23:17:37 | object creation of type Exception | match | -| Switch.cs:16:18:16:18 | 0 | Switch.cs:18:13:18:22 | case ...: | no-match | -| Switch.cs:17:17:17:38 | throw ...; | Switch.cs:10:10:10:11 | exit M2 (abnormal) | exception | -| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:17:17:38 | throw ...; | | -| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:18:18:21 | null | | -| Switch.cs:18:18:18:21 | null | Switch.cs:19:17:19:29 | goto default; | match | -| Switch.cs:18:18:18:21 | null | Switch.cs:20:13:20:23 | case ...: | no-match | -| Switch.cs:19:17:19:29 | goto default; | Switch.cs:30:13:30:20 | default: | goto | -| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:18:20:22 | Int32 i | | -| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:21:17:22:27 | if (...) ... | match | -| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:24:13:24:56 | case ...: | no-match | -| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:21 | access to parameter o | | +| Switch.cs:14:13:14:21 | After case ...: [match] | Switch.cs:14:18:14:20 | "a" | | +| Switch.cs:14:13:14:21 | After case ...: [no-match] | Switch.cs:16:13:16:19 | case ...: | | +| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:13:14:21 | After case ...: [match] | match | +| Switch.cs:14:13:14:21 | case ...: | Switch.cs:14:13:14:21 | After case ...: [no-match] | no-match | +| Switch.cs:14:18:14:20 | "a" | Switch.cs:15:17:15:23 | Before return ...; | | +| Switch.cs:15:17:15:23 | Before return ...; | Switch.cs:15:17:15:23 | return ...; | | +| Switch.cs:15:17:15:23 | return ...; | Switch.cs:10:10:10:11 | Normal Exit | return | +| Switch.cs:16:13:16:19 | After case ...: [match] | Switch.cs:16:18:16:18 | 0 | | +| Switch.cs:16:13:16:19 | After case ...: [no-match] | Switch.cs:18:13:18:22 | case ...: | | +| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:13:16:19 | After case ...: [match] | match | +| Switch.cs:16:13:16:19 | case ...: | Switch.cs:16:13:16:19 | After case ...: [no-match] | no-match | +| Switch.cs:16:18:16:18 | 0 | Switch.cs:17:17:17:38 | Before throw ...; | | +| Switch.cs:17:17:17:38 | Before throw ...; | Switch.cs:17:23:17:37 | Before object creation of type Exception | | +| Switch.cs:17:17:17:38 | throw ...; | Switch.cs:10:10:10:11 | Exceptional Exit | exception | +| Switch.cs:17:23:17:37 | After object creation of type Exception | Switch.cs:17:17:17:38 | throw ...; | | +| Switch.cs:17:23:17:37 | Before object creation of type Exception | Switch.cs:17:23:17:37 | object creation of type Exception | | +| Switch.cs:17:23:17:37 | object creation of type Exception | Switch.cs:17:23:17:37 | After object creation of type Exception | | +| Switch.cs:18:13:18:22 | After case ...: [match] | Switch.cs:18:18:18:21 | null | | +| Switch.cs:18:13:18:22 | After case ...: [no-match] | Switch.cs:20:13:20:23 | case ...: | | +| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:13:18:22 | After case ...: [match] | match | +| Switch.cs:18:13:18:22 | case ...: | Switch.cs:18:13:18:22 | After case ...: [no-match] | no-match | +| Switch.cs:18:18:18:21 | null | Switch.cs:19:17:19:29 | Before goto default; | | +| Switch.cs:19:17:19:29 | Before goto default; | Switch.cs:19:17:19:29 | goto default; | | +| Switch.cs:19:17:19:29 | goto default; | Switch.cs:30:13:30:20 | After default: [match] | goto | +| Switch.cs:20:13:20:23 | After case ...: [match] | Switch.cs:20:18:20:22 | Int32 i | | +| Switch.cs:20:13:20:23 | After case ...: [no-match] | Switch.cs:24:13:24:56 | case ...: | | +| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:13:20:23 | After case ...: [match] | match | +| Switch.cs:20:13:20:23 | case ...: | Switch.cs:20:13:20:23 | After case ...: [no-match] | no-match | +| Switch.cs:20:18:20:22 | Int32 i | Switch.cs:21:17:22:27 | if (...) ... | | +| Switch.cs:21:17:22:27 | After if (...) ... | Switch.cs:23:17:23:28 | Before goto case ...; | | +| Switch.cs:21:17:22:27 | if (...) ... | Switch.cs:21:21:21:29 | Before ... == ... | | | Switch.cs:21:21:21:21 | access to parameter o | Switch.cs:21:26:21:29 | null | | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:22:21:22:27 | return ...; | true | -| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:23:27:23:27 | 0 | false | +| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | After ... == ... [false] | false | +| Switch.cs:21:21:21:29 | ... == ... | Switch.cs:21:21:21:29 | After ... == ... [true] | true | +| Switch.cs:21:21:21:29 | After ... == ... [false] | Switch.cs:21:17:22:27 | After if (...) ... | | +| Switch.cs:21:21:21:29 | After ... == ... [true] | Switch.cs:22:21:22:27 | Before return ...; | | +| Switch.cs:21:21:21:29 | Before ... == ... | Switch.cs:21:21:21:21 | access to parameter o | | | Switch.cs:21:26:21:29 | null | Switch.cs:21:21:21:29 | ... == ... | | -| Switch.cs:22:21:22:27 | return ...; | Switch.cs:10:10:10:11 | exit M2 (normal) | return | -| Switch.cs:23:17:23:28 | goto case ...; | Switch.cs:16:13:16:19 | case ...: | goto | +| Switch.cs:22:21:22:27 | Before return ...; | Switch.cs:22:21:22:27 | return ...; | | +| Switch.cs:22:21:22:27 | return ...; | Switch.cs:10:10:10:11 | Normal Exit | return | +| Switch.cs:23:17:23:28 | Before goto case ...; | Switch.cs:23:27:23:27 | 0 | | +| Switch.cs:23:17:23:28 | goto case ...; | Switch.cs:16:13:16:19 | After case ...: [match] | goto | | Switch.cs:23:27:23:27 | 0 | Switch.cs:23:17:23:28 | goto case ...; | | -| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:18:24:25 | String s | | -| Switch.cs:24:18:24:25 | String s | Switch.cs:24:32:24:32 | access to local variable s | match | -| Switch.cs:24:18:24:25 | String s | Switch.cs:27:13:27:39 | case ...: | no-match | +| Switch.cs:24:13:24:56 | After case ...: [match] | Switch.cs:24:18:24:25 | String s | | +| Switch.cs:24:13:24:56 | After case ...: [no-match] | Switch.cs:27:13:27:39 | case ...: | | +| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:13:24:56 | After case ...: [match] | match | +| Switch.cs:24:13:24:56 | case ...: | Switch.cs:24:13:24:56 | After case ...: [no-match] | no-match | +| Switch.cs:24:18:24:25 | String s | Switch.cs:24:32:24:55 | ... && ... | | | Switch.cs:24:32:24:32 | access to local variable s | Switch.cs:24:32:24:39 | access to property Length | | -| Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:43:24:43 | 0 | | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:48:24:48 | access to local variable s | true | -| Switch.cs:24:32:24:55 | [false] ... && ... | Switch.cs:27:13:27:39 | case ...: | false | -| Switch.cs:24:32:24:55 | [true] ... && ... | Switch.cs:25:17:25:37 | ...; | true | +| Switch.cs:24:32:24:39 | After access to property Length | Switch.cs:24:43:24:43 | 0 | | +| Switch.cs:24:32:24:39 | Before access to property Length | Switch.cs:24:32:24:32 | access to local variable s | | +| Switch.cs:24:32:24:39 | access to property Length | Switch.cs:24:32:24:39 | After access to property Length | | +| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | After ... > ... [false] | false | +| Switch.cs:24:32:24:43 | ... > ... | Switch.cs:24:32:24:43 | After ... > ... [true] | true | +| Switch.cs:24:32:24:43 | After ... > ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:24:32:24:43 | After ... > ... [true] | Switch.cs:24:48:24:55 | Before ... != ... | | +| Switch.cs:24:32:24:43 | Before ... > ... | Switch.cs:24:32:24:39 | Before access to property Length | | +| Switch.cs:24:32:24:55 | ... && ... | Switch.cs:24:32:24:43 | Before ... > ... | | +| Switch.cs:24:32:24:55 | After ... && ... [false] | Switch.cs:27:13:27:39 | case ...: | | +| Switch.cs:24:32:24:55 | After ... && ... [true] | Switch.cs:25:17:25:37 | ...; | | | Switch.cs:24:43:24:43 | 0 | Switch.cs:24:32:24:43 | ... > ... | | | Switch.cs:24:48:24:48 | access to local variable s | Switch.cs:24:53:24:55 | "a" | | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:32:24:55 | [false] ... && ... | false | -| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:32:24:55 | [true] ... && ... | true | +| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | After ... != ... [false] | false | +| Switch.cs:24:48:24:55 | ... != ... | Switch.cs:24:48:24:55 | After ... != ... [true] | true | +| Switch.cs:24:48:24:55 | After ... != ... [false] | Switch.cs:24:32:24:55 | After ... && ... [false] | false | +| Switch.cs:24:48:24:55 | After ... != ... [true] | Switch.cs:24:32:24:55 | After ... && ... [true] | true | +| Switch.cs:24:48:24:55 | Before ... != ... | Switch.cs:24:48:24:48 | access to local variable s | | | Switch.cs:24:53:24:55 | "a" | Switch.cs:24:48:24:55 | ... != ... | | -| Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:26:17:26:23 | return ...; | | -| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:35:25:35 | access to local variable s | | +| Switch.cs:25:17:25:36 | After call to method WriteLine | Switch.cs:25:17:25:37 | After ...; | | +| Switch.cs:25:17:25:36 | Before call to method WriteLine | Switch.cs:25:35:25:35 | access to local variable s | | +| Switch.cs:25:17:25:36 | call to method WriteLine | Switch.cs:25:17:25:36 | After call to method WriteLine | | +| Switch.cs:25:17:25:37 | ...; | Switch.cs:25:17:25:36 | Before call to method WriteLine | | +| Switch.cs:25:17:25:37 | After ...; | Switch.cs:26:17:26:23 | Before return ...; | | | Switch.cs:25:35:25:35 | access to local variable s | Switch.cs:25:17:25:36 | call to method WriteLine | | -| Switch.cs:26:17:26:23 | return ...; | Switch.cs:10:10:10:11 | exit M2 (normal) | return | -| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:18:27:25 | Double d | | -| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:32:27:38 | call to method Throw | match | -| Switch.cs:27:18:27:25 | Double d | Switch.cs:30:13:30:20 | default: | no-match | -| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:10:10:10:11 | exit M2 (abnormal) | exception | -| Switch.cs:28:13:28:17 | Label: | Switch.cs:29:17:29:23 | return ...; | | -| Switch.cs:29:17:29:23 | return ...; | Switch.cs:10:10:10:11 | exit M2 (normal) | return | -| Switch.cs:30:13:30:20 | default: | Switch.cs:31:17:31:27 | goto ...; | | +| Switch.cs:26:17:26:23 | Before return ...; | Switch.cs:26:17:26:23 | return ...; | | +| Switch.cs:26:17:26:23 | return ...; | Switch.cs:10:10:10:11 | Normal Exit | return | +| Switch.cs:27:13:27:39 | After case ...: [match] | Switch.cs:27:18:27:25 | Double d | | +| Switch.cs:27:13:27:39 | After case ...: [no-match] | Switch.cs:30:13:30:20 | default: | | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [match] | match | +| Switch.cs:27:13:27:39 | case ...: | Switch.cs:27:13:27:39 | After case ...: [no-match] | no-match | +| Switch.cs:27:18:27:25 | Double d | Switch.cs:27:32:27:38 | Before call to method Throw | | +| Switch.cs:27:32:27:38 | Before call to method Throw | Switch.cs:27:32:27:38 | call to method Throw | | +| Switch.cs:27:32:27:38 | call to method Throw | Switch.cs:10:10:10:11 | Exceptional Exit | exception | +| Switch.cs:28:13:28:17 | Label: | Switch.cs:29:17:29:23 | Before return ...; | | +| Switch.cs:29:17:29:23 | Before return ...; | Switch.cs:29:17:29:23 | return ...; | | +| Switch.cs:29:17:29:23 | return ...; | Switch.cs:10:10:10:11 | Normal Exit | return | +| Switch.cs:30:13:30:20 | After default: [match] | Switch.cs:31:17:31:27 | Before goto ...; | | +| Switch.cs:30:13:30:20 | default: | Switch.cs:30:13:30:20 | After default: [match] | match | +| Switch.cs:31:17:31:27 | Before goto ...; | Switch.cs:31:17:31:27 | goto ...; | | | Switch.cs:31:17:31:27 | goto ...; | Switch.cs:28:13:28:17 | Label: | goto | -| Switch.cs:35:10:35:11 | enter M3 | Switch.cs:36:5:42:5 | {...} | | -| Switch.cs:35:10:35:11 | exit M3 (abnormal) | Switch.cs:35:10:35:11 | exit M3 | | +| Switch.cs:35:10:35:11 | Entry | Switch.cs:36:5:42:5 | {...} | | +| Switch.cs:35:10:35:11 | Exceptional Exit | Switch.cs:35:10:35:11 | Exit | | | Switch.cs:36:5:42:5 | {...} | Switch.cs:37:9:41:9 | switch (...) {...} | | -| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:17:37:23 | call to method Throw | | -| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:35:10:35:11 | exit M3 (abnormal) | exception | -| Switch.cs:44:10:44:11 | enter M4 | Switch.cs:45:5:53:5 | {...} | | -| Switch.cs:44:10:44:11 | exit M4 (normal) | Switch.cs:44:10:44:11 | exit M4 | | +| Switch.cs:37:9:41:9 | switch (...) {...} | Switch.cs:37:17:37:23 | Before call to method Throw | | +| Switch.cs:37:17:37:23 | Before call to method Throw | Switch.cs:37:17:37:23 | call to method Throw | | +| Switch.cs:37:17:37:23 | call to method Throw | Switch.cs:35:10:35:11 | Exceptional Exit | exception | +| Switch.cs:44:10:44:11 | Entry | Switch.cs:45:5:53:5 | {...} | | +| Switch.cs:44:10:44:11 | Normal Exit | Switch.cs:44:10:44:11 | Exit | | +| Switch.cs:45:5:53:5 | After {...} | Switch.cs:44:10:44:11 | Normal Exit | | | Switch.cs:45:5:53:5 | {...} | Switch.cs:46:9:52:9 | switch (...) {...} | | +| Switch.cs:46:9:52:9 | After switch (...) {...} | Switch.cs:45:5:53:5 | After {...} | | | Switch.cs:46:9:52:9 | switch (...) {...} | Switch.cs:46:17:46:17 | access to parameter o | | | Switch.cs:46:17:46:17 | access to parameter o | Switch.cs:48:13:48:23 | case ...: | | -| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:18:48:20 | access to type Int32 | | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:49:17:49:22 | break; | match | -| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:50:13:50:39 | case ...: | no-match | -| Switch.cs:49:17:49:22 | break; | Switch.cs:44:10:44:11 | exit M4 (normal) | break | -| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:18:50:21 | access to type Boolean | | -| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:44:10:44:11 | exit M4 (normal) | no-match | -| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:30:50:30 | access to parameter o | match | +| Switch.cs:48:13:48:23 | After case ...: [match] | Switch.cs:48:18:48:20 | access to type Int32 | | +| Switch.cs:48:13:48:23 | After case ...: [no-match] | Switch.cs:50:13:50:39 | case ...: | | +| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:13:48:23 | After case ...: [match] | match | +| Switch.cs:48:13:48:23 | case ...: | Switch.cs:48:13:48:23 | After case ...: [no-match] | no-match | +| Switch.cs:48:18:48:20 | access to type Int32 | Switch.cs:49:17:49:22 | Before break; | | +| Switch.cs:49:17:49:22 | Before break; | Switch.cs:49:17:49:22 | break; | | +| Switch.cs:49:17:49:22 | break; | Switch.cs:46:9:52:9 | After switch (...) {...} | break | +| Switch.cs:50:13:50:39 | After case ...: [match] | Switch.cs:50:18:50:21 | access to type Boolean | | +| Switch.cs:50:13:50:39 | After case ...: [no-match] | Switch.cs:46:9:52:9 | After switch (...) {...} | | +| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:13:50:39 | After case ...: [match] | match | +| Switch.cs:50:13:50:39 | case ...: | Switch.cs:50:13:50:39 | After case ...: [no-match] | no-match | +| Switch.cs:50:18:50:21 | access to type Boolean | Switch.cs:50:30:50:38 | Before ... != ... | | | Switch.cs:50:30:50:30 | access to parameter o | Switch.cs:50:35:50:38 | null | | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:44:10:44:11 | exit M4 (normal) | false | -| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:51:17:51:22 | break; | true | +| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | After ... != ... [false] | false | +| Switch.cs:50:30:50:38 | ... != ... | Switch.cs:50:30:50:38 | After ... != ... [true] | true | +| Switch.cs:50:30:50:38 | After ... != ... [false] | Switch.cs:46:9:52:9 | After switch (...) {...} | | +| Switch.cs:50:30:50:38 | After ... != ... [true] | Switch.cs:51:17:51:22 | Before break; | | +| Switch.cs:50:30:50:38 | Before ... != ... | Switch.cs:50:30:50:30 | access to parameter o | | | Switch.cs:50:35:50:38 | null | Switch.cs:50:30:50:38 | ... != ... | | -| Switch.cs:51:17:51:22 | break; | Switch.cs:44:10:44:11 | exit M4 (normal) | break | -| Switch.cs:55:10:55:11 | enter M5 | Switch.cs:56:5:64:5 | {...} | | -| Switch.cs:55:10:55:11 | exit M5 (normal) | Switch.cs:55:10:55:11 | exit M5 | | +| Switch.cs:51:17:51:22 | Before break; | Switch.cs:51:17:51:22 | break; | | +| Switch.cs:51:17:51:22 | break; | Switch.cs:46:9:52:9 | After switch (...) {...} | break | +| Switch.cs:55:10:55:11 | Entry | Switch.cs:56:5:64:5 | {...} | | +| Switch.cs:55:10:55:11 | Normal Exit | Switch.cs:55:10:55:11 | Exit | | +| Switch.cs:56:5:64:5 | After {...} | Switch.cs:55:10:55:11 | Normal Exit | | | Switch.cs:56:5:64:5 | {...} | Switch.cs:57:9:63:9 | switch (...) {...} | | -| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:57:17:57:17 | 1 | | +| Switch.cs:57:9:63:9 | After switch (...) {...} | Switch.cs:56:5:64:5 | After {...} | | +| Switch.cs:57:9:63:9 | switch (...) {...} | Switch.cs:57:17:57:21 | Before ... + ... | | | Switch.cs:57:17:57:17 | 1 | Switch.cs:57:21:57:21 | 2 | | -| Switch.cs:57:17:57:21 | ... + ... | Switch.cs:59:13:59:19 | case ...: | | +| Switch.cs:57:17:57:21 | ... + ... | Switch.cs:57:17:57:21 | After ... + ... | | +| Switch.cs:57:17:57:21 | After ... + ... | Switch.cs:59:13:59:19 | case ...: | | +| Switch.cs:57:17:57:21 | Before ... + ... | Switch.cs:57:17:57:17 | 1 | | | Switch.cs:57:21:57:21 | 2 | Switch.cs:57:17:57:21 | ... + ... | | -| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:18:59:18 | 2 | | -| Switch.cs:59:18:59:18 | 2 | Switch.cs:61:13:61:19 | case ...: | no-match | -| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:18:61:18 | 3 | | -| Switch.cs:61:18:61:18 | 3 | Switch.cs:62:17:62:22 | break; | match | -| Switch.cs:62:17:62:22 | break; | Switch.cs:55:10:55:11 | exit M5 (normal) | break | -| Switch.cs:66:10:66:11 | enter M6 | Switch.cs:67:5:75:5 | {...} | | -| Switch.cs:66:10:66:11 | exit M6 (normal) | Switch.cs:66:10:66:11 | exit M6 | | +| Switch.cs:59:13:59:19 | After case ...: [match] | Switch.cs:59:18:59:18 | 2 | | +| Switch.cs:59:13:59:19 | After case ...: [no-match] | Switch.cs:61:13:61:19 | case ...: | | +| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:13:59:19 | After case ...: [match] | match | +| Switch.cs:59:13:59:19 | case ...: | Switch.cs:59:13:59:19 | After case ...: [no-match] | no-match | +| Switch.cs:59:18:59:18 | 2 | Switch.cs:60:17:60:22 | Before break; | | +| Switch.cs:60:17:60:22 | Before break; | Switch.cs:60:17:60:22 | break; | | +| Switch.cs:60:17:60:22 | break; | Switch.cs:57:9:63:9 | After switch (...) {...} | break | +| Switch.cs:61:13:61:19 | After case ...: [match] | Switch.cs:61:18:61:18 | 3 | | +| Switch.cs:61:13:61:19 | After case ...: [no-match] | Switch.cs:57:9:63:9 | After switch (...) {...} | | +| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:13:61:19 | After case ...: [match] | match | +| Switch.cs:61:13:61:19 | case ...: | Switch.cs:61:13:61:19 | After case ...: [no-match] | no-match | +| Switch.cs:61:18:61:18 | 3 | Switch.cs:62:17:62:22 | Before break; | | +| Switch.cs:62:17:62:22 | Before break; | Switch.cs:62:17:62:22 | break; | | +| Switch.cs:62:17:62:22 | break; | Switch.cs:57:9:63:9 | After switch (...) {...} | break | +| Switch.cs:66:10:66:11 | Entry | Switch.cs:67:5:75:5 | {...} | | +| Switch.cs:66:10:66:11 | Normal Exit | Switch.cs:66:10:66:11 | Exit | | +| Switch.cs:67:5:75:5 | After {...} | Switch.cs:66:10:66:11 | Normal Exit | | | Switch.cs:67:5:75:5 | {...} | Switch.cs:68:9:74:9 | switch (...) {...} | | -| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:68:25:68:25 | access to parameter s | | -| Switch.cs:68:17:68:25 | (...) ... | Switch.cs:70:13:70:23 | case ...: | | +| Switch.cs:68:9:74:9 | After switch (...) {...} | Switch.cs:67:5:75:5 | After {...} | | +| Switch.cs:68:9:74:9 | switch (...) {...} | Switch.cs:68:17:68:25 | Before (...) ... | | +| Switch.cs:68:17:68:25 | (...) ... | Switch.cs:68:17:68:25 | After (...) ... | | +| Switch.cs:68:17:68:25 | After (...) ... | Switch.cs:70:13:70:23 | case ...: | | +| Switch.cs:68:17:68:25 | Before (...) ... | Switch.cs:68:25:68:25 | access to parameter s | | | Switch.cs:68:25:68:25 | access to parameter s | Switch.cs:68:17:68:25 | (...) ... | | -| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:18:70:20 | access to type Int32 | | -| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:72:13:72:20 | case ...: | no-match | -| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:18:72:19 | "" | | -| Switch.cs:72:18:72:19 | "" | Switch.cs:66:10:66:11 | exit M6 (normal) | no-match | -| Switch.cs:72:18:72:19 | "" | Switch.cs:73:17:73:22 | break; | match | -| Switch.cs:73:17:73:22 | break; | Switch.cs:66:10:66:11 | exit M6 (normal) | break | -| Switch.cs:77:10:77:11 | enter M7 | Switch.cs:78:5:89:5 | {...} | | -| Switch.cs:77:10:77:11 | exit M7 (normal) | Switch.cs:77:10:77:11 | exit M7 | | +| Switch.cs:70:13:70:23 | After case ...: [match] | Switch.cs:70:18:70:20 | access to type Int32 | | +| Switch.cs:70:13:70:23 | After case ...: [no-match] | Switch.cs:72:13:72:20 | case ...: | | +| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:13:70:23 | After case ...: [match] | match | +| Switch.cs:70:13:70:23 | case ...: | Switch.cs:70:13:70:23 | After case ...: [no-match] | no-match | +| Switch.cs:70:18:70:20 | access to type Int32 | Switch.cs:71:17:71:22 | Before break; | | +| Switch.cs:71:17:71:22 | Before break; | Switch.cs:71:17:71:22 | break; | | +| Switch.cs:71:17:71:22 | break; | Switch.cs:68:9:74:9 | After switch (...) {...} | break | +| Switch.cs:72:13:72:20 | After case ...: [match] | Switch.cs:72:18:72:19 | "" | | +| Switch.cs:72:13:72:20 | After case ...: [no-match] | Switch.cs:68:9:74:9 | After switch (...) {...} | | +| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:13:72:20 | After case ...: [match] | match | +| Switch.cs:72:13:72:20 | case ...: | Switch.cs:72:13:72:20 | After case ...: [no-match] | no-match | +| Switch.cs:72:18:72:19 | "" | Switch.cs:73:17:73:22 | Before break; | | +| Switch.cs:73:17:73:22 | Before break; | Switch.cs:73:17:73:22 | break; | | +| Switch.cs:73:17:73:22 | break; | Switch.cs:68:9:74:9 | After switch (...) {...} | break | +| Switch.cs:77:10:77:11 | Entry | Switch.cs:78:5:89:5 | {...} | | +| Switch.cs:77:10:77:11 | Normal Exit | Switch.cs:77:10:77:11 | Exit | | | Switch.cs:78:5:89:5 | {...} | Switch.cs:79:9:87:9 | switch (...) {...} | | +| Switch.cs:79:9:87:9 | After switch (...) {...} | Switch.cs:88:9:88:21 | Before return ...; | | | Switch.cs:79:9:87:9 | switch (...) {...} | Switch.cs:79:17:79:17 | access to parameter i | | | Switch.cs:79:17:79:17 | access to parameter i | Switch.cs:81:13:81:19 | case ...: | | -| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:18:81:18 | 1 | | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:82:24:82:27 | true | match | -| Switch.cs:81:18:81:18 | 1 | Switch.cs:83:13:83:19 | case ...: | no-match | -| Switch.cs:82:17:82:28 | return ...; | Switch.cs:77:10:77:11 | exit M7 (normal) | return | +| Switch.cs:81:13:81:19 | After case ...: [match] | Switch.cs:81:18:81:18 | 1 | | +| Switch.cs:81:13:81:19 | After case ...: [no-match] | Switch.cs:83:13:83:19 | case ...: | | +| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:13:81:19 | After case ...: [match] | match | +| Switch.cs:81:13:81:19 | case ...: | Switch.cs:81:13:81:19 | After case ...: [no-match] | no-match | +| Switch.cs:81:18:81:18 | 1 | Switch.cs:82:17:82:28 | Before return ...; | | +| Switch.cs:82:17:82:28 | Before return ...; | Switch.cs:82:24:82:27 | true | | +| Switch.cs:82:17:82:28 | return ...; | Switch.cs:77:10:77:11 | Normal Exit | return | | Switch.cs:82:24:82:27 | true | Switch.cs:82:17:82:28 | return ...; | | -| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:18:83:18 | 2 | | -| Switch.cs:83:18:83:18 | 2 | Switch.cs:84:17:85:26 | if (...) ... | match | -| Switch.cs:83:18:83:18 | 2 | Switch.cs:88:16:88:20 | false | no-match | -| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:21:84:21 | access to parameter j | | +| Switch.cs:83:13:83:19 | After case ...: [match] | Switch.cs:83:18:83:18 | 2 | | +| Switch.cs:83:13:83:19 | After case ...: [no-match] | Switch.cs:79:9:87:9 | After switch (...) {...} | | +| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:13:83:19 | After case ...: [match] | match | +| Switch.cs:83:13:83:19 | case ...: | Switch.cs:83:13:83:19 | After case ...: [no-match] | no-match | +| Switch.cs:83:18:83:18 | 2 | Switch.cs:84:17:85:26 | if (...) ... | | +| Switch.cs:84:17:85:26 | After if (...) ... | Switch.cs:86:17:86:28 | Before return ...; | | +| Switch.cs:84:17:85:26 | if (...) ... | Switch.cs:84:21:84:25 | Before ... > ... | | | Switch.cs:84:21:84:21 | access to parameter j | Switch.cs:84:25:84:25 | 2 | | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:85:21:85:26 | break; | true | -| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:86:24:86:27 | true | false | +| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | After ... > ... [false] | false | +| Switch.cs:84:21:84:25 | ... > ... | Switch.cs:84:21:84:25 | After ... > ... [true] | true | +| Switch.cs:84:21:84:25 | After ... > ... [false] | Switch.cs:84:17:85:26 | After if (...) ... | | +| Switch.cs:84:21:84:25 | After ... > ... [true] | Switch.cs:85:21:85:26 | Before break; | | +| Switch.cs:84:21:84:25 | Before ... > ... | Switch.cs:84:21:84:21 | access to parameter j | | | Switch.cs:84:25:84:25 | 2 | Switch.cs:84:21:84:25 | ... > ... | | -| Switch.cs:85:21:85:26 | break; | Switch.cs:88:16:88:20 | false | break | -| Switch.cs:86:17:86:28 | return ...; | Switch.cs:77:10:77:11 | exit M7 (normal) | return | +| Switch.cs:85:21:85:26 | Before break; | Switch.cs:85:21:85:26 | break; | | +| Switch.cs:85:21:85:26 | break; | Switch.cs:79:9:87:9 | After switch (...) {...} | break | +| Switch.cs:86:17:86:28 | Before return ...; | Switch.cs:86:24:86:27 | true | | +| Switch.cs:86:17:86:28 | return ...; | Switch.cs:77:10:77:11 | Normal Exit | return | | Switch.cs:86:24:86:27 | true | Switch.cs:86:17:86:28 | return ...; | | -| Switch.cs:88:9:88:21 | return ...; | Switch.cs:77:10:77:11 | exit M7 (normal) | return | +| Switch.cs:88:9:88:21 | Before return ...; | Switch.cs:88:16:88:20 | false | | +| Switch.cs:88:9:88:21 | return ...; | Switch.cs:77:10:77:11 | Normal Exit | return | | Switch.cs:88:16:88:20 | false | Switch.cs:88:9:88:21 | return ...; | | -| Switch.cs:91:10:91:11 | enter M8 | Switch.cs:92:5:99:5 | {...} | | -| Switch.cs:91:10:91:11 | exit M8 (normal) | Switch.cs:91:10:91:11 | exit M8 | | +| Switch.cs:91:10:91:11 | Entry | Switch.cs:92:5:99:5 | {...} | | +| Switch.cs:91:10:91:11 | Normal Exit | Switch.cs:91:10:91:11 | Exit | | | Switch.cs:92:5:99:5 | {...} | Switch.cs:93:9:97:9 | switch (...) {...} | | +| Switch.cs:93:9:97:9 | After switch (...) {...} | Switch.cs:98:9:98:21 | Before return ...; | | | Switch.cs:93:9:97:9 | switch (...) {...} | Switch.cs:93:17:93:17 | access to parameter o | | | Switch.cs:93:17:93:17 | access to parameter o | Switch.cs:95:13:95:23 | case ...: | | -| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:18:95:20 | access to type Int32 | | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:96:24:96:27 | true | match | -| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:98:16:98:20 | false | no-match | -| Switch.cs:96:17:96:28 | return ...; | Switch.cs:91:10:91:11 | exit M8 (normal) | return | +| Switch.cs:95:13:95:23 | After case ...: [match] | Switch.cs:95:18:95:20 | access to type Int32 | | +| Switch.cs:95:13:95:23 | After case ...: [no-match] | Switch.cs:93:9:97:9 | After switch (...) {...} | | +| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:13:95:23 | After case ...: [match] | match | +| Switch.cs:95:13:95:23 | case ...: | Switch.cs:95:13:95:23 | After case ...: [no-match] | no-match | +| Switch.cs:95:18:95:20 | access to type Int32 | Switch.cs:96:17:96:28 | Before return ...; | | +| Switch.cs:96:17:96:28 | Before return ...; | Switch.cs:96:24:96:27 | true | | +| Switch.cs:96:17:96:28 | return ...; | Switch.cs:91:10:91:11 | Normal Exit | return | | Switch.cs:96:24:96:27 | true | Switch.cs:96:17:96:28 | return ...; | | -| Switch.cs:98:9:98:21 | return ...; | Switch.cs:91:10:91:11 | exit M8 (normal) | return | +| Switch.cs:98:9:98:21 | Before return ...; | Switch.cs:98:16:98:20 | false | | +| Switch.cs:98:9:98:21 | return ...; | Switch.cs:91:10:91:11 | Normal Exit | return | | Switch.cs:98:16:98:20 | false | Switch.cs:98:9:98:21 | return ...; | | -| Switch.cs:101:9:101:10 | enter M9 | Switch.cs:102:5:109:5 | {...} | | -| Switch.cs:101:9:101:10 | exit M9 (normal) | Switch.cs:101:9:101:10 | exit M9 | | +| Switch.cs:101:9:101:10 | Entry | Switch.cs:102:5:109:5 | {...} | | +| Switch.cs:101:9:101:10 | Normal Exit | Switch.cs:101:9:101:10 | Exit | | | Switch.cs:102:5:109:5 | {...} | Switch.cs:103:9:107:9 | switch (...) {...} | | -| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:103:17:103:17 | access to parameter s | | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:25 | access to property Length | non-null | -| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:105:13:105:19 | case ...: | null | -| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:105:13:105:19 | case ...: | | -| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:18:105:18 | 0 | | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:28:105:28 | 0 | match | -| Switch.cs:105:18:105:18 | 0 | Switch.cs:106:13:106:19 | case ...: | no-match | -| Switch.cs:105:21:105:29 | return ...; | Switch.cs:101:9:101:10 | exit M9 (normal) | return | +| Switch.cs:103:9:107:9 | After switch (...) {...} | Switch.cs:108:9:108:18 | Before return ...; | | +| Switch.cs:103:9:107:9 | switch (...) {...} | Switch.cs:103:17:103:25 | Before access to property Length | | +| Switch.cs:103:17:103:17 | After access to parameter s [non-null] | Switch.cs:103:17:103:25 | access to property Length | | +| Switch.cs:103:17:103:17 | After access to parameter s [null] | Switch.cs:103:17:103:25 | After access to property Length | | +| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:17 | After access to parameter s [non-null] | non-null | +| Switch.cs:103:17:103:17 | access to parameter s | Switch.cs:103:17:103:17 | After access to parameter s [null] | null | +| Switch.cs:103:17:103:25 | After access to property Length | Switch.cs:105:13:105:19 | case ...: | | +| Switch.cs:103:17:103:25 | Before access to property Length | Switch.cs:103:17:103:17 | access to parameter s | | +| Switch.cs:103:17:103:25 | access to property Length | Switch.cs:103:17:103:25 | After access to property Length | | +| Switch.cs:105:13:105:19 | After case ...: [match] | Switch.cs:105:18:105:18 | 0 | | +| Switch.cs:105:13:105:19 | After case ...: [no-match] | Switch.cs:106:13:106:19 | case ...: | | +| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:13:105:19 | After case ...: [match] | match | +| Switch.cs:105:13:105:19 | case ...: | Switch.cs:105:13:105:19 | After case ...: [no-match] | no-match | +| Switch.cs:105:18:105:18 | 0 | Switch.cs:105:21:105:29 | Before return ...; | | +| Switch.cs:105:21:105:29 | Before return ...; | Switch.cs:105:28:105:28 | 0 | | +| Switch.cs:105:21:105:29 | return ...; | Switch.cs:101:9:101:10 | Normal Exit | return | | Switch.cs:105:28:105:28 | 0 | Switch.cs:105:21:105:29 | return ...; | | -| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:18:106:18 | 1 | | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:28:106:28 | 1 | match | -| Switch.cs:106:18:106:18 | 1 | Switch.cs:108:17:108:17 | 1 | no-match | -| Switch.cs:106:21:106:29 | return ...; | Switch.cs:101:9:101:10 | exit M9 (normal) | return | +| Switch.cs:106:13:106:19 | After case ...: [match] | Switch.cs:106:18:106:18 | 1 | | +| Switch.cs:106:13:106:19 | After case ...: [no-match] | Switch.cs:103:9:107:9 | After switch (...) {...} | | +| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:13:106:19 | After case ...: [match] | match | +| Switch.cs:106:13:106:19 | case ...: | Switch.cs:106:13:106:19 | After case ...: [no-match] | no-match | +| Switch.cs:106:18:106:18 | 1 | Switch.cs:106:21:106:29 | Before return ...; | | +| Switch.cs:106:21:106:29 | Before return ...; | Switch.cs:106:28:106:28 | 1 | | +| Switch.cs:106:21:106:29 | return ...; | Switch.cs:101:9:101:10 | Normal Exit | return | | Switch.cs:106:28:106:28 | 1 | Switch.cs:106:21:106:29 | return ...; | | -| Switch.cs:108:9:108:18 | return ...; | Switch.cs:101:9:101:10 | exit M9 (normal) | return | -| Switch.cs:108:16:108:17 | -... | Switch.cs:108:9:108:18 | return ...; | | +| Switch.cs:108:9:108:18 | Before return ...; | Switch.cs:108:16:108:17 | Before -... | | +| Switch.cs:108:9:108:18 | return ...; | Switch.cs:101:9:101:10 | Normal Exit | return | +| Switch.cs:108:16:108:17 | -... | Switch.cs:108:16:108:17 | After -... | | +| Switch.cs:108:16:108:17 | After -... | Switch.cs:108:9:108:18 | return ...; | | +| Switch.cs:108:16:108:17 | Before -... | Switch.cs:108:17:108:17 | 1 | | | Switch.cs:108:17:108:17 | 1 | Switch.cs:108:16:108:17 | -... | | -| Switch.cs:111:17:111:21 | enter Throw | Switch.cs:111:34:111:48 | object creation of type Exception | | -| Switch.cs:111:17:111:21 | exit Throw (abnormal) | Switch.cs:111:17:111:21 | exit Throw | | -| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:17:111:21 | exit Throw (abnormal) | exception | -| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:28:111:48 | throw ... | | -| Switch.cs:113:9:113:11 | enter M10 | Switch.cs:114:5:121:5 | {...} | | -| Switch.cs:113:9:113:11 | exit M10 (normal) | Switch.cs:113:9:113:11 | exit M10 | | +| Switch.cs:111:17:111:21 | Entry | Switch.cs:111:28:111:48 | Before throw ... | | +| Switch.cs:111:17:111:21 | Exceptional Exit | Switch.cs:111:17:111:21 | Exit | | +| Switch.cs:111:28:111:48 | Before throw ... | Switch.cs:111:34:111:48 | Before object creation of type Exception | | +| Switch.cs:111:28:111:48 | throw ... | Switch.cs:111:17:111:21 | Exceptional Exit | exception | +| Switch.cs:111:34:111:48 | After object creation of type Exception | Switch.cs:111:28:111:48 | throw ... | | +| Switch.cs:111:34:111:48 | Before object creation of type Exception | Switch.cs:111:34:111:48 | object creation of type Exception | | +| Switch.cs:111:34:111:48 | object creation of type Exception | Switch.cs:111:34:111:48 | After object creation of type Exception | | +| Switch.cs:113:9:113:11 | Entry | Switch.cs:114:5:121:5 | {...} | | +| Switch.cs:113:9:113:11 | Normal Exit | Switch.cs:113:9:113:11 | Exit | | | Switch.cs:114:5:121:5 | {...} | Switch.cs:115:9:119:9 | switch (...) {...} | | -| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:115:17:115:17 | access to parameter s | | +| Switch.cs:115:9:119:9 | After switch (...) {...} | Switch.cs:120:9:120:18 | Before return ...; | | +| Switch.cs:115:9:119:9 | switch (...) {...} | Switch.cs:115:17:115:24 | Before access to property Length | | | Switch.cs:115:17:115:17 | access to parameter s | Switch.cs:115:17:115:24 | access to property Length | | -| Switch.cs:115:17:115:24 | access to property Length | Switch.cs:117:13:117:35 | case ...: | | -| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:18:117:18 | 3 | | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:25:117:25 | access to parameter s | match | -| Switch.cs:117:18:117:18 | 3 | Switch.cs:118:13:118:34 | case ...: | no-match | +| Switch.cs:115:17:115:24 | After access to property Length | Switch.cs:117:13:117:35 | case ...: | | +| Switch.cs:115:17:115:24 | Before access to property Length | Switch.cs:115:17:115:17 | access to parameter s | | +| Switch.cs:115:17:115:24 | access to property Length | Switch.cs:115:17:115:24 | After access to property Length | | +| Switch.cs:117:13:117:35 | After case ...: [match] | Switch.cs:117:18:117:18 | 3 | | +| Switch.cs:117:13:117:35 | After case ...: [no-match] | Switch.cs:118:13:118:34 | case ...: | | +| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:13:117:35 | After case ...: [match] | match | +| Switch.cs:117:13:117:35 | case ...: | Switch.cs:117:13:117:35 | After case ...: [no-match] | no-match | +| Switch.cs:117:18:117:18 | 3 | Switch.cs:117:25:117:34 | Before ... == ... | | | Switch.cs:117:25:117:25 | access to parameter s | Switch.cs:117:30:117:34 | "foo" | | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:44:117:44 | 1 | true | -| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:118:13:118:34 | case ...: | false | +| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | After ... == ... [false] | false | +| Switch.cs:117:25:117:34 | ... == ... | Switch.cs:117:25:117:34 | After ... == ... [true] | true | +| Switch.cs:117:25:117:34 | After ... == ... [false] | Switch.cs:118:13:118:34 | case ...: | | +| Switch.cs:117:25:117:34 | After ... == ... [true] | Switch.cs:117:37:117:45 | Before return ...; | | +| Switch.cs:117:25:117:34 | Before ... == ... | Switch.cs:117:25:117:25 | access to parameter s | | | Switch.cs:117:30:117:34 | "foo" | Switch.cs:117:25:117:34 | ... == ... | | -| Switch.cs:117:37:117:45 | return ...; | Switch.cs:113:9:113:11 | exit M10 (normal) | return | +| Switch.cs:117:37:117:45 | Before return ...; | Switch.cs:117:44:117:44 | 1 | | +| Switch.cs:117:37:117:45 | return ...; | Switch.cs:113:9:113:11 | Normal Exit | return | | Switch.cs:117:44:117:44 | 1 | Switch.cs:117:37:117:45 | return ...; | | -| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:18:118:18 | 2 | | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:25:118:25 | access to parameter s | match | -| Switch.cs:118:18:118:18 | 2 | Switch.cs:120:17:120:17 | 1 | no-match | +| Switch.cs:118:13:118:34 | After case ...: [match] | Switch.cs:118:18:118:18 | 2 | | +| Switch.cs:118:13:118:34 | After case ...: [no-match] | Switch.cs:115:9:119:9 | After switch (...) {...} | | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [match] | match | +| Switch.cs:118:13:118:34 | case ...: | Switch.cs:118:13:118:34 | After case ...: [no-match] | no-match | +| Switch.cs:118:18:118:18 | 2 | Switch.cs:118:25:118:33 | Before ... == ... | | | Switch.cs:118:25:118:25 | access to parameter s | Switch.cs:118:30:118:33 | "fu" | | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:43:118:43 | 2 | true | -| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:120:17:120:17 | 1 | false | +| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | After ... == ... [false] | false | +| Switch.cs:118:25:118:33 | ... == ... | Switch.cs:118:25:118:33 | After ... == ... [true] | true | +| Switch.cs:118:25:118:33 | After ... == ... [false] | Switch.cs:115:9:119:9 | After switch (...) {...} | | +| Switch.cs:118:25:118:33 | After ... == ... [true] | Switch.cs:118:36:118:44 | Before return ...; | | +| Switch.cs:118:25:118:33 | Before ... == ... | Switch.cs:118:25:118:25 | access to parameter s | | | Switch.cs:118:30:118:33 | "fu" | Switch.cs:118:25:118:33 | ... == ... | | -| Switch.cs:118:36:118:44 | return ...; | Switch.cs:113:9:113:11 | exit M10 (normal) | return | +| Switch.cs:118:36:118:44 | Before return ...; | Switch.cs:118:43:118:43 | 2 | | +| Switch.cs:118:36:118:44 | return ...; | Switch.cs:113:9:113:11 | Normal Exit | return | | Switch.cs:118:43:118:43 | 2 | Switch.cs:118:36:118:44 | return ...; | | -| Switch.cs:120:9:120:18 | return ...; | Switch.cs:113:9:113:11 | exit M10 (normal) | return | -| Switch.cs:120:16:120:17 | -... | Switch.cs:120:9:120:18 | return ...; | | +| Switch.cs:120:9:120:18 | Before return ...; | Switch.cs:120:16:120:17 | Before -... | | +| Switch.cs:120:9:120:18 | return ...; | Switch.cs:113:9:113:11 | Normal Exit | return | +| Switch.cs:120:16:120:17 | -... | Switch.cs:120:16:120:17 | After -... | | +| Switch.cs:120:16:120:17 | After -... | Switch.cs:120:9:120:18 | return ...; | | +| Switch.cs:120:16:120:17 | Before -... | Switch.cs:120:17:120:17 | 1 | | | Switch.cs:120:17:120:17 | 1 | Switch.cs:120:16:120:17 | -... | | -| Switch.cs:123:10:123:12 | enter M11 | Switch.cs:124:5:127:5 | {...} | | -| Switch.cs:123:10:123:12 | exit M11 (normal) | Switch.cs:123:10:123:12 | exit M11 | | +| Switch.cs:123:10:123:12 | Entry | Switch.cs:124:5:127:5 | {...} | | +| Switch.cs:123:10:123:12 | Normal Exit | Switch.cs:123:10:123:12 | Exit | | +| Switch.cs:124:5:127:5 | After {...} | Switch.cs:123:10:123:12 | Normal Exit | | | Switch.cs:124:5:127:5 | {...} | Switch.cs:125:9:126:19 | if (...) ... | | -| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:13:125:13 | access to parameter o | | -| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:24:125:29 | Boolean b | | -| Switch.cs:125:13:125:48 | [false] ... switch { ... } | Switch.cs:123:10:123:12 | exit M11 (normal) | false | -| Switch.cs:125:13:125:48 | [true] ... switch { ... } | Switch.cs:126:13:126:19 | return ...; | true | -| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:34:125:34 | access to local variable b | match | -| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:37:125:37 | _ | no-match | -| Switch.cs:125:24:125:34 | [false] ... => ... | Switch.cs:125:13:125:48 | [false] ... switch { ... } | false | -| Switch.cs:125:24:125:34 | [true] ... => ... | Switch.cs:125:13:125:48 | [true] ... switch { ... } | true | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [false] ... => ... | false | -| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:24:125:34 | [true] ... => ... | true | -| Switch.cs:125:37:125:37 | _ | Switch.cs:125:42:125:46 | false | match | -| Switch.cs:125:37:125:46 | [false] ... => ... | Switch.cs:125:13:125:48 | [false] ... switch { ... } | false | -| Switch.cs:125:42:125:46 | false | Switch.cs:125:37:125:46 | [false] ... => ... | false | -| Switch.cs:126:13:126:19 | return ...; | Switch.cs:123:10:123:12 | exit M11 (normal) | return | -| Switch.cs:129:12:129:14 | enter M12 | Switch.cs:130:5:132:5 | {...} | | -| Switch.cs:129:12:129:14 | exit M12 (normal) | Switch.cs:129:12:129:14 | exit M12 | | -| Switch.cs:130:5:132:5 | {...} | Switch.cs:131:17:131:17 | access to parameter o | | -| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | exit M12 (normal) | return | -| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:9:131:67 | return ...; | | -| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:28:131:35 | String s | | -| Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | Switch.cs:131:16:131:66 | call to method ToString | non-null | -| Switch.cs:131:17:131:53 | [null] ... switch { ... } | Switch.cs:131:9:131:67 | return ...; | null | -| Switch.cs:131:28:131:35 | String s | Switch.cs:131:40:131:40 | access to local variable s | match | -| Switch.cs:131:28:131:35 | String s | Switch.cs:131:43:131:43 | _ | no-match | -| Switch.cs:131:28:131:40 | [non-null] ... => ... | Switch.cs:131:17:131:53 | [non-null] ... switch { ... } | non-null | -| Switch.cs:131:28:131:40 | [null] ... => ... | Switch.cs:131:17:131:53 | [null] ... switch { ... } | null | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [non-null] ... => ... | non-null | -| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:28:131:40 | [null] ... => ... | null | -| Switch.cs:131:43:131:43 | _ | Switch.cs:131:48:131:51 | null | match | -| Switch.cs:131:43:131:51 | [null] ... => ... | Switch.cs:131:17:131:53 | [null] ... switch { ... } | null | -| Switch.cs:131:48:131:51 | null | Switch.cs:131:43:131:51 | [null] ... => ... | null | -| Switch.cs:134:9:134:11 | enter M13 | Switch.cs:135:5:142:5 | {...} | | -| Switch.cs:134:9:134:11 | exit M13 (normal) | Switch.cs:134:9:134:11 | exit M13 | | +| Switch.cs:125:9:126:19 | After if (...) ... | Switch.cs:124:5:127:5 | After {...} | | +| Switch.cs:125:9:126:19 | if (...) ... | Switch.cs:125:13:125:48 | ... switch { ... } | | +| Switch.cs:125:13:125:13 | access to parameter o | Switch.cs:125:24:125:34 | ... => ... | | +| Switch.cs:125:13:125:48 | ... switch { ... } | Switch.cs:125:13:125:13 | access to parameter o | | +| Switch.cs:125:13:125:48 | After ... switch { ... } [false] | Switch.cs:125:9:126:19 | After if (...) ... | | +| Switch.cs:125:13:125:48 | After ... switch { ... } [true] | Switch.cs:126:13:126:19 | Before return ...; | | +| Switch.cs:125:24:125:29 | Boolean b | Switch.cs:125:34:125:34 | access to local variable b | | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | After ... => ... [match] | match | +| Switch.cs:125:24:125:34 | ... => ... | Switch.cs:125:24:125:34 | After ... => ... [no-match] | no-match | +| Switch.cs:125:24:125:34 | After ... => ... [match] | Switch.cs:125:24:125:29 | Boolean b | | +| Switch.cs:125:24:125:34 | After ... => ... [no-match] | Switch.cs:125:37:125:46 | ... => ... | | +| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | false | +| Switch.cs:125:34:125:34 | access to local variable b | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | true | +| Switch.cs:125:37:125:37 | _ | Switch.cs:125:42:125:46 | false | | +| Switch.cs:125:37:125:46 | ... => ... | Switch.cs:125:37:125:46 | After ... => ... [match] | match | +| Switch.cs:125:37:125:46 | After ... => ... [match] | Switch.cs:125:37:125:37 | _ | | +| Switch.cs:125:42:125:46 | false | Switch.cs:125:13:125:48 | After ... switch { ... } [false] | false | +| Switch.cs:125:42:125:46 | false | Switch.cs:125:13:125:48 | After ... switch { ... } [true] | true | +| Switch.cs:126:13:126:19 | Before return ...; | Switch.cs:126:13:126:19 | return ...; | | +| Switch.cs:126:13:126:19 | return ...; | Switch.cs:123:10:123:12 | Normal Exit | return | +| Switch.cs:129:12:129:14 | Entry | Switch.cs:130:5:132:5 | {...} | | +| Switch.cs:129:12:129:14 | Normal Exit | Switch.cs:129:12:129:14 | Exit | | +| Switch.cs:130:5:132:5 | {...} | Switch.cs:131:9:131:67 | Before return ...; | | +| Switch.cs:131:9:131:67 | Before return ...; | Switch.cs:131:16:131:66 | Before call to method ToString | | +| Switch.cs:131:9:131:67 | return ...; | Switch.cs:129:12:129:14 | Normal Exit | return | +| Switch.cs:131:16:131:66 | After call to method ToString | Switch.cs:131:9:131:67 | return ...; | | +| Switch.cs:131:16:131:66 | Before call to method ToString | Switch.cs:131:17:131:53 | ... switch { ... } | | +| Switch.cs:131:16:131:66 | call to method ToString | Switch.cs:131:16:131:66 | After call to method ToString | | +| Switch.cs:131:17:131:17 | access to parameter o | Switch.cs:131:28:131:40 | ... => ... | | +| Switch.cs:131:17:131:53 | ... switch { ... } | Switch.cs:131:17:131:17 | access to parameter o | | +| Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | Switch.cs:131:16:131:66 | call to method ToString | | +| Switch.cs:131:17:131:53 | After ... switch { ... } [null] | Switch.cs:131:16:131:66 | After call to method ToString | | +| Switch.cs:131:28:131:35 | String s | Switch.cs:131:40:131:40 | access to local variable s | | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | After ... => ... [match] | match | +| Switch.cs:131:28:131:40 | ... => ... | Switch.cs:131:28:131:40 | After ... => ... [no-match] | no-match | +| Switch.cs:131:28:131:40 | After ... => ... [match] | Switch.cs:131:28:131:35 | String s | | +| Switch.cs:131:28:131:40 | After ... => ... [no-match] | Switch.cs:131:43:131:51 | ... => ... | | +| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | non-null | +| Switch.cs:131:40:131:40 | access to local variable s | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | null | +| Switch.cs:131:43:131:43 | _ | Switch.cs:131:48:131:51 | null | | +| Switch.cs:131:43:131:51 | ... => ... | Switch.cs:131:43:131:51 | After ... => ... [match] | match | +| Switch.cs:131:43:131:51 | After ... => ... [match] | Switch.cs:131:43:131:43 | _ | | +| Switch.cs:131:48:131:51 | null | Switch.cs:131:17:131:53 | After ... switch { ... } [non-null] | non-null | +| Switch.cs:131:48:131:51 | null | Switch.cs:131:17:131:53 | After ... switch { ... } [null] | null | +| Switch.cs:134:9:134:11 | Entry | Switch.cs:135:5:142:5 | {...} | | +| Switch.cs:134:9:134:11 | Normal Exit | Switch.cs:134:9:134:11 | Exit | | | Switch.cs:135:5:142:5 | {...} | Switch.cs:136:9:141:9 | switch (...) {...} | | | Switch.cs:136:9:141:9 | switch (...) {...} | Switch.cs:136:17:136:17 | access to parameter i | | | Switch.cs:136:17:136:17 | access to parameter i | Switch.cs:139:13:139:19 | case ...: | | -| Switch.cs:138:13:138:20 | default: | Switch.cs:138:30:138:30 | 1 | | -| Switch.cs:138:22:138:31 | return ...; | Switch.cs:134:9:134:11 | exit M13 (normal) | return | -| Switch.cs:138:29:138:30 | -... | Switch.cs:138:22:138:31 | return ...; | | +| Switch.cs:138:13:138:20 | After default: [match] | Switch.cs:138:22:138:31 | Before return ...; | | +| Switch.cs:138:13:138:20 | default: | Switch.cs:138:13:138:20 | After default: [match] | match | +| Switch.cs:138:22:138:31 | Before return ...; | Switch.cs:138:29:138:30 | Before -... | | +| Switch.cs:138:22:138:31 | return ...; | Switch.cs:134:9:134:11 | Normal Exit | return | +| Switch.cs:138:29:138:30 | -... | Switch.cs:138:29:138:30 | After -... | | +| Switch.cs:138:29:138:30 | After -... | Switch.cs:138:22:138:31 | return ...; | | +| Switch.cs:138:29:138:30 | Before -... | Switch.cs:138:30:138:30 | 1 | | | Switch.cs:138:30:138:30 | 1 | Switch.cs:138:29:138:30 | -... | | -| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:18:139:18 | 1 | | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:28:139:28 | 1 | match | -| Switch.cs:139:18:139:18 | 1 | Switch.cs:140:13:140:19 | case ...: | no-match | -| Switch.cs:139:21:139:29 | return ...; | Switch.cs:134:9:134:11 | exit M13 (normal) | return | +| Switch.cs:139:13:139:19 | After case ...: [match] | Switch.cs:139:18:139:18 | 1 | | +| Switch.cs:139:13:139:19 | After case ...: [no-match] | Switch.cs:140:13:140:19 | case ...: | | +| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:13:139:19 | After case ...: [match] | match | +| Switch.cs:139:13:139:19 | case ...: | Switch.cs:139:13:139:19 | After case ...: [no-match] | no-match | +| Switch.cs:139:18:139:18 | 1 | Switch.cs:139:21:139:29 | Before return ...; | | +| Switch.cs:139:21:139:29 | Before return ...; | Switch.cs:139:28:139:28 | 1 | | +| Switch.cs:139:21:139:29 | return ...; | Switch.cs:134:9:134:11 | Normal Exit | return | | Switch.cs:139:28:139:28 | 1 | Switch.cs:139:21:139:29 | return ...; | | -| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:18:140:18 | 2 | | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:138:13:138:20 | default: | no-match | -| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:28:140:28 | 2 | match | -| Switch.cs:140:21:140:29 | return ...; | Switch.cs:134:9:134:11 | exit M13 (normal) | return | +| Switch.cs:140:13:140:19 | After case ...: [match] | Switch.cs:140:18:140:18 | 2 | | +| Switch.cs:140:13:140:19 | After case ...: [no-match] | Switch.cs:138:13:138:20 | default: | | +| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:13:140:19 | After case ...: [match] | match | +| Switch.cs:140:13:140:19 | case ...: | Switch.cs:140:13:140:19 | After case ...: [no-match] | no-match | +| Switch.cs:140:18:140:18 | 2 | Switch.cs:140:21:140:29 | Before return ...; | | +| Switch.cs:140:21:140:29 | Before return ...; | Switch.cs:140:28:140:28 | 2 | | +| Switch.cs:140:21:140:29 | return ...; | Switch.cs:134:9:134:11 | Normal Exit | return | | Switch.cs:140:28:140:28 | 2 | Switch.cs:140:21:140:29 | return ...; | | -| Switch.cs:144:9:144:11 | enter M14 | Switch.cs:145:5:152:5 | {...} | | -| Switch.cs:144:9:144:11 | exit M14 (normal) | Switch.cs:144:9:144:11 | exit M14 | | +| Switch.cs:144:9:144:11 | Entry | Switch.cs:145:5:152:5 | {...} | | +| Switch.cs:144:9:144:11 | Normal Exit | Switch.cs:144:9:144:11 | Exit | | | Switch.cs:145:5:152:5 | {...} | Switch.cs:146:9:151:9 | switch (...) {...} | | | Switch.cs:146:9:151:9 | switch (...) {...} | Switch.cs:146:17:146:17 | access to parameter i | | | Switch.cs:146:17:146:17 | access to parameter i | Switch.cs:148:13:148:19 | case ...: | | -| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:18:148:18 | 1 | | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:28:148:28 | 1 | match | -| Switch.cs:148:18:148:18 | 1 | Switch.cs:150:13:150:19 | case ...: | no-match | -| Switch.cs:148:21:148:29 | return ...; | Switch.cs:144:9:144:11 | exit M14 (normal) | return | +| Switch.cs:148:13:148:19 | After case ...: [match] | Switch.cs:148:18:148:18 | 1 | | +| Switch.cs:148:13:148:19 | After case ...: [no-match] | Switch.cs:150:13:150:19 | case ...: | | +| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:13:148:19 | After case ...: [match] | match | +| Switch.cs:148:13:148:19 | case ...: | Switch.cs:148:13:148:19 | After case ...: [no-match] | no-match | +| Switch.cs:148:18:148:18 | 1 | Switch.cs:148:21:148:29 | Before return ...; | | +| Switch.cs:148:21:148:29 | Before return ...; | Switch.cs:148:28:148:28 | 1 | | +| Switch.cs:148:21:148:29 | return ...; | Switch.cs:144:9:144:11 | Normal Exit | return | | Switch.cs:148:28:148:28 | 1 | Switch.cs:148:21:148:29 | return ...; | | -| Switch.cs:149:13:149:20 | default: | Switch.cs:149:30:149:30 | 1 | | -| Switch.cs:149:22:149:31 | return ...; | Switch.cs:144:9:144:11 | exit M14 (normal) | return | -| Switch.cs:149:29:149:30 | -... | Switch.cs:149:22:149:31 | return ...; | | +| Switch.cs:149:13:149:20 | After default: [match] | Switch.cs:149:22:149:31 | Before return ...; | | +| Switch.cs:149:13:149:20 | default: | Switch.cs:149:13:149:20 | After default: [match] | match | +| Switch.cs:149:22:149:31 | Before return ...; | Switch.cs:149:29:149:30 | Before -... | | +| Switch.cs:149:22:149:31 | return ...; | Switch.cs:144:9:144:11 | Normal Exit | return | +| Switch.cs:149:29:149:30 | -... | Switch.cs:149:29:149:30 | After -... | | +| Switch.cs:149:29:149:30 | After -... | Switch.cs:149:22:149:31 | return ...; | | +| Switch.cs:149:29:149:30 | Before -... | Switch.cs:149:30:149:30 | 1 | | | Switch.cs:149:30:149:30 | 1 | Switch.cs:149:29:149:30 | -... | | -| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:18:150:18 | 2 | | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:149:13:149:20 | default: | no-match | -| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:28:150:28 | 2 | match | -| Switch.cs:150:21:150:29 | return ...; | Switch.cs:144:9:144:11 | exit M14 (normal) | return | +| Switch.cs:150:13:150:19 | After case ...: [match] | Switch.cs:150:18:150:18 | 2 | | +| Switch.cs:150:13:150:19 | After case ...: [no-match] | Switch.cs:149:13:149:20 | default: | | +| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:13:150:19 | After case ...: [match] | match | +| Switch.cs:150:13:150:19 | case ...: | Switch.cs:150:13:150:19 | After case ...: [no-match] | no-match | +| Switch.cs:150:18:150:18 | 2 | Switch.cs:150:21:150:29 | Before return ...; | | +| Switch.cs:150:21:150:29 | Before return ...; | Switch.cs:150:28:150:28 | 2 | | +| Switch.cs:150:21:150:29 | return ...; | Switch.cs:144:9:144:11 | Normal Exit | return | | Switch.cs:150:28:150:28 | 2 | Switch.cs:150:21:150:29 | return ...; | | -| Switch.cs:154:10:154:12 | enter M15 | Switch.cs:155:5:161:5 | {...} | | -| Switch.cs:154:10:154:12 | exit M15 (abnormal) | Switch.cs:154:10:154:12 | exit M15 | | -| Switch.cs:154:10:154:12 | exit M15 (normal) | Switch.cs:154:10:154:12 | exit M15 | | +| Switch.cs:154:10:154:12 | Entry | Switch.cs:155:5:161:5 | {...} | | +| Switch.cs:154:10:154:12 | Normal Exit | Switch.cs:154:10:154:12 | Exit | | +| Switch.cs:155:5:161:5 | After {...} | Switch.cs:154:10:154:12 | Normal Exit | | | Switch.cs:155:5:161:5 | {...} | Switch.cs:156:9:156:55 | ... ...; | | -| Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:17:156:17 | access to parameter b | | -| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:157:9:160:49 | if (...) ... | | -| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:28:156:31 | true | | -| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:13:156:54 | String s = ... | | -| Switch.cs:156:28:156:31 | true | Switch.cs:156:36:156:38 | "a" | match | -| Switch.cs:156:28:156:31 | true | Switch.cs:156:41:156:45 | false | no-match | -| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:17:156:54 | ... switch { ... } | | -| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:28:156:38 | ... => ... | | -| Switch.cs:156:41:156:45 | false | Switch.cs:154:10:154:12 | exit M15 (abnormal) | exception | -| Switch.cs:156:41:156:45 | false | Switch.cs:156:50:156:52 | "b" | match | -| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:17:156:54 | ... switch { ... } | | -| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:41:156:52 | ... => ... | | +| Switch.cs:156:9:156:55 | ... ...; | Switch.cs:156:13:156:54 | Before String s = ... | | +| Switch.cs:156:9:156:55 | After ... ...; | Switch.cs:157:9:160:49 | if (...) ... | | +| Switch.cs:156:13:156:13 | access to local variable s | Switch.cs:156:17:156:54 | ... switch { ... } | | +| Switch.cs:156:13:156:54 | After String s = ... | Switch.cs:156:9:156:55 | After ... ...; | | +| Switch.cs:156:13:156:54 | Before String s = ... | Switch.cs:156:13:156:13 | access to local variable s | | +| Switch.cs:156:13:156:54 | String s = ... | Switch.cs:156:13:156:54 | After String s = ... | | +| Switch.cs:156:17:156:17 | access to parameter b | Switch.cs:156:28:156:38 | ... => ... | | +| Switch.cs:156:17:156:54 | ... switch { ... } | Switch.cs:156:17:156:17 | access to parameter b | | +| Switch.cs:156:17:156:54 | After ... switch { ... } | Switch.cs:156:13:156:54 | String s = ... | | +| Switch.cs:156:28:156:31 | true | Switch.cs:156:36:156:38 | "a" | | +| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:38 | After ... => ... [match] | match | +| Switch.cs:156:28:156:38 | ... => ... | Switch.cs:156:28:156:38 | After ... => ... [no-match] | no-match | +| Switch.cs:156:28:156:38 | After ... => ... [match] | Switch.cs:156:28:156:31 | true | | +| Switch.cs:156:28:156:38 | After ... => ... [no-match] | Switch.cs:156:41:156:52 | ... => ... | | +| Switch.cs:156:36:156:38 | "a" | Switch.cs:156:17:156:54 | After ... switch { ... } | | +| Switch.cs:156:41:156:45 | false | Switch.cs:156:50:156:52 | "b" | | +| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:52 | After ... => ... [match] | match | +| Switch.cs:156:41:156:52 | ... => ... | Switch.cs:156:41:156:52 | After ... => ... [no-match] | no-match | +| Switch.cs:156:41:156:52 | After ... => ... [match] | Switch.cs:156:41:156:45 | false | | +| Switch.cs:156:41:156:52 | After ... => ... [no-match] | Switch.cs:156:17:156:54 | After ... switch { ... } | | +| Switch.cs:156:50:156:52 | "b" | Switch.cs:156:17:156:54 | After ... switch { ... } | | +| Switch.cs:157:9:160:49 | After if (...) ... | Switch.cs:155:5:161:5 | After {...} | | | Switch.cs:157:9:160:49 | if (...) ... | Switch.cs:157:13:157:13 | access to parameter b | | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:158:13:158:49 | ...; | true | -| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:160:13:160:49 | ...; | false | -| Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:154:10:154:12 | exit M15 (normal) | | -| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:40:158:43 | "a = " | | -| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:13:158:48 | call to method WriteLine | | -| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:45:158:45 | access to local variable s | | -| Switch.cs:158:44:158:46 | {...} | Switch.cs:158:38:158:47 | $"..." | | +| Switch.cs:157:13:157:13 | After access to parameter b [false] | Switch.cs:160:13:160:49 | ...; | | +| Switch.cs:157:13:157:13 | After access to parameter b [true] | Switch.cs:158:13:158:49 | ...; | | +| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | After access to parameter b [false] | false | +| Switch.cs:157:13:157:13 | access to parameter b | Switch.cs:157:13:157:13 | After access to parameter b [true] | true | +| Switch.cs:158:13:158:48 | After call to method WriteLine | Switch.cs:158:13:158:49 | After ...; | | +| Switch.cs:158:13:158:48 | Before call to method WriteLine | Switch.cs:158:38:158:47 | Before $"..." | | +| Switch.cs:158:13:158:48 | call to method WriteLine | Switch.cs:158:13:158:48 | After call to method WriteLine | | +| Switch.cs:158:13:158:49 | ...; | Switch.cs:158:13:158:48 | Before call to method WriteLine | | +| Switch.cs:158:13:158:49 | After ...; | Switch.cs:157:9:160:49 | After if (...) ... | | +| Switch.cs:158:38:158:47 | $"..." | Switch.cs:158:38:158:47 | After $"..." | | +| Switch.cs:158:38:158:47 | After $"..." | Switch.cs:158:13:158:48 | call to method WriteLine | | +| Switch.cs:158:38:158:47 | Before $"..." | Switch.cs:158:40:158:43 | "a = " | | +| Switch.cs:158:40:158:43 | "a = " | Switch.cs:158:44:158:46 | Before {...} | | +| Switch.cs:158:44:158:46 | After {...} | Switch.cs:158:38:158:47 | $"..." | | +| Switch.cs:158:44:158:46 | Before {...} | Switch.cs:158:45:158:45 | access to local variable s | | +| Switch.cs:158:44:158:46 | {...} | Switch.cs:158:44:158:46 | After {...} | | | Switch.cs:158:45:158:45 | access to local variable s | Switch.cs:158:44:158:46 | {...} | | -| Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:154:10:154:12 | exit M15 (normal) | | -| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:40:160:43 | "b = " | | -| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:13:160:48 | call to method WriteLine | | -| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:45:160:45 | access to local variable s | | -| Switch.cs:160:44:160:46 | {...} | Switch.cs:160:38:160:47 | $"..." | | +| Switch.cs:160:13:160:48 | After call to method WriteLine | Switch.cs:160:13:160:49 | After ...; | | +| Switch.cs:160:13:160:48 | Before call to method WriteLine | Switch.cs:160:38:160:47 | Before $"..." | | +| Switch.cs:160:13:160:48 | call to method WriteLine | Switch.cs:160:13:160:48 | After call to method WriteLine | | +| Switch.cs:160:13:160:49 | ...; | Switch.cs:160:13:160:48 | Before call to method WriteLine | | +| Switch.cs:160:13:160:49 | After ...; | Switch.cs:157:9:160:49 | After if (...) ... | | +| Switch.cs:160:38:160:47 | $"..." | Switch.cs:160:38:160:47 | After $"..." | | +| Switch.cs:160:38:160:47 | After $"..." | Switch.cs:160:13:160:48 | call to method WriteLine | | +| Switch.cs:160:38:160:47 | Before $"..." | Switch.cs:160:40:160:43 | "b = " | | +| Switch.cs:160:40:160:43 | "b = " | Switch.cs:160:44:160:46 | Before {...} | | +| Switch.cs:160:44:160:46 | After {...} | Switch.cs:160:38:160:47 | $"..." | | +| Switch.cs:160:44:160:46 | Before {...} | Switch.cs:160:45:160:45 | access to local variable s | | +| Switch.cs:160:44:160:46 | {...} | Switch.cs:160:44:160:46 | After {...} | | | Switch.cs:160:45:160:45 | access to local variable s | Switch.cs:160:44:160:46 | {...} | | -| Switch.cs:163:10:163:12 | enter M16 | Switch.cs:164:5:178:5 | {...} | | -| Switch.cs:163:10:163:12 | exit M16 (normal) | Switch.cs:163:10:163:12 | exit M16 | | +| Switch.cs:163:10:163:12 | Entry | Switch.cs:164:5:178:5 | {...} | | +| Switch.cs:163:10:163:12 | Normal Exit | Switch.cs:163:10:163:12 | Exit | | +| Switch.cs:164:5:178:5 | After {...} | Switch.cs:163:10:163:12 | Normal Exit | | | Switch.cs:164:5:178:5 | {...} | Switch.cs:165:9:177:9 | switch (...) {...} | | +| Switch.cs:165:9:177:9 | After switch (...) {...} | Switch.cs:164:5:178:5 | After {...} | | | Switch.cs:165:9:177:9 | switch (...) {...} | Switch.cs:165:17:165:17 | access to parameter i | | | Switch.cs:165:17:165:17 | access to parameter i | Switch.cs:167:13:167:19 | case ...: | | -| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:18:167:18 | 1 | | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:168:13:168:19 | case ...: | no-match | -| Switch.cs:167:18:167:18 | 1 | Switch.cs:169:17:169:51 | ...; | match | -| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:18:168:18 | 2 | | -| Switch.cs:168:18:168:18 | 2 | Switch.cs:169:17:169:51 | ...; | match | -| Switch.cs:168:18:168:18 | 2 | Switch.cs:171:13:171:19 | case ...: | no-match | -| Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:170:17:170:22 | break; | | -| Switch.cs:169:17:169:51 | ...; | Switch.cs:169:42:169:49 | "1 or 2" | | +| Switch.cs:167:13:167:19 | After case ...: [match] | Switch.cs:167:18:167:18 | 1 | | +| Switch.cs:167:13:167:19 | After case ...: [no-match] | Switch.cs:168:13:168:19 | case ...: | | +| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:13:167:19 | After case ...: [match] | match | +| Switch.cs:167:13:167:19 | case ...: | Switch.cs:167:13:167:19 | After case ...: [no-match] | no-match | +| Switch.cs:167:18:167:18 | 1 | Switch.cs:169:17:169:51 | ...; | | +| Switch.cs:168:13:168:19 | After case ...: [match] | Switch.cs:168:18:168:18 | 2 | | +| Switch.cs:168:13:168:19 | After case ...: [no-match] | Switch.cs:171:13:171:19 | case ...: | | +| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:13:168:19 | After case ...: [match] | match | +| Switch.cs:168:13:168:19 | case ...: | Switch.cs:168:13:168:19 | After case ...: [no-match] | no-match | +| Switch.cs:168:18:168:18 | 2 | Switch.cs:169:17:169:51 | ...; | | +| Switch.cs:169:17:169:50 | After call to method WriteLine | Switch.cs:169:17:169:51 | After ...; | | +| Switch.cs:169:17:169:50 | Before call to method WriteLine | Switch.cs:169:42:169:49 | "1 or 2" | | +| Switch.cs:169:17:169:50 | call to method WriteLine | Switch.cs:169:17:169:50 | After call to method WriteLine | | +| Switch.cs:169:17:169:51 | ...; | Switch.cs:169:17:169:50 | Before call to method WriteLine | | +| Switch.cs:169:17:169:51 | After ...; | Switch.cs:170:17:170:22 | Before break; | | | Switch.cs:169:42:169:49 | "1 or 2" | Switch.cs:169:17:169:50 | call to method WriteLine | | -| Switch.cs:170:17:170:22 | break; | Switch.cs:163:10:163:12 | exit M16 (normal) | break | -| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:18:171:18 | 3 | | -| Switch.cs:171:18:171:18 | 3 | Switch.cs:172:17:172:46 | ...; | match | -| Switch.cs:171:18:171:18 | 3 | Switch.cs:174:13:174:20 | default: | no-match | -| Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:173:17:173:22 | break; | | -| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:42:172:44 | "3" | | +| Switch.cs:170:17:170:22 | Before break; | Switch.cs:170:17:170:22 | break; | | +| Switch.cs:170:17:170:22 | break; | Switch.cs:165:9:177:9 | After switch (...) {...} | break | +| Switch.cs:171:13:171:19 | After case ...: [match] | Switch.cs:171:18:171:18 | 3 | | +| Switch.cs:171:13:171:19 | After case ...: [no-match] | Switch.cs:174:13:174:20 | default: | | +| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:13:171:19 | After case ...: [match] | match | +| Switch.cs:171:13:171:19 | case ...: | Switch.cs:171:13:171:19 | After case ...: [no-match] | no-match | +| Switch.cs:171:18:171:18 | 3 | Switch.cs:172:17:172:46 | ...; | | +| Switch.cs:172:17:172:45 | After call to method WriteLine | Switch.cs:172:17:172:46 | After ...; | | +| Switch.cs:172:17:172:45 | Before call to method WriteLine | Switch.cs:172:42:172:44 | "3" | | +| Switch.cs:172:17:172:45 | call to method WriteLine | Switch.cs:172:17:172:45 | After call to method WriteLine | | +| Switch.cs:172:17:172:46 | ...; | Switch.cs:172:17:172:45 | Before call to method WriteLine | | +| Switch.cs:172:17:172:46 | After ...; | Switch.cs:173:17:173:22 | Before break; | | | Switch.cs:172:42:172:44 | "3" | Switch.cs:172:17:172:45 | call to method WriteLine | | -| Switch.cs:173:17:173:22 | break; | Switch.cs:163:10:163:12 | exit M16 (normal) | break | -| Switch.cs:174:13:174:20 | default: | Switch.cs:175:17:175:48 | ...; | | -| Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:176:17:176:22 | break; | | -| Switch.cs:175:17:175:48 | ...; | Switch.cs:175:42:175:46 | "def" | | +| Switch.cs:173:17:173:22 | Before break; | Switch.cs:173:17:173:22 | break; | | +| Switch.cs:173:17:173:22 | break; | Switch.cs:165:9:177:9 | After switch (...) {...} | break | +| Switch.cs:174:13:174:20 | After default: [match] | Switch.cs:175:17:175:48 | ...; | | +| Switch.cs:174:13:174:20 | default: | Switch.cs:174:13:174:20 | After default: [match] | match | +| Switch.cs:175:17:175:47 | After call to method WriteLine | Switch.cs:175:17:175:48 | After ...; | | +| Switch.cs:175:17:175:47 | Before call to method WriteLine | Switch.cs:175:42:175:46 | "def" | | +| Switch.cs:175:17:175:47 | call to method WriteLine | Switch.cs:175:17:175:47 | After call to method WriteLine | | +| Switch.cs:175:17:175:48 | ...; | Switch.cs:175:17:175:47 | Before call to method WriteLine | | +| Switch.cs:175:17:175:48 | After ...; | Switch.cs:176:17:176:22 | Before break; | | | Switch.cs:175:42:175:46 | "def" | Switch.cs:175:17:175:47 | call to method WriteLine | | -| Switch.cs:176:17:176:22 | break; | Switch.cs:163:10:163:12 | exit M16 (normal) | break | -| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | {...} | | -| TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | call to constructor Object | | -| TypeAccesses.cs:1:7:1:18 | enter TypeAccesses | TypeAccesses.cs:1:7:1:18 | this access | | -| TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | TypeAccesses.cs:1:7:1:18 | exit TypeAccesses | | +| Switch.cs:176:17:176:22 | Before break; | Switch.cs:176:17:176:22 | break; | | +| Switch.cs:176:17:176:22 | break; | Switch.cs:165:9:177:9 | After switch (...) {...} | break | +| TypeAccesses.cs:1:7:1:18 | After call to constructor Object | TypeAccesses.cs:1:7:1:18 | {...} | | +| TypeAccesses.cs:1:7:1:18 | After call to method | TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | | +| TypeAccesses.cs:1:7:1:18 | Before call to constructor Object | TypeAccesses.cs:1:7:1:18 | call to constructor Object | | +| TypeAccesses.cs:1:7:1:18 | Before call to method | TypeAccesses.cs:1:7:1:18 | this access | | +| TypeAccesses.cs:1:7:1:18 | Entry | TypeAccesses.cs:1:7:1:18 | Before call to method | | +| TypeAccesses.cs:1:7:1:18 | Normal Exit | TypeAccesses.cs:1:7:1:18 | Exit | | +| TypeAccesses.cs:1:7:1:18 | call to constructor Object | TypeAccesses.cs:1:7:1:18 | After call to constructor Object | | +| TypeAccesses.cs:1:7:1:18 | call to method | TypeAccesses.cs:1:7:1:18 | After call to method | | | TypeAccesses.cs:1:7:1:18 | this access | TypeAccesses.cs:1:7:1:18 | call to method | | -| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | exit TypeAccesses (normal) | | -| TypeAccesses.cs:3:10:3:10 | enter M | TypeAccesses.cs:4:5:9:5 | {...} | | -| TypeAccesses.cs:3:10:3:10 | exit M (normal) | TypeAccesses.cs:3:10:3:10 | exit M | | +| TypeAccesses.cs:1:7:1:18 | {...} | TypeAccesses.cs:1:7:1:18 | Normal Exit | | +| TypeAccesses.cs:3:10:3:10 | Entry | TypeAccesses.cs:4:5:9:5 | {...} | | +| TypeAccesses.cs:3:10:3:10 | Normal Exit | TypeAccesses.cs:3:10:3:10 | Exit | | +| TypeAccesses.cs:4:5:9:5 | After {...} | TypeAccesses.cs:3:10:3:10 | Normal Exit | | | TypeAccesses.cs:4:5:9:5 | {...} | TypeAccesses.cs:5:9:5:26 | ... ...; | | -| TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:25:5:25 | access to parameter o | | -| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:6:9:6:24 | ...; | | -| TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:13:5:25 | String s = ... | | +| TypeAccesses.cs:5:9:5:26 | ... ...; | TypeAccesses.cs:5:13:5:25 | Before String s = ... | | +| TypeAccesses.cs:5:9:5:26 | After ... ...; | TypeAccesses.cs:6:9:6:24 | ...; | | +| TypeAccesses.cs:5:13:5:13 | access to local variable s | TypeAccesses.cs:5:17:5:25 | Before (...) ... | | +| TypeAccesses.cs:5:13:5:25 | After String s = ... | TypeAccesses.cs:5:9:5:26 | After ... ...; | | +| TypeAccesses.cs:5:13:5:25 | Before String s = ... | TypeAccesses.cs:5:13:5:13 | access to local variable s | | +| TypeAccesses.cs:5:13:5:25 | String s = ... | TypeAccesses.cs:5:13:5:25 | After String s = ... | | +| TypeAccesses.cs:5:17:5:25 | (...) ... | TypeAccesses.cs:5:17:5:25 | After (...) ... | | +| TypeAccesses.cs:5:17:5:25 | After (...) ... | TypeAccesses.cs:5:13:5:25 | String s = ... | | +| TypeAccesses.cs:5:17:5:25 | Before (...) ... | TypeAccesses.cs:5:25:5:25 | access to parameter o | | | TypeAccesses.cs:5:25:5:25 | access to parameter o | TypeAccesses.cs:5:17:5:25 | (...) ... | | -| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:7:9:7:25 | if (...) ... | | -| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:13:6:13 | access to parameter o | | +| TypeAccesses.cs:6:9:6:9 | access to local variable s | TypeAccesses.cs:6:13:6:23 | Before ... as ... | | +| TypeAccesses.cs:6:9:6:23 | ... = ... | TypeAccesses.cs:6:9:6:23 | After ... = ... | | +| TypeAccesses.cs:6:9:6:23 | After ... = ... | TypeAccesses.cs:6:9:6:24 | After ...; | | +| TypeAccesses.cs:6:9:6:23 | Before ... = ... | TypeAccesses.cs:6:9:6:9 | access to local variable s | | +| TypeAccesses.cs:6:9:6:24 | ...; | TypeAccesses.cs:6:9:6:23 | Before ... = ... | | +| TypeAccesses.cs:6:9:6:24 | After ...; | TypeAccesses.cs:7:9:7:25 | if (...) ... | | | TypeAccesses.cs:6:13:6:13 | access to parameter o | TypeAccesses.cs:6:13:6:23 | ... as ... | | -| TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:9:6:23 | ... = ... | | -| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:13:7:13 | access to parameter o | | -| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:18:7:22 | Int32 j | | -| TypeAccesses.cs:7:13:7:22 | [false] ... is ... | TypeAccesses.cs:8:9:8:28 | ... ...; | false | -| TypeAccesses.cs:7:13:7:22 | [true] ... is ... | TypeAccesses.cs:7:25:7:25 | ; | true | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | [false] ... is ... | no-match | -| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | [true] ... is ... | match | -| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:8:9:8:28 | ... ...; | | -| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:17:8:27 | typeof(...) | | -| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:3:10:3:10 | exit M (normal) | | +| TypeAccesses.cs:6:13:6:23 | ... as ... | TypeAccesses.cs:6:13:6:23 | After ... as ... | | +| TypeAccesses.cs:6:13:6:23 | After ... as ... | TypeAccesses.cs:6:9:6:23 | ... = ... | | +| TypeAccesses.cs:6:13:6:23 | Before ... as ... | TypeAccesses.cs:6:13:6:13 | access to parameter o | | +| TypeAccesses.cs:7:9:7:25 | After if (...) ... | TypeAccesses.cs:8:9:8:28 | ... ...; | | +| TypeAccesses.cs:7:9:7:25 | if (...) ... | TypeAccesses.cs:7:13:7:22 | Before ... is ... | | +| TypeAccesses.cs:7:13:7:13 | access to parameter o | TypeAccesses.cs:7:13:7:22 | ... is ... | | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | false | +| TypeAccesses.cs:7:13:7:22 | ... is ... | TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | true | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [false] | TypeAccesses.cs:7:9:7:25 | After if (...) ... | | +| TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | TypeAccesses.cs:7:25:7:25 | ; | | +| TypeAccesses.cs:7:13:7:22 | Before ... is ... | TypeAccesses.cs:7:13:7:13 | access to parameter o | | +| TypeAccesses.cs:7:13:7:22 | [MatchTrue] ... is ... | TypeAccesses.cs:7:18:7:22 | Int32 j | | +| TypeAccesses.cs:7:18:7:22 | Int32 j | TypeAccesses.cs:7:13:7:22 | After ... is ... [true] | true | +| TypeAccesses.cs:7:25:7:25 | ; | TypeAccesses.cs:7:9:7:25 | After if (...) ... | | +| TypeAccesses.cs:8:9:8:28 | ... ...; | TypeAccesses.cs:8:13:8:27 | Before Type t = ... | | +| TypeAccesses.cs:8:9:8:28 | After ... ...; | TypeAccesses.cs:4:5:9:5 | After {...} | | +| TypeAccesses.cs:8:13:8:13 | access to local variable t | TypeAccesses.cs:8:17:8:27 | typeof(...) | | +| TypeAccesses.cs:8:13:8:27 | After Type t = ... | TypeAccesses.cs:8:9:8:28 | After ... ...; | | +| TypeAccesses.cs:8:13:8:27 | Before Type t = ... | TypeAccesses.cs:8:13:8:13 | access to local variable t | | +| TypeAccesses.cs:8:13:8:27 | Type t = ... | TypeAccesses.cs:8:13:8:27 | After Type t = ... | | | TypeAccesses.cs:8:17:8:27 | typeof(...) | TypeAccesses.cs:8:13:8:27 | Type t = ... | | -| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | {...} | | -| VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | call to constructor Object | | -| VarDecls.cs:3:7:3:14 | enter VarDecls | VarDecls.cs:3:7:3:14 | this access | | -| VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | VarDecls.cs:3:7:3:14 | exit VarDecls | | +| VarDecls.cs:3:7:3:14 | After call to constructor Object | VarDecls.cs:3:7:3:14 | {...} | | +| VarDecls.cs:3:7:3:14 | After call to method | VarDecls.cs:3:7:3:14 | Before call to constructor Object | | +| VarDecls.cs:3:7:3:14 | Before call to constructor Object | VarDecls.cs:3:7:3:14 | call to constructor Object | | +| VarDecls.cs:3:7:3:14 | Before call to method | VarDecls.cs:3:7:3:14 | this access | | +| VarDecls.cs:3:7:3:14 | Entry | VarDecls.cs:3:7:3:14 | Before call to method | | +| VarDecls.cs:3:7:3:14 | Normal Exit | VarDecls.cs:3:7:3:14 | Exit | | +| VarDecls.cs:3:7:3:14 | call to constructor Object | VarDecls.cs:3:7:3:14 | After call to constructor Object | | +| VarDecls.cs:3:7:3:14 | call to method | VarDecls.cs:3:7:3:14 | After call to method | | | VarDecls.cs:3:7:3:14 | this access | VarDecls.cs:3:7:3:14 | call to method | | -| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | exit VarDecls (normal) | | -| VarDecls.cs:5:18:5:19 | enter M1 | VarDecls.cs:6:5:11:5 | {...} | | -| VarDecls.cs:5:18:5:19 | exit M1 (normal) | VarDecls.cs:5:18:5:19 | exit M1 | | +| VarDecls.cs:3:7:3:14 | {...} | VarDecls.cs:3:7:3:14 | Normal Exit | | +| VarDecls.cs:5:18:5:19 | Entry | VarDecls.cs:6:5:11:5 | {...} | | +| VarDecls.cs:5:18:5:19 | Normal Exit | VarDecls.cs:5:18:5:19 | Exit | | | VarDecls.cs:6:5:11:5 | {...} | VarDecls.cs:7:9:10:9 | fixed(...) { ... } | | -| VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:7:27:7:33 | access to parameter strings | | -| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:44:7:50 | access to parameter strings | | +| VarDecls.cs:7:9:10:9 | fixed(...) { ... } | VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | | +| VarDecls.cs:7:22:7:23 | access to local variable c1 | VarDecls.cs:7:27:7:36 | Before (...) ... | | +| VarDecls.cs:7:22:7:36 | After Char* c1 = ... | VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | | +| VarDecls.cs:7:22:7:36 | Before Char* c1 = ... | VarDecls.cs:7:22:7:23 | access to local variable c1 | | +| VarDecls.cs:7:22:7:36 | Char* c1 = ... | VarDecls.cs:7:22:7:36 | After Char* c1 = ... | | | VarDecls.cs:7:27:7:33 | access to parameter strings | VarDecls.cs:7:35:7:35 | 0 | | -| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:22:7:36 | Char* c1 = ... | | -| VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:27:7:36 | (...) ... | | +| VarDecls.cs:7:27:7:36 | (...) ... | VarDecls.cs:7:27:7:36 | After (...) ... | | +| VarDecls.cs:7:27:7:36 | After (...) ... | VarDecls.cs:7:22:7:36 | Char* c1 = ... | | +| VarDecls.cs:7:27:7:36 | After access to array element | VarDecls.cs:7:27:7:36 | (...) ... | | +| VarDecls.cs:7:27:7:36 | Before (...) ... | VarDecls.cs:7:27:7:36 | Before access to array element | | +| VarDecls.cs:7:27:7:36 | Before access to array element | VarDecls.cs:7:27:7:33 | access to parameter strings | | +| VarDecls.cs:7:27:7:36 | access to array element | VarDecls.cs:7:27:7:36 | After access to array element | | | VarDecls.cs:7:35:7:35 | 0 | VarDecls.cs:7:27:7:36 | access to array element | | -| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:8:9:10:9 | {...} | | +| VarDecls.cs:7:39:7:40 | access to local variable c2 | VarDecls.cs:7:44:7:53 | Before (...) ... | | +| VarDecls.cs:7:39:7:53 | After Char* c2 = ... | VarDecls.cs:8:9:10:9 | {...} | | +| VarDecls.cs:7:39:7:53 | Before Char* c2 = ... | VarDecls.cs:7:39:7:40 | access to local variable c2 | | +| VarDecls.cs:7:39:7:53 | Char* c2 = ... | VarDecls.cs:7:39:7:53 | After Char* c2 = ... | | | VarDecls.cs:7:44:7:50 | access to parameter strings | VarDecls.cs:7:52:7:52 | 1 | | -| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:39:7:53 | Char* c2 = ... | | -| VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:44:7:53 | (...) ... | | +| VarDecls.cs:7:44:7:53 | (...) ... | VarDecls.cs:7:44:7:53 | After (...) ... | | +| VarDecls.cs:7:44:7:53 | After (...) ... | VarDecls.cs:7:39:7:53 | Char* c2 = ... | | +| VarDecls.cs:7:44:7:53 | After access to array element | VarDecls.cs:7:44:7:53 | (...) ... | | +| VarDecls.cs:7:44:7:53 | Before (...) ... | VarDecls.cs:7:44:7:53 | Before access to array element | | +| VarDecls.cs:7:44:7:53 | Before access to array element | VarDecls.cs:7:44:7:50 | access to parameter strings | | +| VarDecls.cs:7:44:7:53 | access to array element | VarDecls.cs:7:44:7:53 | After access to array element | | | VarDecls.cs:7:52:7:52 | 1 | VarDecls.cs:7:44:7:53 | access to array element | | -| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:9:27:9:28 | access to local variable c1 | | -| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:5:18:5:19 | exit M1 (normal) | return | -| VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:13:9:29 | return ...; | | +| VarDecls.cs:8:9:10:9 | {...} | VarDecls.cs:9:13:9:29 | Before return ...; | | +| VarDecls.cs:9:13:9:29 | Before return ...; | VarDecls.cs:9:20:9:28 | Before (...) ... | | +| VarDecls.cs:9:13:9:29 | return ...; | VarDecls.cs:5:18:5:19 | Normal Exit | return | +| VarDecls.cs:9:20:9:28 | (...) ... | VarDecls.cs:9:20:9:28 | After (...) ... | | +| VarDecls.cs:9:20:9:28 | After (...) ... | VarDecls.cs:9:13:9:29 | return ...; | | +| VarDecls.cs:9:20:9:28 | Before (...) ... | VarDecls.cs:9:27:9:28 | access to local variable c1 | | | VarDecls.cs:9:27:9:28 | access to local variable c1 | VarDecls.cs:9:20:9:28 | (...) ... | | -| VarDecls.cs:13:12:13:13 | enter M2 | VarDecls.cs:14:5:17:5 | {...} | | -| VarDecls.cs:13:12:13:13 | exit M2 (normal) | VarDecls.cs:13:12:13:13 | exit M2 | | +| VarDecls.cs:13:12:13:13 | Entry | VarDecls.cs:14:5:17:5 | {...} | | +| VarDecls.cs:13:12:13:13 | Normal Exit | VarDecls.cs:13:12:13:13 | Exit | | | VarDecls.cs:14:5:17:5 | {...} | VarDecls.cs:15:9:15:30 | ... ...; | | -| VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:21:15:21 | access to parameter s | | -| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:29:15:29 | access to parameter s | | +| VarDecls.cs:15:9:15:30 | ... ...; | VarDecls.cs:15:16:15:21 | Before String s1 = ... | | +| VarDecls.cs:15:9:15:30 | After ... ...; | VarDecls.cs:16:9:16:23 | Before return ...; | | +| VarDecls.cs:15:16:15:17 | access to local variable s1 | VarDecls.cs:15:21:15:21 | access to parameter s | | +| VarDecls.cs:15:16:15:21 | After String s1 = ... | VarDecls.cs:15:24:15:29 | Before String s2 = ... | | +| VarDecls.cs:15:16:15:21 | Before String s1 = ... | VarDecls.cs:15:16:15:17 | access to local variable s1 | | +| VarDecls.cs:15:16:15:21 | String s1 = ... | VarDecls.cs:15:16:15:21 | After String s1 = ... | | | VarDecls.cs:15:21:15:21 | access to parameter s | VarDecls.cs:15:16:15:21 | String s1 = ... | | -| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:16:16:16:17 | access to local variable s1 | | +| VarDecls.cs:15:24:15:25 | access to local variable s2 | VarDecls.cs:15:29:15:29 | access to parameter s | | +| VarDecls.cs:15:24:15:29 | After String s2 = ... | VarDecls.cs:15:9:15:30 | After ... ...; | | +| VarDecls.cs:15:24:15:29 | Before String s2 = ... | VarDecls.cs:15:24:15:25 | access to local variable s2 | | +| VarDecls.cs:15:24:15:29 | String s2 = ... | VarDecls.cs:15:24:15:29 | After String s2 = ... | | | VarDecls.cs:15:29:15:29 | access to parameter s | VarDecls.cs:15:24:15:29 | String s2 = ... | | -| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:13:12:13:13 | exit M2 (normal) | return | +| VarDecls.cs:16:9:16:23 | Before return ...; | VarDecls.cs:16:16:16:22 | Before ... + ... | | +| VarDecls.cs:16:9:16:23 | return ...; | VarDecls.cs:13:12:13:13 | Normal Exit | return | | VarDecls.cs:16:16:16:17 | access to local variable s1 | VarDecls.cs:16:21:16:22 | access to local variable s2 | | -| VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:9:16:23 | return ...; | | +| VarDecls.cs:16:16:16:22 | ... + ... | VarDecls.cs:16:16:16:22 | After ... + ... | | +| VarDecls.cs:16:16:16:22 | After ... + ... | VarDecls.cs:16:9:16:23 | return ...; | | +| VarDecls.cs:16:16:16:22 | Before ... + ... | VarDecls.cs:16:16:16:17 | access to local variable s1 | | | VarDecls.cs:16:21:16:22 | access to local variable s2 | VarDecls.cs:16:16:16:22 | ... + ... | | -| VarDecls.cs:19:7:19:8 | enter M3 | VarDecls.cs:20:5:26:5 | {...} | | -| VarDecls.cs:19:7:19:8 | exit M3 (normal) | VarDecls.cs:19:7:19:8 | exit M3 | | +| VarDecls.cs:19:7:19:8 | Entry | VarDecls.cs:20:5:26:5 | {...} | | +| VarDecls.cs:19:7:19:8 | Normal Exit | VarDecls.cs:19:7:19:8 | Exit | | | VarDecls.cs:20:5:26:5 | {...} | VarDecls.cs:21:9:22:13 | using (...) {...} | | -| VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:21:16:21:22 | object creation of type C | | -| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:22:13:22:13 | ; | | -| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:24:9:25:29 | using (...) {...} | | -| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:24:22:24:28 | object creation of type C | | -| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:35:24:41 | object creation of type C | | -| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:18:24:28 | C x = ... | | -| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:25:20:25:20 | access to parameter b | | -| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:31:24:41 | C y = ... | | -| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:19:7:19:8 | exit M3 (normal) | return | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:24:25:24 | access to local variable x | true | -| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:28:25:28 | access to local variable y | false | -| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:13:25:29 | return ...; | | -| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:20:25:28 | ... ? ... : ... | | -| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:20:25:28 | ... ? ... : ... | | -| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | {...} | | -| VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | call to constructor Object | | -| VarDecls.cs:28:11:28:11 | enter C | VarDecls.cs:28:11:28:11 | this access | | -| VarDecls.cs:28:11:28:11 | exit C (normal) | VarDecls.cs:28:11:28:11 | exit C | | +| VarDecls.cs:21:9:22:13 | After using (...) {...} | VarDecls.cs:24:9:25:29 | using (...) {...} | | +| VarDecls.cs:21:9:22:13 | using (...) {...} | VarDecls.cs:21:16:21:22 | Before object creation of type C | | +| VarDecls.cs:21:16:21:22 | After object creation of type C | VarDecls.cs:22:13:22:13 | ; | | +| VarDecls.cs:21:16:21:22 | Before object creation of type C | VarDecls.cs:21:16:21:22 | object creation of type C | | +| VarDecls.cs:21:16:21:22 | object creation of type C | VarDecls.cs:21:16:21:22 | After object creation of type C | | +| VarDecls.cs:22:13:22:13 | ; | VarDecls.cs:21:9:22:13 | After using (...) {...} | | +| VarDecls.cs:24:9:25:29 | using (...) {...} | VarDecls.cs:24:18:24:28 | Before C x = ... | | +| VarDecls.cs:24:18:24:18 | access to local variable x | VarDecls.cs:24:22:24:28 | Before object creation of type C | | +| VarDecls.cs:24:18:24:28 | After C x = ... | VarDecls.cs:24:31:24:41 | Before C y = ... | | +| VarDecls.cs:24:18:24:28 | Before C x = ... | VarDecls.cs:24:18:24:18 | access to local variable x | | +| VarDecls.cs:24:18:24:28 | C x = ... | VarDecls.cs:24:18:24:28 | After C x = ... | | +| VarDecls.cs:24:22:24:28 | After object creation of type C | VarDecls.cs:24:18:24:28 | C x = ... | | +| VarDecls.cs:24:22:24:28 | Before object creation of type C | VarDecls.cs:24:22:24:28 | object creation of type C | | +| VarDecls.cs:24:22:24:28 | object creation of type C | VarDecls.cs:24:22:24:28 | After object creation of type C | | +| VarDecls.cs:24:31:24:31 | access to local variable y | VarDecls.cs:24:35:24:41 | Before object creation of type C | | +| VarDecls.cs:24:31:24:41 | After C y = ... | VarDecls.cs:25:13:25:29 | Before return ...; | | +| VarDecls.cs:24:31:24:41 | Before C y = ... | VarDecls.cs:24:31:24:31 | access to local variable y | | +| VarDecls.cs:24:31:24:41 | C y = ... | VarDecls.cs:24:31:24:41 | After C y = ... | | +| VarDecls.cs:24:35:24:41 | After object creation of type C | VarDecls.cs:24:31:24:41 | C y = ... | | +| VarDecls.cs:24:35:24:41 | Before object creation of type C | VarDecls.cs:24:35:24:41 | object creation of type C | | +| VarDecls.cs:24:35:24:41 | object creation of type C | VarDecls.cs:24:35:24:41 | After object creation of type C | | +| VarDecls.cs:25:13:25:29 | Before return ...; | VarDecls.cs:25:20:25:28 | ... ? ... : ... | | +| VarDecls.cs:25:13:25:29 | return ...; | VarDecls.cs:19:7:19:8 | Normal Exit | return | +| VarDecls.cs:25:20:25:20 | After access to parameter b [false] | VarDecls.cs:25:28:25:28 | access to local variable y | | +| VarDecls.cs:25:20:25:20 | After access to parameter b [true] | VarDecls.cs:25:24:25:24 | access to local variable x | | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | After access to parameter b [false] | false | +| VarDecls.cs:25:20:25:20 | access to parameter b | VarDecls.cs:25:20:25:20 | After access to parameter b [true] | true | +| VarDecls.cs:25:20:25:28 | ... ? ... : ... | VarDecls.cs:25:20:25:20 | access to parameter b | | +| VarDecls.cs:25:20:25:28 | After ... ? ... : ... | VarDecls.cs:25:13:25:29 | return ...; | | +| VarDecls.cs:25:24:25:24 | access to local variable x | VarDecls.cs:25:20:25:28 | After ... ? ... : ... | | +| VarDecls.cs:25:28:25:28 | access to local variable y | VarDecls.cs:25:20:25:28 | After ... ? ... : ... | | +| VarDecls.cs:28:11:28:11 | After call to constructor Object | VarDecls.cs:28:11:28:11 | {...} | | +| VarDecls.cs:28:11:28:11 | After call to method | VarDecls.cs:28:11:28:11 | Before call to constructor Object | | +| VarDecls.cs:28:11:28:11 | Before call to constructor Object | VarDecls.cs:28:11:28:11 | call to constructor Object | | +| VarDecls.cs:28:11:28:11 | Before call to method | VarDecls.cs:28:11:28:11 | this access | | +| VarDecls.cs:28:11:28:11 | Entry | VarDecls.cs:28:11:28:11 | Before call to method | | +| VarDecls.cs:28:11:28:11 | Normal Exit | VarDecls.cs:28:11:28:11 | Exit | | +| VarDecls.cs:28:11:28:11 | call to constructor Object | VarDecls.cs:28:11:28:11 | After call to constructor Object | | +| VarDecls.cs:28:11:28:11 | call to method | VarDecls.cs:28:11:28:11 | After call to method | | | VarDecls.cs:28:11:28:11 | this access | VarDecls.cs:28:11:28:11 | call to method | | -| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | exit C (normal) | | -| VarDecls.cs:28:41:28:47 | enter Dispose | VarDecls.cs:28:51:28:53 | {...} | | -| VarDecls.cs:28:41:28:47 | exit Dispose (normal) | VarDecls.cs:28:41:28:47 | exit Dispose | | -| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | exit Dispose (normal) | | -| cflow.cs:5:17:5:20 | enter Main | cflow.cs:6:5:35:5 | {...} | | -| cflow.cs:5:17:5:20 | exit Main (normal) | cflow.cs:5:17:5:20 | exit Main | | +| VarDecls.cs:28:11:28:11 | {...} | VarDecls.cs:28:11:28:11 | Normal Exit | | +| VarDecls.cs:28:41:28:47 | Entry | VarDecls.cs:28:51:28:53 | {...} | | +| VarDecls.cs:28:41:28:47 | Normal Exit | VarDecls.cs:28:41:28:47 | Exit | | +| VarDecls.cs:28:51:28:53 | {...} | VarDecls.cs:28:41:28:47 | Normal Exit | | +| cflow.cs:5:17:5:20 | Entry | cflow.cs:6:5:35:5 | {...} | | +| cflow.cs:5:17:5:20 | Normal Exit | cflow.cs:5:17:5:20 | Exit | | +| cflow.cs:6:5:35:5 | After {...} | cflow.cs:5:17:5:20 | Normal Exit | | | cflow.cs:6:5:35:5 | {...} | cflow.cs:7:9:7:28 | ... ...; | | -| cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:17:7:20 | access to parameter args | | -| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:9:9:9:40 | ...; | | +| cflow.cs:7:9:7:28 | ... ...; | cflow.cs:7:13:7:27 | Before Int32 a = ... | | +| cflow.cs:7:9:7:28 | After ... ...; | cflow.cs:9:9:9:40 | ...; | | +| cflow.cs:7:13:7:13 | access to local variable a | cflow.cs:7:17:7:27 | Before access to property Length | | +| cflow.cs:7:13:7:27 | After Int32 a = ... | cflow.cs:7:9:7:28 | After ... ...; | | +| cflow.cs:7:13:7:27 | Before Int32 a = ... | cflow.cs:7:13:7:13 | access to local variable a | | +| cflow.cs:7:13:7:27 | Int32 a = ... | cflow.cs:7:13:7:27 | After Int32 a = ... | | | cflow.cs:7:17:7:20 | access to parameter args | cflow.cs:7:17:7:27 | access to property Length | | -| cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:13:7:27 | Int32 a = ... | | -| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:11:9:12:49 | if (...) ... | | -| cflow.cs:9:9:9:40 | ...; | cflow.cs:9:13:9:29 | object creation of type ControlFlow | | -| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:38:9:38 | access to local variable a | | -| cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:9:9:39 | ... = ... | | +| cflow.cs:7:17:7:27 | After access to property Length | cflow.cs:7:13:7:27 | Int32 a = ... | | +| cflow.cs:7:17:7:27 | Before access to property Length | cflow.cs:7:17:7:20 | access to parameter args | | +| cflow.cs:7:17:7:27 | access to property Length | cflow.cs:7:17:7:27 | After access to property Length | | +| cflow.cs:9:9:9:9 | access to local variable a | cflow.cs:9:13:9:39 | Before call to method Switch | | +| cflow.cs:9:9:9:39 | ... = ... | cflow.cs:9:9:9:39 | After ... = ... | | +| cflow.cs:9:9:9:39 | After ... = ... | cflow.cs:9:9:9:40 | After ...; | | +| cflow.cs:9:9:9:39 | Before ... = ... | cflow.cs:9:9:9:9 | access to local variable a | | +| cflow.cs:9:9:9:40 | ...; | cflow.cs:9:9:9:39 | Before ... = ... | | +| cflow.cs:9:9:9:40 | After ...; | cflow.cs:11:9:12:49 | if (...) ... | | +| cflow.cs:9:13:9:29 | After object creation of type ControlFlow | cflow.cs:9:38:9:38 | access to local variable a | | +| cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | cflow.cs:9:13:9:29 | object creation of type ControlFlow | | +| cflow.cs:9:13:9:29 | object creation of type ControlFlow | cflow.cs:9:13:9:29 | After object creation of type ControlFlow | | +| cflow.cs:9:13:9:39 | After call to method Switch | cflow.cs:9:9:9:39 | ... = ... | | +| cflow.cs:9:13:9:39 | Before call to method Switch | cflow.cs:9:13:9:29 | Before object creation of type ControlFlow | | +| cflow.cs:9:13:9:39 | call to method Switch | cflow.cs:9:13:9:39 | After call to method Switch | | | cflow.cs:9:38:9:38 | access to local variable a | cflow.cs:9:13:9:39 | call to method Switch | | -| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:11:13:11:13 | access to local variable a | | +| cflow.cs:11:9:12:49 | After if (...) ... | cflow.cs:14:9:17:9 | while (...) ... | | +| cflow.cs:11:9:12:49 | if (...) ... | cflow.cs:11:13:11:17 | Before ... > ... | | | cflow.cs:11:13:11:13 | access to local variable a | cflow.cs:11:17:11:17 | 3 | | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:12:13:12:49 | ...; | true | -| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:14:9:17:9 | while (...) ... | false | +| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | After ... > ... [false] | false | +| cflow.cs:11:13:11:17 | ... > ... | cflow.cs:11:13:11:17 | After ... > ... [true] | true | +| cflow.cs:11:13:11:17 | After ... > ... [false] | cflow.cs:11:9:12:49 | After if (...) ... | | +| cflow.cs:11:13:11:17 | After ... > ... [true] | cflow.cs:12:13:12:49 | ...; | | +| cflow.cs:11:13:11:17 | Before ... > ... | cflow.cs:11:13:11:13 | access to local variable a | | | cflow.cs:11:17:11:17 | 3 | cflow.cs:11:13:11:17 | ... > ... | | -| cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:14:9:17:9 | while (...) ... | | -| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:31:12:47 | "more than a few" | | +| cflow.cs:12:13:12:48 | After call to method WriteLine | cflow.cs:12:13:12:49 | After ...; | | +| cflow.cs:12:13:12:48 | Before call to method WriteLine | cflow.cs:12:31:12:47 | "more than a few" | | +| cflow.cs:12:13:12:48 | call to method WriteLine | cflow.cs:12:13:12:48 | After call to method WriteLine | | +| cflow.cs:12:13:12:49 | ...; | cflow.cs:12:13:12:48 | Before call to method WriteLine | | +| cflow.cs:12:13:12:49 | After ...; | cflow.cs:11:9:12:49 | After if (...) ... | | | cflow.cs:12:31:12:47 | "more than a few" | cflow.cs:12:13:12:48 | call to method WriteLine | | -| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:16:14:16 | access to local variable a | | +| cflow.cs:14:9:17:9 | After while (...) ... | cflow.cs:19:9:22:25 | do ... while (...); | | +| cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | cflow.cs:14:16:14:20 | Before ... > ... | | +| cflow.cs:14:9:17:9 | while (...) ... | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | | | cflow.cs:14:16:14:16 | access to local variable a | cflow.cs:14:20:14:20 | 0 | | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:15:9:17:9 | {...} | true | -| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:19:9:22:25 | do ... while (...); | false | +| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | After ... > ... [false] | false | +| cflow.cs:14:16:14:20 | ... > ... | cflow.cs:14:16:14:20 | After ... > ... [true] | true | +| cflow.cs:14:16:14:20 | After ... > ... [false] | cflow.cs:14:9:17:9 | After while (...) ... | | +| cflow.cs:14:16:14:20 | After ... > ... [true] | cflow.cs:15:9:17:9 | {...} | | +| cflow.cs:14:16:14:20 | Before ... > ... | cflow.cs:14:16:14:16 | access to local variable a | | | cflow.cs:14:20:14:20 | 0 | cflow.cs:14:16:14:20 | ... > ... | | +| cflow.cs:15:9:17:9 | After {...} | cflow.cs:14:9:17:9 | [LoopHeader] while (...) ... | | | cflow.cs:15:9:17:9 | {...} | cflow.cs:16:13:16:41 | ...; | | -| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:14:16:14:16 | access to local variable a | | -| cflow.cs:16:13:16:41 | ...; | cflow.cs:16:31:16:31 | access to local variable a | | +| cflow.cs:16:13:16:40 | After call to method WriteLine | cflow.cs:16:13:16:41 | After ...; | | +| cflow.cs:16:13:16:40 | Before call to method WriteLine | cflow.cs:16:31:16:39 | Before ... * ... | | +| cflow.cs:16:13:16:40 | call to method WriteLine | cflow.cs:16:13:16:40 | After call to method WriteLine | | +| cflow.cs:16:13:16:41 | ...; | cflow.cs:16:13:16:40 | Before call to method WriteLine | | +| cflow.cs:16:13:16:41 | After ...; | cflow.cs:15:9:17:9 | After {...} | | | cflow.cs:16:31:16:31 | access to local variable a | cflow.cs:16:31:16:33 | ...-- | | -| cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:37:16:39 | 100 | | -| cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:13:16:40 | call to method WriteLine | | +| cflow.cs:16:31:16:33 | ...-- | cflow.cs:16:31:16:33 | After ...-- | | +| cflow.cs:16:31:16:33 | After ...-- | cflow.cs:16:37:16:39 | 100 | | +| cflow.cs:16:31:16:33 | Before ...-- | cflow.cs:16:31:16:31 | access to local variable a | | +| cflow.cs:16:31:16:39 | ... * ... | cflow.cs:16:31:16:39 | After ... * ... | | +| cflow.cs:16:31:16:39 | After ... * ... | cflow.cs:16:13:16:40 | call to method WriteLine | | +| cflow.cs:16:31:16:39 | Before ... * ... | cflow.cs:16:31:16:33 | Before ...-- | | | cflow.cs:16:37:16:39 | 100 | cflow.cs:16:31:16:39 | ... * ... | | +| cflow.cs:19:9:22:25 | After do ... while (...); | cflow.cs:24:9:34:9 | for (...;...;...) ... | | +| cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | cflow.cs:22:18:22:23 | Before ... < ... | | | cflow.cs:19:9:22:25 | do ... while (...); | cflow.cs:20:9:22:9 | {...} | | +| cflow.cs:20:9:22:9 | After {...} | cflow.cs:19:9:22:25 | [LoopHeader] do ... while (...); | | | cflow.cs:20:9:22:9 | {...} | cflow.cs:21:13:21:36 | ...; | | -| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:22:18:22:18 | access to local variable a | | -| cflow.cs:21:13:21:36 | ...; | cflow.cs:21:32:21:32 | access to local variable a | | -| cflow.cs:21:31:21:34 | -... | cflow.cs:21:13:21:35 | call to method WriteLine | | +| cflow.cs:21:13:21:35 | After call to method WriteLine | cflow.cs:21:13:21:36 | After ...; | | +| cflow.cs:21:13:21:35 | Before call to method WriteLine | cflow.cs:21:31:21:34 | Before -... | | +| cflow.cs:21:13:21:35 | call to method WriteLine | cflow.cs:21:13:21:35 | After call to method WriteLine | | +| cflow.cs:21:13:21:36 | ...; | cflow.cs:21:13:21:35 | Before call to method WriteLine | | +| cflow.cs:21:13:21:36 | After ...; | cflow.cs:20:9:22:9 | After {...} | | +| cflow.cs:21:31:21:34 | -... | cflow.cs:21:31:21:34 | After -... | | +| cflow.cs:21:31:21:34 | After -... | cflow.cs:21:13:21:35 | call to method WriteLine | | +| cflow.cs:21:31:21:34 | Before -... | cflow.cs:21:32:21:34 | Before ...++ | | | cflow.cs:21:32:21:32 | access to local variable a | cflow.cs:21:32:21:34 | ...++ | | -| cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:31:21:34 | -... | | +| cflow.cs:21:32:21:34 | ...++ | cflow.cs:21:32:21:34 | After ...++ | | +| cflow.cs:21:32:21:34 | After ...++ | cflow.cs:21:31:21:34 | -... | | +| cflow.cs:21:32:21:34 | Before ...++ | cflow.cs:21:32:21:32 | access to local variable a | | | cflow.cs:22:18:22:18 | access to local variable a | cflow.cs:22:22:22:23 | 10 | | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:20:9:22:9 | {...} | true | -| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:24:9:34:9 | for (...;...;...) ... | false | +| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | After ... < ... [false] | false | +| cflow.cs:22:18:22:23 | ... < ... | cflow.cs:22:18:22:23 | After ... < ... [true] | true | +| cflow.cs:22:18:22:23 | After ... < ... [false] | cflow.cs:19:9:22:25 | After do ... while (...); | | +| cflow.cs:22:18:22:23 | After ... < ... [true] | cflow.cs:20:9:22:9 | {...} | | +| cflow.cs:22:18:22:23 | Before ... < ... | cflow.cs:22:18:22:18 | access to local variable a | | | cflow.cs:22:22:22:23 | 10 | cflow.cs:22:18:22:23 | ... < ... | | -| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:22:24:22 | 1 | | -| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:25:24:25 | access to local variable i | | +| cflow.cs:24:9:34:9 | After for (...;...;...) ... | cflow.cs:6:5:35:5 | After {...} | | +| cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:24:34:24:36 | Before ...++ | | +| cflow.cs:24:9:34:9 | for (...;...;...) ... | cflow.cs:24:18:24:22 | Before Int32 i = ... | | +| cflow.cs:24:18:24:18 | access to local variable i | cflow.cs:24:22:24:22 | 1 | | +| cflow.cs:24:18:24:22 | After Int32 i = ... | cflow.cs:24:25:24:31 | Before ... <= ... | | +| cflow.cs:24:18:24:22 | Before Int32 i = ... | cflow.cs:24:18:24:18 | access to local variable i | | +| cflow.cs:24:18:24:22 | Int32 i = ... | cflow.cs:24:18:24:22 | After Int32 i = ... | | | cflow.cs:24:22:24:22 | 1 | cflow.cs:24:18:24:22 | Int32 i = ... | | | cflow.cs:24:25:24:25 | access to local variable i | cflow.cs:24:30:24:31 | 20 | | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:5:17:5:20 | exit Main (normal) | false | -| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:25:9:34:9 | {...} | true | +| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [false] | false | +| cflow.cs:24:25:24:31 | ... <= ... | cflow.cs:24:25:24:31 | After ... <= ... [true] | true | +| cflow.cs:24:25:24:31 | After ... <= ... [false] | cflow.cs:24:9:34:9 | After for (...;...;...) ... | | +| cflow.cs:24:25:24:31 | After ... <= ... [true] | cflow.cs:25:9:34:9 | {...} | | +| cflow.cs:24:25:24:31 | Before ... <= ... | cflow.cs:24:25:24:25 | access to local variable i | | | cflow.cs:24:30:24:31 | 20 | cflow.cs:24:25:24:31 | ... <= ... | | | cflow.cs:24:34:24:34 | access to local variable i | cflow.cs:24:34:24:36 | ...++ | | -| cflow.cs:24:34:24:36 | ...++ | cflow.cs:24:25:24:25 | access to local variable i | | +| cflow.cs:24:34:24:36 | ...++ | cflow.cs:24:34:24:36 | After ...++ | | +| cflow.cs:24:34:24:36 | After ...++ | cflow.cs:24:25:24:31 | Before ... <= ... | | +| cflow.cs:24:34:24:36 | Before ...++ | cflow.cs:24:34:24:34 | access to local variable i | | +| cflow.cs:25:9:34:9 | After {...} | cflow.cs:24:9:34:9 | [LoopHeader] for (...;...;...) ... | | | cflow.cs:25:9:34:9 | {...} | cflow.cs:26:13:33:37 | if (...) ... | | -| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:26:17:26:17 | access to local variable i | | +| cflow.cs:26:13:33:37 | After if (...) ... | cflow.cs:25:9:34:9 | After {...} | | +| cflow.cs:26:13:33:37 | if (...) ... | cflow.cs:26:17:26:40 | ... && ... | | | cflow.cs:26:17:26:17 | access to local variable i | cflow.cs:26:21:26:21 | 3 | | -| cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:26:26:26 | 0 | | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:40 | [false] ... && ... | false | -| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:31:26:31 | access to local variable i | true | -| cflow.cs:26:17:26:40 | [false] ... && ... | cflow.cs:28:18:33:37 | if (...) ... | false | -| cflow.cs:26:17:26:40 | [true] ... && ... | cflow.cs:27:17:27:46 | ...; | true | +| cflow.cs:26:17:26:21 | ... % ... | cflow.cs:26:17:26:21 | After ... % ... | | +| cflow.cs:26:17:26:21 | After ... % ... | cflow.cs:26:26:26:26 | 0 | | +| cflow.cs:26:17:26:21 | Before ... % ... | cflow.cs:26:17:26:17 | access to local variable i | | +| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | After ... == ... [false] | false | +| cflow.cs:26:17:26:26 | ... == ... | cflow.cs:26:17:26:26 | After ... == ... [true] | true | +| cflow.cs:26:17:26:26 | After ... == ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | false | +| cflow.cs:26:17:26:26 | After ... == ... [true] | cflow.cs:26:31:26:40 | Before ... == ... | | +| cflow.cs:26:17:26:26 | Before ... == ... | cflow.cs:26:17:26:21 | Before ... % ... | | +| cflow.cs:26:17:26:40 | ... && ... | cflow.cs:26:17:26:26 | Before ... == ... | | +| cflow.cs:26:17:26:40 | After ... && ... [false] | cflow.cs:28:18:33:37 | if (...) ... | | +| cflow.cs:26:17:26:40 | After ... && ... [true] | cflow.cs:27:17:27:46 | ...; | | | cflow.cs:26:21:26:21 | 3 | cflow.cs:26:17:26:21 | ... % ... | | | cflow.cs:26:26:26:26 | 0 | cflow.cs:26:17:26:26 | ... == ... | | | cflow.cs:26:31:26:31 | access to local variable i | cflow.cs:26:35:26:35 | 5 | | -| cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:40:26:40 | 0 | | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:17:26:40 | [false] ... && ... | false | -| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:17:26:40 | [true] ... && ... | true | +| cflow.cs:26:31:26:35 | ... % ... | cflow.cs:26:31:26:35 | After ... % ... | | +| cflow.cs:26:31:26:35 | After ... % ... | cflow.cs:26:40:26:40 | 0 | | +| cflow.cs:26:31:26:35 | Before ... % ... | cflow.cs:26:31:26:31 | access to local variable i | | +| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | After ... == ... [false] | false | +| cflow.cs:26:31:26:40 | ... == ... | cflow.cs:26:31:26:40 | After ... == ... [true] | true | +| cflow.cs:26:31:26:40 | After ... == ... [false] | cflow.cs:26:17:26:40 | After ... && ... [false] | false | +| cflow.cs:26:31:26:40 | After ... == ... [true] | cflow.cs:26:17:26:40 | After ... && ... [true] | true | +| cflow.cs:26:31:26:40 | Before ... == ... | cflow.cs:26:31:26:35 | Before ... % ... | | | cflow.cs:26:35:26:35 | 5 | cflow.cs:26:31:26:35 | ... % ... | | | cflow.cs:26:40:26:40 | 0 | cflow.cs:26:31:26:40 | ... == ... | | -| cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | | -| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:35:27:44 | "FizzBuzz" | | +| cflow.cs:27:17:27:45 | After call to method WriteLine | cflow.cs:27:17:27:46 | After ...; | | +| cflow.cs:27:17:27:45 | Before call to method WriteLine | cflow.cs:27:35:27:44 | "FizzBuzz" | | +| cflow.cs:27:17:27:45 | call to method WriteLine | cflow.cs:27:17:27:45 | After call to method WriteLine | | +| cflow.cs:27:17:27:46 | ...; | cflow.cs:27:17:27:45 | Before call to method WriteLine | | +| cflow.cs:27:17:27:46 | After ...; | cflow.cs:26:13:33:37 | After if (...) ... | | | cflow.cs:27:35:27:44 | "FizzBuzz" | cflow.cs:27:17:27:45 | call to method WriteLine | | -| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:22:28:22 | access to local variable i | | +| cflow.cs:28:18:33:37 | After if (...) ... | cflow.cs:26:13:33:37 | After if (...) ... | | +| cflow.cs:28:18:33:37 | if (...) ... | cflow.cs:28:22:28:31 | Before ... == ... | | | cflow.cs:28:22:28:22 | access to local variable i | cflow.cs:28:26:28:26 | 3 | | -| cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:31:28:31 | 0 | | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:29:17:29:42 | ...; | true | -| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:30:18:33:37 | if (...) ... | false | +| cflow.cs:28:22:28:26 | ... % ... | cflow.cs:28:22:28:26 | After ... % ... | | +| cflow.cs:28:22:28:26 | After ... % ... | cflow.cs:28:31:28:31 | 0 | | +| cflow.cs:28:22:28:26 | Before ... % ... | cflow.cs:28:22:28:22 | access to local variable i | | +| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | After ... == ... [false] | false | +| cflow.cs:28:22:28:31 | ... == ... | cflow.cs:28:22:28:31 | After ... == ... [true] | true | +| cflow.cs:28:22:28:31 | After ... == ... [false] | cflow.cs:30:18:33:37 | if (...) ... | | +| cflow.cs:28:22:28:31 | After ... == ... [true] | cflow.cs:29:17:29:42 | ...; | | +| cflow.cs:28:22:28:31 | Before ... == ... | cflow.cs:28:22:28:26 | Before ... % ... | | | cflow.cs:28:26:28:26 | 3 | cflow.cs:28:22:28:26 | ... % ... | | | cflow.cs:28:31:28:31 | 0 | cflow.cs:28:22:28:31 | ... == ... | | -| cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | | -| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:35:29:40 | "Fizz" | | +| cflow.cs:29:17:29:41 | After call to method WriteLine | cflow.cs:29:17:29:42 | After ...; | | +| cflow.cs:29:17:29:41 | Before call to method WriteLine | cflow.cs:29:35:29:40 | "Fizz" | | +| cflow.cs:29:17:29:41 | call to method WriteLine | cflow.cs:29:17:29:41 | After call to method WriteLine | | +| cflow.cs:29:17:29:42 | ...; | cflow.cs:29:17:29:41 | Before call to method WriteLine | | +| cflow.cs:29:17:29:42 | After ...; | cflow.cs:28:18:33:37 | After if (...) ... | | | cflow.cs:29:35:29:40 | "Fizz" | cflow.cs:29:17:29:41 | call to method WriteLine | | -| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:22:30:22 | access to local variable i | | +| cflow.cs:30:18:33:37 | After if (...) ... | cflow.cs:28:18:33:37 | After if (...) ... | | +| cflow.cs:30:18:33:37 | if (...) ... | cflow.cs:30:22:30:31 | Before ... == ... | | | cflow.cs:30:22:30:22 | access to local variable i | cflow.cs:30:26:30:26 | 5 | | -| cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:31:30:31 | 0 | | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:31:17:31:42 | ...; | true | -| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:33:17:33:37 | ...; | false | +| cflow.cs:30:22:30:26 | ... % ... | cflow.cs:30:22:30:26 | After ... % ... | | +| cflow.cs:30:22:30:26 | After ... % ... | cflow.cs:30:31:30:31 | 0 | | +| cflow.cs:30:22:30:26 | Before ... % ... | cflow.cs:30:22:30:22 | access to local variable i | | +| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | After ... == ... [false] | false | +| cflow.cs:30:22:30:31 | ... == ... | cflow.cs:30:22:30:31 | After ... == ... [true] | true | +| cflow.cs:30:22:30:31 | After ... == ... [false] | cflow.cs:33:17:33:37 | ...; | | +| cflow.cs:30:22:30:31 | After ... == ... [true] | cflow.cs:31:17:31:42 | ...; | | +| cflow.cs:30:22:30:31 | Before ... == ... | cflow.cs:30:22:30:26 | Before ... % ... | | | cflow.cs:30:26:30:26 | 5 | cflow.cs:30:22:30:26 | ... % ... | | | cflow.cs:30:31:30:31 | 0 | cflow.cs:30:22:30:31 | ... == ... | | -| cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | | -| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:35:31:40 | "Buzz" | | +| cflow.cs:31:17:31:41 | After call to method WriteLine | cflow.cs:31:17:31:42 | After ...; | | +| cflow.cs:31:17:31:41 | Before call to method WriteLine | cflow.cs:31:35:31:40 | "Buzz" | | +| cflow.cs:31:17:31:41 | call to method WriteLine | cflow.cs:31:17:31:41 | After call to method WriteLine | | +| cflow.cs:31:17:31:42 | ...; | cflow.cs:31:17:31:41 | Before call to method WriteLine | | +| cflow.cs:31:17:31:42 | After ...; | cflow.cs:30:18:33:37 | After if (...) ... | | | cflow.cs:31:35:31:40 | "Buzz" | cflow.cs:31:17:31:41 | call to method WriteLine | | -| cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:24:34:24:34 | access to local variable i | | -| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:35:33:35 | access to local variable i | | +| cflow.cs:33:17:33:36 | After call to method WriteLine | cflow.cs:33:17:33:37 | After ...; | | +| cflow.cs:33:17:33:36 | Before call to method WriteLine | cflow.cs:33:35:33:35 | access to local variable i | | +| cflow.cs:33:17:33:36 | call to method WriteLine | cflow.cs:33:17:33:36 | After call to method WriteLine | | +| cflow.cs:33:17:33:37 | ...; | cflow.cs:33:17:33:36 | Before call to method WriteLine | | +| cflow.cs:33:17:33:37 | After ...; | cflow.cs:30:18:33:37 | After if (...) ... | | | cflow.cs:33:35:33:35 | access to local variable i | cflow.cs:33:17:33:36 | call to method WriteLine | | -| cflow.cs:37:17:37:22 | enter Switch | cflow.cs:38:5:68:5 | {...} | | -| cflow.cs:37:17:37:22 | exit Switch (abnormal) | cflow.cs:37:17:37:22 | exit Switch | | -| cflow.cs:37:17:37:22 | exit Switch (normal) | cflow.cs:37:17:37:22 | exit Switch | | +| cflow.cs:37:17:37:22 | Entry | cflow.cs:38:5:68:5 | {...} | | +| cflow.cs:37:17:37:22 | Exceptional Exit | cflow.cs:37:17:37:22 | Exit | | +| cflow.cs:37:17:37:22 | Normal Exit | cflow.cs:37:17:37:22 | Exit | | | cflow.cs:38:5:68:5 | {...} | cflow.cs:39:9:50:9 | switch (...) {...} | | +| cflow.cs:39:9:50:9 | After switch (...) {...} | cflow.cs:51:9:59:9 | switch (...) {...} | | | cflow.cs:39:9:50:9 | switch (...) {...} | cflow.cs:39:17:39:17 | access to parameter a | | | cflow.cs:39:17:39:17 | access to parameter a | cflow.cs:41:13:41:19 | case ...: | | -| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:18:41:18 | 1 | | -| cflow.cs:41:18:41:18 | 1 | cflow.cs:42:17:42:39 | ...; | match | -| cflow.cs:41:18:41:18 | 1 | cflow.cs:44:13:44:19 | case ...: | no-match | -| cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:43:27:43:27 | 2 | | -| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:35:42:37 | "1" | | +| cflow.cs:41:13:41:19 | After case ...: [match] | cflow.cs:41:18:41:18 | 1 | | +| cflow.cs:41:13:41:19 | After case ...: [no-match] | cflow.cs:44:13:44:19 | case ...: | | +| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:13:41:19 | After case ...: [match] | match | +| cflow.cs:41:13:41:19 | case ...: | cflow.cs:41:13:41:19 | After case ...: [no-match] | no-match | +| cflow.cs:41:18:41:18 | 1 | cflow.cs:42:17:42:39 | ...; | | +| cflow.cs:42:17:42:38 | After call to method WriteLine | cflow.cs:42:17:42:39 | After ...; | | +| cflow.cs:42:17:42:38 | Before call to method WriteLine | cflow.cs:42:35:42:37 | "1" | | +| cflow.cs:42:17:42:38 | call to method WriteLine | cflow.cs:42:17:42:38 | After call to method WriteLine | | +| cflow.cs:42:17:42:39 | ...; | cflow.cs:42:17:42:38 | Before call to method WriteLine | | +| cflow.cs:42:17:42:39 | After ...; | cflow.cs:43:17:43:28 | Before goto case ...; | | | cflow.cs:42:35:42:37 | "1" | cflow.cs:42:17:42:38 | call to method WriteLine | | -| cflow.cs:43:17:43:28 | goto case ...; | cflow.cs:44:13:44:19 | case ...: | goto | +| cflow.cs:43:17:43:28 | Before goto case ...; | cflow.cs:43:27:43:27 | 2 | | +| cflow.cs:43:17:43:28 | goto case ...; | cflow.cs:44:13:44:19 | After case ...: [match] | goto | | cflow.cs:43:27:43:27 | 2 | cflow.cs:43:17:43:28 | goto case ...; | | -| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:18:44:18 | 2 | | -| cflow.cs:44:18:44:18 | 2 | cflow.cs:45:17:45:39 | ...; | match | -| cflow.cs:44:18:44:18 | 2 | cflow.cs:47:13:47:19 | case ...: | no-match | -| cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:46:27:46:27 | 1 | | -| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:35:45:37 | "2" | | +| cflow.cs:44:13:44:19 | After case ...: [match] | cflow.cs:44:18:44:18 | 2 | | +| cflow.cs:44:13:44:19 | After case ...: [no-match] | cflow.cs:47:13:47:19 | case ...: | | +| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:13:44:19 | After case ...: [match] | match | +| cflow.cs:44:13:44:19 | case ...: | cflow.cs:44:13:44:19 | After case ...: [no-match] | no-match | +| cflow.cs:44:18:44:18 | 2 | cflow.cs:45:17:45:39 | ...; | | +| cflow.cs:45:17:45:38 | After call to method WriteLine | cflow.cs:45:17:45:39 | After ...; | | +| cflow.cs:45:17:45:38 | Before call to method WriteLine | cflow.cs:45:35:45:37 | "2" | | +| cflow.cs:45:17:45:38 | call to method WriteLine | cflow.cs:45:17:45:38 | After call to method WriteLine | | +| cflow.cs:45:17:45:39 | ...; | cflow.cs:45:17:45:38 | Before call to method WriteLine | | +| cflow.cs:45:17:45:39 | After ...; | cflow.cs:46:17:46:28 | Before goto case ...; | | | cflow.cs:45:35:45:37 | "2" | cflow.cs:45:17:45:38 | call to method WriteLine | | -| cflow.cs:46:17:46:28 | goto case ...; | cflow.cs:41:13:41:19 | case ...: | goto | +| cflow.cs:46:17:46:28 | Before goto case ...; | cflow.cs:46:27:46:27 | 1 | | +| cflow.cs:46:17:46:28 | goto case ...; | cflow.cs:41:13:41:19 | After case ...: [match] | goto | | cflow.cs:46:27:46:27 | 1 | cflow.cs:46:17:46:28 | goto case ...; | | -| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:18:47:18 | 3 | | -| cflow.cs:47:18:47:18 | 3 | cflow.cs:48:17:48:39 | ...; | match | -| cflow.cs:47:18:47:18 | 3 | cflow.cs:51:9:59:9 | switch (...) {...} | no-match | -| cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:49:17:49:22 | break; | | -| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:35:48:37 | "3" | | +| cflow.cs:47:13:47:19 | After case ...: [match] | cflow.cs:47:18:47:18 | 3 | | +| cflow.cs:47:13:47:19 | After case ...: [no-match] | cflow.cs:39:9:50:9 | After switch (...) {...} | | +| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:13:47:19 | After case ...: [match] | match | +| cflow.cs:47:13:47:19 | case ...: | cflow.cs:47:13:47:19 | After case ...: [no-match] | no-match | +| cflow.cs:47:18:47:18 | 3 | cflow.cs:48:17:48:39 | ...; | | +| cflow.cs:48:17:48:38 | After call to method WriteLine | cflow.cs:48:17:48:39 | After ...; | | +| cflow.cs:48:17:48:38 | Before call to method WriteLine | cflow.cs:48:35:48:37 | "3" | | +| cflow.cs:48:17:48:38 | call to method WriteLine | cflow.cs:48:17:48:38 | After call to method WriteLine | | +| cflow.cs:48:17:48:39 | ...; | cflow.cs:48:17:48:38 | Before call to method WriteLine | | +| cflow.cs:48:17:48:39 | After ...; | cflow.cs:49:17:49:22 | Before break; | | | cflow.cs:48:35:48:37 | "3" | cflow.cs:48:17:48:38 | call to method WriteLine | | -| cflow.cs:49:17:49:22 | break; | cflow.cs:51:9:59:9 | switch (...) {...} | break | +| cflow.cs:49:17:49:22 | Before break; | cflow.cs:49:17:49:22 | break; | | +| cflow.cs:49:17:49:22 | break; | cflow.cs:39:9:50:9 | After switch (...) {...} | break | +| cflow.cs:51:9:59:9 | After switch (...) {...} | cflow.cs:60:9:66:9 | switch (...) {...} | | | cflow.cs:51:9:59:9 | switch (...) {...} | cflow.cs:51:17:51:17 | access to parameter a | | | cflow.cs:51:17:51:17 | access to parameter a | cflow.cs:53:13:53:20 | case ...: | | -| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:18:53:19 | 42 | | -| cflow.cs:53:18:53:19 | 42 | cflow.cs:54:17:54:48 | ...; | match | -| cflow.cs:53:18:53:19 | 42 | cflow.cs:56:13:56:20 | default: | no-match | -| cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:55:17:55:22 | break; | | -| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:35:54:46 | "The answer" | | +| cflow.cs:53:13:53:20 | After case ...: [match] | cflow.cs:53:18:53:19 | 42 | | +| cflow.cs:53:13:53:20 | After case ...: [no-match] | cflow.cs:56:13:56:20 | default: | | +| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:13:53:20 | After case ...: [match] | match | +| cflow.cs:53:13:53:20 | case ...: | cflow.cs:53:13:53:20 | After case ...: [no-match] | no-match | +| cflow.cs:53:18:53:19 | 42 | cflow.cs:54:17:54:48 | ...; | | +| cflow.cs:54:17:54:47 | After call to method WriteLine | cflow.cs:54:17:54:48 | After ...; | | +| cflow.cs:54:17:54:47 | Before call to method WriteLine | cflow.cs:54:35:54:46 | "The answer" | | +| cflow.cs:54:17:54:47 | call to method WriteLine | cflow.cs:54:17:54:47 | After call to method WriteLine | | +| cflow.cs:54:17:54:48 | ...; | cflow.cs:54:17:54:47 | Before call to method WriteLine | | +| cflow.cs:54:17:54:48 | After ...; | cflow.cs:55:17:55:22 | Before break; | | | cflow.cs:54:35:54:46 | "The answer" | cflow.cs:54:17:54:47 | call to method WriteLine | | -| cflow.cs:55:17:55:22 | break; | cflow.cs:60:9:66:9 | switch (...) {...} | break | -| cflow.cs:56:13:56:20 | default: | cflow.cs:57:17:57:52 | ...; | | -| cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:58:17:58:22 | break; | | -| cflow.cs:57:17:57:52 | ...; | cflow.cs:57:35:57:50 | "Not the answer" | | +| cflow.cs:55:17:55:22 | Before break; | cflow.cs:55:17:55:22 | break; | | +| cflow.cs:55:17:55:22 | break; | cflow.cs:51:9:59:9 | After switch (...) {...} | break | +| cflow.cs:56:13:56:20 | After default: [match] | cflow.cs:57:17:57:52 | ...; | | +| cflow.cs:56:13:56:20 | default: | cflow.cs:56:13:56:20 | After default: [match] | match | +| cflow.cs:57:17:57:51 | After call to method WriteLine | cflow.cs:57:17:57:52 | After ...; | | +| cflow.cs:57:17:57:51 | Before call to method WriteLine | cflow.cs:57:35:57:50 | "Not the answer" | | +| cflow.cs:57:17:57:51 | call to method WriteLine | cflow.cs:57:17:57:51 | After call to method WriteLine | | +| cflow.cs:57:17:57:52 | ...; | cflow.cs:57:17:57:51 | Before call to method WriteLine | | +| cflow.cs:57:17:57:52 | After ...; | cflow.cs:58:17:58:22 | Before break; | | | cflow.cs:57:35:57:50 | "Not the answer" | cflow.cs:57:17:57:51 | call to method WriteLine | | -| cflow.cs:58:17:58:22 | break; | cflow.cs:60:9:66:9 | switch (...) {...} | break | -| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:27:60:31 | this access | | -| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:62:13:62:19 | case ...: | | -| cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:17:60:32 | call to method Parse | | +| cflow.cs:58:17:58:22 | Before break; | cflow.cs:58:17:58:22 | break; | | +| cflow.cs:58:17:58:22 | break; | cflow.cs:51:9:59:9 | After switch (...) {...} | break | +| cflow.cs:60:9:66:9 | After switch (...) {...} | cflow.cs:67:9:67:17 | Before return ...; | | +| cflow.cs:60:9:66:9 | switch (...) {...} | cflow.cs:60:17:60:32 | Before call to method Parse | | +| cflow.cs:60:17:60:32 | After call to method Parse | cflow.cs:62:13:62:19 | case ...: | | +| cflow.cs:60:17:60:32 | Before call to method Parse | cflow.cs:60:27:60:31 | Before access to field Field | | +| cflow.cs:60:17:60:32 | call to method Parse | cflow.cs:60:17:60:32 | After call to method Parse | | +| cflow.cs:60:27:60:31 | After access to field Field | cflow.cs:60:17:60:32 | call to method Parse | | +| cflow.cs:60:27:60:31 | Before access to field Field | cflow.cs:60:27:60:31 | this access | | +| cflow.cs:60:27:60:31 | access to field Field | cflow.cs:60:27:60:31 | After access to field Field | | | cflow.cs:60:27:60:31 | this access | cflow.cs:60:27:60:31 | access to field Field | | -| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:18:62:18 | 0 | | -| cflow.cs:62:18:62:18 | 0 | cflow.cs:63:17:64:55 | if (...) ... | match | -| cflow.cs:62:18:62:18 | 0 | cflow.cs:67:16:67:16 | access to parameter a | no-match | -| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:23:63:27 | this access | | -| cflow.cs:63:21:63:34 | [false] !... | cflow.cs:65:17:65:22 | break; | false | -| cflow.cs:63:21:63:34 | [true] !... | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | true | -| cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:32:63:33 | "" | | +| cflow.cs:62:13:62:19 | After case ...: [match] | cflow.cs:62:18:62:18 | 0 | | +| cflow.cs:62:13:62:19 | After case ...: [no-match] | cflow.cs:60:9:66:9 | After switch (...) {...} | | +| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:13:62:19 | After case ...: [match] | match | +| cflow.cs:62:13:62:19 | case ...: | cflow.cs:62:13:62:19 | After case ...: [no-match] | no-match | +| cflow.cs:62:18:62:18 | 0 | cflow.cs:63:17:64:55 | if (...) ... | | +| cflow.cs:63:17:64:55 | After if (...) ... | cflow.cs:65:17:65:22 | Before break; | | +| cflow.cs:63:17:64:55 | if (...) ... | cflow.cs:63:21:63:34 | !... | | +| cflow.cs:63:21:63:34 | !... | cflow.cs:63:23:63:33 | Before ... == ... | | +| cflow.cs:63:21:63:34 | After !... [false] | cflow.cs:63:17:64:55 | After if (...) ... | | +| cflow.cs:63:21:63:34 | After !... [true] | cflow.cs:64:21:64:55 | Before throw ...; | | +| cflow.cs:63:23:63:27 | After access to field Field | cflow.cs:63:32:63:33 | "" | | +| cflow.cs:63:23:63:27 | Before access to field Field | cflow.cs:63:23:63:27 | this access | | +| cflow.cs:63:23:63:27 | access to field Field | cflow.cs:63:23:63:27 | After access to field Field | | | cflow.cs:63:23:63:27 | this access | cflow.cs:63:23:63:27 | access to field Field | | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:21:63:34 | [false] !... | true | -| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:21:63:34 | [true] !... | false | +| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | After ... == ... [false] | false | +| cflow.cs:63:23:63:33 | ... == ... | cflow.cs:63:23:63:33 | After ... == ... [true] | true | +| cflow.cs:63:23:63:33 | After ... == ... [false] | cflow.cs:63:21:63:34 | After !... [true] | true | +| cflow.cs:63:23:63:33 | After ... == ... [true] | cflow.cs:63:21:63:34 | After !... [false] | false | +| cflow.cs:63:23:63:33 | Before ... == ... | cflow.cs:63:23:63:27 | Before access to field Field | | | cflow.cs:63:32:63:33 | "" | cflow.cs:63:23:63:33 | ... == ... | | -| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:37:17:37:22 | exit Switch (abnormal) | exception | -| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:21:64:55 | throw ...; | | -| cflow.cs:65:17:65:22 | break; | cflow.cs:67:16:67:16 | access to parameter a | break | -| cflow.cs:67:9:67:17 | return ...; | cflow.cs:37:17:37:22 | exit Switch (normal) | return | +| cflow.cs:64:21:64:55 | Before throw ...; | cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | | +| cflow.cs:64:21:64:55 | throw ...; | cflow.cs:37:17:37:22 | Exceptional Exit | exception | +| cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | cflow.cs:64:21:64:55 | throw ...; | | +| cflow.cs:64:27:64:54 | Before object creation of type NullReferenceException | cflow.cs:64:27:64:54 | object creation of type NullReferenceException | | +| cflow.cs:64:27:64:54 | object creation of type NullReferenceException | cflow.cs:64:27:64:54 | After object creation of type NullReferenceException | | +| cflow.cs:65:17:65:22 | Before break; | cflow.cs:65:17:65:22 | break; | | +| cflow.cs:65:17:65:22 | break; | cflow.cs:60:9:66:9 | After switch (...) {...} | break | +| cflow.cs:67:9:67:17 | Before return ...; | cflow.cs:67:16:67:16 | access to parameter a | | +| cflow.cs:67:9:67:17 | return ...; | cflow.cs:37:17:37:22 | Normal Exit | return | | cflow.cs:67:16:67:16 | access to parameter a | cflow.cs:67:9:67:17 | return ...; | | -| cflow.cs:70:18:70:18 | enter M | cflow.cs:71:5:82:5 | {...} | | -| cflow.cs:70:18:70:18 | exit M (normal) | cflow.cs:70:18:70:18 | exit M | | +| cflow.cs:70:18:70:18 | Entry | cflow.cs:71:5:82:5 | {...} | | +| cflow.cs:70:18:70:18 | Normal Exit | cflow.cs:70:18:70:18 | Exit | | +| cflow.cs:71:5:82:5 | After {...} | cflow.cs:70:18:70:18 | Normal Exit | | | cflow.cs:71:5:82:5 | {...} | cflow.cs:72:9:73:19 | if (...) ... | | -| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:72:13:72:13 | access to parameter s | | +| cflow.cs:72:9:73:19 | After if (...) ... | cflow.cs:74:9:81:9 | if (...) ... | | +| cflow.cs:72:9:73:19 | if (...) ... | cflow.cs:72:13:72:21 | Before ... == ... | | | cflow.cs:72:13:72:13 | access to parameter s | cflow.cs:72:18:72:21 | null | | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:73:13:73:19 | return ...; | true | -| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:74:9:81:9 | if (...) ... | false | +| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | After ... == ... [false] | false | +| cflow.cs:72:13:72:21 | ... == ... | cflow.cs:72:13:72:21 | After ... == ... [true] | true | +| cflow.cs:72:13:72:21 | After ... == ... [false] | cflow.cs:72:9:73:19 | After if (...) ... | | +| cflow.cs:72:13:72:21 | After ... == ... [true] | cflow.cs:73:13:73:19 | Before return ...; | | +| cflow.cs:72:13:72:21 | Before ... == ... | cflow.cs:72:13:72:13 | access to parameter s | | | cflow.cs:72:18:72:21 | null | cflow.cs:72:13:72:21 | ... == ... | | -| cflow.cs:73:13:73:19 | return ...; | cflow.cs:70:18:70:18 | exit M (normal) | return | -| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:13:74:13 | access to parameter s | | +| cflow.cs:73:13:73:19 | Before return ...; | cflow.cs:73:13:73:19 | return ...; | | +| cflow.cs:73:13:73:19 | return ...; | cflow.cs:70:18:70:18 | Normal Exit | return | +| cflow.cs:74:9:81:9 | After if (...) ... | cflow.cs:71:5:82:5 | After {...} | | +| cflow.cs:74:9:81:9 | if (...) ... | cflow.cs:74:13:74:24 | Before ... > ... | | | cflow.cs:74:13:74:13 | access to parameter s | cflow.cs:74:13:74:20 | access to property Length | | -| cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:24:74:24 | 0 | | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:75:9:77:9 | {...} | true | -| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:79:9:81:9 | {...} | false | +| cflow.cs:74:13:74:20 | After access to property Length | cflow.cs:74:24:74:24 | 0 | | +| cflow.cs:74:13:74:20 | Before access to property Length | cflow.cs:74:13:74:13 | access to parameter s | | +| cflow.cs:74:13:74:20 | access to property Length | cflow.cs:74:13:74:20 | After access to property Length | | +| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | After ... > ... [false] | false | +| cflow.cs:74:13:74:24 | ... > ... | cflow.cs:74:13:74:24 | After ... > ... [true] | true | +| cflow.cs:74:13:74:24 | After ... > ... [false] | cflow.cs:79:9:81:9 | {...} | | +| cflow.cs:74:13:74:24 | After ... > ... [true] | cflow.cs:75:9:77:9 | {...} | | +| cflow.cs:74:13:74:24 | Before ... > ... | cflow.cs:74:13:74:20 | Before access to property Length | | | cflow.cs:74:24:74:24 | 0 | cflow.cs:74:13:74:24 | ... > ... | | +| cflow.cs:75:9:77:9 | After {...} | cflow.cs:74:9:81:9 | After if (...) ... | | | cflow.cs:75:9:77:9 | {...} | cflow.cs:76:13:76:33 | ...; | | -| cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:70:18:70:18 | exit M (normal) | | -| cflow.cs:76:13:76:33 | ...; | cflow.cs:76:31:76:31 | access to parameter s | | +| cflow.cs:76:13:76:32 | After call to method WriteLine | cflow.cs:76:13:76:33 | After ...; | | +| cflow.cs:76:13:76:32 | Before call to method WriteLine | cflow.cs:76:31:76:31 | access to parameter s | | +| cflow.cs:76:13:76:32 | call to method WriteLine | cflow.cs:76:13:76:32 | After call to method WriteLine | | +| cflow.cs:76:13:76:33 | ...; | cflow.cs:76:13:76:32 | Before call to method WriteLine | | +| cflow.cs:76:13:76:33 | After ...; | cflow.cs:75:9:77:9 | After {...} | | | cflow.cs:76:31:76:31 | access to parameter s | cflow.cs:76:13:76:32 | call to method WriteLine | | +| cflow.cs:79:9:81:9 | After {...} | cflow.cs:74:9:81:9 | After if (...) ... | | | cflow.cs:79:9:81:9 | {...} | cflow.cs:80:13:80:48 | ...; | | -| cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:70:18:70:18 | exit M (normal) | | -| cflow.cs:80:13:80:48 | ...; | cflow.cs:80:31:80:46 | "" | | +| cflow.cs:80:13:80:47 | After call to method WriteLine | cflow.cs:80:13:80:48 | After ...; | | +| cflow.cs:80:13:80:47 | Before call to method WriteLine | cflow.cs:80:31:80:46 | "" | | +| cflow.cs:80:13:80:47 | call to method WriteLine | cflow.cs:80:13:80:47 | After call to method WriteLine | | +| cflow.cs:80:13:80:48 | ...; | cflow.cs:80:13:80:47 | Before call to method WriteLine | | +| cflow.cs:80:13:80:48 | After ...; | cflow.cs:79:9:81:9 | After {...} | | | cflow.cs:80:31:80:46 | "" | cflow.cs:80:13:80:47 | call to method WriteLine | | -| cflow.cs:84:18:84:19 | enter M2 | cflow.cs:85:5:88:5 | {...} | | -| cflow.cs:84:18:84:19 | exit M2 (normal) | cflow.cs:84:18:84:19 | exit M2 | | +| cflow.cs:84:18:84:19 | Entry | cflow.cs:85:5:88:5 | {...} | | +| cflow.cs:84:18:84:19 | Normal Exit | cflow.cs:84:18:84:19 | Exit | | +| cflow.cs:85:5:88:5 | After {...} | cflow.cs:84:18:84:19 | Normal Exit | | | cflow.cs:85:5:88:5 | {...} | cflow.cs:86:9:87:33 | if (...) ... | | -| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:13:86:13 | access to parameter s | | +| cflow.cs:86:9:87:33 | After if (...) ... | cflow.cs:85:5:88:5 | After {...} | | +| cflow.cs:86:9:87:33 | if (...) ... | cflow.cs:86:13:86:37 | ... && ... | | | cflow.cs:86:13:86:13 | access to parameter s | cflow.cs:86:18:86:21 | null | | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:37 | [false] ... && ... | false | -| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:26:86:26 | access to parameter s | true | -| cflow.cs:86:13:86:37 | [false] ... && ... | cflow.cs:84:18:84:19 | exit M2 (normal) | false | -| cflow.cs:86:13:86:37 | [true] ... && ... | cflow.cs:87:13:87:33 | ...; | true | +| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | After ... != ... [false] | false | +| cflow.cs:86:13:86:21 | ... != ... | cflow.cs:86:13:86:21 | After ... != ... [true] | true | +| cflow.cs:86:13:86:21 | After ... != ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | false | +| cflow.cs:86:13:86:21 | After ... != ... [true] | cflow.cs:86:26:86:37 | Before ... > ... | | +| cflow.cs:86:13:86:21 | Before ... != ... | cflow.cs:86:13:86:13 | access to parameter s | | +| cflow.cs:86:13:86:37 | ... && ... | cflow.cs:86:13:86:21 | Before ... != ... | | +| cflow.cs:86:13:86:37 | After ... && ... [false] | cflow.cs:86:9:87:33 | After if (...) ... | | +| cflow.cs:86:13:86:37 | After ... && ... [true] | cflow.cs:87:13:87:33 | ...; | | | cflow.cs:86:18:86:21 | null | cflow.cs:86:13:86:21 | ... != ... | | | cflow.cs:86:26:86:26 | access to parameter s | cflow.cs:86:26:86:33 | access to property Length | | -| cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:37:86:37 | 0 | | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:13:86:37 | [false] ... && ... | false | -| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:13:86:37 | [true] ... && ... | true | +| cflow.cs:86:26:86:33 | After access to property Length | cflow.cs:86:37:86:37 | 0 | | +| cflow.cs:86:26:86:33 | Before access to property Length | cflow.cs:86:26:86:26 | access to parameter s | | +| cflow.cs:86:26:86:33 | access to property Length | cflow.cs:86:26:86:33 | After access to property Length | | +| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | After ... > ... [false] | false | +| cflow.cs:86:26:86:37 | ... > ... | cflow.cs:86:26:86:37 | After ... > ... [true] | true | +| cflow.cs:86:26:86:37 | After ... > ... [false] | cflow.cs:86:13:86:37 | After ... && ... [false] | false | +| cflow.cs:86:26:86:37 | After ... > ... [true] | cflow.cs:86:13:86:37 | After ... && ... [true] | true | +| cflow.cs:86:26:86:37 | Before ... > ... | cflow.cs:86:26:86:33 | Before access to property Length | | | cflow.cs:86:37:86:37 | 0 | cflow.cs:86:26:86:37 | ... > ... | | -| cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:84:18:84:19 | exit M2 (normal) | | -| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:31:87:31 | access to parameter s | | +| cflow.cs:87:13:87:32 | After call to method WriteLine | cflow.cs:87:13:87:33 | After ...; | | +| cflow.cs:87:13:87:32 | Before call to method WriteLine | cflow.cs:87:31:87:31 | access to parameter s | | +| cflow.cs:87:13:87:32 | call to method WriteLine | cflow.cs:87:13:87:32 | After call to method WriteLine | | +| cflow.cs:87:13:87:33 | ...; | cflow.cs:87:13:87:32 | Before call to method WriteLine | | +| cflow.cs:87:13:87:33 | After ...; | cflow.cs:86:9:87:33 | After if (...) ... | | | cflow.cs:87:31:87:31 | access to parameter s | cflow.cs:87:13:87:32 | call to method WriteLine | | -| cflow.cs:90:18:90:19 | enter M3 | cflow.cs:91:5:104:5 | {...} | | -| cflow.cs:90:18:90:19 | exit M3 (abnormal) | cflow.cs:90:18:90:19 | exit M3 | | -| cflow.cs:90:18:90:19 | exit M3 (normal) | cflow.cs:90:18:90:19 | exit M3 | | +| cflow.cs:90:18:90:19 | Entry | cflow.cs:91:5:104:5 | {...} | | +| cflow.cs:90:18:90:19 | Exceptional Exit | cflow.cs:90:18:90:19 | Exit | | +| cflow.cs:90:18:90:19 | Normal Exit | cflow.cs:90:18:90:19 | Exit | | +| cflow.cs:91:5:104:5 | After {...} | cflow.cs:90:18:90:19 | Normal Exit | | | cflow.cs:91:5:104:5 | {...} | cflow.cs:92:9:93:49 | if (...) ... | | -| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:92:20:92:20 | access to parameter s | | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:93:45:93:47 | "s" | true | -| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:94:9:94:29 | ...; | false | +| cflow.cs:92:9:93:49 | After if (...) ... | cflow.cs:94:9:94:29 | ...; | | +| cflow.cs:92:9:93:49 | if (...) ... | cflow.cs:92:13:92:27 | Before call to method Equals | | +| cflow.cs:92:13:92:27 | After call to method Equals [false] | cflow.cs:92:9:93:49 | After if (...) ... | | +| cflow.cs:92:13:92:27 | After call to method Equals [true] | cflow.cs:93:13:93:49 | Before throw ...; | | +| cflow.cs:92:13:92:27 | Before call to method Equals | cflow.cs:92:20:92:20 | access to parameter s | | +| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | After call to method Equals [false] | false | +| cflow.cs:92:13:92:27 | call to method Equals | cflow.cs:92:13:92:27 | After call to method Equals [true] | true | | cflow.cs:92:20:92:20 | access to parameter s | cflow.cs:92:23:92:26 | null | | | cflow.cs:92:23:92:26 | null | cflow.cs:92:13:92:27 | call to method Equals | | -| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:90:18:90:19 | exit M3 (abnormal) | exception | -| cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:13:93:49 | throw ...; | | +| cflow.cs:93:13:93:49 | Before throw ...; | cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | | +| cflow.cs:93:13:93:49 | throw ...; | cflow.cs:90:18:90:19 | Exceptional Exit | exception | +| cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | cflow.cs:93:13:93:49 | throw ...; | | +| cflow.cs:93:19:93:48 | Before object creation of type ArgumentNullException | cflow.cs:93:45:93:47 | "s" | | +| cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | cflow.cs:93:19:93:48 | After object creation of type ArgumentNullException | | | cflow.cs:93:45:93:47 | "s" | cflow.cs:93:19:93:48 | object creation of type ArgumentNullException | | -| cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:96:9:97:55 | if (...) ... | | -| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:27:94:27 | access to parameter s | | +| cflow.cs:94:9:94:28 | After call to method WriteLine | cflow.cs:94:9:94:29 | After ...; | | +| cflow.cs:94:9:94:28 | Before call to method WriteLine | cflow.cs:94:27:94:27 | access to parameter s | | +| cflow.cs:94:9:94:28 | call to method WriteLine | cflow.cs:94:9:94:28 | After call to method WriteLine | | +| cflow.cs:94:9:94:29 | ...; | cflow.cs:94:9:94:28 | Before call to method WriteLine | | +| cflow.cs:94:9:94:29 | After ...; | cflow.cs:96:9:97:55 | if (...) ... | | | cflow.cs:94:27:94:27 | access to parameter s | cflow.cs:94:9:94:28 | call to method WriteLine | | -| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:96:13:96:17 | this access | | -| cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:22:96:25 | null | | +| cflow.cs:96:9:97:55 | After if (...) ... | cflow.cs:99:9:100:42 | if (...) ... | | +| cflow.cs:96:9:97:55 | if (...) ... | cflow.cs:96:13:96:25 | Before ... != ... | | +| cflow.cs:96:13:96:17 | After access to field Field | cflow.cs:96:22:96:25 | null | | +| cflow.cs:96:13:96:17 | Before access to field Field | cflow.cs:96:13:96:17 | this access | | +| cflow.cs:96:13:96:17 | access to field Field | cflow.cs:96:13:96:17 | After access to field Field | | | cflow.cs:96:13:96:17 | this access | cflow.cs:96:13:96:17 | access to field Field | | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:97:13:97:55 | ...; | true | -| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:99:9:100:42 | if (...) ... | false | +| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | After ... != ... [false] | false | +| cflow.cs:96:13:96:25 | ... != ... | cflow.cs:96:13:96:25 | After ... != ... [true] | true | +| cflow.cs:96:13:96:25 | After ... != ... [false] | cflow.cs:96:9:97:55 | After if (...) ... | | +| cflow.cs:96:13:96:25 | After ... != ... [true] | cflow.cs:97:13:97:55 | ...; | | +| cflow.cs:96:13:96:25 | Before ... != ... | cflow.cs:96:13:96:17 | Before access to field Field | | | cflow.cs:96:22:96:25 | null | cflow.cs:96:13:96:25 | ... != ... | | -| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:99:9:100:42 | if (...) ... | | -| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:31:97:47 | object creation of type ControlFlow | | -| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:53 | access to field Field | | -| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:13:97:54 | call to method WriteLine | | -| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:17 | this access | | -| cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:22:99:25 | null | | +| cflow.cs:97:13:97:54 | After call to method WriteLine | cflow.cs:97:13:97:55 | After ...; | | +| cflow.cs:97:13:97:54 | Before call to method WriteLine | cflow.cs:97:31:97:53 | Before access to field Field | | +| cflow.cs:97:13:97:54 | call to method WriteLine | cflow.cs:97:13:97:54 | After call to method WriteLine | | +| cflow.cs:97:13:97:55 | ...; | cflow.cs:97:13:97:54 | Before call to method WriteLine | | +| cflow.cs:97:13:97:55 | After ...; | cflow.cs:96:9:97:55 | After if (...) ... | | +| cflow.cs:97:31:97:47 | After object creation of type ControlFlow | cflow.cs:97:31:97:53 | access to field Field | | +| cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | cflow.cs:97:31:97:47 | object creation of type ControlFlow | | +| cflow.cs:97:31:97:47 | object creation of type ControlFlow | cflow.cs:97:31:97:47 | After object creation of type ControlFlow | | +| cflow.cs:97:31:97:53 | After access to field Field | cflow.cs:97:13:97:54 | call to method WriteLine | | +| cflow.cs:97:31:97:53 | Before access to field Field | cflow.cs:97:31:97:47 | Before object creation of type ControlFlow | | +| cflow.cs:97:31:97:53 | access to field Field | cflow.cs:97:31:97:53 | After access to field Field | | +| cflow.cs:99:9:100:42 | After if (...) ... | cflow.cs:102:9:103:36 | if (...) ... | | +| cflow.cs:99:9:100:42 | if (...) ... | cflow.cs:99:13:99:25 | Before ... != ... | | +| cflow.cs:99:13:99:17 | After access to field Field | cflow.cs:99:22:99:25 | null | | +| cflow.cs:99:13:99:17 | Before access to field Field | cflow.cs:99:13:99:17 | this access | | +| cflow.cs:99:13:99:17 | access to field Field | cflow.cs:99:13:99:17 | After access to field Field | | | cflow.cs:99:13:99:17 | this access | cflow.cs:99:13:99:17 | access to field Field | | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:100:13:100:42 | ...; | true | -| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:102:9:103:36 | if (...) ... | false | +| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | After ... != ... [false] | false | +| cflow.cs:99:13:99:25 | ... != ... | cflow.cs:99:13:99:25 | After ... != ... [true] | true | +| cflow.cs:99:13:99:25 | After ... != ... [false] | cflow.cs:99:9:100:42 | After if (...) ... | | +| cflow.cs:99:13:99:25 | After ... != ... [true] | cflow.cs:100:13:100:42 | ...; | | +| cflow.cs:99:13:99:25 | Before ... != ... | cflow.cs:99:13:99:17 | Before access to field Field | | | cflow.cs:99:22:99:25 | null | cflow.cs:99:13:99:25 | ... != ... | | -| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:102:9:103:36 | if (...) ... | | -| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:31:100:34 | this access | | +| cflow.cs:100:13:100:41 | After call to method WriteLine | cflow.cs:100:13:100:42 | After ...; | | +| cflow.cs:100:13:100:41 | Before call to method WriteLine | cflow.cs:100:31:100:40 | Before access to field Field | | +| cflow.cs:100:13:100:41 | call to method WriteLine | cflow.cs:100:13:100:41 | After call to method WriteLine | | +| cflow.cs:100:13:100:42 | ...; | cflow.cs:100:13:100:41 | Before call to method WriteLine | | +| cflow.cs:100:13:100:42 | After ...; | cflow.cs:99:9:100:42 | After if (...) ... | | | cflow.cs:100:31:100:34 | this access | cflow.cs:100:31:100:40 | access to field Field | | -| cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:13:100:41 | call to method WriteLine | | -| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:16 | this access | | +| cflow.cs:100:31:100:40 | After access to field Field | cflow.cs:100:13:100:41 | call to method WriteLine | | +| cflow.cs:100:31:100:40 | Before access to field Field | cflow.cs:100:31:100:34 | this access | | +| cflow.cs:100:31:100:40 | access to field Field | cflow.cs:100:31:100:40 | After access to field Field | | +| cflow.cs:102:9:103:36 | After if (...) ... | cflow.cs:91:5:104:5 | After {...} | | +| cflow.cs:102:9:103:36 | if (...) ... | cflow.cs:102:13:102:29 | Before ... != ... | | | cflow.cs:102:13:102:16 | this access | cflow.cs:102:13:102:21 | access to property Prop | | -| cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:26:102:29 | null | | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:90:18:90:19 | exit M3 (normal) | false | -| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:103:13:103:36 | ...; | true | +| cflow.cs:102:13:102:21 | After access to property Prop | cflow.cs:102:26:102:29 | null | | +| cflow.cs:102:13:102:21 | Before access to property Prop | cflow.cs:102:13:102:16 | this access | | +| cflow.cs:102:13:102:21 | access to property Prop | cflow.cs:102:13:102:21 | After access to property Prop | | +| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | After ... != ... [false] | false | +| cflow.cs:102:13:102:29 | ... != ... | cflow.cs:102:13:102:29 | After ... != ... [true] | true | +| cflow.cs:102:13:102:29 | After ... != ... [false] | cflow.cs:102:9:103:36 | After if (...) ... | | +| cflow.cs:102:13:102:29 | After ... != ... [true] | cflow.cs:103:13:103:36 | ...; | | +| cflow.cs:102:13:102:29 | Before ... != ... | cflow.cs:102:13:102:21 | Before access to property Prop | | | cflow.cs:102:26:102:29 | null | cflow.cs:102:13:102:29 | ... != ... | | -| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:90:18:90:19 | exit M3 (normal) | | -| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:31:103:34 | this access | | -| cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:13:103:35 | call to method WriteLine | | +| cflow.cs:103:13:103:35 | After call to method WriteLine | cflow.cs:103:13:103:36 | After ...; | | +| cflow.cs:103:13:103:35 | Before call to method WriteLine | cflow.cs:103:31:103:34 | Before access to property Prop | | +| cflow.cs:103:13:103:35 | call to method WriteLine | cflow.cs:103:13:103:35 | After call to method WriteLine | | +| cflow.cs:103:13:103:36 | ...; | cflow.cs:103:13:103:35 | Before call to method WriteLine | | +| cflow.cs:103:13:103:36 | After ...; | cflow.cs:102:9:103:36 | After if (...) ... | | +| cflow.cs:103:31:103:34 | After access to property Prop | cflow.cs:103:13:103:35 | call to method WriteLine | | +| cflow.cs:103:31:103:34 | Before access to property Prop | cflow.cs:103:31:103:34 | this access | | +| cflow.cs:103:31:103:34 | access to property Prop | cflow.cs:103:31:103:34 | After access to property Prop | | | cflow.cs:103:31:103:34 | this access | cflow.cs:103:31:103:34 | access to property Prop | | -| cflow.cs:106:18:106:19 | enter M4 | cflow.cs:107:5:117:5 | {...} | | -| cflow.cs:106:18:106:19 | exit M4 (normal) | cflow.cs:106:18:106:19 | exit M4 | | +| cflow.cs:106:18:106:19 | Entry | cflow.cs:107:5:117:5 | {...} | | +| cflow.cs:106:18:106:19 | Normal Exit | cflow.cs:106:18:106:19 | Exit | | +| cflow.cs:107:5:117:5 | After {...} | cflow.cs:106:18:106:19 | Normal Exit | | | cflow.cs:107:5:117:5 | {...} | cflow.cs:108:9:115:9 | if (...) ... | | -| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:108:13:108:13 | access to parameter s | | +| cflow.cs:108:9:115:9 | After if (...) ... | cflow.cs:116:9:116:29 | ...; | | +| cflow.cs:108:9:115:9 | if (...) ... | cflow.cs:108:13:108:21 | Before ... != ... | | | cflow.cs:108:13:108:13 | access to parameter s | cflow.cs:108:18:108:21 | null | | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:109:9:115:9 | {...} | true | -| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:116:9:116:29 | ...; | false | +| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | After ... != ... [false] | false | +| cflow.cs:108:13:108:21 | ... != ... | cflow.cs:108:13:108:21 | After ... != ... [true] | true | +| cflow.cs:108:13:108:21 | After ... != ... [false] | cflow.cs:108:9:115:9 | After if (...) ... | | +| cflow.cs:108:13:108:21 | After ... != ... [true] | cflow.cs:109:9:115:9 | {...} | | +| cflow.cs:108:13:108:21 | Before ... != ... | cflow.cs:108:13:108:13 | access to parameter s | | | cflow.cs:108:18:108:21 | null | cflow.cs:108:13:108:21 | ... != ... | | | cflow.cs:109:9:115:9 | {...} | cflow.cs:110:13:113:13 | while (...) ... | | -| cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:110:20:110:23 | true | | -| cflow.cs:110:20:110:23 | true | cflow.cs:111:13:113:13 | {...} | true | +| cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | cflow.cs:110:20:110:23 | true | | +| cflow.cs:110:13:113:13 | while (...) ... | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | | +| cflow.cs:110:20:110:23 | After true [true] | cflow.cs:111:13:113:13 | {...} | | +| cflow.cs:110:20:110:23 | true | cflow.cs:110:20:110:23 | After true [true] | true | +| cflow.cs:111:13:113:13 | After {...} | cflow.cs:110:13:113:13 | [LoopHeader] while (...) ... | | | cflow.cs:111:13:113:13 | {...} | cflow.cs:112:17:112:37 | ...; | | -| cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:110:20:110:23 | true | | -| cflow.cs:112:17:112:37 | ...; | cflow.cs:112:35:112:35 | access to parameter s | | +| cflow.cs:112:17:112:36 | After call to method WriteLine | cflow.cs:112:17:112:37 | After ...; | | +| cflow.cs:112:17:112:36 | Before call to method WriteLine | cflow.cs:112:35:112:35 | access to parameter s | | +| cflow.cs:112:17:112:36 | call to method WriteLine | cflow.cs:112:17:112:36 | After call to method WriteLine | | +| cflow.cs:112:17:112:37 | ...; | cflow.cs:112:17:112:36 | Before call to method WriteLine | | +| cflow.cs:112:17:112:37 | After ...; | cflow.cs:111:13:113:13 | After {...} | | | cflow.cs:112:35:112:35 | access to parameter s | cflow.cs:112:17:112:36 | call to method WriteLine | | -| cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:106:18:106:19 | exit M4 (normal) | | -| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:27:116:27 | access to parameter s | | +| cflow.cs:116:9:116:28 | After call to method WriteLine | cflow.cs:116:9:116:29 | After ...; | | +| cflow.cs:116:9:116:28 | Before call to method WriteLine | cflow.cs:116:27:116:27 | access to parameter s | | +| cflow.cs:116:9:116:28 | call to method WriteLine | cflow.cs:116:9:116:28 | After call to method WriteLine | | +| cflow.cs:116:9:116:29 | ...; | cflow.cs:116:9:116:28 | Before call to method WriteLine | | +| cflow.cs:116:9:116:29 | After ...; | cflow.cs:107:5:117:5 | After {...} | | | cflow.cs:116:27:116:27 | access to parameter s | cflow.cs:116:9:116:28 | call to method WriteLine | | -| cflow.cs:119:20:119:21 | enter M5 | cflow.cs:120:5:124:5 | {...} | | -| cflow.cs:119:20:119:21 | exit M5 (normal) | cflow.cs:119:20:119:21 | exit M5 | | +| cflow.cs:119:20:119:21 | Entry | cflow.cs:120:5:124:5 | {...} | | +| cflow.cs:119:20:119:21 | Normal Exit | cflow.cs:119:20:119:21 | Exit | | | cflow.cs:120:5:124:5 | {...} | cflow.cs:121:9:121:18 | ... ...; | | -| cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:17:121:17 | access to parameter s | | -| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:122:9:122:20 | ...; | | +| cflow.cs:121:9:121:18 | ... ...; | cflow.cs:121:13:121:17 | Before String x = ... | | +| cflow.cs:121:9:121:18 | After ... ...; | cflow.cs:122:9:122:20 | ...; | | +| cflow.cs:121:13:121:13 | access to local variable x | cflow.cs:121:17:121:17 | access to parameter s | | +| cflow.cs:121:13:121:17 | After String x = ... | cflow.cs:121:9:121:18 | After ... ...; | | +| cflow.cs:121:13:121:17 | Before String x = ... | cflow.cs:121:13:121:13 | access to local variable x | | +| cflow.cs:121:13:121:17 | String x = ... | cflow.cs:121:13:121:17 | After String x = ... | | | cflow.cs:121:17:121:17 | access to parameter s | cflow.cs:121:13:121:17 | String x = ... | | -| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:123:16:123:16 | access to local variable x | | -| cflow.cs:122:9:122:20 | ...; | cflow.cs:122:13:122:13 | access to local variable x | | +| cflow.cs:122:9:122:9 | access to local variable x | cflow.cs:122:13:122:19 | Before ... + ... | | +| cflow.cs:122:9:122:19 | ... = ... | cflow.cs:122:9:122:19 | After ... = ... | | +| cflow.cs:122:9:122:19 | After ... = ... | cflow.cs:122:9:122:20 | After ...; | | +| cflow.cs:122:9:122:19 | Before ... = ... | cflow.cs:122:9:122:9 | access to local variable x | | +| cflow.cs:122:9:122:20 | ...; | cflow.cs:122:9:122:19 | Before ... = ... | | +| cflow.cs:122:9:122:20 | After ...; | cflow.cs:123:9:123:17 | Before return ...; | | | cflow.cs:122:13:122:13 | access to local variable x | cflow.cs:122:17:122:19 | " " | | -| cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:9:122:19 | ... = ... | | +| cflow.cs:122:13:122:19 | ... + ... | cflow.cs:122:13:122:19 | After ... + ... | | +| cflow.cs:122:13:122:19 | After ... + ... | cflow.cs:122:9:122:19 | ... = ... | | +| cflow.cs:122:13:122:19 | Before ... + ... | cflow.cs:122:13:122:13 | access to local variable x | | | cflow.cs:122:17:122:19 | " " | cflow.cs:122:13:122:19 | ... + ... | | -| cflow.cs:123:9:123:17 | return ...; | cflow.cs:119:20:119:21 | exit M5 (normal) | return | +| cflow.cs:123:9:123:17 | Before return ...; | cflow.cs:123:16:123:16 | access to local variable x | | +| cflow.cs:123:9:123:17 | return ...; | cflow.cs:119:20:119:21 | Normal Exit | return | | cflow.cs:123:16:123:16 | access to local variable x | cflow.cs:123:9:123:17 | return ...; | | -| cflow.cs:127:19:127:21 | enter get_Prop | cflow.cs:127:23:127:60 | {...} | | -| cflow.cs:127:19:127:21 | exit get_Prop (normal) | cflow.cs:127:19:127:21 | exit get_Prop | | -| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:32:127:36 | this access | | -| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:19:127:21 | exit get_Prop (normal) | return | -| cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:41:127:44 | null | | +| cflow.cs:127:19:127:21 | Entry | cflow.cs:127:23:127:60 | {...} | | +| cflow.cs:127:19:127:21 | Normal Exit | cflow.cs:127:19:127:21 | Exit | | +| cflow.cs:127:23:127:60 | {...} | cflow.cs:127:25:127:58 | Before return ...; | | +| cflow.cs:127:25:127:58 | Before return ...; | cflow.cs:127:32:127:57 | ... ? ... : ... | | +| cflow.cs:127:25:127:58 | return ...; | cflow.cs:127:19:127:21 | Normal Exit | return | +| cflow.cs:127:32:127:36 | After access to field Field | cflow.cs:127:41:127:44 | null | | +| cflow.cs:127:32:127:36 | Before access to field Field | cflow.cs:127:32:127:36 | this access | | +| cflow.cs:127:32:127:36 | access to field Field | cflow.cs:127:32:127:36 | After access to field Field | | | cflow.cs:127:32:127:36 | this access | cflow.cs:127:32:127:36 | access to field Field | | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:48:127:49 | "" | true | -| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:53:127:57 | this access | false | -| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:25:127:58 | return ...; | | +| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | After ... == ... [false] | false | +| cflow.cs:127:32:127:44 | ... == ... | cflow.cs:127:32:127:44 | After ... == ... [true] | true | +| cflow.cs:127:32:127:44 | After ... == ... [false] | cflow.cs:127:53:127:57 | Before access to field Field | | +| cflow.cs:127:32:127:44 | After ... == ... [true] | cflow.cs:127:48:127:49 | "" | | +| cflow.cs:127:32:127:44 | Before ... == ... | cflow.cs:127:32:127:36 | Before access to field Field | | +| cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:32:127:44 | Before ... == ... | | +| cflow.cs:127:32:127:57 | After ... ? ... : ... | cflow.cs:127:25:127:58 | return ...; | | | cflow.cs:127:41:127:44 | null | cflow.cs:127:32:127:44 | ... == ... | | -| cflow.cs:127:48:127:49 | "" | cflow.cs:127:32:127:57 | ... ? ... : ... | | -| cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:32:127:57 | ... ? ... : ... | | +| cflow.cs:127:48:127:49 | "" | cflow.cs:127:32:127:57 | After ... ? ... : ... | | +| cflow.cs:127:53:127:57 | After access to field Field | cflow.cs:127:32:127:57 | After ... ? ... : ... | | +| cflow.cs:127:53:127:57 | Before access to field Field | cflow.cs:127:53:127:57 | this access | | +| cflow.cs:127:53:127:57 | access to field Field | cflow.cs:127:53:127:57 | After access to field Field | | | cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | access to field Field | | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:66:127:83 | {...} | | -| cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:62:127:64 | exit set_Prop | | +| cflow.cs:127:62:127:64 | Entry | cflow.cs:127:66:127:83 | {...} | | +| cflow.cs:127:62:127:64 | Normal Exit | cflow.cs:127:62:127:64 | Exit | | +| cflow.cs:127:66:127:83 | After {...} | cflow.cs:127:62:127:64 | Normal Exit | | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:68:127:81 | ...; | | -| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:80 | ... = ... | | -| cflow.cs:127:68:127:72 | this access | cflow.cs:127:76:127:80 | access to parameter value | | -| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | exit set_Prop (normal) | | -| cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:72 | this access | | -| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | access to field Field | | -| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:130:5:132:5 | {...} | | -| cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | call to constructor Object | | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | this access | | -| cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:129:5:129:15 | exit ControlFlow | | +| cflow.cs:127:68:127:72 | After access to field Field | cflow.cs:127:76:127:80 | access to parameter value | | +| cflow.cs:127:68:127:72 | Before access to field Field | cflow.cs:127:68:127:72 | this access | | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:72 | After access to field Field | | +| cflow.cs:127:68:127:72 | this access | cflow.cs:127:68:127:72 | access to field Field | | +| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:68:127:80 | After ... = ... | | +| cflow.cs:127:68:127:80 | After ... = ... | cflow.cs:127:68:127:81 | After ...; | | +| cflow.cs:127:68:127:80 | Before ... = ... | cflow.cs:127:68:127:72 | Before access to field Field | | +| cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:80 | Before ... = ... | | +| cflow.cs:127:68:127:81 | After ...; | cflow.cs:127:66:127:83 | After {...} | | +| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:80 | ... = ... | | +| cflow.cs:129:5:129:15 | After call to constructor Object | cflow.cs:130:5:132:5 | {...} | | +| cflow.cs:129:5:129:15 | After call to method | cflow.cs:129:5:129:15 | Before call to constructor Object | | +| cflow.cs:129:5:129:15 | Before call to constructor Object | cflow.cs:129:5:129:15 | call to constructor Object | | +| cflow.cs:129:5:129:15 | Before call to method | cflow.cs:129:5:129:15 | this access | | +| cflow.cs:129:5:129:15 | Entry | cflow.cs:129:5:129:15 | Before call to method | | +| cflow.cs:129:5:129:15 | Normal Exit | cflow.cs:129:5:129:15 | Exit | | +| cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | After call to constructor Object | | +| cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | After call to method | | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | call to method | | +| cflow.cs:130:5:132:5 | After {...} | cflow.cs:129:5:129:15 | Normal Exit | | | cflow.cs:130:5:132:5 | {...} | cflow.cs:131:9:131:18 | ...; | | -| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:17 | ... = ... | | -| cflow.cs:131:9:131:13 | this access | cflow.cs:131:17:131:17 | access to parameter s | | -| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | | -| cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:13 | this access | | -| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | access to field Field | | -| cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:31:134:31 | access to parameter i | | -| cflow.cs:134:5:134:15 | exit ControlFlow (normal) | cflow.cs:134:5:134:15 | exit ControlFlow | | -| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | | -| cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:35:134:36 | "" | | +| cflow.cs:131:9:131:13 | After access to field Field | cflow.cs:131:17:131:17 | access to parameter s | | +| cflow.cs:131:9:131:13 | Before access to field Field | cflow.cs:131:9:131:13 | this access | | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:13 | After access to field Field | | +| cflow.cs:131:9:131:13 | this access | cflow.cs:131:9:131:13 | access to field Field | | +| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:9:131:17 | After ... = ... | | +| cflow.cs:131:9:131:17 | After ... = ... | cflow.cs:131:9:131:18 | After ...; | | +| cflow.cs:131:9:131:17 | Before ... = ... | cflow.cs:131:9:131:13 | Before access to field Field | | +| cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:17 | Before ... = ... | | +| cflow.cs:131:9:131:18 | After ...; | cflow.cs:130:5:132:5 | After {...} | | +| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:17 | ... = ... | | +| cflow.cs:134:5:134:15 | Entry | cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | | +| cflow.cs:134:5:134:15 | Normal Exit | cflow.cs:134:5:134:15 | Exit | | +| cflow.cs:134:26:134:29 | After call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | | +| cflow.cs:134:26:134:29 | Before call to constructor ControlFlow | cflow.cs:134:31:134:36 | Before ... + ... | | +| cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:26:134:29 | After call to constructor ControlFlow | | +| cflow.cs:134:31:134:31 | (...) ... | cflow.cs:134:31:134:31 | After (...) ... | | +| cflow.cs:134:31:134:31 | After (...) ... | cflow.cs:134:35:134:36 | "" | | +| cflow.cs:134:31:134:31 | Before (...) ... | cflow.cs:134:31:134:31 | access to parameter i | | | cflow.cs:134:31:134:31 | access to parameter i | cflow.cs:134:31:134:31 | (...) ... | | -| cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:26:134:29 | call to constructor ControlFlow | | +| cflow.cs:134:31:134:36 | ... + ... | cflow.cs:134:31:134:36 | After ... + ... | | +| cflow.cs:134:31:134:36 | After ... + ... | cflow.cs:134:26:134:29 | call to constructor ControlFlow | | +| cflow.cs:134:31:134:36 | Before ... + ... | cflow.cs:134:31:134:31 | Before (...) ... | | | cflow.cs:134:35:134:36 | "" | cflow.cs:134:31:134:36 | ... + ... | | -| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:5:134:15 | exit ControlFlow (normal) | | -| cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:33:136:33 | 0 | | -| cflow.cs:136:12:136:22 | exit ControlFlow (normal) | cflow.cs:136:12:136:22 | exit ControlFlow | | -| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:40:136:42 | {...} | | +| cflow.cs:134:39:134:41 | {...} | cflow.cs:134:5:134:15 | Normal Exit | | +| cflow.cs:136:12:136:22 | Entry | cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | | +| cflow.cs:136:12:136:22 | Normal Exit | cflow.cs:136:12:136:22 | Exit | | +| cflow.cs:136:28:136:31 | After call to constructor ControlFlow | cflow.cs:136:40:136:42 | {...} | | +| cflow.cs:136:28:136:31 | Before call to constructor ControlFlow | cflow.cs:136:33:136:37 | Before ... + ... | | +| cflow.cs:136:28:136:31 | call to constructor ControlFlow | cflow.cs:136:28:136:31 | After call to constructor ControlFlow | | | cflow.cs:136:33:136:33 | 0 | cflow.cs:136:37:136:37 | 1 | | -| cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:28:136:31 | call to constructor ControlFlow | | +| cflow.cs:136:33:136:37 | ... + ... | cflow.cs:136:33:136:37 | After ... + ... | | +| cflow.cs:136:33:136:37 | After ... + ... | cflow.cs:136:28:136:31 | call to constructor ControlFlow | | +| cflow.cs:136:33:136:37 | Before ... + ... | cflow.cs:136:33:136:33 | 0 | | | cflow.cs:136:37:136:37 | 1 | cflow.cs:136:33:136:37 | ... + ... | | -| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:12:136:22 | exit ControlFlow (normal) | | -| cflow.cs:138:40:138:40 | enter + | cflow.cs:139:5:142:5 | {...} | | -| cflow.cs:138:40:138:40 | exit + (normal) | cflow.cs:138:40:138:40 | exit + | | +| cflow.cs:136:40:136:42 | {...} | cflow.cs:136:12:136:22 | Normal Exit | | +| cflow.cs:138:40:138:40 | Entry | cflow.cs:139:5:142:5 | {...} | | +| cflow.cs:138:40:138:40 | Normal Exit | cflow.cs:138:40:138:40 | Exit | | | cflow.cs:139:5:142:5 | {...} | cflow.cs:140:9:140:29 | ...; | | -| cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:141:16:141:16 | access to parameter y | | -| cflow.cs:140:9:140:29 | ...; | cflow.cs:140:27:140:27 | access to parameter x | | +| cflow.cs:140:9:140:28 | After call to method WriteLine | cflow.cs:140:9:140:29 | After ...; | | +| cflow.cs:140:9:140:28 | Before call to method WriteLine | cflow.cs:140:27:140:27 | access to parameter x | | +| cflow.cs:140:9:140:28 | call to method WriteLine | cflow.cs:140:9:140:28 | After call to method WriteLine | | +| cflow.cs:140:9:140:29 | ...; | cflow.cs:140:9:140:28 | Before call to method WriteLine | | +| cflow.cs:140:9:140:29 | After ...; | cflow.cs:141:9:141:17 | Before return ...; | | | cflow.cs:140:27:140:27 | access to parameter x | cflow.cs:140:9:140:28 | call to method WriteLine | | -| cflow.cs:141:9:141:17 | return ...; | cflow.cs:138:40:138:40 | exit + (normal) | return | +| cflow.cs:141:9:141:17 | Before return ...; | cflow.cs:141:16:141:16 | access to parameter y | | +| cflow.cs:141:9:141:17 | return ...; | cflow.cs:138:40:138:40 | Normal Exit | return | | cflow.cs:141:16:141:16 | access to parameter y | cflow.cs:141:9:141:17 | return ...; | | -| cflow.cs:144:33:144:35 | enter get_Item | cflow.cs:144:37:144:54 | {...} | | -| cflow.cs:144:33:144:35 | exit get_Item (normal) | cflow.cs:144:33:144:35 | exit get_Item | | -| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:46:144:46 | access to parameter i | | -| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:33:144:35 | exit get_Item (normal) | return | -| cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:50:144:51 | "" | | +| cflow.cs:144:33:144:35 | Entry | cflow.cs:144:37:144:54 | {...} | | +| cflow.cs:144:33:144:35 | Normal Exit | cflow.cs:144:33:144:35 | Exit | | +| cflow.cs:144:37:144:54 | {...} | cflow.cs:144:39:144:52 | Before return ...; | | +| cflow.cs:144:39:144:52 | Before return ...; | cflow.cs:144:46:144:51 | Before ... + ... | | +| cflow.cs:144:39:144:52 | return ...; | cflow.cs:144:33:144:35 | Normal Exit | return | +| cflow.cs:144:46:144:46 | (...) ... | cflow.cs:144:46:144:46 | After (...) ... | | +| cflow.cs:144:46:144:46 | After (...) ... | cflow.cs:144:50:144:51 | "" | | +| cflow.cs:144:46:144:46 | Before (...) ... | cflow.cs:144:46:144:46 | access to parameter i | | | cflow.cs:144:46:144:46 | access to parameter i | cflow.cs:144:46:144:46 | (...) ... | | -| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:39:144:52 | return ...; | | +| cflow.cs:144:46:144:51 | ... + ... | cflow.cs:144:46:144:51 | After ... + ... | | +| cflow.cs:144:46:144:51 | After ... + ... | cflow.cs:144:39:144:52 | return ...; | | +| cflow.cs:144:46:144:51 | Before ... + ... | cflow.cs:144:46:144:46 | Before (...) ... | | | cflow.cs:144:50:144:51 | "" | cflow.cs:144:46:144:51 | ... + ... | | -| cflow.cs:144:56:144:58 | enter set_Item | cflow.cs:144:60:144:62 | {...} | | -| cflow.cs:144:56:144:58 | exit set_Item (normal) | cflow.cs:144:56:144:58 | exit set_Item | | -| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | exit set_Item (normal) | | -| cflow.cs:146:10:146:12 | enter For | cflow.cs:147:5:177:5 | {...} | | -| cflow.cs:146:10:146:12 | exit For (normal) | cflow.cs:146:10:146:12 | exit For | | +| cflow.cs:144:56:144:58 | Entry | cflow.cs:144:60:144:62 | {...} | | +| cflow.cs:144:56:144:58 | Normal Exit | cflow.cs:144:56:144:58 | Exit | | +| cflow.cs:144:60:144:62 | {...} | cflow.cs:144:56:144:58 | Normal Exit | | +| cflow.cs:146:10:146:12 | Entry | cflow.cs:147:5:177:5 | {...} | | +| cflow.cs:146:10:146:12 | Normal Exit | cflow.cs:146:10:146:12 | Exit | | +| cflow.cs:147:5:177:5 | After {...} | cflow.cs:146:10:146:12 | Normal Exit | | | cflow.cs:147:5:177:5 | {...} | cflow.cs:148:9:148:18 | ... ...; | | -| cflow.cs:148:9:148:18 | ... ...; | cflow.cs:148:17:148:17 | 0 | | -| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:149:9:150:33 | for (...;...;...) ... | | +| cflow.cs:148:9:148:18 | ... ...; | cflow.cs:148:13:148:17 | Before Int32 x = ... | | +| cflow.cs:148:9:148:18 | After ... ...; | cflow.cs:149:9:150:33 | for (...;...;...) ... | | +| cflow.cs:148:13:148:13 | access to local variable x | cflow.cs:148:17:148:17 | 0 | | +| cflow.cs:148:13:148:17 | After Int32 x = ... | cflow.cs:148:9:148:18 | After ... ...; | | +| cflow.cs:148:13:148:17 | Before Int32 x = ... | cflow.cs:148:13:148:13 | access to local variable x | | +| cflow.cs:148:13:148:17 | Int32 x = ... | cflow.cs:148:13:148:17 | After Int32 x = ... | | | cflow.cs:148:17:148:17 | 0 | cflow.cs:148:13:148:17 | Int32 x = ... | | -| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:149:16:149:16 | access to local variable x | | +| cflow.cs:149:9:150:33 | After for (...;...;...) ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | | +| cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | cflow.cs:149:24:149:26 | Before ++... | | +| cflow.cs:149:9:150:33 | for (...;...;...) ... | cflow.cs:149:16:149:21 | Before ... < ... | | | cflow.cs:149:16:149:16 | access to local variable x | cflow.cs:149:20:149:21 | 10 | | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:150:13:150:33 | ...; | true | -| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:152:9:157:9 | for (...;...;...) ... | false | +| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | After ... < ... [false] | false | +| cflow.cs:149:16:149:21 | ... < ... | cflow.cs:149:16:149:21 | After ... < ... [true] | true | +| cflow.cs:149:16:149:21 | After ... < ... [false] | cflow.cs:149:9:150:33 | After for (...;...;...) ... | | +| cflow.cs:149:16:149:21 | After ... < ... [true] | cflow.cs:150:13:150:33 | ...; | | +| cflow.cs:149:16:149:21 | Before ... < ... | cflow.cs:149:16:149:16 | access to local variable x | | | cflow.cs:149:20:149:21 | 10 | cflow.cs:149:16:149:21 | ... < ... | | -| cflow.cs:149:24:149:26 | ++... | cflow.cs:149:16:149:16 | access to local variable x | | +| cflow.cs:149:24:149:26 | ++... | cflow.cs:149:24:149:26 | After ++... | | +| cflow.cs:149:24:149:26 | After ++... | cflow.cs:149:16:149:21 | Before ... < ... | | +| cflow.cs:149:24:149:26 | Before ++... | cflow.cs:149:26:149:26 | access to local variable x | | | cflow.cs:149:26:149:26 | access to local variable x | cflow.cs:149:24:149:26 | ++... | | -| cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:149:26:149:26 | access to local variable x | | -| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:31:150:31 | access to local variable x | | +| cflow.cs:150:13:150:32 | After call to method WriteLine | cflow.cs:150:13:150:33 | After ...; | | +| cflow.cs:150:13:150:32 | Before call to method WriteLine | cflow.cs:150:31:150:31 | access to local variable x | | +| cflow.cs:150:13:150:32 | call to method WriteLine | cflow.cs:150:13:150:32 | After call to method WriteLine | | +| cflow.cs:150:13:150:33 | ...; | cflow.cs:150:13:150:32 | Before call to method WriteLine | | +| cflow.cs:150:13:150:33 | After ...; | cflow.cs:149:9:150:33 | [LoopHeader] for (...;...;...) ... | | | cflow.cs:150:31:150:31 | access to local variable x | cflow.cs:150:13:150:32 | call to method WriteLine | | +| cflow.cs:152:9:157:9 | After for (...;...;...) ... | cflow.cs:159:9:165:9 | for (...;...;...) ... | | +| cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:152:18:152:20 | Before ...++ | | | cflow.cs:152:9:157:9 | for (...;...;...) ... | cflow.cs:153:9:157:9 | {...} | | | cflow.cs:152:18:152:18 | access to local variable x | cflow.cs:152:18:152:20 | ...++ | | -| cflow.cs:152:18:152:20 | ...++ | cflow.cs:153:9:157:9 | {...} | | +| cflow.cs:152:18:152:20 | ...++ | cflow.cs:152:18:152:20 | After ...++ | | +| cflow.cs:152:18:152:20 | After ...++ | cflow.cs:153:9:157:9 | {...} | | +| cflow.cs:152:18:152:20 | Before ...++ | cflow.cs:152:18:152:18 | access to local variable x | | +| cflow.cs:153:9:157:9 | After {...} | cflow.cs:152:9:157:9 | [LoopHeader] for (...;...;...) ... | | | cflow.cs:153:9:157:9 | {...} | cflow.cs:154:13:154:33 | ...; | | -| cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:155:13:156:22 | if (...) ... | | -| cflow.cs:154:13:154:33 | ...; | cflow.cs:154:31:154:31 | access to local variable x | | +| cflow.cs:154:13:154:32 | After call to method WriteLine | cflow.cs:154:13:154:33 | After ...; | | +| cflow.cs:154:13:154:32 | Before call to method WriteLine | cflow.cs:154:31:154:31 | access to local variable x | | +| cflow.cs:154:13:154:32 | call to method WriteLine | cflow.cs:154:13:154:32 | After call to method WriteLine | | +| cflow.cs:154:13:154:33 | ...; | cflow.cs:154:13:154:32 | Before call to method WriteLine | | +| cflow.cs:154:13:154:33 | After ...; | cflow.cs:155:13:156:22 | if (...) ... | | | cflow.cs:154:31:154:31 | access to local variable x | cflow.cs:154:13:154:32 | call to method WriteLine | | -| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:155:17:155:17 | access to local variable x | | +| cflow.cs:155:13:156:22 | After if (...) ... | cflow.cs:153:9:157:9 | After {...} | | +| cflow.cs:155:13:156:22 | if (...) ... | cflow.cs:155:17:155:22 | Before ... > ... | | | cflow.cs:155:17:155:17 | access to local variable x | cflow.cs:155:21:155:22 | 20 | | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:152:18:152:18 | access to local variable x | false | -| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:156:17:156:22 | break; | true | +| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | After ... > ... [false] | false | +| cflow.cs:155:17:155:22 | ... > ... | cflow.cs:155:17:155:22 | After ... > ... [true] | true | +| cflow.cs:155:17:155:22 | After ... > ... [false] | cflow.cs:155:13:156:22 | After if (...) ... | | +| cflow.cs:155:17:155:22 | After ... > ... [true] | cflow.cs:156:17:156:22 | Before break; | | +| cflow.cs:155:17:155:22 | Before ... > ... | cflow.cs:155:17:155:17 | access to local variable x | | | cflow.cs:155:21:155:22 | 20 | cflow.cs:155:17:155:22 | ... > ... | | -| cflow.cs:156:17:156:22 | break; | cflow.cs:159:9:165:9 | for (...;...;...) ... | break | +| cflow.cs:156:17:156:22 | Before break; | cflow.cs:156:17:156:22 | break; | | +| cflow.cs:156:17:156:22 | break; | cflow.cs:152:9:157:9 | After for (...;...;...) ... | break | +| cflow.cs:159:9:165:9 | After for (...;...;...) ... | cflow.cs:167:9:171:9 | for (...;...;...) ... | | +| cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:160:9:165:9 | {...} | | | cflow.cs:159:9:165:9 | for (...;...;...) ... | cflow.cs:160:9:165:9 | {...} | | +| cflow.cs:160:9:165:9 | After {...} | cflow.cs:159:9:165:9 | [LoopHeader] for (...;...;...) ... | | | cflow.cs:160:9:165:9 | {...} | cflow.cs:161:13:161:33 | ...; | | -| cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:162:13:162:16 | ...; | | -| cflow.cs:161:13:161:33 | ...; | cflow.cs:161:31:161:31 | access to local variable x | | +| cflow.cs:161:13:161:32 | After call to method WriteLine | cflow.cs:161:13:161:33 | After ...; | | +| cflow.cs:161:13:161:32 | Before call to method WriteLine | cflow.cs:161:31:161:31 | access to local variable x | | +| cflow.cs:161:13:161:32 | call to method WriteLine | cflow.cs:161:13:161:32 | After call to method WriteLine | | +| cflow.cs:161:13:161:33 | ...; | cflow.cs:161:13:161:32 | Before call to method WriteLine | | +| cflow.cs:161:13:161:33 | After ...; | cflow.cs:162:13:162:16 | ...; | | | cflow.cs:161:31:161:31 | access to local variable x | cflow.cs:161:13:161:32 | call to method WriteLine | | | cflow.cs:162:13:162:13 | access to local variable x | cflow.cs:162:13:162:15 | ...++ | | -| cflow.cs:162:13:162:15 | ...++ | cflow.cs:163:13:164:22 | if (...) ... | | -| cflow.cs:162:13:162:16 | ...; | cflow.cs:162:13:162:13 | access to local variable x | | -| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:163:17:163:17 | access to local variable x | | +| cflow.cs:162:13:162:15 | ...++ | cflow.cs:162:13:162:15 | After ...++ | | +| cflow.cs:162:13:162:15 | After ...++ | cflow.cs:162:13:162:16 | After ...; | | +| cflow.cs:162:13:162:15 | Before ...++ | cflow.cs:162:13:162:13 | access to local variable x | | +| cflow.cs:162:13:162:16 | ...; | cflow.cs:162:13:162:15 | Before ...++ | | +| cflow.cs:162:13:162:16 | After ...; | cflow.cs:163:13:164:22 | if (...) ... | | +| cflow.cs:163:13:164:22 | After if (...) ... | cflow.cs:160:9:165:9 | After {...} | | +| cflow.cs:163:13:164:22 | if (...) ... | cflow.cs:163:17:163:22 | Before ... > ... | | | cflow.cs:163:17:163:17 | access to local variable x | cflow.cs:163:21:163:22 | 30 | | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:160:9:165:9 | {...} | false | -| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:164:17:164:22 | break; | true | +| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | After ... > ... [false] | false | +| cflow.cs:163:17:163:22 | ... > ... | cflow.cs:163:17:163:22 | After ... > ... [true] | true | +| cflow.cs:163:17:163:22 | After ... > ... [false] | cflow.cs:163:13:164:22 | After if (...) ... | | +| cflow.cs:163:17:163:22 | After ... > ... [true] | cflow.cs:164:17:164:22 | Before break; | | +| cflow.cs:163:17:163:22 | Before ... > ... | cflow.cs:163:17:163:17 | access to local variable x | | | cflow.cs:163:21:163:22 | 30 | cflow.cs:163:17:163:22 | ... > ... | | -| cflow.cs:164:17:164:22 | break; | cflow.cs:167:9:171:9 | for (...;...;...) ... | break | -| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:167:16:167:16 | access to local variable x | | +| cflow.cs:164:17:164:22 | Before break; | cflow.cs:164:17:164:22 | break; | | +| cflow.cs:164:17:164:22 | break; | cflow.cs:159:9:165:9 | After for (...;...;...) ... | break | +| cflow.cs:167:9:171:9 | After for (...;...;...) ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | | +| cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:167:16:167:21 | Before ... < ... | | +| cflow.cs:167:9:171:9 | for (...;...;...) ... | cflow.cs:167:16:167:21 | Before ... < ... | | | cflow.cs:167:16:167:16 | access to local variable x | cflow.cs:167:20:167:21 | 40 | | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:168:9:171:9 | {...} | true | -| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:173:9:176:9 | for (...;...;...) ... | false | +| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | After ... < ... [false] | false | +| cflow.cs:167:16:167:21 | ... < ... | cflow.cs:167:16:167:21 | After ... < ... [true] | true | +| cflow.cs:167:16:167:21 | After ... < ... [false] | cflow.cs:167:9:171:9 | After for (...;...;...) ... | | +| cflow.cs:167:16:167:21 | After ... < ... [true] | cflow.cs:168:9:171:9 | {...} | | +| cflow.cs:167:16:167:21 | Before ... < ... | cflow.cs:167:16:167:16 | access to local variable x | | | cflow.cs:167:20:167:21 | 40 | cflow.cs:167:16:167:21 | ... < ... | | +| cflow.cs:168:9:171:9 | After {...} | cflow.cs:167:9:171:9 | [LoopHeader] for (...;...;...) ... | | | cflow.cs:168:9:171:9 | {...} | cflow.cs:169:13:169:33 | ...; | | -| cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:170:13:170:16 | ...; | | -| cflow.cs:169:13:169:33 | ...; | cflow.cs:169:31:169:31 | access to local variable x | | +| cflow.cs:169:13:169:32 | After call to method WriteLine | cflow.cs:169:13:169:33 | After ...; | | +| cflow.cs:169:13:169:32 | Before call to method WriteLine | cflow.cs:169:31:169:31 | access to local variable x | | +| cflow.cs:169:13:169:32 | call to method WriteLine | cflow.cs:169:13:169:32 | After call to method WriteLine | | +| cflow.cs:169:13:169:33 | ...; | cflow.cs:169:13:169:32 | Before call to method WriteLine | | +| cflow.cs:169:13:169:33 | After ...; | cflow.cs:170:13:170:16 | ...; | | | cflow.cs:169:31:169:31 | access to local variable x | cflow.cs:169:13:169:32 | call to method WriteLine | | | cflow.cs:170:13:170:13 | access to local variable x | cflow.cs:170:13:170:15 | ...++ | | -| cflow.cs:170:13:170:15 | ...++ | cflow.cs:167:16:167:16 | access to local variable x | | -| cflow.cs:170:13:170:16 | ...; | cflow.cs:170:13:170:13 | access to local variable x | | -| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:22:173:22 | 0 | | -| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:29:173:29 | 0 | | +| cflow.cs:170:13:170:15 | ...++ | cflow.cs:170:13:170:15 | After ...++ | | +| cflow.cs:170:13:170:15 | After ...++ | cflow.cs:170:13:170:16 | After ...; | | +| cflow.cs:170:13:170:15 | Before ...++ | cflow.cs:170:13:170:13 | access to local variable x | | +| cflow.cs:170:13:170:16 | ...; | cflow.cs:170:13:170:15 | Before ...++ | | +| cflow.cs:170:13:170:16 | After ...; | cflow.cs:168:9:171:9 | After {...} | | +| cflow.cs:173:9:176:9 | After for (...;...;...) ... | cflow.cs:147:5:177:5 | After {...} | | +| cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:173:44:173:46 | Before ...++ | | +| cflow.cs:173:9:176:9 | for (...;...;...) ... | cflow.cs:173:18:173:22 | Before Int32 i = ... | | +| cflow.cs:173:18:173:18 | access to local variable i | cflow.cs:173:22:173:22 | 0 | | +| cflow.cs:173:18:173:22 | After Int32 i = ... | cflow.cs:173:25:173:29 | Before Int32 j = ... | | +| cflow.cs:173:18:173:22 | Before Int32 i = ... | cflow.cs:173:18:173:18 | access to local variable i | | +| cflow.cs:173:18:173:22 | Int32 i = ... | cflow.cs:173:18:173:22 | After Int32 i = ... | | | cflow.cs:173:22:173:22 | 0 | cflow.cs:173:18:173:22 | Int32 i = ... | | -| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:32:173:32 | access to local variable i | | +| cflow.cs:173:25:173:25 | access to local variable j | cflow.cs:173:29:173:29 | 0 | | +| cflow.cs:173:25:173:29 | After Int32 j = ... | cflow.cs:173:32:173:41 | Before ... < ... | | +| cflow.cs:173:25:173:29 | Before Int32 j = ... | cflow.cs:173:25:173:25 | access to local variable j | | +| cflow.cs:173:25:173:29 | Int32 j = ... | cflow.cs:173:25:173:29 | After Int32 j = ... | | | cflow.cs:173:29:173:29 | 0 | cflow.cs:173:25:173:29 | Int32 j = ... | | | cflow.cs:173:32:173:32 | access to local variable i | cflow.cs:173:36:173:36 | access to local variable j | | -| cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:40:173:41 | 10 | | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:146:10:146:12 | exit For (normal) | false | -| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:174:9:176:9 | {...} | true | +| cflow.cs:173:32:173:36 | ... + ... | cflow.cs:173:32:173:36 | After ... + ... | | +| cflow.cs:173:32:173:36 | After ... + ... | cflow.cs:173:40:173:41 | 10 | | +| cflow.cs:173:32:173:36 | Before ... + ... | cflow.cs:173:32:173:32 | access to local variable i | | +| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | After ... < ... [false] | false | +| cflow.cs:173:32:173:41 | ... < ... | cflow.cs:173:32:173:41 | After ... < ... [true] | true | +| cflow.cs:173:32:173:41 | After ... < ... [false] | cflow.cs:173:9:176:9 | After for (...;...;...) ... | | +| cflow.cs:173:32:173:41 | After ... < ... [true] | cflow.cs:174:9:176:9 | {...} | | +| cflow.cs:173:32:173:41 | Before ... < ... | cflow.cs:173:32:173:36 | Before ... + ... | | | cflow.cs:173:36:173:36 | access to local variable j | cflow.cs:173:32:173:36 | ... + ... | | | cflow.cs:173:40:173:41 | 10 | cflow.cs:173:32:173:41 | ... < ... | | | cflow.cs:173:44:173:44 | access to local variable i | cflow.cs:173:44:173:46 | ...++ | | -| cflow.cs:173:44:173:46 | ...++ | cflow.cs:173:49:173:49 | access to local variable j | | +| cflow.cs:173:44:173:46 | ...++ | cflow.cs:173:44:173:46 | After ...++ | | +| cflow.cs:173:44:173:46 | After ...++ | cflow.cs:173:49:173:51 | Before ...++ | | +| cflow.cs:173:44:173:46 | Before ...++ | cflow.cs:173:44:173:44 | access to local variable i | | | cflow.cs:173:49:173:49 | access to local variable j | cflow.cs:173:49:173:51 | ...++ | | -| cflow.cs:173:49:173:51 | ...++ | cflow.cs:173:32:173:32 | access to local variable i | | +| cflow.cs:173:49:173:51 | ...++ | cflow.cs:173:49:173:51 | After ...++ | | +| cflow.cs:173:49:173:51 | After ...++ | cflow.cs:173:32:173:41 | Before ... < ... | | +| cflow.cs:173:49:173:51 | Before ...++ | cflow.cs:173:49:173:49 | access to local variable j | | +| cflow.cs:174:9:176:9 | After {...} | cflow.cs:173:9:176:9 | [LoopHeader] for (...;...;...) ... | | | cflow.cs:174:9:176:9 | {...} | cflow.cs:175:13:175:37 | ...; | | -| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:173:44:173:44 | access to local variable i | | -| cflow.cs:175:13:175:37 | ...; | cflow.cs:175:31:175:31 | access to local variable i | | +| cflow.cs:175:13:175:36 | After call to method WriteLine | cflow.cs:175:13:175:37 | After ...; | | +| cflow.cs:175:13:175:36 | Before call to method WriteLine | cflow.cs:175:31:175:35 | Before ... + ... | | +| cflow.cs:175:13:175:36 | call to method WriteLine | cflow.cs:175:13:175:36 | After call to method WriteLine | | +| cflow.cs:175:13:175:37 | ...; | cflow.cs:175:13:175:36 | Before call to method WriteLine | | +| cflow.cs:175:13:175:37 | After ...; | cflow.cs:174:9:176:9 | After {...} | | | cflow.cs:175:31:175:31 | access to local variable i | cflow.cs:175:35:175:35 | access to local variable j | | -| cflow.cs:175:31:175:35 | ... + ... | cflow.cs:175:13:175:36 | call to method WriteLine | | +| cflow.cs:175:31:175:35 | ... + ... | cflow.cs:175:31:175:35 | After ... + ... | | +| cflow.cs:175:31:175:35 | After ... + ... | cflow.cs:175:13:175:36 | call to method WriteLine | | +| cflow.cs:175:31:175:35 | Before ... + ... | cflow.cs:175:31:175:31 | access to local variable i | | | cflow.cs:175:35:175:35 | access to local variable j | cflow.cs:175:31:175:35 | ... + ... | | -| cflow.cs:179:10:179:16 | enter Lambdas | cflow.cs:180:5:183:5 | {...} | | -| cflow.cs:179:10:179:16 | exit Lambdas (normal) | cflow.cs:179:10:179:16 | exit Lambdas | | +| cflow.cs:179:10:179:16 | Entry | cflow.cs:180:5:183:5 | {...} | | +| cflow.cs:179:10:179:16 | Normal Exit | cflow.cs:179:10:179:16 | Exit | | +| cflow.cs:180:5:183:5 | After {...} | cflow.cs:179:10:179:16 | Normal Exit | | | cflow.cs:180:5:183:5 | {...} | cflow.cs:181:9:181:38 | ... ...; | | -| cflow.cs:181:9:181:38 | ... ...; | cflow.cs:181:28:181:37 | (...) => ... | | -| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:182:9:182:62 | ... ...; | | +| cflow.cs:181:9:181:38 | ... ...; | cflow.cs:181:24:181:37 | Before Func y = ... | | +| cflow.cs:181:9:181:38 | After ... ...; | cflow.cs:182:9:182:62 | ... ...; | | +| cflow.cs:181:24:181:24 | access to local variable y | cflow.cs:181:28:181:37 | (...) => ... | | +| cflow.cs:181:24:181:37 | After Func y = ... | cflow.cs:181:9:181:38 | After ... ...; | | +| cflow.cs:181:24:181:37 | Before Func y = ... | cflow.cs:181:24:181:24 | access to local variable y | | +| cflow.cs:181:24:181:37 | Func y = ... | cflow.cs:181:24:181:37 | After Func y = ... | | | cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:24:181:37 | Func y = ... | | -| cflow.cs:181:28:181:37 | enter (...) => ... | cflow.cs:181:33:181:33 | access to parameter x | | -| cflow.cs:181:28:181:37 | exit (...) => ... (normal) | cflow.cs:181:28:181:37 | exit (...) => ... | | +| cflow.cs:181:28:181:37 | Entry | cflow.cs:181:33:181:37 | Before ... + ... | | +| cflow.cs:181:28:181:37 | Normal Exit | cflow.cs:181:28:181:37 | Exit | | | cflow.cs:181:33:181:33 | access to parameter x | cflow.cs:181:37:181:37 | 1 | | -| cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:28:181:37 | exit (...) => ... (normal) | | +| cflow.cs:181:33:181:37 | ... + ... | cflow.cs:181:33:181:37 | After ... + ... | | +| cflow.cs:181:33:181:37 | After ... + ... | cflow.cs:181:28:181:37 | Normal Exit | | +| cflow.cs:181:33:181:37 | Before ... + ... | cflow.cs:181:33:181:33 | access to parameter x | | | cflow.cs:181:37:181:37 | 1 | cflow.cs:181:33:181:37 | ... + ... | | -| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:182:28:182:61 | delegate(...) { ... } | | -| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:179:10:179:16 | exit Lambdas (normal) | | +| cflow.cs:182:9:182:62 | ... ...; | cflow.cs:182:24:182:61 | Before Func z = ... | | +| cflow.cs:182:9:182:62 | After ... ...; | cflow.cs:180:5:183:5 | After {...} | | +| cflow.cs:182:24:182:24 | access to local variable z | cflow.cs:182:28:182:61 | delegate(...) { ... } | | +| cflow.cs:182:24:182:61 | After Func z = ... | cflow.cs:182:9:182:62 | After ... ...; | | +| cflow.cs:182:24:182:61 | Before Func z = ... | cflow.cs:182:24:182:24 | access to local variable z | | +| cflow.cs:182:24:182:61 | Func z = ... | cflow.cs:182:24:182:61 | After Func z = ... | | +| cflow.cs:182:28:182:61 | Entry | cflow.cs:182:45:182:61 | {...} | | +| cflow.cs:182:28:182:61 | Normal Exit | cflow.cs:182:28:182:61 | Exit | | | cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:24:182:61 | Func z = ... | | -| cflow.cs:182:28:182:61 | enter delegate(...) { ... } | cflow.cs:182:45:182:61 | {...} | | -| cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | cflow.cs:182:28:182:61 | exit delegate(...) { ... } | | -| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:54:182:54 | access to parameter x | | -| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:28:182:61 | exit delegate(...) { ... } (normal) | return | +| cflow.cs:182:45:182:61 | {...} | cflow.cs:182:47:182:59 | Before return ...; | | +| cflow.cs:182:47:182:59 | Before return ...; | cflow.cs:182:54:182:58 | Before ... + ... | | +| cflow.cs:182:47:182:59 | return ...; | cflow.cs:182:28:182:61 | Normal Exit | return | | cflow.cs:182:54:182:54 | access to parameter x | cflow.cs:182:58:182:58 | 1 | | -| cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:47:182:59 | return ...; | | +| cflow.cs:182:54:182:58 | ... + ... | cflow.cs:182:54:182:58 | After ... + ... | | +| cflow.cs:182:54:182:58 | After ... + ... | cflow.cs:182:47:182:59 | return ...; | | +| cflow.cs:182:54:182:58 | Before ... + ... | cflow.cs:182:54:182:54 | access to parameter x | | | cflow.cs:182:58:182:58 | 1 | cflow.cs:182:54:182:58 | ... + ... | | -| cflow.cs:185:10:185:18 | enter LogicalOr | cflow.cs:186:5:191:5 | {...} | | -| cflow.cs:185:10:185:18 | exit LogicalOr (normal) | cflow.cs:185:10:185:18 | exit LogicalOr | | +| cflow.cs:185:10:185:18 | Entry | cflow.cs:186:5:191:5 | {...} | | +| cflow.cs:185:10:185:18 | Normal Exit | cflow.cs:185:10:185:18 | Exit | | +| cflow.cs:186:5:191:5 | After {...} | cflow.cs:185:10:185:18 | Normal Exit | | | cflow.cs:186:5:191:5 | {...} | cflow.cs:187:9:190:52 | if (...) ... | | -| cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:187:13:187:13 | 1 | | +| cflow.cs:187:9:190:52 | After if (...) ... | cflow.cs:186:5:191:5 | After {...} | | +| cflow.cs:187:9:190:52 | if (...) ... | cflow.cs:187:13:187:50 | ... \|\| ... | | | cflow.cs:187:13:187:13 | 1 | cflow.cs:187:18:187:18 | 2 | | -| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:23:187:23 | 2 | false | -| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:34:187:34 | 1 | false | -| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:190:13:190:52 | ...; | false | +| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | After ... == ... [false] | false | +| cflow.cs:187:13:187:18 | ... == ... | cflow.cs:187:13:187:18 | After ... == ... [true] | true | +| cflow.cs:187:13:187:18 | After ... == ... [false] | cflow.cs:187:23:187:28 | Before ... == ... | | +| cflow.cs:187:13:187:18 | After ... == ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | true | +| cflow.cs:187:13:187:18 | Before ... == ... | cflow.cs:187:13:187:13 | 1 | | +| cflow.cs:187:13:187:28 | ... \|\| ... | cflow.cs:187:13:187:18 | Before ... == ... | | +| cflow.cs:187:13:187:28 | After ... \|\| ... [false] | cflow.cs:187:34:187:49 | ... && ... | | +| cflow.cs:187:13:187:28 | After ... \|\| ... [true] | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | true | +| cflow.cs:187:13:187:50 | ... \|\| ... | cflow.cs:187:13:187:28 | ... \|\| ... | | +| cflow.cs:187:13:187:50 | After ... \|\| ... [false] | cflow.cs:190:13:190:52 | ...; | | +| cflow.cs:187:13:187:50 | After ... \|\| ... [true] | cflow.cs:188:13:188:55 | ...; | | | cflow.cs:187:18:187:18 | 2 | cflow.cs:187:13:187:18 | ... == ... | | | cflow.cs:187:23:187:23 | 2 | cflow.cs:187:28:187:28 | 3 | | -| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:13:187:28 | ... \|\| ... | false | +| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | After ... == ... [false] | false | +| cflow.cs:187:23:187:28 | ... == ... | cflow.cs:187:23:187:28 | After ... == ... [true] | true | +| cflow.cs:187:23:187:28 | After ... == ... [false] | cflow.cs:187:13:187:28 | After ... \|\| ... [false] | false | +| cflow.cs:187:23:187:28 | After ... == ... [true] | cflow.cs:187:13:187:28 | After ... \|\| ... [true] | true | +| cflow.cs:187:23:187:28 | Before ... == ... | cflow.cs:187:23:187:23 | 2 | | | cflow.cs:187:28:187:28 | 3 | cflow.cs:187:23:187:28 | ... == ... | | | cflow.cs:187:34:187:34 | 1 | cflow.cs:187:39:187:39 | 3 | | -| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:49 | ... && ... | false | -| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:13:187:50 | ... \|\| ... | false | +| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | After ... == ... [false] | false | +| cflow.cs:187:34:187:39 | ... == ... | cflow.cs:187:34:187:39 | After ... == ... [true] | true | +| cflow.cs:187:34:187:39 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | false | +| cflow.cs:187:34:187:39 | After ... == ... [true] | cflow.cs:187:44:187:49 | Before ... == ... | | +| cflow.cs:187:34:187:39 | Before ... == ... | cflow.cs:187:34:187:34 | 1 | | +| cflow.cs:187:34:187:49 | ... && ... | cflow.cs:187:34:187:39 | Before ... == ... | | +| cflow.cs:187:34:187:49 | After ... && ... [false] | cflow.cs:187:13:187:50 | After ... \|\| ... [false] | false | +| cflow.cs:187:34:187:49 | After ... && ... [true] | cflow.cs:187:13:187:50 | After ... \|\| ... [true] | true | | cflow.cs:187:39:187:39 | 3 | cflow.cs:187:34:187:39 | ... == ... | | -| cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:185:10:185:18 | exit LogicalOr (normal) | | -| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:31:190:50 | "This should happen" | | +| cflow.cs:187:44:187:44 | 3 | cflow.cs:187:49:187:49 | 1 | | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | After ... == ... [false] | false | +| cflow.cs:187:44:187:49 | ... == ... | cflow.cs:187:44:187:49 | After ... == ... [true] | true | +| cflow.cs:187:44:187:49 | After ... == ... [false] | cflow.cs:187:34:187:49 | After ... && ... [false] | false | +| cflow.cs:187:44:187:49 | After ... == ... [true] | cflow.cs:187:34:187:49 | After ... && ... [true] | true | +| cflow.cs:187:44:187:49 | Before ... == ... | cflow.cs:187:44:187:44 | 3 | | +| cflow.cs:187:49:187:49 | 1 | cflow.cs:187:44:187:49 | ... == ... | | +| cflow.cs:188:13:188:54 | After call to method WriteLine | cflow.cs:188:13:188:55 | After ...; | | +| cflow.cs:188:13:188:54 | Before call to method WriteLine | cflow.cs:188:31:188:53 | "This shouldn't happen" | | +| cflow.cs:188:13:188:54 | call to method WriteLine | cflow.cs:188:13:188:54 | After call to method WriteLine | | +| cflow.cs:188:13:188:55 | ...; | cflow.cs:188:13:188:54 | Before call to method WriteLine | | +| cflow.cs:188:13:188:55 | After ...; | cflow.cs:187:9:190:52 | After if (...) ... | | +| cflow.cs:188:31:188:53 | "This shouldn't happen" | cflow.cs:188:13:188:54 | call to method WriteLine | | +| cflow.cs:190:13:190:51 | After call to method WriteLine | cflow.cs:190:13:190:52 | After ...; | | +| cflow.cs:190:13:190:51 | Before call to method WriteLine | cflow.cs:190:31:190:50 | "This should happen" | | +| cflow.cs:190:13:190:51 | call to method WriteLine | cflow.cs:190:13:190:51 | After call to method WriteLine | | +| cflow.cs:190:13:190:52 | ...; | cflow.cs:190:13:190:51 | Before call to method WriteLine | | +| cflow.cs:190:13:190:52 | After ...; | cflow.cs:187:9:190:52 | After if (...) ... | | | cflow.cs:190:31:190:50 | "This should happen" | cflow.cs:190:13:190:51 | call to method WriteLine | | -| cflow.cs:193:10:193:17 | enter Booleans | cflow.cs:194:5:206:5 | {...} | | -| cflow.cs:193:10:193:17 | exit Booleans (abnormal) | cflow.cs:193:10:193:17 | exit Booleans | | -| cflow.cs:193:10:193:17 | exit Booleans (normal) | cflow.cs:193:10:193:17 | exit Booleans | | +| cflow.cs:193:10:193:17 | Entry | cflow.cs:194:5:206:5 | {...} | | +| cflow.cs:193:10:193:17 | Exceptional Exit | cflow.cs:193:10:193:17 | Exit | | +| cflow.cs:193:10:193:17 | Normal Exit | cflow.cs:193:10:193:17 | Exit | | +| cflow.cs:194:5:206:5 | After {...} | cflow.cs:193:10:193:17 | Normal Exit | | | cflow.cs:194:5:206:5 | {...} | cflow.cs:195:9:195:57 | ... ...; | | -| cflow.cs:195:9:195:57 | ... ...; | cflow.cs:195:17:195:21 | this access | | -| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:197:9:198:49 | if (...) ... | | -| cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:28 | access to property Length | | +| cflow.cs:195:9:195:57 | ... ...; | cflow.cs:195:13:195:56 | Before Boolean b = ... | | +| cflow.cs:195:9:195:57 | After ... ...; | cflow.cs:197:9:198:49 | if (...) ... | | +| cflow.cs:195:13:195:13 | access to local variable b | cflow.cs:195:17:195:56 | ... && ... | | +| cflow.cs:195:13:195:56 | After Boolean b = ... | cflow.cs:195:9:195:57 | After ... ...; | | +| cflow.cs:195:13:195:56 | Before Boolean b = ... | cflow.cs:195:13:195:13 | access to local variable b | | +| cflow.cs:195:13:195:56 | Boolean b = ... | cflow.cs:195:13:195:56 | After Boolean b = ... | | +| cflow.cs:195:17:195:21 | After access to field Field | cflow.cs:195:17:195:28 | access to property Length | | +| cflow.cs:195:17:195:21 | Before access to field Field | cflow.cs:195:17:195:21 | this access | | +| cflow.cs:195:17:195:21 | access to field Field | cflow.cs:195:17:195:21 | After access to field Field | | | cflow.cs:195:17:195:21 | this access | cflow.cs:195:17:195:21 | access to field Field | | -| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:32:195:32 | 0 | | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:56 | ... && ... | false | -| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:39:195:43 | this access | true | -| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:13:195:56 | Boolean b = ... | | +| cflow.cs:195:17:195:28 | After access to property Length | cflow.cs:195:32:195:32 | 0 | | +| cflow.cs:195:17:195:28 | Before access to property Length | cflow.cs:195:17:195:21 | Before access to field Field | | +| cflow.cs:195:17:195:28 | access to property Length | cflow.cs:195:17:195:28 | After access to property Length | | +| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | After ... > ... [false] | false | +| cflow.cs:195:17:195:32 | ... > ... | cflow.cs:195:17:195:32 | After ... > ... [true] | true | +| cflow.cs:195:17:195:32 | After ... > ... [false] | cflow.cs:195:17:195:56 | After ... && ... | | +| cflow.cs:195:17:195:32 | After ... > ... [true] | cflow.cs:195:37:195:56 | !... | | +| cflow.cs:195:17:195:32 | Before ... > ... | cflow.cs:195:17:195:28 | Before access to property Length | | +| cflow.cs:195:17:195:56 | ... && ... | cflow.cs:195:17:195:32 | Before ... > ... | | +| cflow.cs:195:17:195:56 | After ... && ... | cflow.cs:195:13:195:56 | Boolean b = ... | | | cflow.cs:195:32:195:32 | 0 | cflow.cs:195:17:195:32 | ... > ... | | -| cflow.cs:195:37:195:56 | !... | cflow.cs:195:17:195:56 | ... && ... | | -| cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:50 | access to property Length | | +| cflow.cs:195:37:195:56 | !... | cflow.cs:195:39:195:55 | Before ... == ... | | +| cflow.cs:195:37:195:56 | After !... | cflow.cs:195:17:195:56 | After ... && ... | | +| cflow.cs:195:39:195:43 | After access to field Field | cflow.cs:195:39:195:50 | access to property Length | | +| cflow.cs:195:39:195:43 | Before access to field Field | cflow.cs:195:39:195:43 | this access | | +| cflow.cs:195:39:195:43 | access to field Field | cflow.cs:195:39:195:43 | After access to field Field | | | cflow.cs:195:39:195:43 | this access | cflow.cs:195:39:195:43 | access to field Field | | -| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:55:195:55 | 1 | | -| cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:37:195:56 | !... | | +| cflow.cs:195:39:195:50 | After access to property Length | cflow.cs:195:55:195:55 | 1 | | +| cflow.cs:195:39:195:50 | Before access to property Length | cflow.cs:195:39:195:43 | Before access to field Field | | +| cflow.cs:195:39:195:50 | access to property Length | cflow.cs:195:39:195:50 | After access to property Length | | +| cflow.cs:195:39:195:55 | ... == ... | cflow.cs:195:39:195:55 | After ... == ... | | +| cflow.cs:195:39:195:55 | After ... == ... | cflow.cs:195:37:195:56 | After !... | | +| cflow.cs:195:39:195:55 | Before ... == ... | cflow.cs:195:39:195:50 | Before access to property Length | | | cflow.cs:195:55:195:55 | 1 | cflow.cs:195:39:195:55 | ... == ... | | -| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:197:15:197:19 | this access | | -| cflow.cs:197:13:197:47 | [false] !... | cflow.cs:200:9:205:9 | if (...) ... | false | -| cflow.cs:197:13:197:47 | [true] !... | cflow.cs:198:13:198:49 | ...; | true | -| cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:26 | access to property Length | | +| cflow.cs:197:9:198:49 | After if (...) ... | cflow.cs:200:9:205:9 | if (...) ... | | +| cflow.cs:197:9:198:49 | if (...) ... | cflow.cs:197:13:197:47 | !... | | +| cflow.cs:197:13:197:47 | !... | cflow.cs:197:15:197:46 | ... ? ... : ... | | +| cflow.cs:197:13:197:47 | After !... [false] | cflow.cs:197:9:198:49 | After if (...) ... | | +| cflow.cs:197:13:197:47 | After !... [true] | cflow.cs:198:13:198:49 | ...; | | +| cflow.cs:197:15:197:19 | After access to field Field | cflow.cs:197:15:197:26 | access to property Length | | +| cflow.cs:197:15:197:19 | Before access to field Field | cflow.cs:197:15:197:19 | this access | | +| cflow.cs:197:15:197:19 | access to field Field | cflow.cs:197:15:197:19 | After access to field Field | | | cflow.cs:197:15:197:19 | this access | cflow.cs:197:15:197:19 | access to field Field | | -| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:31:197:31 | 0 | | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:35:197:39 | false | true | -| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:43:197:46 | true | false | -| cflow.cs:197:15:197:46 | [false] ... ? ... : ... | cflow.cs:197:13:197:47 | [true] !... | false | -| cflow.cs:197:15:197:46 | [true] ... ? ... : ... | cflow.cs:197:13:197:47 | [false] !... | true | +| cflow.cs:197:15:197:26 | After access to property Length | cflow.cs:197:31:197:31 | 0 | | +| cflow.cs:197:15:197:26 | Before access to property Length | cflow.cs:197:15:197:19 | Before access to field Field | | +| cflow.cs:197:15:197:26 | access to property Length | cflow.cs:197:15:197:26 | After access to property Length | | +| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | After ... == ... [false] | false | +| cflow.cs:197:15:197:31 | ... == ... | cflow.cs:197:15:197:31 | After ... == ... [true] | true | +| cflow.cs:197:15:197:31 | After ... == ... [false] | cflow.cs:197:43:197:46 | true | | +| cflow.cs:197:15:197:31 | After ... == ... [true] | cflow.cs:197:35:197:39 | false | | +| cflow.cs:197:15:197:31 | Before ... == ... | cflow.cs:197:15:197:26 | Before access to property Length | | +| cflow.cs:197:15:197:46 | ... ? ... : ... | cflow.cs:197:15:197:31 | Before ... == ... | | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | cflow.cs:197:13:197:47 | After !... [true] | true | +| cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | cflow.cs:197:13:197:47 | After !... [false] | false | | cflow.cs:197:31:197:31 | 0 | cflow.cs:197:15:197:31 | ... == ... | | -| cflow.cs:197:35:197:39 | false | cflow.cs:197:15:197:46 | [false] ... ? ... : ... | false | -| cflow.cs:197:43:197:46 | true | cflow.cs:197:15:197:46 | [true] ... ? ... : ... | true | -| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:200:9:205:9 | if (...) ... | | -| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:17:198:21 | this access | | -| cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:28 | access to property Length | | +| cflow.cs:197:35:197:39 | After false [false] | cflow.cs:197:15:197:46 | After ... ? ... : ... [false] | false | +| cflow.cs:197:35:197:39 | false | cflow.cs:197:35:197:39 | After false [false] | false | +| cflow.cs:197:43:197:46 | After true [true] | cflow.cs:197:15:197:46 | After ... ? ... : ... [true] | true | +| cflow.cs:197:43:197:46 | true | cflow.cs:197:43:197:46 | After true [true] | true | +| cflow.cs:198:13:198:13 | access to local variable b | cflow.cs:198:17:198:48 | ... ? ... : ... | | +| cflow.cs:198:13:198:48 | ... = ... | cflow.cs:198:13:198:48 | After ... = ... | | +| cflow.cs:198:13:198:48 | After ... = ... | cflow.cs:198:13:198:49 | After ...; | | +| cflow.cs:198:13:198:48 | Before ... = ... | cflow.cs:198:13:198:13 | access to local variable b | | +| cflow.cs:198:13:198:49 | ...; | cflow.cs:198:13:198:48 | Before ... = ... | | +| cflow.cs:198:13:198:49 | After ...; | cflow.cs:197:9:198:49 | After if (...) ... | | +| cflow.cs:198:17:198:21 | After access to field Field | cflow.cs:198:17:198:28 | access to property Length | | +| cflow.cs:198:17:198:21 | Before access to field Field | cflow.cs:198:17:198:21 | this access | | +| cflow.cs:198:17:198:21 | access to field Field | cflow.cs:198:17:198:21 | After access to field Field | | | cflow.cs:198:17:198:21 | this access | cflow.cs:198:17:198:21 | access to field Field | | -| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:33:198:33 | 0 | | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:37:198:41 | false | true | -| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:45:198:48 | true | false | -| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:13:198:48 | ... = ... | | +| cflow.cs:198:17:198:28 | After access to property Length | cflow.cs:198:33:198:33 | 0 | | +| cflow.cs:198:17:198:28 | Before access to property Length | cflow.cs:198:17:198:21 | Before access to field Field | | +| cflow.cs:198:17:198:28 | access to property Length | cflow.cs:198:17:198:28 | After access to property Length | | +| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | After ... == ... [false] | false | +| cflow.cs:198:17:198:33 | ... == ... | cflow.cs:198:17:198:33 | After ... == ... [true] | true | +| cflow.cs:198:17:198:33 | After ... == ... [false] | cflow.cs:198:45:198:48 | true | | +| cflow.cs:198:17:198:33 | After ... == ... [true] | cflow.cs:198:37:198:41 | false | | +| cflow.cs:198:17:198:33 | Before ... == ... | cflow.cs:198:17:198:28 | Before access to property Length | | +| cflow.cs:198:17:198:48 | ... ? ... : ... | cflow.cs:198:17:198:33 | Before ... == ... | | +| cflow.cs:198:17:198:48 | After ... ? ... : ... | cflow.cs:198:13:198:48 | ... = ... | | | cflow.cs:198:33:198:33 | 0 | cflow.cs:198:17:198:33 | ... == ... | | -| cflow.cs:198:37:198:41 | false | cflow.cs:198:17:198:48 | ... ? ... : ... | | -| cflow.cs:198:45:198:48 | true | cflow.cs:198:17:198:48 | ... ? ... : ... | | -| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:15:200:19 | this access | | -| cflow.cs:200:13:200:32 | [false] !... | cflow.cs:200:40:200:44 | this access | false | -| cflow.cs:200:13:200:32 | [true] !... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | true | -| cflow.cs:200:13:200:62 | [false] ... \|\| ... | cflow.cs:193:10:193:17 | exit Booleans (normal) | false | -| cflow.cs:200:13:200:62 | [true] ... \|\| ... | cflow.cs:201:9:205:9 | {...} | true | -| cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:26 | access to property Length | | +| cflow.cs:198:37:198:41 | false | cflow.cs:198:17:198:48 | After ... ? ... : ... | | +| cflow.cs:198:45:198:48 | true | cflow.cs:198:17:198:48 | After ... ? ... : ... | | +| cflow.cs:200:9:205:9 | After if (...) ... | cflow.cs:194:5:206:5 | After {...} | | +| cflow.cs:200:9:205:9 | if (...) ... | cflow.cs:200:13:200:62 | ... \|\| ... | | +| cflow.cs:200:13:200:32 | !... | cflow.cs:200:15:200:31 | Before ... == ... | | +| cflow.cs:200:13:200:32 | After !... [false] | cflow.cs:200:37:200:62 | !... | | +| cflow.cs:200:13:200:32 | After !... [true] | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | true | +| cflow.cs:200:13:200:62 | ... \|\| ... | cflow.cs:200:13:200:32 | !... | | +| cflow.cs:200:13:200:62 | After ... \|\| ... [false] | cflow.cs:200:9:205:9 | After if (...) ... | | +| cflow.cs:200:13:200:62 | After ... \|\| ... [true] | cflow.cs:201:9:205:9 | {...} | | +| cflow.cs:200:15:200:19 | After access to field Field | cflow.cs:200:15:200:26 | access to property Length | | +| cflow.cs:200:15:200:19 | Before access to field Field | cflow.cs:200:15:200:19 | this access | | +| cflow.cs:200:15:200:19 | access to field Field | cflow.cs:200:15:200:19 | After access to field Field | | | cflow.cs:200:15:200:19 | this access | cflow.cs:200:15:200:19 | access to field Field | | -| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:31:200:31 | 0 | | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:13:200:32 | [false] !... | true | -| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:13:200:32 | [true] !... | false | +| cflow.cs:200:15:200:26 | After access to property Length | cflow.cs:200:31:200:31 | 0 | | +| cflow.cs:200:15:200:26 | Before access to property Length | cflow.cs:200:15:200:19 | Before access to field Field | | +| cflow.cs:200:15:200:26 | access to property Length | cflow.cs:200:15:200:26 | After access to property Length | | +| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | After ... == ... [false] | false | +| cflow.cs:200:15:200:31 | ... == ... | cflow.cs:200:15:200:31 | After ... == ... [true] | true | +| cflow.cs:200:15:200:31 | After ... == ... [false] | cflow.cs:200:13:200:32 | After !... [true] | true | +| cflow.cs:200:15:200:31 | After ... == ... [true] | cflow.cs:200:13:200:32 | After !... [false] | false | +| cflow.cs:200:15:200:31 | Before ... == ... | cflow.cs:200:15:200:26 | Before access to property Length | | | cflow.cs:200:31:200:31 | 0 | cflow.cs:200:15:200:31 | ... == ... | | -| cflow.cs:200:37:200:62 | [false] !... | cflow.cs:200:13:200:62 | [false] ... \|\| ... | false | -| cflow.cs:200:37:200:62 | [true] !... | cflow.cs:200:13:200:62 | [true] ... \|\| ... | true | -| cflow.cs:200:38:200:62 | [false] !... | cflow.cs:200:37:200:62 | [true] !... | false | -| cflow.cs:200:38:200:62 | [true] !... | cflow.cs:200:37:200:62 | [false] !... | true | -| cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:51 | access to property Length | | +| cflow.cs:200:37:200:62 | !... | cflow.cs:200:38:200:62 | !... | | +| cflow.cs:200:37:200:62 | After !... [false] | cflow.cs:200:13:200:62 | After ... \|\| ... [false] | false | +| cflow.cs:200:37:200:62 | After !... [true] | cflow.cs:200:13:200:62 | After ... \|\| ... [true] | true | +| cflow.cs:200:38:200:62 | !... | cflow.cs:200:40:200:61 | ... && ... | | +| cflow.cs:200:38:200:62 | After !... [false] | cflow.cs:200:37:200:62 | After !... [true] | true | +| cflow.cs:200:38:200:62 | After !... [true] | cflow.cs:200:37:200:62 | After !... [false] | false | +| cflow.cs:200:40:200:44 | After access to field Field | cflow.cs:200:40:200:51 | access to property Length | | +| cflow.cs:200:40:200:44 | Before access to field Field | cflow.cs:200:40:200:44 | this access | | +| cflow.cs:200:40:200:44 | access to field Field | cflow.cs:200:40:200:44 | After access to field Field | | | cflow.cs:200:40:200:44 | this access | cflow.cs:200:40:200:44 | access to field Field | | -| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:56:200:56 | 1 | | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:61 | [false] ... && ... | false | -| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:61:200:61 | access to local variable b | true | -| cflow.cs:200:40:200:61 | [false] ... && ... | cflow.cs:200:38:200:62 | [true] !... | false | -| cflow.cs:200:40:200:61 | [true] ... && ... | cflow.cs:200:38:200:62 | [false] !... | true | +| cflow.cs:200:40:200:51 | After access to property Length | cflow.cs:200:56:200:56 | 1 | | +| cflow.cs:200:40:200:51 | Before access to property Length | cflow.cs:200:40:200:44 | Before access to field Field | | +| cflow.cs:200:40:200:51 | access to property Length | cflow.cs:200:40:200:51 | After access to property Length | | +| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | After ... == ... [false] | false | +| cflow.cs:200:40:200:56 | ... == ... | cflow.cs:200:40:200:56 | After ... == ... [true] | true | +| cflow.cs:200:40:200:56 | After ... == ... [false] | cflow.cs:200:40:200:61 | After ... && ... [false] | false | +| cflow.cs:200:40:200:56 | After ... == ... [true] | cflow.cs:200:61:200:61 | access to local variable b | | +| cflow.cs:200:40:200:56 | Before ... == ... | cflow.cs:200:40:200:51 | Before access to property Length | | +| cflow.cs:200:40:200:61 | ... && ... | cflow.cs:200:40:200:56 | Before ... == ... | | +| cflow.cs:200:40:200:61 | After ... && ... [false] | cflow.cs:200:38:200:62 | After !... [true] | true | +| cflow.cs:200:40:200:61 | After ... && ... [true] | cflow.cs:200:38:200:62 | After !... [false] | false | | cflow.cs:200:56:200:56 | 1 | cflow.cs:200:40:200:56 | ... == ... | | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [false] ... && ... | false | -| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:40:200:61 | [true] ... && ... | true | +| cflow.cs:200:61:200:61 | After access to local variable b [false] | cflow.cs:200:40:200:61 | After ... && ... [false] | false | +| cflow.cs:200:61:200:61 | After access to local variable b [true] | cflow.cs:200:40:200:61 | After ... && ... [true] | true | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | After access to local variable b [false] | false | +| cflow.cs:200:61:200:61 | access to local variable b | cflow.cs:200:61:200:61 | After access to local variable b [true] | true | | cflow.cs:201:9:205:9 | {...} | cflow.cs:202:13:204:13 | {...} | | -| cflow.cs:202:13:204:13 | {...} | cflow.cs:203:23:203:37 | object creation of type Exception | | -| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:193:10:193:17 | exit Booleans (abnormal) | exception | -| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:203:17:203:38 | throw ...; | | -| cflow.cs:208:10:208:11 | enter Do | cflow.cs:209:5:222:5 | {...} | | -| cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | exit Do | | +| cflow.cs:202:13:204:13 | {...} | cflow.cs:203:17:203:38 | Before throw ...; | | +| cflow.cs:203:17:203:38 | Before throw ...; | cflow.cs:203:23:203:37 | Before object creation of type Exception | | +| cflow.cs:203:17:203:38 | throw ...; | cflow.cs:193:10:193:17 | Exceptional Exit | exception | +| cflow.cs:203:23:203:37 | After object creation of type Exception | cflow.cs:203:17:203:38 | throw ...; | | +| cflow.cs:203:23:203:37 | Before object creation of type Exception | cflow.cs:203:23:203:37 | object creation of type Exception | | +| cflow.cs:203:23:203:37 | object creation of type Exception | cflow.cs:203:23:203:37 | After object creation of type Exception | | +| cflow.cs:208:10:208:11 | Entry | cflow.cs:209:5:222:5 | {...} | | +| cflow.cs:208:10:208:11 | Normal Exit | cflow.cs:208:10:208:11 | Exit | | +| cflow.cs:209:5:222:5 | After {...} | cflow.cs:208:10:208:11 | Normal Exit | | | cflow.cs:209:5:222:5 | {...} | cflow.cs:210:9:221:36 | do ... while (...); | | +| cflow.cs:210:9:221:36 | After do ... while (...); | cflow.cs:209:5:222:5 | After {...} | | +| cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | cflow.cs:221:18:221:34 | Before ... < ... | | | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:211:9:221:9 | {...} | | +| cflow.cs:211:9:221:9 | After {...} | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | | | cflow.cs:211:9:221:9 | {...} | cflow.cs:212:13:212:25 | ...; | | -| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:22:212:24 | "a" | | +| cflow.cs:212:13:212:17 | After access to field Field | cflow.cs:212:22:212:24 | "a" | | +| cflow.cs:212:13:212:17 | Before access to field Field | cflow.cs:212:13:212:17 | this access | | +| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:17 | After access to field Field | | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | access to field Field | | -| cflow.cs:212:13:212:24 | ... += ... | cflow.cs:213:13:216:13 | if (...) ... | | -| cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:17 | this access | | +| cflow.cs:212:13:212:24 | ... += ... | cflow.cs:212:13:212:24 | After ... += ... | | +| cflow.cs:212:13:212:24 | After ... += ... | cflow.cs:212:13:212:25 | After ...; | | +| cflow.cs:212:13:212:24 | Before ... += ... | cflow.cs:212:13:212:17 | Before access to field Field | | +| cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:24 | Before ... += ... | | +| cflow.cs:212:13:212:25 | After ...; | cflow.cs:213:13:216:13 | if (...) ... | | | cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:24 | ... += ... | | -| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:213:17:213:21 | this access | | -| cflow.cs:213:17:213:21 | access to field Field | cflow.cs:213:17:213:28 | access to property Length | | +| cflow.cs:213:13:216:13 | After if (...) ... | cflow.cs:217:13:220:13 | if (...) ... | | +| cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:213:17:213:32 | Before ... > ... | | +| cflow.cs:213:17:213:21 | After access to field Field | cflow.cs:213:17:213:28 | access to property Length | | +| cflow.cs:213:17:213:21 | Before access to field Field | cflow.cs:213:17:213:21 | this access | | +| cflow.cs:213:17:213:21 | access to field Field | cflow.cs:213:17:213:21 | After access to field Field | | | cflow.cs:213:17:213:21 | this access | cflow.cs:213:17:213:21 | access to field Field | | -| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:32:213:32 | 0 | | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:214:13:216:13 | {...} | true | -| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:217:13:220:13 | if (...) ... | false | +| cflow.cs:213:17:213:28 | After access to property Length | cflow.cs:213:32:213:32 | 0 | | +| cflow.cs:213:17:213:28 | Before access to property Length | cflow.cs:213:17:213:21 | Before access to field Field | | +| cflow.cs:213:17:213:28 | access to property Length | cflow.cs:213:17:213:28 | After access to property Length | | +| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | After ... > ... [false] | false | +| cflow.cs:213:17:213:32 | ... > ... | cflow.cs:213:17:213:32 | After ... > ... [true] | true | +| cflow.cs:213:17:213:32 | After ... > ... [false] | cflow.cs:213:13:216:13 | After if (...) ... | | +| cflow.cs:213:17:213:32 | After ... > ... [true] | cflow.cs:214:13:216:13 | {...} | | +| cflow.cs:213:17:213:32 | Before ... > ... | cflow.cs:213:17:213:28 | Before access to property Length | | | cflow.cs:213:32:213:32 | 0 | cflow.cs:213:17:213:32 | ... > ... | | -| cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | continue; | | -| cflow.cs:215:17:215:25 | continue; | cflow.cs:221:18:221:22 | this access | continue | -| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:21 | this access | | -| cflow.cs:217:17:217:21 | access to field Field | cflow.cs:217:17:217:28 | access to property Length | | +| cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | Before continue; | | +| cflow.cs:215:17:215:25 | Before continue; | cflow.cs:215:17:215:25 | continue; | | +| cflow.cs:215:17:215:25 | continue; | cflow.cs:210:9:221:36 | [LoopHeader] do ... while (...); | continue | +| cflow.cs:217:13:220:13 | After if (...) ... | cflow.cs:211:9:221:9 | After {...} | | +| cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:32 | Before ... < ... | | +| cflow.cs:217:17:217:21 | After access to field Field | cflow.cs:217:17:217:28 | access to property Length | | +| cflow.cs:217:17:217:21 | Before access to field Field | cflow.cs:217:17:217:21 | this access | | +| cflow.cs:217:17:217:21 | access to field Field | cflow.cs:217:17:217:21 | After access to field Field | | | cflow.cs:217:17:217:21 | this access | cflow.cs:217:17:217:21 | access to field Field | | -| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:32:217:32 | 0 | | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:218:13:220:13 | {...} | true | -| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:221:18:221:22 | this access | false | +| cflow.cs:217:17:217:28 | After access to property Length | cflow.cs:217:32:217:32 | 0 | | +| cflow.cs:217:17:217:28 | Before access to property Length | cflow.cs:217:17:217:21 | Before access to field Field | | +| cflow.cs:217:17:217:28 | access to property Length | cflow.cs:217:17:217:28 | After access to property Length | | +| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | After ... < ... [false] | false | +| cflow.cs:217:17:217:32 | ... < ... | cflow.cs:217:17:217:32 | After ... < ... [true] | true | +| cflow.cs:217:17:217:32 | After ... < ... [false] | cflow.cs:217:13:220:13 | After if (...) ... | | +| cflow.cs:217:17:217:32 | After ... < ... [true] | cflow.cs:218:13:220:13 | {...} | | +| cflow.cs:217:17:217:32 | Before ... < ... | cflow.cs:217:17:217:28 | Before access to property Length | | | cflow.cs:217:32:217:32 | 0 | cflow.cs:217:17:217:32 | ... < ... | | -| cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | break; | | -| cflow.cs:219:17:219:22 | break; | cflow.cs:208:10:208:11 | exit Do (normal) | break | -| cflow.cs:221:18:221:22 | access to field Field | cflow.cs:221:18:221:29 | access to property Length | | +| cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | Before break; | | +| cflow.cs:219:17:219:22 | Before break; | cflow.cs:219:17:219:22 | break; | | +| cflow.cs:219:17:219:22 | break; | cflow.cs:210:9:221:36 | After do ... while (...); | break | +| cflow.cs:221:18:221:22 | After access to field Field | cflow.cs:221:18:221:29 | access to property Length | | +| cflow.cs:221:18:221:22 | Before access to field Field | cflow.cs:221:18:221:22 | this access | | +| cflow.cs:221:18:221:22 | access to field Field | cflow.cs:221:18:221:22 | After access to field Field | | | cflow.cs:221:18:221:22 | this access | cflow.cs:221:18:221:22 | access to field Field | | -| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:33:221:34 | 10 | | -| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:208:10:208:11 | exit Do (normal) | false | -| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:211:9:221:9 | {...} | true | +| cflow.cs:221:18:221:29 | After access to property Length | cflow.cs:221:33:221:34 | 10 | | +| cflow.cs:221:18:221:29 | Before access to property Length | cflow.cs:221:18:221:22 | Before access to field Field | | +| cflow.cs:221:18:221:29 | access to property Length | cflow.cs:221:18:221:29 | After access to property Length | | +| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | After ... < ... [false] | false | +| cflow.cs:221:18:221:34 | ... < ... | cflow.cs:221:18:221:34 | After ... < ... [true] | true | +| cflow.cs:221:18:221:34 | After ... < ... [false] | cflow.cs:210:9:221:36 | After do ... while (...); | | +| cflow.cs:221:18:221:34 | After ... < ... [true] | cflow.cs:211:9:221:9 | {...} | | +| cflow.cs:221:18:221:34 | Before ... < ... | cflow.cs:221:18:221:29 | Before access to property Length | | | cflow.cs:221:33:221:34 | 10 | cflow.cs:221:18:221:34 | ... < ... | | -| cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:225:5:238:5 | {...} | | -| cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | exit Foreach | | -| cflow.cs:225:5:238:5 | {...} | cflow.cs:226:57:226:59 | "a" | | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:224:10:224:16 | exit Foreach (normal) | empty | -| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:22:226:22 | String x | non-empty | +| cflow.cs:224:10:224:16 | Entry | cflow.cs:225:5:238:5 | {...} | | +| cflow.cs:224:10:224:16 | Normal Exit | cflow.cs:224:10:224:16 | Exit | | +| cflow.cs:225:5:238:5 | After {...} | cflow.cs:224:10:224:16 | Normal Exit | | +| cflow.cs:225:5:238:5 | {...} | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | | +| cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | cflow.cs:225:5:238:5 | After {...} | | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | | +| cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | cflow.cs:226:22:226:22 | String x | | +| cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:27:226:64 | Before call to method Repeat | | | cflow.cs:226:22:226:22 | String x | cflow.cs:227:9:237:9 | {...} | | -| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | | +| cflow.cs:226:27:226:64 | After call to method Repeat [empty] | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | | +| cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | cflow.cs:226:22:226:22 | String x | | +| cflow.cs:226:27:226:64 | Before call to method Repeat | cflow.cs:226:57:226:59 | "a" | | +| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:27:226:64 | After call to method Repeat [empty] | empty | +| cflow.cs:226:27:226:64 | call to method Repeat | cflow.cs:226:27:226:64 | After call to method Repeat [non-empty] | non-empty | | cflow.cs:226:57:226:59 | "a" | cflow.cs:226:62:226:63 | 10 | | | cflow.cs:226:62:226:63 | 10 | cflow.cs:226:27:226:64 | call to method Repeat | | +| cflow.cs:227:9:237:9 | After {...} | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | | | cflow.cs:227:9:237:9 | {...} | cflow.cs:228:13:228:23 | ...; | | -| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:22:228:22 | access to local variable x | | +| cflow.cs:228:13:228:17 | After access to field Field | cflow.cs:228:22:228:22 | access to local variable x | | +| cflow.cs:228:13:228:17 | Before access to field Field | cflow.cs:228:13:228:17 | this access | | +| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:17 | After access to field Field | | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | access to field Field | | -| cflow.cs:228:13:228:22 | ... += ... | cflow.cs:229:13:232:13 | if (...) ... | | -| cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:17 | this access | | +| cflow.cs:228:13:228:22 | ... += ... | cflow.cs:228:13:228:22 | After ... += ... | | +| cflow.cs:228:13:228:22 | After ... += ... | cflow.cs:228:13:228:23 | After ...; | | +| cflow.cs:228:13:228:22 | Before ... += ... | cflow.cs:228:13:228:17 | Before access to field Field | | +| cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:22 | Before ... += ... | | +| cflow.cs:228:13:228:23 | After ...; | cflow.cs:229:13:232:13 | if (...) ... | | | cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:22 | ... += ... | | -| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:229:17:229:21 | this access | | -| cflow.cs:229:17:229:21 | access to field Field | cflow.cs:229:17:229:28 | access to property Length | | +| cflow.cs:229:13:232:13 | After if (...) ... | cflow.cs:233:13:236:13 | if (...) ... | | +| cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:229:17:229:32 | Before ... > ... | | +| cflow.cs:229:17:229:21 | After access to field Field | cflow.cs:229:17:229:28 | access to property Length | | +| cflow.cs:229:17:229:21 | Before access to field Field | cflow.cs:229:17:229:21 | this access | | +| cflow.cs:229:17:229:21 | access to field Field | cflow.cs:229:17:229:21 | After access to field Field | | | cflow.cs:229:17:229:21 | this access | cflow.cs:229:17:229:21 | access to field Field | | -| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:32:229:32 | 0 | | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:230:13:232:13 | {...} | true | -| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:233:13:236:13 | if (...) ... | false | +| cflow.cs:229:17:229:28 | After access to property Length | cflow.cs:229:32:229:32 | 0 | | +| cflow.cs:229:17:229:28 | Before access to property Length | cflow.cs:229:17:229:21 | Before access to field Field | | +| cflow.cs:229:17:229:28 | access to property Length | cflow.cs:229:17:229:28 | After access to property Length | | +| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | After ... > ... [false] | false | +| cflow.cs:229:17:229:32 | ... > ... | cflow.cs:229:17:229:32 | After ... > ... [true] | true | +| cflow.cs:229:17:229:32 | After ... > ... [false] | cflow.cs:229:13:232:13 | After if (...) ... | | +| cflow.cs:229:17:229:32 | After ... > ... [true] | cflow.cs:230:13:232:13 | {...} | | +| cflow.cs:229:17:229:32 | Before ... > ... | cflow.cs:229:17:229:28 | Before access to property Length | | | cflow.cs:229:32:229:32 | 0 | cflow.cs:229:17:229:32 | ... > ... | | -| cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | continue; | | -| cflow.cs:231:17:231:25 | continue; | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | continue | -| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:21 | this access | | -| cflow.cs:233:17:233:21 | access to field Field | cflow.cs:233:17:233:28 | access to property Length | | +| cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | Before continue; | | +| cflow.cs:231:17:231:25 | Before continue; | cflow.cs:231:17:231:25 | continue; | | +| cflow.cs:231:17:231:25 | continue; | cflow.cs:226:9:237:9 | [LoopHeader] foreach (... ... in ...) ... | continue | +| cflow.cs:233:13:236:13 | After if (...) ... | cflow.cs:227:9:237:9 | After {...} | | +| cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:32 | Before ... < ... | | +| cflow.cs:233:17:233:21 | After access to field Field | cflow.cs:233:17:233:28 | access to property Length | | +| cflow.cs:233:17:233:21 | Before access to field Field | cflow.cs:233:17:233:21 | this access | | +| cflow.cs:233:17:233:21 | access to field Field | cflow.cs:233:17:233:21 | After access to field Field | | | cflow.cs:233:17:233:21 | this access | cflow.cs:233:17:233:21 | access to field Field | | -| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:32:233:32 | 0 | | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | false | -| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:234:13:236:13 | {...} | true | +| cflow.cs:233:17:233:28 | After access to property Length | cflow.cs:233:32:233:32 | 0 | | +| cflow.cs:233:17:233:28 | Before access to property Length | cflow.cs:233:17:233:21 | Before access to field Field | | +| cflow.cs:233:17:233:28 | access to property Length | cflow.cs:233:17:233:28 | After access to property Length | | +| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | After ... < ... [false] | false | +| cflow.cs:233:17:233:32 | ... < ... | cflow.cs:233:17:233:32 | After ... < ... [true] | true | +| cflow.cs:233:17:233:32 | After ... < ... [false] | cflow.cs:233:13:236:13 | After if (...) ... | | +| cflow.cs:233:17:233:32 | After ... < ... [true] | cflow.cs:234:13:236:13 | {...} | | +| cflow.cs:233:17:233:32 | Before ... < ... | cflow.cs:233:17:233:28 | Before access to property Length | | | cflow.cs:233:32:233:32 | 0 | cflow.cs:233:17:233:32 | ... < ... | | -| cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | break; | | -| cflow.cs:235:17:235:22 | break; | cflow.cs:224:10:224:16 | exit Foreach (normal) | break | -| cflow.cs:240:10:240:13 | enter Goto | cflow.cs:241:5:259:5 | {...} | | -| cflow.cs:240:10:240:13 | exit Goto (normal) | cflow.cs:240:10:240:13 | exit Goto | | +| cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | Before break; | | +| cflow.cs:235:17:235:22 | Before break; | cflow.cs:235:17:235:22 | break; | | +| cflow.cs:235:17:235:22 | break; | cflow.cs:226:9:237:9 | After foreach (... ... in ...) ... | break | +| cflow.cs:240:10:240:13 | Entry | cflow.cs:241:5:259:5 | {...} | | +| cflow.cs:240:10:240:13 | Normal Exit | cflow.cs:240:10:240:13 | Exit | | +| cflow.cs:241:5:259:5 | After {...} | cflow.cs:240:10:240:13 | Normal Exit | | | cflow.cs:241:5:259:5 | {...} | cflow.cs:242:5:242:9 | Label: | | | cflow.cs:242:5:242:9 | Label: | cflow.cs:242:12:242:41 | if (...) ... | | -| cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:19:242:23 | this access | | -| cflow.cs:242:16:242:36 | [false] !... | cflow.cs:244:9:244:41 | if (...) ... | false | -| cflow.cs:242:16:242:36 | [true] !... | cflow.cs:242:39:242:41 | {...} | true | -| cflow.cs:242:17:242:36 | [false] !... | cflow.cs:242:16:242:36 | [true] !... | false | -| cflow.cs:242:17:242:36 | [true] !... | cflow.cs:242:16:242:36 | [false] !... | true | -| cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:30 | access to property Length | | +| cflow.cs:242:12:242:41 | After if (...) ... | cflow.cs:244:9:244:41 | if (...) ... | | +| cflow.cs:242:12:242:41 | if (...) ... | cflow.cs:242:16:242:36 | !... | | +| cflow.cs:242:16:242:36 | !... | cflow.cs:242:17:242:36 | !... | | +| cflow.cs:242:16:242:36 | After !... [false] | cflow.cs:242:12:242:41 | After if (...) ... | | +| cflow.cs:242:16:242:36 | After !... [true] | cflow.cs:242:39:242:41 | {...} | | +| cflow.cs:242:17:242:36 | !... | cflow.cs:242:19:242:35 | Before ... == ... | | +| cflow.cs:242:17:242:36 | After !... [false] | cflow.cs:242:16:242:36 | After !... [true] | true | +| cflow.cs:242:17:242:36 | After !... [true] | cflow.cs:242:16:242:36 | After !... [false] | false | +| cflow.cs:242:19:242:23 | After access to field Field | cflow.cs:242:19:242:30 | access to property Length | | +| cflow.cs:242:19:242:23 | Before access to field Field | cflow.cs:242:19:242:23 | this access | | +| cflow.cs:242:19:242:23 | access to field Field | cflow.cs:242:19:242:23 | After access to field Field | | | cflow.cs:242:19:242:23 | this access | cflow.cs:242:19:242:23 | access to field Field | | -| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:35:242:35 | 0 | | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:17:242:36 | [false] !... | true | -| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:17:242:36 | [true] !... | false | +| cflow.cs:242:19:242:30 | After access to property Length | cflow.cs:242:35:242:35 | 0 | | +| cflow.cs:242:19:242:30 | Before access to property Length | cflow.cs:242:19:242:23 | Before access to field Field | | +| cflow.cs:242:19:242:30 | access to property Length | cflow.cs:242:19:242:30 | After access to property Length | | +| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | After ... == ... [false] | false | +| cflow.cs:242:19:242:35 | ... == ... | cflow.cs:242:19:242:35 | After ... == ... [true] | true | +| cflow.cs:242:19:242:35 | After ... == ... [false] | cflow.cs:242:17:242:36 | After !... [true] | true | +| cflow.cs:242:19:242:35 | After ... == ... [true] | cflow.cs:242:17:242:36 | After !... [false] | false | +| cflow.cs:242:19:242:35 | Before ... == ... | cflow.cs:242:19:242:30 | Before access to property Length | | | cflow.cs:242:35:242:35 | 0 | cflow.cs:242:19:242:35 | ... == ... | | -| cflow.cs:242:39:242:41 | {...} | cflow.cs:244:9:244:41 | if (...) ... | | -| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:13:244:17 | this access | | -| cflow.cs:244:13:244:17 | access to field Field | cflow.cs:244:13:244:24 | access to property Length | | +| cflow.cs:242:39:242:41 | {...} | cflow.cs:242:12:242:41 | After if (...) ... | | +| cflow.cs:244:9:244:41 | After if (...) ... | cflow.cs:246:9:258:9 | switch (...) {...} | | +| cflow.cs:244:9:244:41 | if (...) ... | cflow.cs:244:13:244:28 | Before ... > ... | | +| cflow.cs:244:13:244:17 | After access to field Field | cflow.cs:244:13:244:24 | access to property Length | | +| cflow.cs:244:13:244:17 | Before access to field Field | cflow.cs:244:13:244:17 | this access | | +| cflow.cs:244:13:244:17 | access to field Field | cflow.cs:244:13:244:17 | After access to field Field | | | cflow.cs:244:13:244:17 | this access | cflow.cs:244:13:244:17 | access to field Field | | -| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:28:244:28 | 0 | | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:31:244:41 | goto ...; | true | -| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:246:9:258:9 | switch (...) {...} | false | +| cflow.cs:244:13:244:24 | After access to property Length | cflow.cs:244:28:244:28 | 0 | | +| cflow.cs:244:13:244:24 | Before access to property Length | cflow.cs:244:13:244:17 | Before access to field Field | | +| cflow.cs:244:13:244:24 | access to property Length | cflow.cs:244:13:244:24 | After access to property Length | | +| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | After ... > ... [false] | false | +| cflow.cs:244:13:244:28 | ... > ... | cflow.cs:244:13:244:28 | After ... > ... [true] | true | +| cflow.cs:244:13:244:28 | After ... > ... [false] | cflow.cs:244:9:244:41 | After if (...) ... | | +| cflow.cs:244:13:244:28 | After ... > ... [true] | cflow.cs:244:31:244:41 | Before goto ...; | | +| cflow.cs:244:13:244:28 | Before ... > ... | cflow.cs:244:13:244:24 | Before access to property Length | | | cflow.cs:244:28:244:28 | 0 | cflow.cs:244:13:244:28 | ... > ... | | +| cflow.cs:244:31:244:41 | Before goto ...; | cflow.cs:244:31:244:41 | goto ...; | | | cflow.cs:244:31:244:41 | goto ...; | cflow.cs:242:5:242:9 | Label: | goto | -| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:246:17:246:21 | this access | | -| cflow.cs:246:17:246:21 | access to field Field | cflow.cs:246:17:246:28 | access to property Length | | +| cflow.cs:246:9:258:9 | After switch (...) {...} | cflow.cs:241:5:259:5 | After {...} | | +| cflow.cs:246:9:258:9 | switch (...) {...} | cflow.cs:246:17:246:32 | Before ... + ... | | +| cflow.cs:246:17:246:21 | After access to field Field | cflow.cs:246:17:246:28 | access to property Length | | +| cflow.cs:246:17:246:21 | Before access to field Field | cflow.cs:246:17:246:21 | this access | | +| cflow.cs:246:17:246:21 | access to field Field | cflow.cs:246:17:246:21 | After access to field Field | | | cflow.cs:246:17:246:21 | this access | cflow.cs:246:17:246:21 | access to field Field | | -| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:32:246:32 | 3 | | -| cflow.cs:246:17:246:32 | ... + ... | cflow.cs:248:13:248:19 | case ...: | | +| cflow.cs:246:17:246:28 | After access to property Length | cflow.cs:246:32:246:32 | 3 | | +| cflow.cs:246:17:246:28 | Before access to property Length | cflow.cs:246:17:246:21 | Before access to field Field | | +| cflow.cs:246:17:246:28 | access to property Length | cflow.cs:246:17:246:28 | After access to property Length | | +| cflow.cs:246:17:246:32 | ... + ... | cflow.cs:246:17:246:32 | After ... + ... | | +| cflow.cs:246:17:246:32 | After ... + ... | cflow.cs:248:13:248:19 | case ...: | | +| cflow.cs:246:17:246:32 | Before ... + ... | cflow.cs:246:17:246:28 | Before access to property Length | | | cflow.cs:246:32:246:32 | 3 | cflow.cs:246:17:246:32 | ... + ... | | -| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:18:248:18 | 0 | | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:249:17:249:29 | goto default; | match | -| cflow.cs:248:18:248:18 | 0 | cflow.cs:250:13:250:19 | case ...: | no-match | -| cflow.cs:249:17:249:29 | goto default; | cflow.cs:255:13:255:20 | default: | goto | -| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:18:250:18 | 1 | | -| cflow.cs:250:18:250:18 | 1 | cflow.cs:251:17:251:37 | ...; | match | -| cflow.cs:250:18:250:18 | 1 | cflow.cs:253:13:253:19 | case ...: | no-match | -| cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:252:17:252:22 | break; | | -| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:35:251:35 | 1 | | +| cflow.cs:248:13:248:19 | After case ...: [match] | cflow.cs:248:18:248:18 | 0 | | +| cflow.cs:248:13:248:19 | After case ...: [no-match] | cflow.cs:250:13:250:19 | case ...: | | +| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:13:248:19 | After case ...: [match] | match | +| cflow.cs:248:13:248:19 | case ...: | cflow.cs:248:13:248:19 | After case ...: [no-match] | no-match | +| cflow.cs:248:18:248:18 | 0 | cflow.cs:249:17:249:29 | Before goto default; | | +| cflow.cs:249:17:249:29 | Before goto default; | cflow.cs:249:17:249:29 | goto default; | | +| cflow.cs:249:17:249:29 | goto default; | cflow.cs:255:13:255:20 | After default: [match] | goto | +| cflow.cs:250:13:250:19 | After case ...: [match] | cflow.cs:250:18:250:18 | 1 | | +| cflow.cs:250:13:250:19 | After case ...: [no-match] | cflow.cs:253:13:253:19 | case ...: | | +| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:13:250:19 | After case ...: [match] | match | +| cflow.cs:250:13:250:19 | case ...: | cflow.cs:250:13:250:19 | After case ...: [no-match] | no-match | +| cflow.cs:250:18:250:18 | 1 | cflow.cs:251:17:251:37 | ...; | | +| cflow.cs:251:17:251:36 | After call to method WriteLine | cflow.cs:251:17:251:37 | After ...; | | +| cflow.cs:251:17:251:36 | Before call to method WriteLine | cflow.cs:251:35:251:35 | 1 | | +| cflow.cs:251:17:251:36 | call to method WriteLine | cflow.cs:251:17:251:36 | After call to method WriteLine | | +| cflow.cs:251:17:251:37 | ...; | cflow.cs:251:17:251:36 | Before call to method WriteLine | | +| cflow.cs:251:17:251:37 | After ...; | cflow.cs:252:17:252:22 | Before break; | | | cflow.cs:251:35:251:35 | 1 | cflow.cs:251:17:251:36 | call to method WriteLine | | -| cflow.cs:252:17:252:22 | break; | cflow.cs:240:10:240:13 | exit Goto (normal) | break | -| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:18:253:18 | 2 | | -| cflow.cs:253:18:253:18 | 2 | cflow.cs:254:17:254:27 | goto ...; | match | -| cflow.cs:253:18:253:18 | 2 | cflow.cs:255:13:255:20 | default: | no-match | +| cflow.cs:252:17:252:22 | Before break; | cflow.cs:252:17:252:22 | break; | | +| cflow.cs:252:17:252:22 | break; | cflow.cs:246:9:258:9 | After switch (...) {...} | break | +| cflow.cs:253:13:253:19 | After case ...: [match] | cflow.cs:253:18:253:18 | 2 | | +| cflow.cs:253:13:253:19 | After case ...: [no-match] | cflow.cs:255:13:255:20 | default: | | +| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:13:253:19 | After case ...: [match] | match | +| cflow.cs:253:13:253:19 | case ...: | cflow.cs:253:13:253:19 | After case ...: [no-match] | no-match | +| cflow.cs:253:18:253:18 | 2 | cflow.cs:254:17:254:27 | Before goto ...; | | +| cflow.cs:254:17:254:27 | Before goto ...; | cflow.cs:254:17:254:27 | goto ...; | | | cflow.cs:254:17:254:27 | goto ...; | cflow.cs:242:5:242:9 | Label: | goto | -| cflow.cs:255:13:255:20 | default: | cflow.cs:256:17:256:37 | ...; | | -| cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:257:17:257:22 | break; | | -| cflow.cs:256:17:256:37 | ...; | cflow.cs:256:35:256:35 | 0 | | +| cflow.cs:255:13:255:20 | After default: [match] | cflow.cs:256:17:256:37 | ...; | | +| cflow.cs:255:13:255:20 | default: | cflow.cs:255:13:255:20 | After default: [match] | match | +| cflow.cs:256:17:256:36 | After call to method WriteLine | cflow.cs:256:17:256:37 | After ...; | | +| cflow.cs:256:17:256:36 | Before call to method WriteLine | cflow.cs:256:35:256:35 | 0 | | +| cflow.cs:256:17:256:36 | call to method WriteLine | cflow.cs:256:17:256:36 | After call to method WriteLine | | +| cflow.cs:256:17:256:37 | ...; | cflow.cs:256:17:256:36 | Before call to method WriteLine | | +| cflow.cs:256:17:256:37 | After ...; | cflow.cs:257:17:257:22 | Before break; | | | cflow.cs:256:35:256:35 | 0 | cflow.cs:256:17:256:36 | call to method WriteLine | | -| cflow.cs:257:17:257:22 | break; | cflow.cs:240:10:240:13 | exit Goto (normal) | break | -| cflow.cs:261:49:261:53 | enter Yield | cflow.cs:262:5:277:5 | {...} | | -| cflow.cs:261:49:261:53 | exit Yield (abnormal) | cflow.cs:261:49:261:53 | exit Yield | | -| cflow.cs:261:49:261:53 | exit Yield (normal) | cflow.cs:261:49:261:53 | exit Yield | | -| cflow.cs:262:5:277:5 | {...} | cflow.cs:263:22:263:22 | 0 | | -| cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:264:9:267:9 | for (...;...;...) ... | | +| cflow.cs:257:17:257:22 | Before break; | cflow.cs:257:17:257:22 | break; | | +| cflow.cs:257:17:257:22 | break; | cflow.cs:246:9:258:9 | After switch (...) {...} | break | +| cflow.cs:261:49:261:53 | Entry | cflow.cs:262:5:277:5 | {...} | | +| cflow.cs:261:49:261:53 | Exceptional Exit | cflow.cs:261:49:261:53 | Exit | | +| cflow.cs:261:49:261:53 | Normal Exit | cflow.cs:261:49:261:53 | Exit | | +| cflow.cs:262:5:277:5 | After {...} | cflow.cs:261:49:261:53 | Normal Exit | | +| cflow.cs:262:5:277:5 | {...} | cflow.cs:263:9:263:23 | Before yield return ...; | | +| cflow.cs:263:9:263:23 | After yield return ...; | cflow.cs:264:9:267:9 | for (...;...;...) ... | | +| cflow.cs:263:9:263:23 | Before yield return ...; | cflow.cs:263:22:263:22 | 0 | | +| cflow.cs:263:9:263:23 | yield return ...; | cflow.cs:263:9:263:23 | After yield return ...; | | | cflow.cs:263:22:263:22 | 0 | cflow.cs:263:9:263:23 | yield return ...; | | -| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:264:22:264:22 | 1 | | -| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:25:264:25 | access to local variable i | | +| cflow.cs:264:9:267:9 | After for (...;...;...) ... | cflow.cs:268:9:276:9 | try {...} ... | | +| cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | cflow.cs:264:33:264:35 | Before ...++ | | +| cflow.cs:264:9:267:9 | for (...;...;...) ... | cflow.cs:264:18:264:22 | Before Int32 i = ... | | +| cflow.cs:264:18:264:18 | access to local variable i | cflow.cs:264:22:264:22 | 1 | | +| cflow.cs:264:18:264:22 | After Int32 i = ... | cflow.cs:264:25:264:30 | Before ... < ... | | +| cflow.cs:264:18:264:22 | Before Int32 i = ... | cflow.cs:264:18:264:18 | access to local variable i | | +| cflow.cs:264:18:264:22 | Int32 i = ... | cflow.cs:264:18:264:22 | After Int32 i = ... | | | cflow.cs:264:22:264:22 | 1 | cflow.cs:264:18:264:22 | Int32 i = ... | | | cflow.cs:264:25:264:25 | access to local variable i | cflow.cs:264:29:264:30 | 10 | | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:265:9:267:9 | {...} | true | -| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:268:9:276:9 | try {...} ... | false | +| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | After ... < ... [false] | false | +| cflow.cs:264:25:264:30 | ... < ... | cflow.cs:264:25:264:30 | After ... < ... [true] | true | +| cflow.cs:264:25:264:30 | After ... < ... [false] | cflow.cs:264:9:267:9 | After for (...;...;...) ... | | +| cflow.cs:264:25:264:30 | After ... < ... [true] | cflow.cs:265:9:267:9 | {...} | | +| cflow.cs:264:25:264:30 | Before ... < ... | cflow.cs:264:25:264:25 | access to local variable i | | | cflow.cs:264:29:264:30 | 10 | cflow.cs:264:25:264:30 | ... < ... | | | cflow.cs:264:33:264:33 | access to local variable i | cflow.cs:264:33:264:35 | ...++ | | -| cflow.cs:264:33:264:35 | ...++ | cflow.cs:264:25:264:25 | access to local variable i | | -| cflow.cs:265:9:267:9 | {...} | cflow.cs:266:26:266:26 | access to local variable i | | -| cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:264:33:264:33 | access to local variable i | | +| cflow.cs:264:33:264:35 | ...++ | cflow.cs:264:33:264:35 | After ...++ | | +| cflow.cs:264:33:264:35 | After ...++ | cflow.cs:264:25:264:30 | Before ... < ... | | +| cflow.cs:264:33:264:35 | Before ...++ | cflow.cs:264:33:264:33 | access to local variable i | | +| cflow.cs:265:9:267:9 | After {...} | cflow.cs:264:9:267:9 | [LoopHeader] for (...;...;...) ... | | +| cflow.cs:265:9:267:9 | {...} | cflow.cs:266:13:266:27 | Before yield return ...; | | +| cflow.cs:266:13:266:27 | After yield return ...; | cflow.cs:265:9:267:9 | After {...} | | +| cflow.cs:266:13:266:27 | Before yield return ...; | cflow.cs:266:26:266:26 | access to local variable i | | +| cflow.cs:266:13:266:27 | yield return ...; | cflow.cs:266:13:266:27 | After yield return ...; | | | cflow.cs:266:26:266:26 | access to local variable i | cflow.cs:266:13:266:27 | yield return ...; | | +| cflow.cs:268:9:276:9 | After try {...} ... | cflow.cs:262:5:277:5 | After {...} | | | cflow.cs:268:9:276:9 | try {...} ... | cflow.cs:269:9:272:9 | {...} | | -| cflow.cs:269:9:272:9 | {...} | cflow.cs:270:13:270:24 | yield break; | | +| cflow.cs:269:9:272:9 | {...} | cflow.cs:270:13:270:24 | Before yield break; | | +| cflow.cs:270:13:270:24 | Before yield break; | cflow.cs:270:13:270:24 | yield break; | | | cflow.cs:270:13:270:24 | yield break; | cflow.cs:274:9:276:9 | {...} | return | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:261:49:261:53 | Exceptional Exit | exception | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:261:49:261:53 | Normal Exit | return | +| cflow.cs:274:9:276:9 | After {...} | cflow.cs:268:9:276:9 | After try {...} ... | | | cflow.cs:274:9:276:9 | {...} | cflow.cs:275:13:275:42 | ...; | | -| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:261:49:261:53 | exit Yield (abnormal) | exception | -| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:261:49:261:53 | exit Yield (normal) | , return | -| cflow.cs:275:13:275:42 | ...; | cflow.cs:275:31:275:40 | "not dead" | | +| cflow.cs:275:13:275:41 | After call to method WriteLine | cflow.cs:275:13:275:42 | After ...; | | +| cflow.cs:275:13:275:41 | Before call to method WriteLine | cflow.cs:275:31:275:40 | "not dead" | | +| cflow.cs:275:13:275:41 | call to method WriteLine | cflow.cs:275:13:275:41 | After call to method WriteLine | | +| cflow.cs:275:13:275:42 | ...; | cflow.cs:275:13:275:41 | Before call to method WriteLine | | +| cflow.cs:275:13:275:42 | After ...; | cflow.cs:274:9:276:9 | After {...} | | | cflow.cs:275:31:275:40 | "not dead" | cflow.cs:275:13:275:41 | call to method WriteLine | | -| cflow.cs:282:5:282:18 | call to method | cflow.cs:282:24:282:27 | call to constructor ControlFlow | | -| cflow.cs:282:5:282:18 | enter ControlFlowSub | cflow.cs:282:5:282:18 | this access | | -| cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | cflow.cs:282:5:282:18 | exit ControlFlowSub | | +| cflow.cs:282:5:282:18 | After call to method | cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | | +| cflow.cs:282:5:282:18 | Before call to method | cflow.cs:282:5:282:18 | this access | | +| cflow.cs:282:5:282:18 | Entry | cflow.cs:282:5:282:18 | Before call to method | | +| cflow.cs:282:5:282:18 | Normal Exit | cflow.cs:282:5:282:18 | Exit | | +| cflow.cs:282:5:282:18 | call to method | cflow.cs:282:5:282:18 | After call to method | | | cflow.cs:282:5:282:18 | this access | cflow.cs:282:5:282:18 | call to method | | -| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:31:282:33 | {...} | | -| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:5:282:18 | exit ControlFlowSub (normal) | | -| cflow.cs:284:5:284:18 | enter ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | | -| cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | cflow.cs:284:5:284:18 | exit ControlFlowSub | | -| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:39:284:41 | {...} | | -| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:5:284:18 | exit ControlFlowSub (normal) | | -| cflow.cs:286:5:286:18 | enter ControlFlowSub | cflow.cs:286:34:286:34 | access to parameter i | | -| cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | cflow.cs:286:5:286:18 | exit ControlFlowSub | | -| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:48:286:50 | {...} | | +| cflow.cs:282:24:282:27 | After call to constructor ControlFlow | cflow.cs:282:31:282:33 | {...} | | +| cflow.cs:282:24:282:27 | Before call to constructor ControlFlow | cflow.cs:282:24:282:27 | call to constructor ControlFlow | | +| cflow.cs:282:24:282:27 | call to constructor ControlFlow | cflow.cs:282:24:282:27 | After call to constructor ControlFlow | | +| cflow.cs:282:31:282:33 | {...} | cflow.cs:282:5:282:18 | Normal Exit | | +| cflow.cs:284:5:284:18 | Entry | cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | | +| cflow.cs:284:5:284:18 | Normal Exit | cflow.cs:284:5:284:18 | Exit | | +| cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | cflow.cs:284:39:284:41 | {...} | | +| cflow.cs:284:32:284:35 | Before call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | | +| cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | cflow.cs:284:32:284:35 | After call to constructor ControlFlowSub | | +| cflow.cs:284:39:284:41 | {...} | cflow.cs:284:5:284:18 | Normal Exit | | +| cflow.cs:286:5:286:18 | Entry | cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | | +| cflow.cs:286:5:286:18 | Normal Exit | cflow.cs:286:5:286:18 | Exit | | +| cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | cflow.cs:286:48:286:50 | {...} | | +| cflow.cs:286:29:286:32 | Before call to constructor ControlFlowSub | cflow.cs:286:34:286:45 | Before call to method ToString | | +| cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | cflow.cs:286:29:286:32 | After call to constructor ControlFlowSub | | | cflow.cs:286:34:286:34 | access to parameter i | cflow.cs:286:34:286:45 | call to method ToString | | -| cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | | -| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:5:286:18 | exit ControlFlowSub (normal) | | -| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | {...} | | -| cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | call to constructor Object | | -| cflow.cs:289:7:289:18 | enter DelegateCall | cflow.cs:289:7:289:18 | this access | | -| cflow.cs:289:7:289:18 | exit DelegateCall (normal) | cflow.cs:289:7:289:18 | exit DelegateCall | | +| cflow.cs:286:34:286:45 | After call to method ToString | cflow.cs:286:29:286:32 | call to constructor ControlFlowSub | | +| cflow.cs:286:34:286:45 | Before call to method ToString | cflow.cs:286:34:286:34 | access to parameter i | | +| cflow.cs:286:34:286:45 | call to method ToString | cflow.cs:286:34:286:45 | After call to method ToString | | +| cflow.cs:286:48:286:50 | {...} | cflow.cs:286:5:286:18 | Normal Exit | | +| cflow.cs:289:7:289:18 | After call to constructor Object | cflow.cs:289:7:289:18 | {...} | | +| cflow.cs:289:7:289:18 | After call to method | cflow.cs:289:7:289:18 | Before call to constructor Object | | +| cflow.cs:289:7:289:18 | Before call to constructor Object | cflow.cs:289:7:289:18 | call to constructor Object | | +| cflow.cs:289:7:289:18 | Before call to method | cflow.cs:289:7:289:18 | this access | | +| cflow.cs:289:7:289:18 | Entry | cflow.cs:289:7:289:18 | Before call to method | | +| cflow.cs:289:7:289:18 | Normal Exit | cflow.cs:289:7:289:18 | Exit | | +| cflow.cs:289:7:289:18 | call to constructor Object | cflow.cs:289:7:289:18 | After call to constructor Object | | +| cflow.cs:289:7:289:18 | call to method | cflow.cs:289:7:289:18 | After call to method | | | cflow.cs:289:7:289:18 | this access | cflow.cs:289:7:289:18 | call to method | | -| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | exit DelegateCall (normal) | | -| cflow.cs:291:12:291:12 | enter M | cflow.cs:291:38:291:38 | access to parameter f | | -| cflow.cs:291:12:291:12 | exit M (normal) | cflow.cs:291:12:291:12 | exit M | | +| cflow.cs:289:7:289:18 | {...} | cflow.cs:289:7:289:18 | Normal Exit | | +| cflow.cs:291:12:291:12 | Entry | cflow.cs:291:38:291:41 | Before delegate call | | +| cflow.cs:291:12:291:12 | Normal Exit | cflow.cs:291:12:291:12 | Exit | | | cflow.cs:291:38:291:38 | access to parameter f | cflow.cs:291:40:291:40 | 0 | | -| cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:12:291:12 | exit M (normal) | | +| cflow.cs:291:38:291:41 | After delegate call | cflow.cs:291:12:291:12 | Normal Exit | | +| cflow.cs:291:38:291:41 | Before delegate call | cflow.cs:291:38:291:38 | access to parameter f | | +| cflow.cs:291:38:291:41 | delegate call | cflow.cs:291:38:291:41 | After delegate call | | | cflow.cs:291:40:291:40 | 0 | cflow.cs:291:38:291:41 | delegate call | | -| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:52:296:54 | {...} | | -| cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | call to constructor Object | | -| cflow.cs:296:5:296:25 | enter NegationInConstructor | cflow.cs:296:5:296:25 | this access | | -| cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | cflow.cs:296:5:296:25 | exit NegationInConstructor | | +| cflow.cs:296:5:296:25 | After call to constructor Object | cflow.cs:296:52:296:54 | {...} | | +| cflow.cs:296:5:296:25 | After call to method | cflow.cs:296:5:296:25 | Before call to constructor Object | | +| cflow.cs:296:5:296:25 | Before call to constructor Object | cflow.cs:296:5:296:25 | call to constructor Object | | +| cflow.cs:296:5:296:25 | Before call to method | cflow.cs:296:5:296:25 | this access | | +| cflow.cs:296:5:296:25 | Entry | cflow.cs:296:5:296:25 | Before call to method | | +| cflow.cs:296:5:296:25 | Normal Exit | cflow.cs:296:5:296:25 | Exit | | +| cflow.cs:296:5:296:25 | call to constructor Object | cflow.cs:296:5:296:25 | After call to constructor Object | | +| cflow.cs:296:5:296:25 | call to method | cflow.cs:296:5:296:25 | After call to method | | | cflow.cs:296:5:296:25 | this access | cflow.cs:296:5:296:25 | call to method | | -| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | exit NegationInConstructor (normal) | | -| cflow.cs:298:10:298:10 | enter M | cflow.cs:299:5:301:5 | {...} | | -| cflow.cs:298:10:298:10 | exit M (normal) | cflow.cs:298:10:298:10 | exit M | | +| cflow.cs:296:52:296:54 | {...} | cflow.cs:296:5:296:25 | Normal Exit | | +| cflow.cs:298:10:298:10 | Entry | cflow.cs:299:5:301:5 | {...} | | +| cflow.cs:298:10:298:10 | Normal Exit | cflow.cs:298:10:298:10 | Exit | | +| cflow.cs:299:5:301:5 | After {...} | cflow.cs:298:10:298:10 | Normal Exit | | | cflow.cs:299:5:301:5 | {...} | cflow.cs:300:9:300:73 | ...; | | -| cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:298:10:298:10 | exit M (normal) | | -| cflow.cs:300:9:300:73 | ...; | cflow.cs:300:38:300:38 | 0 | | -| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:46:300:46 | access to parameter i | | -| cflow.cs:300:44:300:51 | [false] !... | cflow.cs:300:44:300:64 | ... && ... | false | -| cflow.cs:300:44:300:51 | [true] !... | cflow.cs:300:56:300:56 | access to parameter s | true | -| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:70:300:71 | "" | | +| cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | cflow.cs:300:9:300:73 | After ...; | | +| cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | cflow.cs:300:38:300:38 | 0 | | +| cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | cflow.cs:300:9:300:72 | After object creation of type NegationInConstructor | | +| cflow.cs:300:9:300:73 | ...; | cflow.cs:300:9:300:72 | Before object creation of type NegationInConstructor | | +| cflow.cs:300:9:300:73 | After ...; | cflow.cs:299:5:301:5 | After {...} | | +| cflow.cs:300:38:300:38 | 0 | cflow.cs:300:44:300:64 | ... && ... | | +| cflow.cs:300:44:300:51 | !... | cflow.cs:300:46:300:50 | Before ... > ... | | +| cflow.cs:300:44:300:51 | After !... [false] | cflow.cs:300:44:300:64 | After ... && ... | | +| cflow.cs:300:44:300:51 | After !... [true] | cflow.cs:300:56:300:64 | Before ... != ... | | +| cflow.cs:300:44:300:64 | ... && ... | cflow.cs:300:44:300:51 | !... | | +| cflow.cs:300:44:300:64 | After ... && ... | cflow.cs:300:70:300:71 | "" | | | cflow.cs:300:46:300:46 | access to parameter i | cflow.cs:300:50:300:50 | 0 | | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:44:300:51 | [false] !... | true | -| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:44:300:51 | [true] !... | false | +| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | After ... > ... [false] | false | +| cflow.cs:300:46:300:50 | ... > ... | cflow.cs:300:46:300:50 | After ... > ... [true] | true | +| cflow.cs:300:46:300:50 | After ... > ... [false] | cflow.cs:300:44:300:51 | After !... [true] | true | +| cflow.cs:300:46:300:50 | After ... > ... [true] | cflow.cs:300:44:300:51 | After !... [false] | false | +| cflow.cs:300:46:300:50 | Before ... > ... | cflow.cs:300:46:300:46 | access to parameter i | | | cflow.cs:300:50:300:50 | 0 | cflow.cs:300:46:300:50 | ... > ... | | | cflow.cs:300:56:300:56 | access to parameter s | cflow.cs:300:61:300:64 | null | | -| cflow.cs:300:56:300:64 | ... != ... | cflow.cs:300:44:300:64 | ... && ... | | +| cflow.cs:300:56:300:64 | ... != ... | cflow.cs:300:56:300:64 | After ... != ... | | +| cflow.cs:300:56:300:64 | After ... != ... | cflow.cs:300:44:300:64 | After ... && ... | | +| cflow.cs:300:56:300:64 | Before ... != ... | cflow.cs:300:56:300:56 | access to parameter s | | | cflow.cs:300:61:300:64 | null | cflow.cs:300:56:300:64 | ... != ... | | | cflow.cs:300:70:300:71 | "" | cflow.cs:300:9:300:72 | object creation of type NegationInConstructor | | -| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | {...} | | -| cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | call to constructor Object | | -| cflow.cs:304:7:304:18 | enter LambdaGetter | cflow.cs:304:7:304:18 | this access | | -| cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | cflow.cs:304:7:304:18 | exit LambdaGetter | | +| cflow.cs:304:7:304:18 | After call to constructor Object | cflow.cs:304:7:304:18 | {...} | | +| cflow.cs:304:7:304:18 | After call to method | cflow.cs:304:7:304:18 | Before call to constructor Object | | +| cflow.cs:304:7:304:18 | Before call to constructor Object | cflow.cs:304:7:304:18 | call to constructor Object | | +| cflow.cs:304:7:304:18 | Before call to method | cflow.cs:304:7:304:18 | this access | | +| cflow.cs:304:7:304:18 | Entry | cflow.cs:304:7:304:18 | Before call to method | | +| cflow.cs:304:7:304:18 | Normal Exit | cflow.cs:304:7:304:18 | Exit | | +| cflow.cs:304:7:304:18 | call to constructor Object | cflow.cs:304:7:304:18 | After call to constructor Object | | +| cflow.cs:304:7:304:18 | call to method | cflow.cs:304:7:304:18 | After call to method | | | cflow.cs:304:7:304:18 | this access | cflow.cs:304:7:304:18 | call to method | | -| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | exit LambdaGetter (normal) | | -| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | exit get__getter (normal) | | -| cflow.cs:306:60:310:5 | enter (...) => ... | cflow.cs:307:5:310:5 | {...} | | -| cflow.cs:306:60:310:5 | enter get__getter | cflow.cs:306:60:310:5 | (...) => ... | | -| cflow.cs:306:60:310:5 | exit (...) => ... (normal) | cflow.cs:306:60:310:5 | exit (...) => ... | | -| cflow.cs:306:60:310:5 | exit get__getter (normal) | cflow.cs:306:60:310:5 | exit get__getter | | +| cflow.cs:304:7:304:18 | {...} | cflow.cs:304:7:304:18 | Normal Exit | | +| cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:306:60:310:5 | Normal Exit | | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:306:60:310:5 | (...) => ... | | +| cflow.cs:306:60:310:5 | Entry | cflow.cs:307:5:310:5 | {...} | | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | Exit | | +| cflow.cs:306:60:310:5 | Normal Exit | cflow.cs:306:60:310:5 | Exit | | | cflow.cs:307:5:310:5 | {...} | cflow.cs:308:9:308:21 | ... ...; | | -| cflow.cs:308:9:308:21 | ... ...; | cflow.cs:308:20:308:20 | access to parameter o | | -| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:309:16:309:16 | access to local variable x | | +| cflow.cs:308:9:308:21 | ... ...; | cflow.cs:308:16:308:20 | Before Object x = ... | | +| cflow.cs:308:9:308:21 | After ... ...; | cflow.cs:309:9:309:17 | Before return ...; | | +| cflow.cs:308:16:308:16 | access to local variable x | cflow.cs:308:20:308:20 | access to parameter o | | +| cflow.cs:308:16:308:20 | After Object x = ... | cflow.cs:308:9:308:21 | After ... ...; | | +| cflow.cs:308:16:308:20 | Before Object x = ... | cflow.cs:308:16:308:16 | access to local variable x | | +| cflow.cs:308:16:308:20 | Object x = ... | cflow.cs:308:16:308:20 | After Object x = ... | | | cflow.cs:308:20:308:20 | access to parameter o | cflow.cs:308:16:308:20 | Object x = ... | | -| cflow.cs:309:9:309:17 | return ...; | cflow.cs:306:60:310:5 | exit (...) => ... (normal) | return | +| cflow.cs:309:9:309:17 | Before return ...; | cflow.cs:309:16:309:16 | access to local variable x | | +| cflow.cs:309:9:309:17 | return ...; | cflow.cs:306:60:310:5 | Normal Exit | return | | cflow.cs:309:16:309:16 | access to local variable x | cflow.cs:309:9:309:17 | return ...; | | diff --git a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.ql b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.ql index 6915c2a546c..b8026566563 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.ql +++ b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.ql @@ -1,3 +1,3 @@ import csharp import Common -import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl::TestOutput +import ControlFlow::TestOutput diff --git a/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected b/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected index d76f989e5cf..896b4cb0613 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected @@ -1,4 +1,3 @@ -| AccessorCalls.cs:1:7:1:19 | AccessorCalls | AccessorCalls.cs:1:7:1:19 | this access | | AccessorCalls.cs:5:23:5:25 | get_Item | AccessorCalls.cs:5:30:5:30 | access to parameter i | | AccessorCalls.cs:5:33:5:35 | set_Item | AccessorCalls.cs:5:37:5:39 | {...} | | AccessorCalls.cs:7:32:7:34 | add_Event | AccessorCalls.cs:7:36:7:38 | {...} | @@ -12,12 +11,6 @@ | AccessorCalls.cs:56:10:56:11 | M7 | AccessorCalls.cs:57:5:59:5 | {...} | | AccessorCalls.cs:61:10:61:11 | M8 | AccessorCalls.cs:62:5:64:5 | {...} | | AccessorCalls.cs:66:10:66:11 | M9 | AccessorCalls.cs:67:5:74:5 | {...} | -| ArrayCreation.cs:1:7:1:19 | ArrayCreation | ArrayCreation.cs:1:7:1:19 | this access | -| ArrayCreation.cs:3:11:3:12 | M1 | ArrayCreation.cs:3:27:3:27 | 0 | -| ArrayCreation.cs:5:12:5:13 | M2 | ArrayCreation.cs:5:28:5:28 | 0 | -| ArrayCreation.cs:7:11:7:12 | M3 | ArrayCreation.cs:7:19:7:36 | 2 | -| ArrayCreation.cs:9:12:9:13 | M4 | ArrayCreation.cs:9:20:9:52 | 2 | -| Assert.cs:5:7:5:17 | AssertTests | Assert.cs:5:7:5:17 | this access | | Assert.cs:7:10:7:11 | M1 | Assert.cs:8:5:12:5 | {...} | | Assert.cs:14:10:14:11 | M2 | Assert.cs:15:5:19:5 | {...} | | Assert.cs:21:10:21:11 | M3 | Assert.cs:22:5:26:5 | {...} | @@ -32,40 +25,28 @@ | Assert.cs:84:10:84:12 | M12 | Assert.cs:85:5:129:5 | {...} | | Assert.cs:131:18:131:32 | AssertTrueFalse | Assert.cs:135:5:136:5 | {...} | | Assert.cs:138:10:138:12 | M13 | Assert.cs:139:5:142:5 | {...} | -| Assignments.cs:1:7:1:17 | Assignments | Assignments.cs:1:7:1:17 | this access | | Assignments.cs:3:10:3:10 | M | Assignments.cs:4:5:15:5 | {...} | | Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:33:14:35 | {...} | | Assignments.cs:17:40:17:40 | + | Assignments.cs:18:5:20:5 | {...} | | Assignments.cs:27:10:27:23 | SetParamSingle | Assignments.cs:28:5:30:5 | {...} | | Assignments.cs:32:10:32:22 | SetParamMulti | Assignments.cs:33:5:36:5 | {...} | | Assignments.cs:38:10:38:11 | M2 | Assignments.cs:39:5:45:5 | {...} | -| BreakInTry.cs:1:7:1:16 | BreakInTry | BreakInTry.cs:1:7:1:16 | this access | | BreakInTry.cs:3:10:3:11 | M1 | BreakInTry.cs:4:5:18:5 | {...} | | BreakInTry.cs:20:10:20:11 | M2 | BreakInTry.cs:21:5:36:5 | {...} | | BreakInTry.cs:38:10:38:11 | M3 | BreakInTry.cs:39:5:54:5 | {...} | | BreakInTry.cs:56:10:56:11 | M4 | BreakInTry.cs:57:5:71:5 | {...} | -| CompileTimeOperators.cs:3:7:3:26 | CompileTimeOperators | CompileTimeOperators.cs:3:7:3:26 | this access | | CompileTimeOperators.cs:5:9:5:15 | Default | CompileTimeOperators.cs:6:5:8:5 | {...} | | CompileTimeOperators.cs:10:9:10:14 | Sizeof | CompileTimeOperators.cs:11:5:13:5 | {...} | | CompileTimeOperators.cs:15:10:15:15 | Typeof | CompileTimeOperators.cs:16:5:18:5 | {...} | | CompileTimeOperators.cs:20:12:20:17 | Nameof | CompileTimeOperators.cs:21:5:23:5 | {...} | -| CompileTimeOperators.cs:26:7:26:22 | GotoInTryFinally | CompileTimeOperators.cs:26:7:26:22 | this access | | CompileTimeOperators.cs:28:10:28:10 | M | CompileTimeOperators.cs:29:5:41:5 | {...} | -| ConditionalAccess.cs:1:7:1:23 | ConditionalAccess | ConditionalAccess.cs:1:7:1:23 | this access | -| ConditionalAccess.cs:3:12:3:13 | M1 | ConditionalAccess.cs:3:26:3:26 | access to parameter i | -| ConditionalAccess.cs:5:10:5:11 | M2 | ConditionalAccess.cs:5:26:5:26 | access to parameter s | -| ConditionalAccess.cs:7:10:7:11 | M3 | ConditionalAccess.cs:7:39:7:40 | access to parameter s1 | -| ConditionalAccess.cs:9:9:9:10 | M4 | ConditionalAccess.cs:9:25:9:25 | access to parameter s | +| ConditionalAccess.cs:9:9:9:10 | M4 | ConditionalAccess.cs:9:25:9:38 | ... ?? ... | | ConditionalAccess.cs:11:9:11:10 | M5 | ConditionalAccess.cs:12:5:17:5 | {...} | -| ConditionalAccess.cs:19:12:19:13 | M6 | ConditionalAccess.cs:19:40:19:41 | access to parameter s1 | | ConditionalAccess.cs:21:10:21:11 | M7 | ConditionalAccess.cs:22:5:26:5 | {...} | -| ConditionalAccess.cs:30:10:30:12 | Out | ConditionalAccess.cs:30:32:30:32 | 0 | | ConditionalAccess.cs:32:10:32:11 | M8 | ConditionalAccess.cs:33:5:36:5 | {...} | | ConditionalAccess.cs:42:9:42:11 | get_Item | ConditionalAccess.cs:42:13:42:28 | {...} | | ConditionalAccess.cs:43:9:43:11 | set_Item | ConditionalAccess.cs:43:13:43:15 | {...} | | ConditionalAccess.cs:46:10:46:11 | M9 | ConditionalAccess.cs:47:5:55:5 | {...} | -| ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | -| Conditions.cs:1:7:1:16 | Conditions | Conditions.cs:1:7:1:16 | this access | | Conditions.cs:3:10:3:19 | IncrOrDecr | Conditions.cs:4:5:9:5 | {...} | | Conditions.cs:11:9:11:10 | M1 | Conditions.cs:12:5:20:5 | {...} | | Conditions.cs:22:9:22:10 | M2 | Conditions.cs:23:5:31:5 | {...} | @@ -78,7 +59,6 @@ | Conditions.cs:113:10:113:11 | M9 | Conditions.cs:114:5:124:5 | {...} | | Conditions.cs:129:10:129:12 | M10 | Conditions.cs:130:5:141:5 | {...} | | Conditions.cs:143:10:143:12 | M11 | Conditions.cs:144:5:150:5 | {...} | -| ExitMethods.cs:6:7:6:17 | ExitMethods | ExitMethods.cs:6:7:6:17 | this access | | ExitMethods.cs:8:10:8:11 | M1 | ExitMethods.cs:9:5:12:5 | {...} | | ExitMethods.cs:14:10:14:11 | M2 | ExitMethods.cs:15:5:18:5 | {...} | | ExitMethods.cs:20:10:20:11 | M3 | ExitMethods.cs:21:5:24:5 | {...} | @@ -90,7 +70,6 @@ | ExitMethods.cs:66:17:66:26 | ErrorMaybe | ExitMethods.cs:67:5:70:5 | {...} | | ExitMethods.cs:72:17:72:27 | ErrorAlways | ExitMethods.cs:73:5:78:5 | {...} | | ExitMethods.cs:80:17:80:28 | ErrorAlways2 | ExitMethods.cs:81:5:83:5 | {...} | -| ExitMethods.cs:85:17:85:28 | ErrorAlways3 | ExitMethods.cs:85:41:85:55 | object creation of type Exception | | ExitMethods.cs:87:10:87:13 | Exit | ExitMethods.cs:88:5:90:5 | {...} | | ExitMethods.cs:92:10:92:18 | ExitInTry | ExitMethods.cs:93:5:103:5 | {...} | | ExitMethods.cs:105:10:105:24 | ApplicationExit | ExitMethods.cs:106:5:108:5 | {...} | @@ -98,14 +77,11 @@ | ExitMethods.cs:115:16:115:34 | ExtensionMethodCall | ExitMethods.cs:116:5:118:5 | {...} | | ExitMethods.cs:120:17:120:32 | FailingAssertion | ExitMethods.cs:121:5:124:5 | {...} | | ExitMethods.cs:126:17:126:33 | FailingAssertion2 | ExitMethods.cs:127:5:130:5 | {...} | -| ExitMethods.cs:132:10:132:20 | AssertFalse | ExitMethods.cs:132:48:132:48 | access to parameter b | | ExitMethods.cs:134:17:134:33 | FailingAssertion3 | ExitMethods.cs:135:5:138:5 | {...} | | ExitMethods.cs:140:17:140:42 | ExceptionDispatchInfoThrow | ExitMethods.cs:141:5:147:5 | {...} | | Extensions.cs:5:23:5:29 | ToInt32 | Extensions.cs:6:5:8:5 | {...} | | Extensions.cs:10:24:10:29 | ToBool | Extensions.cs:11:5:13:5 | {...} | -| Extensions.cs:15:23:15:33 | CallToInt32 | Extensions.cs:15:48:15:50 | "0" | | Extensions.cs:20:17:20:20 | Main | Extensions.cs:21:5:26:5 | {...} | -| Finally.cs:3:14:3:20 | Finally | Finally.cs:3:14:3:20 | this access | | Finally.cs:7:10:7:11 | M1 | Finally.cs:8:5:17:5 | {...} | | Finally.cs:19:10:19:11 | M2 | Finally.cs:20:5:52:5 | {...} | | Finally.cs:54:10:54:11 | M3 | Finally.cs:55:5:72:5 | {...} | @@ -114,36 +90,19 @@ | Finally.cs:121:10:121:11 | M6 | Finally.cs:122:5:131:5 | {...} | | Finally.cs:133:10:133:11 | M7 | Finally.cs:134:5:145:5 | {...} | | Finally.cs:147:10:147:11 | M8 | Finally.cs:148:5:170:5 | {...} | -| Finally.cs:172:11:172:20 | ExceptionA | Finally.cs:172:11:172:20 | this access | -| Finally.cs:173:11:173:20 | ExceptionB | Finally.cs:173:11:173:20 | this access | -| Finally.cs:174:11:174:20 | ExceptionC | Finally.cs:174:11:174:20 | this access | | Finally.cs:176:10:176:11 | M9 | Finally.cs:177:5:193:5 | {...} | | Finally.cs:195:10:195:12 | M10 | Finally.cs:196:5:214:5 | {...} | | Finally.cs:216:10:216:12 | M11 | Finally.cs:217:5:231:5 | {...} | | Finally.cs:233:10:233:12 | M12 | Finally.cs:234:5:261:5 | {...} | | Finally.cs:263:10:263:12 | M13 | Finally.cs:264:5:274:5 | {...} | -| Foreach.cs:4:7:4:13 | Foreach | Foreach.cs:4:7:4:13 | this access | | Foreach.cs:6:10:6:11 | M1 | Foreach.cs:7:5:10:5 | {...} | | Foreach.cs:12:10:12:11 | M2 | Foreach.cs:13:5:16:5 | {...} | | Foreach.cs:18:10:18:11 | M3 | Foreach.cs:19:5:22:5 | {...} | | Foreach.cs:24:10:24:11 | M4 | Foreach.cs:25:5:28:5 | {...} | | Foreach.cs:30:10:30:11 | M5 | Foreach.cs:31:5:34:5 | {...} | | Foreach.cs:36:10:36:11 | M6 | Foreach.cs:37:5:40:5 | {...} | -| Initializers.cs:3:7:3:18 | | Initializers.cs:5:9:5:9 | this access | -| Initializers.cs:3:7:3:18 | Initializers | Initializers.cs:3:7:3:18 | {...} | -| Initializers.cs:8:5:8:16 | Initializers | Initializers.cs:8:5:8:16 | this access | -| Initializers.cs:10:5:10:16 | Initializers | Initializers.cs:10:5:10:16 | this access | | Initializers.cs:12:10:12:10 | M | Initializers.cs:13:5:16:5 | {...} | -| Initializers.cs:20:11:20:23 | | Initializers.cs:22:23:22:23 | this access | -| Initializers.cs:20:11:20:23 | NoConstructor | Initializers.cs:20:11:20:23 | this access | -| Initializers.cs:26:11:26:13 | | Initializers.cs:28:13:28:13 | this access | -| Initializers.cs:31:9:31:11 | Sub | Initializers.cs:31:9:31:11 | this access | -| Initializers.cs:33:9:33:11 | Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | -| Initializers.cs:35:9:35:11 | Sub | Initializers.cs:35:9:35:11 | this access | -| Initializers.cs:39:7:39:23 | IndexInitializers | Initializers.cs:39:7:39:23 | this access | -| Initializers.cs:41:11:41:18 | Compound | Initializers.cs:41:11:41:18 | this access | | Initializers.cs:51:10:51:13 | Test | Initializers.cs:52:5:66:5 | {...} | -| LoopUnrolling.cs:5:7:5:19 | LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | this access | | LoopUnrolling.cs:7:10:7:11 | M1 | LoopUnrolling.cs:8:5:13:5 | {...} | | LoopUnrolling.cs:15:10:15:11 | M2 | LoopUnrolling.cs:16:5:20:5 | {...} | | LoopUnrolling.cs:22:10:22:11 | M3 | LoopUnrolling.cs:23:5:27:5 | {...} | @@ -155,20 +114,13 @@ | LoopUnrolling.cs:76:10:76:11 | M9 | LoopUnrolling.cs:77:5:83:5 | {...} | | LoopUnrolling.cs:85:10:85:12 | M10 | LoopUnrolling.cs:86:5:92:5 | {...} | | LoopUnrolling.cs:94:10:94:12 | M11 | LoopUnrolling.cs:95:5:101:5 | {...} | -| MultiImplementationA.cs:4:7:4:8 | C1 | MultiImplementationA.cs:4:7:4:8 | this access | -| MultiImplementationA.cs:4:7:4:8 | C1 | MultiImplementationB.cs:1:7:1:8 | this access | -| MultiImplementationA.cs:6:22:6:31 | get_P1 | MultiImplementationA.cs:6:28:6:31 | null | | MultiImplementationA.cs:6:22:6:31 | get_P1 | MultiImplementationB.cs:3:22:3:22 | 0 | | MultiImplementationA.cs:7:21:7:23 | get_P2 | MultiImplementationA.cs:7:25:7:39 | {...} | | MultiImplementationA.cs:7:21:7:23 | get_P2 | MultiImplementationB.cs:4:25:4:37 | {...} | | MultiImplementationA.cs:7:41:7:43 | set_P2 | MultiImplementationA.cs:7:45:7:59 | {...} | | MultiImplementationA.cs:7:41:7:43 | set_P2 | MultiImplementationB.cs:4:43:4:45 | {...} | -| MultiImplementationA.cs:8:16:8:16 | M | MultiImplementationA.cs:8:29:8:32 | null | | MultiImplementationA.cs:8:16:8:16 | M | MultiImplementationB.cs:5:23:5:23 | 2 | -| MultiImplementationA.cs:11:7:11:8 | | MultiImplementationA.cs:13:16:13:16 | this access | -| MultiImplementationA.cs:11:7:11:8 | | MultiImplementationB.cs:11:16:11:16 | this access | | MultiImplementationA.cs:14:31:14:31 | get_Item | MultiImplementationA.cs:14:31:14:31 | access to parameter i | -| MultiImplementationA.cs:14:31:14:31 | get_Item | MultiImplementationB.cs:12:37:12:40 | null | | MultiImplementationA.cs:15:36:15:38 | get_Item | MultiImplementationA.cs:15:40:15:52 | {...} | | MultiImplementationA.cs:15:36:15:38 | get_Item | MultiImplementationB.cs:13:40:13:54 | {...} | | MultiImplementationA.cs:15:54:15:56 | set_Item | MultiImplementationA.cs:15:58:15:60 | {...} | @@ -176,53 +128,32 @@ | MultiImplementationA.cs:16:17:16:18 | M1 | MultiImplementationA.cs:17:5:19:5 | {...} | | MultiImplementationA.cs:16:17:16:18 | M1 | MultiImplementationB.cs:15:5:17:5 | {...} | | MultiImplementationA.cs:18:9:18:22 | M2 | MultiImplementationA.cs:18:21:18:21 | 0 | -| MultiImplementationA.cs:20:12:20:13 | C2 | MultiImplementationA.cs:20:12:20:13 | this access | -| MultiImplementationA.cs:20:12:20:13 | C2 | MultiImplementationB.cs:18:12:18:13 | this access | -| MultiImplementationA.cs:21:12:21:13 | C2 | MultiImplementationA.cs:21:24:21:24 | 0 | -| MultiImplementationA.cs:21:12:21:13 | C2 | MultiImplementationB.cs:19:24:19:24 | 1 | | MultiImplementationA.cs:22:6:22:7 | ~C2 | MultiImplementationA.cs:22:11:22:13 | {...} | | MultiImplementationA.cs:22:6:22:7 | ~C2 | MultiImplementationB.cs:20:11:20:25 | {...} | | MultiImplementationA.cs:23:28:23:35 | implicit conversion | MultiImplementationA.cs:23:50:23:53 | null | -| MultiImplementationA.cs:23:28:23:35 | implicit conversion | MultiImplementationB.cs:21:56:21:59 | null | -| MultiImplementationA.cs:28:7:28:8 | C3 | MultiImplementationA.cs:28:7:28:8 | this access | -| MultiImplementationA.cs:28:7:28:8 | C3 | MultiImplementationB.cs:25:7:25:8 | this access | -| MultiImplementationA.cs:30:21:30:23 | get_P3 | MultiImplementationA.cs:30:34:30:37 | null | -| MultiImplementationA.cs:34:15:34:16 | C4 | MultiImplementationA.cs:34:15:34:16 | this access | -| MultiImplementationA.cs:34:15:34:16 | C4 | MultiImplementationB.cs:30:15:30:16 | this access | | MultiImplementationA.cs:36:9:36:10 | M1 | MultiImplementationA.cs:36:14:36:28 | {...} | | MultiImplementationA.cs:36:9:36:10 | M1 | MultiImplementationB.cs:32:17:32:17 | 0 | | MultiImplementationA.cs:37:9:37:10 | M2 | MultiImplementationA.cs:37:14:37:28 | {...} | -| MultiImplementationB.cs:16:9:16:31 | M2 | MultiImplementationB.cs:16:27:16:30 | null | -| NullCoalescing.cs:1:7:1:20 | NullCoalescing | NullCoalescing.cs:1:7:1:20 | this access | -| NullCoalescing.cs:3:9:3:10 | M1 | NullCoalescing.cs:3:23:3:23 | access to parameter i | -| NullCoalescing.cs:5:9:5:10 | M2 | NullCoalescing.cs:5:25:5:25 | access to parameter b | -| NullCoalescing.cs:7:12:7:13 | M3 | NullCoalescing.cs:7:40:7:41 | access to parameter s1 | -| NullCoalescing.cs:9:12:9:13 | M4 | NullCoalescing.cs:9:37:9:37 | access to parameter b | -| NullCoalescing.cs:11:9:11:10 | M5 | NullCoalescing.cs:11:44:11:45 | access to parameter b1 | +| NullCoalescing.cs:3:9:3:10 | M1 | NullCoalescing.cs:3:23:3:28 | ... ?? ... | +| NullCoalescing.cs:5:9:5:10 | M2 | NullCoalescing.cs:5:24:5:43 | ... ? ... : ... | +| NullCoalescing.cs:7:12:7:13 | M3 | NullCoalescing.cs:7:40:7:53 | ... ?? ... | +| NullCoalescing.cs:9:12:9:13 | M4 | NullCoalescing.cs:9:36:9:58 | ... ?? ... | +| NullCoalescing.cs:11:9:11:10 | M5 | NullCoalescing.cs:11:43:11:68 | ... ? ... : ... | | NullCoalescing.cs:13:10:13:11 | M6 | NullCoalescing.cs:14:5:18:5 | {...} | -| PartialImplementationA.cs:1:15:1:21 | | PartialImplementationB.cs:3:16:3:16 | this access | -| PartialImplementationA.cs:3:12:3:18 | Partial | PartialImplementationA.cs:3:12:3:18 | this access | -| PartialImplementationB.cs:4:12:4:18 | Partial | PartialImplementationB.cs:4:12:4:18 | this access | -| Patterns.cs:3:7:3:14 | Patterns | Patterns.cs:3:7:3:14 | this access | | Patterns.cs:5:10:5:11 | M1 | Patterns.cs:6:5:43:5 | {...} | -| Patterns.cs:47:24:47:25 | M2 | Patterns.cs:48:9:48:9 | access to parameter c | -| Patterns.cs:50:24:50:25 | M3 | Patterns.cs:51:9:51:9 | access to parameter c | -| Patterns.cs:53:24:53:25 | M4 | Patterns.cs:54:9:54:9 | access to parameter c | +| Patterns.cs:50:24:50:25 | M3 | Patterns.cs:51:9:51:39 | ... ? ... : ... | | Patterns.cs:56:26:56:27 | M5 | Patterns.cs:57:5:63:5 | {...} | | Patterns.cs:65:26:65:27 | M6 | Patterns.cs:66:5:72:5 | {...} | | Patterns.cs:74:26:74:27 | M7 | Patterns.cs:75:5:83:5 | {...} | -| Patterns.cs:85:26:85:27 | M8 | Patterns.cs:85:39:85:39 | access to parameter i | -| Patterns.cs:87:26:87:27 | M9 | Patterns.cs:87:39:87:39 | access to parameter i | +| Patterns.cs:85:26:85:27 | M8 | Patterns.cs:85:39:85:69 | ... ? ... : ... | +| Patterns.cs:87:26:87:27 | M9 | Patterns.cs:87:39:87:70 | ... ? ... : ... | | Patterns.cs:93:17:93:19 | M10 | Patterns.cs:94:5:99:5 | {...} | -| PostDominance.cs:3:7:3:19 | PostDominance | PostDominance.cs:3:7:3:19 | this access | | PostDominance.cs:5:10:5:11 | M1 | PostDominance.cs:6:5:8:5 | {...} | | PostDominance.cs:10:10:10:11 | M2 | PostDominance.cs:11:5:15:5 | {...} | | PostDominance.cs:17:10:17:11 | M3 | PostDominance.cs:18:5:22:5 | {...} | -| Qualifiers.cs:1:7:1:16 | Qualifiers | Qualifiers.cs:1:7:1:16 | this access | | Qualifiers.cs:7:16:7:21 | Method | Qualifiers.cs:7:28:7:31 | null | | Qualifiers.cs:8:23:8:34 | StaticMethod | Qualifiers.cs:8:41:8:44 | null | | Qualifiers.cs:10:10:10:10 | M | Qualifiers.cs:11:5:31:5 | {...} | -| Switch.cs:3:7:3:12 | Switch | Switch.cs:3:7:3:12 | this access | | Switch.cs:5:10:5:11 | M1 | Switch.cs:6:5:8:5 | {...} | | Switch.cs:10:10:10:11 | M2 | Switch.cs:11:5:33:5 | {...} | | Switch.cs:35:10:35:11 | M3 | Switch.cs:36:5:42:5 | {...} | @@ -232,7 +163,6 @@ | Switch.cs:77:10:77:11 | M7 | Switch.cs:78:5:89:5 | {...} | | Switch.cs:91:10:91:11 | M8 | Switch.cs:92:5:99:5 | {...} | | Switch.cs:101:9:101:10 | M9 | Switch.cs:102:5:109:5 | {...} | -| Switch.cs:111:17:111:21 | Throw | Switch.cs:111:34:111:48 | object creation of type Exception | | Switch.cs:113:9:113:11 | M10 | Switch.cs:114:5:121:5 | {...} | | Switch.cs:123:10:123:12 | M11 | Switch.cs:124:5:127:5 | {...} | | Switch.cs:129:12:129:14 | M12 | Switch.cs:130:5:132:5 | {...} | @@ -240,13 +170,10 @@ | Switch.cs:144:9:144:11 | M14 | Switch.cs:145:5:152:5 | {...} | | Switch.cs:154:10:154:12 | M15 | Switch.cs:155:5:161:5 | {...} | | Switch.cs:163:10:163:12 | M16 | Switch.cs:164:5:178:5 | {...} | -| TypeAccesses.cs:1:7:1:18 | TypeAccesses | TypeAccesses.cs:1:7:1:18 | this access | | TypeAccesses.cs:3:10:3:10 | M | TypeAccesses.cs:4:5:9:5 | {...} | -| VarDecls.cs:3:7:3:14 | VarDecls | VarDecls.cs:3:7:3:14 | this access | | VarDecls.cs:5:18:5:19 | M1 | VarDecls.cs:6:5:11:5 | {...} | | VarDecls.cs:13:12:13:13 | M2 | VarDecls.cs:14:5:17:5 | {...} | | VarDecls.cs:19:7:19:8 | M3 | VarDecls.cs:20:5:26:5 | {...} | -| VarDecls.cs:28:11:28:11 | C | VarDecls.cs:28:11:28:11 | this access | | VarDecls.cs:28:41:28:47 | Dispose | VarDecls.cs:28:51:28:53 | {...} | | cflow.cs:5:17:5:20 | Main | cflow.cs:6:5:35:5 | {...} | | cflow.cs:37:17:37:22 | Switch | cflow.cs:38:5:68:5 | {...} | @@ -257,15 +184,11 @@ | cflow.cs:119:20:119:21 | M5 | cflow.cs:120:5:124:5 | {...} | | cflow.cs:127:19:127:21 | get_Prop | cflow.cs:127:23:127:60 | {...} | | cflow.cs:127:62:127:64 | set_Prop | cflow.cs:127:66:127:83 | {...} | -| cflow.cs:129:5:129:15 | ControlFlow | cflow.cs:129:5:129:15 | this access | -| cflow.cs:134:5:134:15 | ControlFlow | cflow.cs:134:31:134:31 | access to parameter i | -| cflow.cs:136:12:136:22 | ControlFlow | cflow.cs:136:33:136:33 | 0 | | cflow.cs:138:40:138:40 | + | cflow.cs:139:5:142:5 | {...} | | cflow.cs:144:33:144:35 | get_Item | cflow.cs:144:37:144:54 | {...} | | cflow.cs:144:56:144:58 | set_Item | cflow.cs:144:60:144:62 | {...} | | cflow.cs:146:10:146:12 | For | cflow.cs:147:5:177:5 | {...} | | cflow.cs:179:10:179:16 | Lambdas | cflow.cs:180:5:183:5 | {...} | -| cflow.cs:181:28:181:37 | (...) => ... | cflow.cs:181:33:181:33 | access to parameter x | | cflow.cs:182:28:182:61 | delegate(...) { ... } | cflow.cs:182:45:182:61 | {...} | | cflow.cs:185:10:185:18 | LogicalOr | cflow.cs:186:5:191:5 | {...} | | cflow.cs:193:10:193:17 | Booleans | cflow.cs:194:5:206:5 | {...} | @@ -273,13 +196,6 @@ | cflow.cs:224:10:224:16 | Foreach | cflow.cs:225:5:238:5 | {...} | | cflow.cs:240:10:240:13 | Goto | cflow.cs:241:5:259:5 | {...} | | cflow.cs:261:49:261:53 | Yield | cflow.cs:262:5:277:5 | {...} | -| cflow.cs:282:5:282:18 | ControlFlowSub | cflow.cs:282:5:282:18 | this access | -| cflow.cs:284:5:284:18 | ControlFlowSub | cflow.cs:284:32:284:35 | call to constructor ControlFlowSub | -| cflow.cs:286:5:286:18 | ControlFlowSub | cflow.cs:286:34:286:34 | access to parameter i | -| cflow.cs:289:7:289:18 | DelegateCall | cflow.cs:289:7:289:18 | this access | -| cflow.cs:291:12:291:12 | M | cflow.cs:291:38:291:38 | access to parameter f | -| cflow.cs:296:5:296:25 | NegationInConstructor | cflow.cs:296:5:296:25 | this access | | cflow.cs:298:10:298:10 | M | cflow.cs:299:5:301:5 | {...} | -| cflow.cs:304:7:304:18 | LambdaGetter | cflow.cs:304:7:304:18 | this access | | cflow.cs:306:60:310:5 | (...) => ... | cflow.cs:307:5:310:5 | {...} | | cflow.cs:306:60:310:5 | get__getter | cflow.cs:306:60:310:5 | (...) => ... | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Nodes.ql b/csharp/ql/test/library-tests/controlflow/graph/Nodes.ql index 1140f78de66..ce2a5b9d60d 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Nodes.ql +++ b/csharp/ql/test/library-tests/controlflow/graph/Nodes.ql @@ -1,10 +1,7 @@ import csharp import ControlFlow import Common -import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl as Impl -import semmle.code.csharp.controlflow.internal.Splitting as Splitting -import Nodes query predicate entryPoint(Callable c, SourceControlFlowElement cfn) { - c.getEntryPoint().getASuccessor().getAstNode() = cfn + c.getEntryPoint().getASuccessor() = cfn.getControlFlowNode() } diff --git a/csharp/ql/test/library-tests/controlflow/guards-large/GuardedExpr.expected b/csharp/ql/test/library-tests/controlflow/guards-large/GuardedExpr.expected index b390b5be639..b3fb032a26c 100644 --- a/csharp/ql/test/library-tests/controlflow/guards-large/GuardedExpr.expected +++ b/csharp/ql/test/library-tests/controlflow/guards-large/GuardedExpr.expected @@ -1,7 +1,5 @@ | GuardsStressTest.cs:8:26:8:27 | access to field ch | -| GuardsStressTest.cs:9:4:9:5 | access to field ch | | GuardsStressTest.cs:9:17:9:18 | access to field ch | -| GuardsStressTest.cs:10:4:10:5 | access to field ch | | GuardsStressTest.cs:11:4:11:5 | access to field ch | | GuardsStressTest.cs:11:17:11:18 | access to field ch | | GuardsStressTest.cs:12:4:12:5 | access to field ch | @@ -793,5 +791,4 @@ | GuardsStressTest.cs:438:19:438:20 | access to field ch | | GuardsStressTest.cs:439:4:439:5 | access to field ch | | GuardsStressTest.cs:439:19:439:20 | access to field ch | -| GuardsStressTest.cs:439:41:439:42 | access to field ch | | GuardsStressTest.cs:440:23:440:24 | access to field ch | diff --git a/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected b/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected index ac260924d10..b274d7905b2 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/BooleanGuardedExpr.expected @@ -27,12 +27,8 @@ | 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: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:23 | ... == ... | Guards.cs:38:15:38:15 | access to parameter x | false | -| 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 | true | | 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:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:36 | ... == ... | Guards.cs:38:28:38:28 | access to parameter y | true | -| 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 | false | | 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:38 | ... != ... | Guards.cs:41:30:41:30 | access to parameter y | false | | 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: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:27 | ... == ... | Guards.cs:53:13:53:13 | access to parameter g | false | @@ -83,7 +79,7 @@ | 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:334:13:334:15 | access to constant B | Guards.cs:334:13:334:20 | ... => ... | Guards.cs:334:13:334:15 | access to constant B | 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 d322431b1df..c038c49ba17 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/GuardedControlFlowNode.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/GuardedControlFlowNode.expected @@ -64,20 +64,12 @@ | 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 | not 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 | 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:31:39:31 | access to parameter x | Guards.cs:38:15:38:23 | ... == ... | Guards.cs:38:15:38:15 | access to parameter x | true | | 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:28 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | 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:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:36 | ... == ... | Guards.cs:38:28:38:28 | access to parameter y | true | | 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:17 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | 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 | false | | 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 | not 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 | 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 | false | | 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 | 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 | @@ -207,11 +199,10 @@ | 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:334:13:334:15 | access to constant B | Guards.cs:334:13:334:20 | ... => ... | Guards.cs:334:13:334:15 | access to constant B | 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 | 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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected b/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected index d322431b1df..c038c49ba17 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected +++ b/csharp/ql/test/library-tests/controlflow/guards/GuardedExpr.expected @@ -64,20 +64,12 @@ | 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 | not 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 | 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:31:39:31 | access to parameter x | Guards.cs:38:15:38:23 | ... == ... | Guards.cs:38:15:38:15 | access to parameter x | true | | 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:28 | access to parameter y | Guards.cs:38:28:38:28 | access to parameter y | 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:39:35:39:35 | access to parameter y | Guards.cs:38:28:38:36 | ... == ... | Guards.cs:38:28:38:28 | access to parameter y | true | | 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:17 | access to parameter x | Guards.cs:41:17:41:17 | access to parameter x | 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 | false | | 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 | not 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 | 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 | false | | 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 | 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 | @@ -207,11 +199,10 @@ | 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:334:13:334:15 | access to constant B | Guards.cs:334:13:334:20 | ... => ... | Guards.cs:334:13:334:15 | access to constant B | 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 | 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 | diff --git a/csharp/ql/test/library-tests/controlflow/guards/Guards.cs b/csharp/ql/test/library-tests/controlflow/guards/Guards.cs index 8c4abb815e8..045967d6134 100644 --- a/csharp/ql/test/library-tests/controlflow/guards/Guards.cs +++ b/csharp/ql/test/library-tests/controlflow/guards/Guards.cs @@ -35,10 +35,10 @@ public class Guards if (x == null || y == null) { } else Console.WriteLine(x + y); // null guarded - if (!(x == null || y == null)) // MISHANDLED, likely due to splitting + if (!(x == null || y == null)) Console.WriteLine(x + y); // null guarded - if (!!!(x != null && y != null)) { } // MISHANDLED, likely due to splitting + if (!!!(x != null && y != null)) { } else Console.WriteLine(x + y); // null guarded if (Field != null) diff --git a/csharp/ql/test/library-tests/csharp11/signAnalysis.ql b/csharp/ql/test/library-tests/csharp11/signAnalysis.ql index 2aeb57e29fb..97471fec351 100644 --- a/csharp/ql/test/library-tests/csharp11/signAnalysis.ql +++ b/csharp/ql/test/library-tests/csharp11/signAnalysis.ql @@ -1,7 +1,7 @@ import csharp import semmle.code.csharp.dataflow.internal.rangeanalysis.SignAnalysisCommon as Common -from ControlFlow::Nodes::ExprNode e, Expr expr +from ControlFlowNodes::ExprNode e, Expr expr where e.getExpr() = expr and expr.getFile().getStem() = "SignAnalysis" and diff --git a/csharp/ql/test/library-tests/csharp7/IsFlow.expected b/csharp/ql/test/library-tests/csharp7/IsFlow.expected index ce37b655bb8..a1dafe05ce6 100644 --- a/csharp/ql/test/library-tests/csharp7/IsFlow.expected +++ b/csharp/ql/test/library-tests/csharp7/IsFlow.expected @@ -1,79 +1,151 @@ -| CSharp7.cs:230:10:230:13 | exit Test (normal) | CSharp7.cs:230:10:230:13 | exit Test | semmle.label | successor | +| CSharp7.cs:230:10:230:13 | Normal Exit | CSharp7.cs:230:10:230:13 | Exit | semmle.label | successor | +| CSharp7.cs:231:5:275:5 | After {...} | CSharp7.cs:230:10:230:13 | Normal Exit | semmle.label | successor | +| CSharp7.cs:248:9:274:9 | After switch (...) {...} | CSharp7.cs:231:5:275:5 | After {...} | semmle.label | successor | | CSharp7.cs:248:9:274:9 | switch (...) {...} | CSharp7.cs:248:17:248:17 | access to local variable o | semmle.label | successor | | CSharp7.cs:248:17:248:17 | access to local variable o | CSharp7.cs:250:13:250:23 | case ...: | semmle.label | successor | -| CSharp7.cs:250:13:250:23 | case ...: | CSharp7.cs:250:18:250:22 | "xyz" | semmle.label | successor | -| CSharp7.cs:250:18:250:22 | "xyz" | CSharp7.cs:251:17:251:22 | break; | semmle.label | match | -| CSharp7.cs:250:18:250:22 | "xyz" | CSharp7.cs:252:13:252:31 | case ...: | semmle.label | no-match | -| CSharp7.cs:251:17:251:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:252:13:252:31 | case ...: | CSharp7.cs:252:18:252:19 | "" | semmle.label | successor | -| CSharp7.cs:252:18:252:19 | "" | CSharp7.cs:252:26:252:26 | 1 | semmle.label | match | -| CSharp7.cs:252:18:252:19 | "" | CSharp7.cs:254:13:254:41 | case ...: | semmle.label | no-match | +| CSharp7.cs:250:13:250:23 | After case ...: [match] | CSharp7.cs:250:18:250:22 | "xyz" | semmle.label | successor | +| CSharp7.cs:250:13:250:23 | After case ...: [no-match] | CSharp7.cs:252:13:252:31 | case ...: | semmle.label | successor | +| CSharp7.cs:250:13:250:23 | case ...: | CSharp7.cs:250:13:250:23 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:250:13:250:23 | case ...: | CSharp7.cs:250:13:250:23 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:250:18:250:22 | "xyz" | CSharp7.cs:251:17:251:22 | Before break; | semmle.label | successor | +| CSharp7.cs:251:17:251:22 | Before break; | CSharp7.cs:251:17:251:22 | break; | semmle.label | successor | +| CSharp7.cs:251:17:251:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:252:13:252:31 | After case ...: [match] | CSharp7.cs:252:18:252:19 | "" | semmle.label | successor | +| CSharp7.cs:252:13:252:31 | After case ...: [no-match] | CSharp7.cs:254:13:254:41 | case ...: | semmle.label | successor | +| CSharp7.cs:252:13:252:31 | case ...: | CSharp7.cs:252:13:252:31 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:252:13:252:31 | case ...: | CSharp7.cs:252:13:252:31 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:252:18:252:19 | "" | CSharp7.cs:252:26:252:30 | Before ... < ... | semmle.label | successor | | CSharp7.cs:252:26:252:26 | 1 | CSharp7.cs:252:30:252:30 | 2 | semmle.label | successor | -| CSharp7.cs:252:26:252:30 | ... < ... | CSharp7.cs:253:17:253:22 | break; | semmle.label | true | +| CSharp7.cs:252:26:252:30 | ... < ... | CSharp7.cs:252:26:252:30 | After ... < ... [false] | semmle.label | false | +| CSharp7.cs:252:26:252:30 | ... < ... | CSharp7.cs:252:26:252:30 | After ... < ... [true] | semmle.label | true | +| CSharp7.cs:252:26:252:30 | After ... < ... [false] | CSharp7.cs:254:13:254:41 | case ...: | semmle.label | successor | +| CSharp7.cs:252:26:252:30 | After ... < ... [true] | CSharp7.cs:253:17:253:22 | Before break; | semmle.label | successor | +| CSharp7.cs:252:26:252:30 | Before ... < ... | CSharp7.cs:252:26:252:26 | 1 | semmle.label | successor | | CSharp7.cs:252:30:252:30 | 2 | CSharp7.cs:252:26:252:30 | ... < ... | semmle.label | successor | -| CSharp7.cs:253:17:253:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:254:13:254:41 | case ...: | CSharp7.cs:254:18:254:20 | "x" | semmle.label | successor | -| CSharp7.cs:254:18:254:20 | "x" | CSharp7.cs:254:27:254:27 | access to local variable o | semmle.label | match | -| CSharp7.cs:254:18:254:20 | "x" | CSharp7.cs:257:13:257:36 | case ...: | semmle.label | no-match | -| CSharp7.cs:254:27:254:27 | access to local variable o | CSharp7.cs:254:32:254:40 | String s4 | semmle.label | successor | -| CSharp7.cs:254:27:254:40 | [false] ... is ... | CSharp7.cs:257:13:257:36 | case ...: | semmle.label | false | -| CSharp7.cs:254:27:254:40 | [true] ... is ... | CSharp7.cs:255:17:255:45 | ...; | semmle.label | true | -| CSharp7.cs:254:32:254:40 | String s4 | CSharp7.cs:254:27:254:40 | [false] ... is ... | semmle.label | no-match | -| CSharp7.cs:254:32:254:40 | String s4 | CSharp7.cs:254:27:254:40 | [true] ... is ... | semmle.label | match | -| CSharp7.cs:255:17:255:44 | call to method WriteLine | CSharp7.cs:256:17:256:22 | break; | semmle.label | successor | -| CSharp7.cs:255:17:255:45 | ...; | CSharp7.cs:255:37:255:38 | "x " | semmle.label | successor | -| CSharp7.cs:255:35:255:43 | $"..." | CSharp7.cs:255:17:255:44 | call to method WriteLine | semmle.label | successor | -| CSharp7.cs:255:37:255:38 | "x " | CSharp7.cs:255:40:255:41 | access to local variable s4 | semmle.label | successor | -| CSharp7.cs:255:39:255:42 | {...} | CSharp7.cs:255:35:255:43 | $"..." | semmle.label | successor | +| CSharp7.cs:253:17:253:22 | Before break; | CSharp7.cs:253:17:253:22 | break; | semmle.label | successor | +| CSharp7.cs:253:17:253:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:254:13:254:41 | After case ...: [match] | CSharp7.cs:254:18:254:20 | "x" | semmle.label | successor | +| CSharp7.cs:254:13:254:41 | After case ...: [no-match] | CSharp7.cs:257:13:257:36 | case ...: | semmle.label | successor | +| CSharp7.cs:254:13:254:41 | case ...: | CSharp7.cs:254:13:254:41 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:254:13:254:41 | case ...: | CSharp7.cs:254:13:254:41 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:254:18:254:20 | "x" | CSharp7.cs:254:27:254:40 | Before ... is ... | semmle.label | successor | +| CSharp7.cs:254:27:254:27 | access to local variable o | CSharp7.cs:254:27:254:40 | ... is ... | semmle.label | successor | +| CSharp7.cs:254:27:254:40 | ... is ... | CSharp7.cs:254:27:254:40 | After ... is ... [false] | semmle.label | false | +| CSharp7.cs:254:27:254:40 | ... is ... | CSharp7.cs:254:27:254:40 | [MatchTrue] ... is ... | semmle.label | true | +| CSharp7.cs:254:27:254:40 | After ... is ... [false] | CSharp7.cs:257:13:257:36 | case ...: | semmle.label | successor | +| CSharp7.cs:254:27:254:40 | After ... is ... [true] | CSharp7.cs:255:17:255:45 | ...; | semmle.label | successor | +| CSharp7.cs:254:27:254:40 | Before ... is ... | CSharp7.cs:254:27:254:27 | access to local variable o | semmle.label | successor | +| CSharp7.cs:254:27:254:40 | [MatchTrue] ... is ... | CSharp7.cs:254:32:254:40 | String s4 | semmle.label | successor | +| CSharp7.cs:254:32:254:40 | String s4 | CSharp7.cs:254:27:254:40 | After ... is ... [true] | semmle.label | true | +| CSharp7.cs:255:17:255:44 | After call to method WriteLine | CSharp7.cs:255:17:255:45 | After ...; | semmle.label | successor | +| CSharp7.cs:255:17:255:44 | Before call to method WriteLine | CSharp7.cs:255:35:255:43 | Before $"..." | semmle.label | successor | +| CSharp7.cs:255:17:255:44 | call to method WriteLine | CSharp7.cs:255:17:255:44 | After call to method WriteLine | semmle.label | successor | +| CSharp7.cs:255:17:255:45 | ...; | CSharp7.cs:255:17:255:44 | Before call to method WriteLine | semmle.label | successor | +| CSharp7.cs:255:17:255:45 | After ...; | CSharp7.cs:256:17:256:22 | Before break; | semmle.label | successor | +| CSharp7.cs:255:35:255:43 | $"..." | CSharp7.cs:255:35:255:43 | After $"..." | semmle.label | successor | +| CSharp7.cs:255:35:255:43 | After $"..." | CSharp7.cs:255:17:255:44 | call to method WriteLine | semmle.label | successor | +| CSharp7.cs:255:35:255:43 | Before $"..." | CSharp7.cs:255:37:255:38 | "x " | semmle.label | successor | +| CSharp7.cs:255:37:255:38 | "x " | CSharp7.cs:255:39:255:42 | Before {...} | semmle.label | successor | +| CSharp7.cs:255:39:255:42 | After {...} | CSharp7.cs:255:35:255:43 | $"..." | semmle.label | successor | +| CSharp7.cs:255:39:255:42 | Before {...} | CSharp7.cs:255:40:255:41 | access to local variable s4 | semmle.label | successor | +| CSharp7.cs:255:39:255:42 | {...} | CSharp7.cs:255:39:255:42 | After {...} | semmle.label | successor | | CSharp7.cs:255:40:255:41 | access to local variable s4 | CSharp7.cs:255:39:255:42 | {...} | semmle.label | successor | -| CSharp7.cs:256:17:256:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:257:13:257:36 | case ...: | CSharp7.cs:257:18:257:23 | Int32 i2 | semmle.label | successor | -| CSharp7.cs:257:18:257:23 | Int32 i2 | CSharp7.cs:257:30:257:31 | access to local variable i2 | semmle.label | match | -| CSharp7.cs:257:18:257:23 | Int32 i2 | CSharp7.cs:260:13:260:24 | case ...: | semmle.label | no-match | +| CSharp7.cs:256:17:256:22 | Before break; | CSharp7.cs:256:17:256:22 | break; | semmle.label | successor | +| CSharp7.cs:256:17:256:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:257:13:257:36 | After case ...: [match] | CSharp7.cs:257:18:257:23 | Int32 i2 | semmle.label | successor | +| CSharp7.cs:257:13:257:36 | After case ...: [no-match] | CSharp7.cs:260:13:260:24 | case ...: | semmle.label | successor | +| CSharp7.cs:257:13:257:36 | case ...: | CSharp7.cs:257:13:257:36 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:257:13:257:36 | case ...: | CSharp7.cs:257:13:257:36 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:257:18:257:23 | Int32 i2 | CSharp7.cs:257:30:257:35 | Before ... > ... | semmle.label | successor | | CSharp7.cs:257:30:257:31 | access to local variable i2 | CSharp7.cs:257:35:257:35 | 0 | semmle.label | successor | -| CSharp7.cs:257:30:257:35 | ... > ... | CSharp7.cs:258:17:258:52 | ...; | semmle.label | true | -| CSharp7.cs:257:30:257:35 | ... > ... | CSharp7.cs:260:13:260:24 | case ...: | semmle.label | false | +| CSharp7.cs:257:30:257:35 | ... > ... | CSharp7.cs:257:30:257:35 | After ... > ... [false] | semmle.label | false | +| CSharp7.cs:257:30:257:35 | ... > ... | CSharp7.cs:257:30:257:35 | After ... > ... [true] | semmle.label | true | +| CSharp7.cs:257:30:257:35 | After ... > ... [false] | CSharp7.cs:260:13:260:24 | case ...: | semmle.label | successor | +| CSharp7.cs:257:30:257:35 | After ... > ... [true] | CSharp7.cs:258:17:258:52 | ...; | semmle.label | successor | +| CSharp7.cs:257:30:257:35 | Before ... > ... | CSharp7.cs:257:30:257:31 | access to local variable i2 | semmle.label | successor | | CSharp7.cs:257:35:257:35 | 0 | CSharp7.cs:257:30:257:35 | ... > ... | semmle.label | successor | -| CSharp7.cs:258:17:258:51 | call to method WriteLine | CSharp7.cs:259:17:259:22 | break; | semmle.label | successor | -| CSharp7.cs:258:17:258:52 | ...; | CSharp7.cs:258:37:258:45 | "positive " | semmle.label | successor | -| CSharp7.cs:258:35:258:50 | $"..." | CSharp7.cs:258:17:258:51 | call to method WriteLine | semmle.label | successor | -| CSharp7.cs:258:37:258:45 | "positive " | CSharp7.cs:258:47:258:48 | access to local variable i2 | semmle.label | successor | -| CSharp7.cs:258:46:258:49 | {...} | CSharp7.cs:258:35:258:50 | $"..." | semmle.label | successor | +| CSharp7.cs:258:17:258:51 | After call to method WriteLine | CSharp7.cs:258:17:258:52 | After ...; | semmle.label | successor | +| CSharp7.cs:258:17:258:51 | Before call to method WriteLine | CSharp7.cs:258:35:258:50 | Before $"..." | semmle.label | successor | +| CSharp7.cs:258:17:258:51 | call to method WriteLine | CSharp7.cs:258:17:258:51 | After call to method WriteLine | semmle.label | successor | +| CSharp7.cs:258:17:258:52 | ...; | CSharp7.cs:258:17:258:51 | Before call to method WriteLine | semmle.label | successor | +| CSharp7.cs:258:17:258:52 | After ...; | CSharp7.cs:259:17:259:22 | Before break; | semmle.label | successor | +| CSharp7.cs:258:35:258:50 | $"..." | CSharp7.cs:258:35:258:50 | After $"..." | semmle.label | successor | +| CSharp7.cs:258:35:258:50 | After $"..." | CSharp7.cs:258:17:258:51 | call to method WriteLine | semmle.label | successor | +| CSharp7.cs:258:35:258:50 | Before $"..." | CSharp7.cs:258:37:258:45 | "positive " | semmle.label | successor | +| CSharp7.cs:258:37:258:45 | "positive " | CSharp7.cs:258:46:258:49 | Before {...} | semmle.label | successor | +| CSharp7.cs:258:46:258:49 | After {...} | CSharp7.cs:258:35:258:50 | $"..." | semmle.label | successor | +| CSharp7.cs:258:46:258:49 | Before {...} | CSharp7.cs:258:47:258:48 | access to local variable i2 | semmle.label | successor | +| CSharp7.cs:258:46:258:49 | {...} | CSharp7.cs:258:46:258:49 | After {...} | semmle.label | successor | | CSharp7.cs:258:47:258:48 | access to local variable i2 | CSharp7.cs:258:46:258:49 | {...} | semmle.label | successor | -| CSharp7.cs:259:17:259:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:260:13:260:24 | case ...: | CSharp7.cs:260:18:260:23 | Int32 i3 | semmle.label | successor | -| CSharp7.cs:260:18:260:23 | Int32 i3 | CSharp7.cs:261:17:261:47 | ...; | semmle.label | match | -| CSharp7.cs:260:18:260:23 | Int32 i3 | CSharp7.cs:263:13:263:27 | case ...: | semmle.label | no-match | -| CSharp7.cs:261:17:261:46 | call to method WriteLine | CSharp7.cs:262:17:262:22 | break; | semmle.label | successor | -| CSharp7.cs:261:17:261:47 | ...; | CSharp7.cs:261:37:261:40 | "int " | semmle.label | successor | -| CSharp7.cs:261:35:261:45 | $"..." | CSharp7.cs:261:17:261:46 | call to method WriteLine | semmle.label | successor | -| CSharp7.cs:261:37:261:40 | "int " | CSharp7.cs:261:42:261:43 | access to local variable i3 | semmle.label | successor | -| CSharp7.cs:261:41:261:44 | {...} | CSharp7.cs:261:35:261:45 | $"..." | semmle.label | successor | +| CSharp7.cs:259:17:259:22 | Before break; | CSharp7.cs:259:17:259:22 | break; | semmle.label | successor | +| CSharp7.cs:259:17:259:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:260:13:260:24 | After case ...: [match] | CSharp7.cs:260:18:260:23 | Int32 i3 | semmle.label | successor | +| CSharp7.cs:260:13:260:24 | After case ...: [no-match] | CSharp7.cs:263:13:263:27 | case ...: | semmle.label | successor | +| CSharp7.cs:260:13:260:24 | case ...: | CSharp7.cs:260:13:260:24 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:260:13:260:24 | case ...: | CSharp7.cs:260:13:260:24 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:260:18:260:23 | Int32 i3 | CSharp7.cs:261:17:261:47 | ...; | semmle.label | successor | +| CSharp7.cs:261:17:261:46 | After call to method WriteLine | CSharp7.cs:261:17:261:47 | After ...; | semmle.label | successor | +| CSharp7.cs:261:17:261:46 | Before call to method WriteLine | CSharp7.cs:261:35:261:45 | Before $"..." | semmle.label | successor | +| CSharp7.cs:261:17:261:46 | call to method WriteLine | CSharp7.cs:261:17:261:46 | After call to method WriteLine | semmle.label | successor | +| CSharp7.cs:261:17:261:47 | ...; | CSharp7.cs:261:17:261:46 | Before call to method WriteLine | semmle.label | successor | +| CSharp7.cs:261:17:261:47 | After ...; | CSharp7.cs:262:17:262:22 | Before break; | semmle.label | successor | +| CSharp7.cs:261:35:261:45 | $"..." | CSharp7.cs:261:35:261:45 | After $"..." | semmle.label | successor | +| CSharp7.cs:261:35:261:45 | After $"..." | CSharp7.cs:261:17:261:46 | call to method WriteLine | semmle.label | successor | +| CSharp7.cs:261:35:261:45 | Before $"..." | CSharp7.cs:261:37:261:40 | "int " | semmle.label | successor | +| CSharp7.cs:261:37:261:40 | "int " | CSharp7.cs:261:41:261:44 | Before {...} | semmle.label | successor | +| CSharp7.cs:261:41:261:44 | After {...} | CSharp7.cs:261:35:261:45 | $"..." | semmle.label | successor | +| CSharp7.cs:261:41:261:44 | Before {...} | CSharp7.cs:261:42:261:43 | access to local variable i3 | semmle.label | successor | +| CSharp7.cs:261:41:261:44 | {...} | CSharp7.cs:261:41:261:44 | After {...} | semmle.label | successor | | CSharp7.cs:261:42:261:43 | access to local variable i3 | CSharp7.cs:261:41:261:44 | {...} | semmle.label | successor | -| CSharp7.cs:262:17:262:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:263:13:263:27 | case ...: | CSharp7.cs:263:18:263:26 | String s2 | semmle.label | successor | -| CSharp7.cs:263:18:263:26 | String s2 | CSharp7.cs:264:17:264:50 | ...; | semmle.label | match | -| CSharp7.cs:263:18:263:26 | String s2 | CSharp7.cs:266:13:266:26 | case ...: | semmle.label | no-match | -| CSharp7.cs:264:17:264:49 | call to method WriteLine | CSharp7.cs:265:17:265:22 | break; | semmle.label | successor | -| CSharp7.cs:264:17:264:50 | ...; | CSharp7.cs:264:37:264:43 | "string " | semmle.label | successor | -| CSharp7.cs:264:35:264:48 | $"..." | CSharp7.cs:264:17:264:49 | call to method WriteLine | semmle.label | successor | -| CSharp7.cs:264:37:264:43 | "string " | CSharp7.cs:264:45:264:46 | access to local variable s2 | semmle.label | successor | -| CSharp7.cs:264:44:264:47 | {...} | CSharp7.cs:264:35:264:48 | $"..." | semmle.label | successor | +| CSharp7.cs:262:17:262:22 | Before break; | CSharp7.cs:262:17:262:22 | break; | semmle.label | successor | +| CSharp7.cs:262:17:262:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:263:13:263:27 | After case ...: [match] | CSharp7.cs:263:18:263:26 | String s2 | semmle.label | successor | +| CSharp7.cs:263:13:263:27 | After case ...: [no-match] | CSharp7.cs:266:13:266:26 | case ...: | semmle.label | successor | +| CSharp7.cs:263:13:263:27 | case ...: | CSharp7.cs:263:13:263:27 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:263:13:263:27 | case ...: | CSharp7.cs:263:13:263:27 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:263:18:263:26 | String s2 | CSharp7.cs:264:17:264:50 | ...; | semmle.label | successor | +| CSharp7.cs:264:17:264:49 | After call to method WriteLine | CSharp7.cs:264:17:264:50 | After ...; | semmle.label | successor | +| CSharp7.cs:264:17:264:49 | Before call to method WriteLine | CSharp7.cs:264:35:264:48 | Before $"..." | semmle.label | successor | +| CSharp7.cs:264:17:264:49 | call to method WriteLine | CSharp7.cs:264:17:264:49 | After call to method WriteLine | semmle.label | successor | +| CSharp7.cs:264:17:264:50 | ...; | CSharp7.cs:264:17:264:49 | Before call to method WriteLine | semmle.label | successor | +| CSharp7.cs:264:17:264:50 | After ...; | CSharp7.cs:265:17:265:22 | Before break; | semmle.label | successor | +| CSharp7.cs:264:35:264:48 | $"..." | CSharp7.cs:264:35:264:48 | After $"..." | semmle.label | successor | +| CSharp7.cs:264:35:264:48 | After $"..." | CSharp7.cs:264:17:264:49 | call to method WriteLine | semmle.label | successor | +| CSharp7.cs:264:35:264:48 | Before $"..." | CSharp7.cs:264:37:264:43 | "string " | semmle.label | successor | +| CSharp7.cs:264:37:264:43 | "string " | CSharp7.cs:264:44:264:47 | Before {...} | semmle.label | successor | +| CSharp7.cs:264:44:264:47 | After {...} | CSharp7.cs:264:35:264:48 | $"..." | semmle.label | successor | +| CSharp7.cs:264:44:264:47 | Before {...} | CSharp7.cs:264:45:264:46 | access to local variable s2 | semmle.label | successor | +| CSharp7.cs:264:44:264:47 | {...} | CSharp7.cs:264:44:264:47 | After {...} | semmle.label | successor | | CSharp7.cs:264:45:264:46 | access to local variable s2 | CSharp7.cs:264:44:264:47 | {...} | semmle.label | successor | -| CSharp7.cs:265:17:265:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:266:13:266:26 | case ...: | CSharp7.cs:266:18:266:23 | access to type Double | semmle.label | successor | -| CSharp7.cs:266:18:266:23 | access to type Double | CSharp7.cs:267:17:267:44 | ...; | semmle.label | match | -| CSharp7.cs:266:18:266:23 | access to type Double | CSharp7.cs:269:13:269:24 | case ...: | semmle.label | no-match | -| CSharp7.cs:267:17:267:43 | call to method WriteLine | CSharp7.cs:268:17:268:22 | break; | semmle.label | successor | -| CSharp7.cs:267:17:267:44 | ...; | CSharp7.cs:267:35:267:42 | "Double" | semmle.label | successor | +| CSharp7.cs:265:17:265:22 | Before break; | CSharp7.cs:265:17:265:22 | break; | semmle.label | successor | +| CSharp7.cs:265:17:265:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:266:13:266:26 | After case ...: [match] | CSharp7.cs:266:18:266:23 | access to type Double | semmle.label | successor | +| CSharp7.cs:266:13:266:26 | After case ...: [no-match] | CSharp7.cs:269:13:269:24 | case ...: | semmle.label | successor | +| CSharp7.cs:266:13:266:26 | case ...: | CSharp7.cs:266:13:266:26 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:266:13:266:26 | case ...: | CSharp7.cs:266:13:266:26 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:266:18:266:23 | access to type Double | CSharp7.cs:267:17:267:44 | ...; | semmle.label | successor | +| CSharp7.cs:267:17:267:43 | After call to method WriteLine | CSharp7.cs:267:17:267:44 | After ...; | semmle.label | successor | +| CSharp7.cs:267:17:267:43 | Before call to method WriteLine | CSharp7.cs:267:35:267:42 | "Double" | semmle.label | successor | +| CSharp7.cs:267:17:267:43 | call to method WriteLine | CSharp7.cs:267:17:267:43 | After call to method WriteLine | semmle.label | successor | +| CSharp7.cs:267:17:267:44 | ...; | CSharp7.cs:267:17:267:43 | Before call to method WriteLine | semmle.label | successor | +| CSharp7.cs:267:17:267:44 | After ...; | CSharp7.cs:268:17:268:22 | Before break; | semmle.label | successor | | CSharp7.cs:267:35:267:42 | "Double" | CSharp7.cs:267:17:267:43 | call to method WriteLine | semmle.label | successor | -| CSharp7.cs:268:17:268:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:269:13:269:24 | case ...: | CSharp7.cs:269:18:269:23 | Object v2 | semmle.label | successor | -| CSharp7.cs:269:18:269:23 | Object v2 | CSharp7.cs:270:17:270:22 | break; | semmle.label | match | -| CSharp7.cs:269:18:269:23 | Object v2 | CSharp7.cs:271:13:271:20 | default: | semmle.label | no-match | -| CSharp7.cs:270:17:270:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | -| CSharp7.cs:271:13:271:20 | default: | CSharp7.cs:272:17:272:52 | ...; | semmle.label | successor | -| CSharp7.cs:272:17:272:51 | call to method WriteLine | CSharp7.cs:273:17:273:22 | break; | semmle.label | successor | -| CSharp7.cs:272:17:272:52 | ...; | CSharp7.cs:272:35:272:50 | "Something else" | semmle.label | successor | +| CSharp7.cs:268:17:268:22 | Before break; | CSharp7.cs:268:17:268:22 | break; | semmle.label | successor | +| CSharp7.cs:268:17:268:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:269:13:269:24 | After case ...: [match] | CSharp7.cs:269:18:269:23 | Object v2 | semmle.label | successor | +| CSharp7.cs:269:13:269:24 | After case ...: [no-match] | CSharp7.cs:271:13:271:20 | default: | semmle.label | successor | +| CSharp7.cs:269:13:269:24 | case ...: | CSharp7.cs:269:13:269:24 | After case ...: [match] | semmle.label | match | +| CSharp7.cs:269:13:269:24 | case ...: | CSharp7.cs:269:13:269:24 | After case ...: [no-match] | semmle.label | no-match | +| CSharp7.cs:269:18:269:23 | Object v2 | CSharp7.cs:270:17:270:22 | Before break; | semmle.label | successor | +| CSharp7.cs:270:17:270:22 | Before break; | CSharp7.cs:270:17:270:22 | break; | semmle.label | successor | +| CSharp7.cs:270:17:270:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | +| CSharp7.cs:271:13:271:20 | After default: [match] | CSharp7.cs:272:17:272:52 | ...; | semmle.label | successor | +| CSharp7.cs:271:13:271:20 | default: | CSharp7.cs:271:13:271:20 | After default: [match] | semmle.label | match | +| CSharp7.cs:272:17:272:51 | After call to method WriteLine | CSharp7.cs:272:17:272:52 | After ...; | semmle.label | successor | +| CSharp7.cs:272:17:272:51 | Before call to method WriteLine | CSharp7.cs:272:35:272:50 | "Something else" | semmle.label | successor | +| CSharp7.cs:272:17:272:51 | call to method WriteLine | CSharp7.cs:272:17:272:51 | After call to method WriteLine | semmle.label | successor | +| CSharp7.cs:272:17:272:52 | ...; | CSharp7.cs:272:17:272:51 | Before call to method WriteLine | semmle.label | successor | +| CSharp7.cs:272:17:272:52 | After ...; | CSharp7.cs:273:17:273:22 | Before break; | semmle.label | successor | | CSharp7.cs:272:35:272:50 | "Something else" | CSharp7.cs:272:17:272:51 | call to method WriteLine | semmle.label | successor | -| CSharp7.cs:273:17:273:22 | break; | CSharp7.cs:230:10:230:13 | exit Test (normal) | semmle.label | break | +| CSharp7.cs:273:17:273:22 | Before break; | CSharp7.cs:273:17:273:22 | break; | semmle.label | successor | +| CSharp7.cs:273:17:273:22 | break; | CSharp7.cs:248:9:274:9 | After switch (...) {...} | semmle.label | break | diff --git a/csharp/ql/test/library-tests/csharp7/IsFlow.ql b/csharp/ql/test/library-tests/csharp7/IsFlow.ql index 02b65c0d3e2..0567ea5828f 100644 --- a/csharp/ql/test/library-tests/csharp7/IsFlow.ql +++ b/csharp/ql/test/library-tests/csharp7/IsFlow.ql @@ -1,10 +1,10 @@ import csharp -query predicate edges(ControlFlow::Node n1, ControlFlow::Node n2, string attr, string val) { +query predicate edges(ControlFlowNode n1, ControlFlowNode n2, string attr, string val) { exists(SwitchStmt switch, ControlFlow::SuccessorType t | - switch.getAControlFlowNode().getASuccessor*() = n1 + switch.getControlFlowNode().getASuccessor*() = n1 | - n2 = n1.getASuccessorByType(t) and + n2 = n1.getASuccessor(t) and attr = "semmle.label" and val = t.toString() ) diff --git a/csharp/ql/test/library-tests/csharp7/LocalTaintFlow.expected b/csharp/ql/test/library-tests/csharp7/LocalTaintFlow.expected index 90ef19f62fe..61693ac518e 100644 --- a/csharp/ql/test/library-tests/csharp7/LocalTaintFlow.expected +++ b/csharp/ql/test/library-tests/csharp7/LocalTaintFlow.expected @@ -251,39 +251,32 @@ | CSharp7.cs:232:16:232:23 | SSA def(o) | CSharp7.cs:233:13:233:13 | access to local variable o | | CSharp7.cs:232:20:232:23 | null | CSharp7.cs:232:16:232:16 | access to local variable o | | CSharp7.cs:233:13:233:13 | access to local variable o | CSharp7.cs:233:18:233:23 | Int32 i1 | -| CSharp7.cs:233:13:233:13 | access to local variable o | CSharp7.cs:235:13:235:42 | [input] SSA phi read(o) | +| CSharp7.cs:233:13:233:13 | access to local variable o | CSharp7.cs:234:9:236:9 | [input] SSA phi read(o) | | CSharp7.cs:233:13:233:13 | access to local variable o | CSharp7.cs:237:18:237:18 | access to local variable o | -| CSharp7.cs:233:13:233:23 | [false] ... is ... | CSharp7.cs:233:13:233:33 | [false] ... && ... | -| CSharp7.cs:233:13:233:23 | [false] ... is ... | CSharp7.cs:233:13:233:33 | [true] ... && ... | -| CSharp7.cs:233:13:233:23 | [true] ... is ... | CSharp7.cs:233:13:233:33 | [false] ... && ... | -| CSharp7.cs:233:13:233:23 | [true] ... is ... | CSharp7.cs:233:13:233:33 | [true] ... && ... | +| CSharp7.cs:233:13:233:23 | ... is ... | CSharp7.cs:233:13:233:33 | ... && ... | | CSharp7.cs:233:18:233:23 | Int32 i1 | CSharp7.cs:233:18:233:23 | SSA def(i1) | | CSharp7.cs:233:18:233:23 | SSA def(i1) | CSharp7.cs:233:28:233:29 | access to local variable i1 | | CSharp7.cs:233:28:233:29 | access to local variable i1 | CSharp7.cs:233:28:233:33 | ... > ... | | CSharp7.cs:233:28:233:29 | access to local variable i1 | CSharp7.cs:235:38:235:39 | access to local variable i1 | -| CSharp7.cs:233:28:233:33 | ... > ... | CSharp7.cs:233:13:233:33 | [false] ... && ... | -| CSharp7.cs:233:28:233:33 | ... > ... | CSharp7.cs:233:13:233:33 | [true] ... && ... | -| CSharp7.cs:235:13:235:42 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | +| CSharp7.cs:233:28:233:33 | ... > ... | CSharp7.cs:233:13:233:33 | ... && ... | +| CSharp7.cs:234:9:236:9 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | | CSharp7.cs:235:33:235:36 | "int " | CSharp7.cs:235:31:235:41 | $"..." | | CSharp7.cs:235:37:235:40 | {...} | CSharp7.cs:235:31:235:41 | $"..." | | CSharp7.cs:235:38:235:39 | access to local variable i1 | CSharp7.cs:235:37:235:40 | {...} | | CSharp7.cs:237:18:237:18 | access to local variable o | CSharp7.cs:237:23:237:31 | String s1 | -| CSharp7.cs:237:18:237:18 | access to local variable o | CSharp7.cs:239:13:239:45 | [input] SSA phi read(o) | +| CSharp7.cs:237:18:237:18 | access to local variable o | CSharp7.cs:238:9:240:9 | [input] SSA phi read(o) | | CSharp7.cs:237:18:237:18 | access to local variable o | CSharp7.cs:241:18:241:18 | access to local variable o | | CSharp7.cs:237:23:237:31 | SSA def(s1) | CSharp7.cs:239:41:239:42 | access to local variable s1 | | CSharp7.cs:237:23:237:31 | String s1 | CSharp7.cs:237:23:237:31 | SSA def(s1) | -| CSharp7.cs:239:13:239:45 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | +| CSharp7.cs:238:9:240:9 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | | CSharp7.cs:239:33:239:39 | "string " | CSharp7.cs:239:31:239:44 | $"..." | | CSharp7.cs:239:40:239:43 | {...} | CSharp7.cs:239:31:239:44 | $"..." | | CSharp7.cs:239:41:239:42 | access to local variable s1 | CSharp7.cs:239:40:239:43 | {...} | | CSharp7.cs:241:18:241:18 | access to local variable o | CSharp7.cs:242:9:243:9 | [input] SSA phi read(o) | | CSharp7.cs:241:18:241:18 | access to local variable o | CSharp7.cs:244:18:244:18 | access to local variable o | | CSharp7.cs:242:9:243:9 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | -| CSharp7.cs:244:18:244:18 | access to local variable o | CSharp7.cs:244:18:244:28 | [input] SSA phi read(o) | | CSharp7.cs:244:18:244:18 | access to local variable o | CSharp7.cs:244:23:244:28 | Object v1 | -| CSharp7.cs:244:18:244:18 | access to local variable o | CSharp7.cs:245:9:246:9 | [input] SSA phi read(o) | -| CSharp7.cs:244:18:244:28 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | -| CSharp7.cs:245:9:246:9 | [input] SSA phi read(o) | CSharp7.cs:248:17:248:17 | access to local variable o | +| CSharp7.cs:244:18:244:18 | access to local variable o | CSharp7.cs:248:17:248:17 | access to local variable o | | CSharp7.cs:248:17:248:17 | access to local variable o | CSharp7.cs:254:27:254:27 | access to local variable o | | CSharp7.cs:248:17:248:17 | access to local variable o | CSharp7.cs:257:18:257:23 | Int32 i2 | | CSharp7.cs:248:17:248:17 | access to local variable o | CSharp7.cs:260:18:260:23 | Int32 i3 | @@ -335,14 +328,10 @@ | CSharp7.cs:297:22:297:22 | 0 | CSharp7.cs:297:18:297:18 | access to local variable x | | CSharp7.cs:297:25:297:25 | access to local variable x | CSharp7.cs:297:25:297:30 | ... < ... | | CSharp7.cs:297:25:297:25 | access to local variable x | CSharp7.cs:297:35:297:35 | access to local variable x | -| CSharp7.cs:297:25:297:30 | ... < ... | CSharp7.cs:297:25:297:44 | [false] ... && ... | -| CSharp7.cs:297:25:297:30 | ... < ... | CSharp7.cs:297:25:297:44 | [true] ... && ... | +| CSharp7.cs:297:25:297:30 | ... < ... | CSharp7.cs:297:25:297:44 | ... && ... | | CSharp7.cs:297:35:297:35 | access to local variable x | CSharp7.cs:297:40:297:44 | Int32 y | | CSharp7.cs:297:35:297:35 | access to local variable x | CSharp7.cs:297:49:297:49 | access to local variable x | -| CSharp7.cs:297:35:297:44 | [false] ... is ... | CSharp7.cs:297:25:297:44 | [false] ... && ... | -| CSharp7.cs:297:35:297:44 | [false] ... is ... | CSharp7.cs:297:25:297:44 | [true] ... && ... | -| CSharp7.cs:297:35:297:44 | [true] ... is ... | CSharp7.cs:297:25:297:44 | [false] ... && ... | -| CSharp7.cs:297:35:297:44 | [true] ... is ... | CSharp7.cs:297:25:297:44 | [true] ... && ... | +| CSharp7.cs:297:35:297:44 | ... is ... | CSharp7.cs:297:25:297:44 | ... && ... | | CSharp7.cs:297:40:297:44 | Int32 y | CSharp7.cs:297:40:297:44 | SSA def(y) | | CSharp7.cs:297:40:297:44 | SSA def(y) | CSharp7.cs:299:31:299:31 | access to local variable y | | CSharp7.cs:297:47:297:49 | SSA def(x) | CSharp7.cs:297:25:297:25 | access to local variable x | diff --git a/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.expected b/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.expected index b8d360d1608..fb61262d6f2 100644 --- a/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.expected +++ b/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.expected @@ -1,11 +1,21 @@ -| NullCoalescingAssignment.cs:5:10:5:23 | enter NullCoalescing | NullCoalescingAssignment.cs:6:5:9:5 | {...} | semmle.label | successor | -| NullCoalescingAssignment.cs:5:10:5:23 | exit NullCoalescing (normal) | NullCoalescingAssignment.cs:5:10:5:23 | exit NullCoalescing | semmle.label | successor | +| NullCoalescingAssignment.cs:5:10:5:23 | Entry | NullCoalescingAssignment.cs:6:5:9:5 | {...} | semmle.label | successor | +| NullCoalescingAssignment.cs:5:10:5:23 | Normal Exit | NullCoalescingAssignment.cs:5:10:5:23 | Exit | semmle.label | successor | +| NullCoalescingAssignment.cs:6:5:9:5 | After {...} | NullCoalescingAssignment.cs:5:10:5:23 | Normal Exit | semmle.label | successor | | NullCoalescingAssignment.cs:6:5:9:5 | {...} | NullCoalescingAssignment.cs:7:9:7:24 | ... ...; | semmle.label | successor | -| NullCoalescingAssignment.cs:7:9:7:24 | ... ...; | NullCoalescingAssignment.cs:7:20:7:23 | null | semmle.label | successor | -| NullCoalescingAssignment.cs:7:16:7:23 | Object o = ... | NullCoalescingAssignment.cs:8:9:8:19 | ...; | semmle.label | successor | +| NullCoalescingAssignment.cs:7:9:7:24 | ... ...; | NullCoalescingAssignment.cs:7:16:7:23 | Before Object o = ... | semmle.label | successor | +| NullCoalescingAssignment.cs:7:9:7:24 | After ... ...; | NullCoalescingAssignment.cs:8:9:8:19 | ...; | semmle.label | successor | +| NullCoalescingAssignment.cs:7:16:7:16 | access to local variable o | NullCoalescingAssignment.cs:7:20:7:23 | null | semmle.label | successor | +| NullCoalescingAssignment.cs:7:16:7:23 | After Object o = ... | NullCoalescingAssignment.cs:7:9:7:24 | After ... ...; | semmle.label | successor | +| NullCoalescingAssignment.cs:7:16:7:23 | Before Object o = ... | NullCoalescingAssignment.cs:7:16:7:16 | access to local variable o | semmle.label | successor | +| NullCoalescingAssignment.cs:7:16:7:23 | Object o = ... | NullCoalescingAssignment.cs:7:16:7:23 | After Object o = ... | semmle.label | successor | | NullCoalescingAssignment.cs:7:20:7:23 | null | NullCoalescingAssignment.cs:7:16:7:23 | Object o = ... | semmle.label | successor | -| NullCoalescingAssignment.cs:8:9:8:9 | access to local variable o | NullCoalescingAssignment.cs:8:9:8:18 | ... ??= ... | semmle.label | non-null | -| NullCoalescingAssignment.cs:8:9:8:9 | access to local variable o | NullCoalescingAssignment.cs:8:15:8:18 | this access | semmle.label | null | -| NullCoalescingAssignment.cs:8:9:8:18 | ... ??= ... | NullCoalescingAssignment.cs:5:10:5:23 | exit NullCoalescing (normal) | semmle.label | successor | -| NullCoalescingAssignment.cs:8:9:8:19 | ...; | NullCoalescingAssignment.cs:8:9:8:9 | access to local variable o | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:9 | After access to local variable o [non-null] | NullCoalescingAssignment.cs:8:9:8:18 | After ... ??= ... | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:9 | After access to local variable o [null] | NullCoalescingAssignment.cs:8:15:8:18 | this access | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:9 | access to local variable o | NullCoalescingAssignment.cs:8:9:8:9 | After access to local variable o [non-null] | semmle.label | non-null | +| NullCoalescingAssignment.cs:8:9:8:9 | access to local variable o | NullCoalescingAssignment.cs:8:9:8:9 | After access to local variable o [null] | semmle.label | null | +| NullCoalescingAssignment.cs:8:9:8:18 | ... ??= ... | NullCoalescingAssignment.cs:8:9:8:18 | After ... ??= ... | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:18 | After ... ??= ... | NullCoalescingAssignment.cs:8:9:8:19 | After ...; | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:18 | Before ... ??= ... | NullCoalescingAssignment.cs:8:9:8:9 | access to local variable o | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:19 | ...; | NullCoalescingAssignment.cs:8:9:8:18 | Before ... ??= ... | semmle.label | successor | +| NullCoalescingAssignment.cs:8:9:8:19 | After ...; | NullCoalescingAssignment.cs:6:5:9:5 | After {...} | semmle.label | successor | | NullCoalescingAssignment.cs:8:15:8:18 | this access | NullCoalescingAssignment.cs:8:9:8:18 | ... ??= ... | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.ql b/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.ql index 1037ad32169..65d471b49eb 100644 --- a/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.ql +++ b/csharp/ql/test/library-tests/csharp8/NullCoalescingControlFlow.ql @@ -1,9 +1,7 @@ import csharp -query predicate edges(ControlFlow::Node node1, ControlFlow::Node node2, string label, string value) { +query predicate edges(ControlFlowNode node1, ControlFlowNode node2, string label, string value) { label = "semmle.label" and - exists(ControlFlow::SuccessorType t | - node2 = node1.getASuccessorByType(t) and value = t.toString() - ) and + exists(ControlFlow::SuccessorType t | node2 = node1.getASuccessor(t) and value = t.toString()) and node1.getEnclosingCallable().hasName("NullCoalescing") } diff --git a/csharp/ql/test/library-tests/csharp8/NullableRefTypes.expected b/csharp/ql/test/library-tests/csharp8/NullableRefTypes.expected index fb2ca2f1759..6ab83277fcf 100644 --- a/csharp/ql/test/library-tests/csharp8/NullableRefTypes.expected +++ b/csharp/ql/test/library-tests/csharp8/NullableRefTypes.expected @@ -19,27 +19,54 @@ nullableDataFlow | NullableRefTypes.cs:88:13:88:13 | access to local variable x | NullableRefTypes.cs:88:13:88:14 | ...! | | NullableRefTypes.cs:88:13:88:14 | ...! | NullableRefTypes.cs:88:9:88:9 | access to local variable y | nullableControlFlow -| NullableRefTypes.cs:82:10:82:40 | enter TestSuppressNullableWarningExpr | NullableRefTypes.cs:83:5:89:5 | {...} | successor | -| NullableRefTypes.cs:82:10:82:40 | exit TestSuppressNullableWarningExpr (normal) | NullableRefTypes.cs:82:10:82:40 | exit TestSuppressNullableWarningExpr | successor | +| NullableRefTypes.cs:82:10:82:40 | Entry | NullableRefTypes.cs:83:5:89:5 | {...} | successor | +| NullableRefTypes.cs:82:10:82:40 | Normal Exit | NullableRefTypes.cs:82:10:82:40 | Exit | successor | +| NullableRefTypes.cs:83:5:89:5 | After {...} | NullableRefTypes.cs:82:10:82:40 | Normal Exit | successor | | NullableRefTypes.cs:83:5:89:5 | {...} | NullableRefTypes.cs:84:9:84:29 | ... ...; | successor | -| NullableRefTypes.cs:84:9:84:29 | ... ...; | NullableRefTypes.cs:84:21:84:28 | "source" | successor | -| NullableRefTypes.cs:84:17:84:28 | String x = ... | NullableRefTypes.cs:85:9:85:22 | ... ...; | successor | +| NullableRefTypes.cs:84:9:84:29 | ... ...; | NullableRefTypes.cs:84:17:84:28 | Before String x = ... | successor | +| NullableRefTypes.cs:84:9:84:29 | After ... ...; | NullableRefTypes.cs:85:9:85:22 | ... ...; | successor | +| NullableRefTypes.cs:84:17:84:17 | access to local variable x | NullableRefTypes.cs:84:21:84:28 | "source" | successor | +| NullableRefTypes.cs:84:17:84:28 | After String x = ... | NullableRefTypes.cs:84:9:84:29 | After ... ...; | successor | +| NullableRefTypes.cs:84:17:84:28 | Before String x = ... | NullableRefTypes.cs:84:17:84:17 | access to local variable x | successor | +| NullableRefTypes.cs:84:17:84:28 | String x = ... | NullableRefTypes.cs:84:17:84:28 | After String x = ... | successor | | NullableRefTypes.cs:84:21:84:28 | "source" | NullableRefTypes.cs:84:17:84:28 | String x = ... | successor | -| NullableRefTypes.cs:85:9:85:22 | ... ...; | NullableRefTypes.cs:85:20:85:20 | access to local variable x | successor | -| NullableRefTypes.cs:85:16:85:21 | String y = ... | NullableRefTypes.cs:86:9:86:15 | ...; | successor | +| NullableRefTypes.cs:85:9:85:22 | ... ...; | NullableRefTypes.cs:85:16:85:21 | Before String y = ... | successor | +| NullableRefTypes.cs:85:9:85:22 | After ... ...; | NullableRefTypes.cs:86:9:86:15 | ...; | successor | +| NullableRefTypes.cs:85:16:85:16 | access to local variable y | NullableRefTypes.cs:85:20:85:21 | Before ...! | successor | +| NullableRefTypes.cs:85:16:85:21 | After String y = ... | NullableRefTypes.cs:85:9:85:22 | After ... ...; | successor | +| NullableRefTypes.cs:85:16:85:21 | Before String y = ... | NullableRefTypes.cs:85:16:85:16 | access to local variable y | successor | +| NullableRefTypes.cs:85:16:85:21 | String y = ... | NullableRefTypes.cs:85:16:85:21 | After String y = ... | successor | | NullableRefTypes.cs:85:20:85:20 | access to local variable x | NullableRefTypes.cs:85:20:85:21 | ...! | successor | -| NullableRefTypes.cs:85:20:85:21 | ...! | NullableRefTypes.cs:85:16:85:21 | String y = ... | successor | -| NullableRefTypes.cs:86:9:86:14 | ... = ... | NullableRefTypes.cs:87:9:87:17 | ...; | successor | -| NullableRefTypes.cs:86:9:86:15 | ...; | NullableRefTypes.cs:86:13:86:13 | access to local variable x | successor | +| NullableRefTypes.cs:85:20:85:21 | ...! | NullableRefTypes.cs:85:20:85:21 | After ...! | successor | +| NullableRefTypes.cs:85:20:85:21 | After ...! | NullableRefTypes.cs:85:16:85:21 | String y = ... | successor | +| NullableRefTypes.cs:85:20:85:21 | Before ...! | NullableRefTypes.cs:85:20:85:20 | access to local variable x | successor | +| NullableRefTypes.cs:86:9:86:9 | access to local variable y | NullableRefTypes.cs:86:13:86:14 | Before ...! | successor | +| NullableRefTypes.cs:86:9:86:14 | ... = ... | NullableRefTypes.cs:86:9:86:14 | After ... = ... | successor | +| NullableRefTypes.cs:86:9:86:14 | After ... = ... | NullableRefTypes.cs:86:9:86:15 | After ...; | successor | +| NullableRefTypes.cs:86:9:86:14 | Before ... = ... | NullableRefTypes.cs:86:9:86:9 | access to local variable y | successor | +| NullableRefTypes.cs:86:9:86:15 | ...; | NullableRefTypes.cs:86:9:86:14 | Before ... = ... | successor | +| NullableRefTypes.cs:86:9:86:15 | After ...; | NullableRefTypes.cs:87:9:87:17 | ...; | successor | | NullableRefTypes.cs:86:13:86:13 | access to local variable x | NullableRefTypes.cs:86:13:86:14 | ...! | successor | -| NullableRefTypes.cs:86:13:86:14 | ...! | NullableRefTypes.cs:86:9:86:14 | ... = ... | successor | -| NullableRefTypes.cs:87:9:87:16 | ... = ... | NullableRefTypes.cs:88:9:88:15 | ...; | successor | -| NullableRefTypes.cs:87:9:87:17 | ...; | NullableRefTypes.cs:87:13:87:16 | null | successor | +| NullableRefTypes.cs:86:13:86:14 | ...! | NullableRefTypes.cs:86:13:86:14 | After ...! | successor | +| NullableRefTypes.cs:86:13:86:14 | After ...! | NullableRefTypes.cs:86:9:86:14 | ... = ... | successor | +| NullableRefTypes.cs:86:13:86:14 | Before ...! | NullableRefTypes.cs:86:13:86:13 | access to local variable x | successor | +| NullableRefTypes.cs:87:9:87:9 | access to local variable x | NullableRefTypes.cs:87:13:87:16 | null | successor | +| NullableRefTypes.cs:87:9:87:16 | ... = ... | NullableRefTypes.cs:87:9:87:16 | After ... = ... | successor | +| NullableRefTypes.cs:87:9:87:16 | After ... = ... | NullableRefTypes.cs:87:9:87:17 | After ...; | successor | +| NullableRefTypes.cs:87:9:87:16 | Before ... = ... | NullableRefTypes.cs:87:9:87:9 | access to local variable x | successor | +| NullableRefTypes.cs:87:9:87:17 | ...; | NullableRefTypes.cs:87:9:87:16 | Before ... = ... | successor | +| NullableRefTypes.cs:87:9:87:17 | After ...; | NullableRefTypes.cs:88:9:88:15 | ...; | successor | | NullableRefTypes.cs:87:13:87:16 | null | NullableRefTypes.cs:87:9:87:16 | ... = ... | successor | -| NullableRefTypes.cs:88:9:88:14 | ... = ... | NullableRefTypes.cs:82:10:82:40 | exit TestSuppressNullableWarningExpr (normal) | successor | -| NullableRefTypes.cs:88:9:88:15 | ...; | NullableRefTypes.cs:88:13:88:13 | access to local variable x | successor | +| NullableRefTypes.cs:88:9:88:9 | access to local variable y | NullableRefTypes.cs:88:13:88:14 | Before ...! | successor | +| NullableRefTypes.cs:88:9:88:14 | ... = ... | NullableRefTypes.cs:88:9:88:14 | After ... = ... | successor | +| NullableRefTypes.cs:88:9:88:14 | After ... = ... | NullableRefTypes.cs:88:9:88:15 | After ...; | successor | +| NullableRefTypes.cs:88:9:88:14 | Before ... = ... | NullableRefTypes.cs:88:9:88:9 | access to local variable y | successor | +| NullableRefTypes.cs:88:9:88:15 | ...; | NullableRefTypes.cs:88:9:88:14 | Before ... = ... | successor | +| NullableRefTypes.cs:88:9:88:15 | After ...; | NullableRefTypes.cs:83:5:89:5 | After {...} | successor | | NullableRefTypes.cs:88:13:88:13 | access to local variable x | NullableRefTypes.cs:88:13:88:14 | ...! | successor | -| NullableRefTypes.cs:88:13:88:14 | ...! | NullableRefTypes.cs:88:9:88:14 | ... = ... | successor | +| NullableRefTypes.cs:88:13:88:14 | ...! | NullableRefTypes.cs:88:13:88:14 | After ...! | successor | +| NullableRefTypes.cs:88:13:88:14 | After ...! | NullableRefTypes.cs:88:9:88:14 | ... = ... | successor | +| NullableRefTypes.cs:88:13:88:14 | Before ...! | NullableRefTypes.cs:88:13:88:13 | access to local variable x | successor | nonNullExpressions | NullableRefTypes.cs:84:21:84:28 | "source" | | NullableRefTypes.cs:85:20:85:20 | access to local variable x | diff --git a/csharp/ql/test/library-tests/csharp8/NullableRefTypes.ql b/csharp/ql/test/library-tests/csharp8/NullableRefTypes.ql index f519f9a14e8..0d057d678ee 100644 --- a/csharp/ql/test/library-tests/csharp8/NullableRefTypes.ql +++ b/csharp/ql/test/library-tests/csharp8/NullableRefTypes.ql @@ -11,10 +11,10 @@ query predicate nullableDataFlow(DataFlow::Node src, DataFlow::Node sink) { } query predicate nullableControlFlow( - ControlFlow::Node a, ControlFlow::Node b, ControlFlow::SuccessorType t + ControlFlowNode a, ControlFlowNode b, ControlFlow::SuccessorType t ) { a.getEnclosingCallable().hasName("TestSuppressNullableWarningExpr") and - b = a.getASuccessorByType(t) + b = a.getASuccessor(t) } query predicate nonNullExpressions(NonNullExpr e) { diff --git a/csharp/ql/test/library-tests/csharp8/UsingControlFlow.expected b/csharp/ql/test/library-tests/csharp8/UsingControlFlow.expected index 465d64ab9c2..faa37734364 100644 --- a/csharp/ql/test/library-tests/csharp8/UsingControlFlow.expected +++ b/csharp/ql/test/library-tests/csharp8/UsingControlFlow.expected @@ -1,27 +1,53 @@ -| UsingDeclarations.cs:6:10:6:30 | enter TestUsingDeclarations | UsingDeclarations.cs:7:5:16:5 | {...} | semmle.label | successor | -| UsingDeclarations.cs:6:10:6:30 | exit TestUsingDeclarations (normal) | UsingDeclarations.cs:6:10:6:30 | exit TestUsingDeclarations | semmle.label | successor | +| UsingDeclarations.cs:6:10:6:30 | Entry | UsingDeclarations.cs:7:5:16:5 | {...} | semmle.label | successor | +| UsingDeclarations.cs:6:10:6:30 | Normal Exit | UsingDeclarations.cs:6:10:6:30 | Exit | semmle.label | successor | +| UsingDeclarations.cs:7:5:16:5 | After {...} | UsingDeclarations.cs:6:10:6:30 | Normal Exit | semmle.label | successor | | UsingDeclarations.cs:7:5:16:5 | {...} | UsingDeclarations.cs:8:9:8:116 | using ... ...; | semmle.label | successor | -| UsingDeclarations.cs:8:9:8:116 | using ... ...; | UsingDeclarations.cs:8:49:8:53 | "..." | semmle.label | successor | -| UsingDeclarations.cs:8:26:8:69 | FileStream file1 = ... | UsingDeclarations.cs:8:95:8:99 | "..." | semmle.label | successor | -| UsingDeclarations.cs:8:34:8:69 | object creation of type FileStream | UsingDeclarations.cs:8:26:8:69 | FileStream file1 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:9:8:116 | After using ... ...; | UsingDeclarations.cs:10:9:12:9 | using (...) {...} | semmle.label | successor | +| UsingDeclarations.cs:8:9:8:116 | using ... ...; | UsingDeclarations.cs:8:26:8:69 | Before FileStream file1 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:26:8:30 | access to local variable file1 | UsingDeclarations.cs:8:34:8:69 | Before object creation of type FileStream | semmle.label | successor | +| UsingDeclarations.cs:8:26:8:69 | After FileStream file1 = ... | UsingDeclarations.cs:8:72:8:115 | Before FileStream file2 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:26:8:69 | Before FileStream file1 = ... | UsingDeclarations.cs:8:26:8:30 | access to local variable file1 | semmle.label | successor | +| UsingDeclarations.cs:8:26:8:69 | FileStream file1 = ... | UsingDeclarations.cs:8:26:8:69 | After FileStream file1 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:34:8:69 | After object creation of type FileStream | UsingDeclarations.cs:8:26:8:69 | FileStream file1 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:34:8:69 | Before object creation of type FileStream | UsingDeclarations.cs:8:49:8:53 | "..." | semmle.label | successor | +| UsingDeclarations.cs:8:34:8:69 | object creation of type FileStream | UsingDeclarations.cs:8:34:8:69 | After object creation of type FileStream | semmle.label | successor | | UsingDeclarations.cs:8:49:8:53 | "..." | UsingDeclarations.cs:8:56:8:68 | access to constant Open | semmle.label | successor | | UsingDeclarations.cs:8:56:8:68 | access to constant Open | UsingDeclarations.cs:8:34:8:69 | object creation of type FileStream | semmle.label | successor | -| UsingDeclarations.cs:8:72:8:115 | FileStream file2 = ... | UsingDeclarations.cs:10:9:12:9 | using (...) {...} | semmle.label | successor | -| UsingDeclarations.cs:8:80:8:115 | object creation of type FileStream | UsingDeclarations.cs:8:72:8:115 | FileStream file2 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:72:8:76 | access to local variable file2 | UsingDeclarations.cs:8:80:8:115 | Before object creation of type FileStream | semmle.label | successor | +| UsingDeclarations.cs:8:72:8:115 | After FileStream file2 = ... | UsingDeclarations.cs:8:9:8:116 | After using ... ...; | semmle.label | successor | +| UsingDeclarations.cs:8:72:8:115 | Before FileStream file2 = ... | UsingDeclarations.cs:8:72:8:76 | access to local variable file2 | semmle.label | successor | +| UsingDeclarations.cs:8:72:8:115 | FileStream file2 = ... | UsingDeclarations.cs:8:72:8:115 | After FileStream file2 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:80:8:115 | After object creation of type FileStream | UsingDeclarations.cs:8:72:8:115 | FileStream file2 = ... | semmle.label | successor | +| UsingDeclarations.cs:8:80:8:115 | Before object creation of type FileStream | UsingDeclarations.cs:8:95:8:99 | "..." | semmle.label | successor | +| UsingDeclarations.cs:8:80:8:115 | object creation of type FileStream | UsingDeclarations.cs:8:80:8:115 | After object creation of type FileStream | semmle.label | successor | | UsingDeclarations.cs:8:95:8:99 | "..." | UsingDeclarations.cs:8:102:8:114 | access to constant Open | semmle.label | successor | | UsingDeclarations.cs:8:102:8:114 | access to constant Open | UsingDeclarations.cs:8:80:8:115 | object creation of type FileStream | semmle.label | successor | -| UsingDeclarations.cs:10:9:12:9 | using (...) {...} | UsingDeclarations.cs:10:49:10:53 | "..." | semmle.label | successor | -| UsingDeclarations.cs:10:26:10:69 | FileStream file3 = ... | UsingDeclarations.cs:10:95:10:99 | "..." | semmle.label | successor | -| UsingDeclarations.cs:10:34:10:69 | object creation of type FileStream | UsingDeclarations.cs:10:26:10:69 | FileStream file3 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:9:12:9 | After using (...) {...} | UsingDeclarations.cs:14:9:15:13 | using (...) {...} | semmle.label | successor | +| UsingDeclarations.cs:10:9:12:9 | using (...) {...} | UsingDeclarations.cs:10:26:10:69 | Before FileStream file3 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:26:10:30 | access to local variable file3 | UsingDeclarations.cs:10:34:10:69 | Before object creation of type FileStream | semmle.label | successor | +| UsingDeclarations.cs:10:26:10:69 | After FileStream file3 = ... | UsingDeclarations.cs:10:72:10:115 | Before FileStream file4 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:26:10:69 | Before FileStream file3 = ... | UsingDeclarations.cs:10:26:10:30 | access to local variable file3 | semmle.label | successor | +| UsingDeclarations.cs:10:26:10:69 | FileStream file3 = ... | UsingDeclarations.cs:10:26:10:69 | After FileStream file3 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:34:10:69 | After object creation of type FileStream | UsingDeclarations.cs:10:26:10:69 | FileStream file3 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:34:10:69 | Before object creation of type FileStream | UsingDeclarations.cs:10:49:10:53 | "..." | semmle.label | successor | +| UsingDeclarations.cs:10:34:10:69 | object creation of type FileStream | UsingDeclarations.cs:10:34:10:69 | After object creation of type FileStream | semmle.label | successor | | UsingDeclarations.cs:10:49:10:53 | "..." | UsingDeclarations.cs:10:56:10:68 | access to constant Open | semmle.label | successor | | UsingDeclarations.cs:10:56:10:68 | access to constant Open | UsingDeclarations.cs:10:34:10:69 | object creation of type FileStream | semmle.label | successor | -| UsingDeclarations.cs:10:72:10:115 | FileStream file4 = ... | UsingDeclarations.cs:11:9:12:9 | {...} | semmle.label | successor | -| UsingDeclarations.cs:10:80:10:115 | object creation of type FileStream | UsingDeclarations.cs:10:72:10:115 | FileStream file4 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:72:10:76 | access to local variable file4 | UsingDeclarations.cs:10:80:10:115 | Before object creation of type FileStream | semmle.label | successor | +| UsingDeclarations.cs:10:72:10:115 | After FileStream file4 = ... | UsingDeclarations.cs:11:9:12:9 | {...} | semmle.label | successor | +| UsingDeclarations.cs:10:72:10:115 | Before FileStream file4 = ... | UsingDeclarations.cs:10:72:10:76 | access to local variable file4 | semmle.label | successor | +| UsingDeclarations.cs:10:72:10:115 | FileStream file4 = ... | UsingDeclarations.cs:10:72:10:115 | After FileStream file4 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:80:10:115 | After object creation of type FileStream | UsingDeclarations.cs:10:72:10:115 | FileStream file4 = ... | semmle.label | successor | +| UsingDeclarations.cs:10:80:10:115 | Before object creation of type FileStream | UsingDeclarations.cs:10:95:10:99 | "..." | semmle.label | successor | +| UsingDeclarations.cs:10:80:10:115 | object creation of type FileStream | UsingDeclarations.cs:10:80:10:115 | After object creation of type FileStream | semmle.label | successor | | UsingDeclarations.cs:10:95:10:99 | "..." | UsingDeclarations.cs:10:102:10:114 | access to constant Open | semmle.label | successor | | UsingDeclarations.cs:10:102:10:114 | access to constant Open | UsingDeclarations.cs:10:80:10:115 | object creation of type FileStream | semmle.label | successor | -| UsingDeclarations.cs:11:9:12:9 | {...} | UsingDeclarations.cs:14:9:15:13 | using (...) {...} | semmle.label | successor | -| UsingDeclarations.cs:14:9:15:13 | using (...) {...} | UsingDeclarations.cs:14:30:14:34 | "..." | semmle.label | successor | -| UsingDeclarations.cs:14:15:14:50 | object creation of type FileStream | UsingDeclarations.cs:15:13:15:13 | ; | semmle.label | successor | +| UsingDeclarations.cs:11:9:12:9 | {...} | UsingDeclarations.cs:10:9:12:9 | After using (...) {...} | semmle.label | successor | +| UsingDeclarations.cs:14:9:15:13 | After using (...) {...} | UsingDeclarations.cs:7:5:16:5 | After {...} | semmle.label | successor | +| UsingDeclarations.cs:14:9:15:13 | using (...) {...} | UsingDeclarations.cs:14:15:14:50 | Before object creation of type FileStream | semmle.label | successor | +| UsingDeclarations.cs:14:15:14:50 | After object creation of type FileStream | UsingDeclarations.cs:15:13:15:13 | ; | semmle.label | successor | +| UsingDeclarations.cs:14:15:14:50 | Before object creation of type FileStream | UsingDeclarations.cs:14:30:14:34 | "..." | semmle.label | successor | +| UsingDeclarations.cs:14:15:14:50 | object creation of type FileStream | UsingDeclarations.cs:14:15:14:50 | After object creation of type FileStream | semmle.label | successor | | UsingDeclarations.cs:14:30:14:34 | "..." | UsingDeclarations.cs:14:37:14:49 | access to constant Open | semmle.label | successor | | UsingDeclarations.cs:14:37:14:49 | access to constant Open | UsingDeclarations.cs:14:15:14:50 | object creation of type FileStream | semmle.label | successor | -| UsingDeclarations.cs:15:13:15:13 | ; | UsingDeclarations.cs:6:10:6:30 | exit TestUsingDeclarations (normal) | semmle.label | successor | +| UsingDeclarations.cs:15:13:15:13 | ; | UsingDeclarations.cs:14:9:15:13 | After using (...) {...} | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/csharp8/UsingControlFlow.ql b/csharp/ql/test/library-tests/csharp8/UsingControlFlow.ql index fe2f90be4a7..927d21e8ec7 100644 --- a/csharp/ql/test/library-tests/csharp8/UsingControlFlow.ql +++ b/csharp/ql/test/library-tests/csharp8/UsingControlFlow.ql @@ -1,9 +1,7 @@ import csharp -query predicate edges(ControlFlow::Node node1, ControlFlow::Node node2, string label, string value) { +query predicate edges(ControlFlowNode node1, ControlFlowNode node2, string label, string value) { label = "semmle.label" and - exists(ControlFlow::SuccessorType t | - node2 = node1.getASuccessorByType(t) and value = t.toString() - ) and + exists(ControlFlow::SuccessorType t | node2 = node1.getASuccessor(t) and value = t.toString()) and node1.getEnclosingCallable().hasName("TestUsingDeclarations") } diff --git a/csharp/ql/test/library-tests/csharp8/ispatternflow.expected b/csharp/ql/test/library-tests/csharp8/ispatternflow.expected index f8d1de5d7e9..b6477940501 100644 --- a/csharp/ql/test/library-tests/csharp8/ispatternflow.expected +++ b/csharp/ql/test/library-tests/csharp8/ispatternflow.expected @@ -1,93 +1,144 @@ -| patterns.cs:5:10:5:19 | enter IsPatterns | patterns.cs:6:5:30:5 | {...} | semmle.label | successor | -| patterns.cs:5:10:5:19 | exit IsPatterns (normal) | patterns.cs:5:10:5:19 | exit IsPatterns | semmle.label | successor | +| patterns.cs:5:10:5:19 | Entry | patterns.cs:6:5:30:5 | {...} | semmle.label | successor | +| patterns.cs:5:10:5:19 | Normal Exit | patterns.cs:5:10:5:19 | Exit | semmle.label | successor | +| patterns.cs:6:5:30:5 | After {...} | patterns.cs:5:10:5:19 | Normal Exit | semmle.label | successor | | patterns.cs:6:5:30:5 | {...} | patterns.cs:7:9:7:42 | ... ...; | semmle.label | successor | -| patterns.cs:7:9:7:42 | ... ...; | patterns.cs:7:20:7:41 | object creation of type MyStruct | semmle.label | successor | -| patterns.cs:7:16:7:41 | Object o = ... | patterns.cs:9:9:11:9 | if (...) ... | semmle.label | successor | -| patterns.cs:7:20:7:41 | (...) ... | patterns.cs:7:16:7:41 | Object o = ... | semmle.label | successor | -| patterns.cs:7:20:7:41 | object creation of type MyStruct | patterns.cs:7:39:7:39 | 2 | semmle.label | successor | -| patterns.cs:7:33:7:41 | { ..., ... } | patterns.cs:7:20:7:41 | (...) ... | semmle.label | successor | -| patterns.cs:7:35:7:35 | access to field X | patterns.cs:7:35:7:39 | ... = ... | semmle.label | successor | -| patterns.cs:7:35:7:39 | ... = ... | patterns.cs:7:33:7:41 | { ..., ... } | semmle.label | successor | -| patterns.cs:7:39:7:39 | 2 | patterns.cs:7:35:7:35 | access to field X | semmle.label | successor | -| patterns.cs:9:9:11:9 | if (...) ... | patterns.cs:9:13:9:13 | access to local variable o | semmle.label | successor | -| patterns.cs:9:13:9:13 | access to local variable o | patterns.cs:9:18:9:29 | MyStruct ms1 | semmle.label | successor | -| patterns.cs:9:13:9:29 | [false] ... is ... | patterns.cs:13:9:15:9 | if (...) ... | semmle.label | false | -| patterns.cs:9:13:9:29 | [true] ... is ... | patterns.cs:10:9:11:9 | {...} | semmle.label | true | -| patterns.cs:9:18:9:29 | MyStruct ms1 | patterns.cs:9:13:9:29 | [false] ... is ... | semmle.label | no-match | -| patterns.cs:9:18:9:29 | MyStruct ms1 | patterns.cs:9:13:9:29 | [true] ... is ... | semmle.label | match | -| patterns.cs:10:9:11:9 | {...} | patterns.cs:13:9:15:9 | if (...) ... | semmle.label | successor | -| patterns.cs:13:9:15:9 | if (...) ... | patterns.cs:13:13:13:13 | access to local variable o | semmle.label | successor | -| patterns.cs:13:13:13:13 | access to local variable o | patterns.cs:13:18:13:40 | MyStruct s | semmle.label | successor | -| patterns.cs:13:13:13:40 | [false] ... is ... | patterns.cs:13:13:13:47 | [false] ... && ... | semmle.label | false | -| patterns.cs:13:13:13:40 | [true] ... is ... | patterns.cs:13:45:13:45 | access to local variable x | semmle.label | true | -| patterns.cs:13:13:13:47 | [false] ... && ... | patterns.cs:13:13:13:56 | [false] ... && ... | semmle.label | false | -| patterns.cs:13:13:13:47 | [true] ... && ... | patterns.cs:13:52:13:52 | access to local variable s | semmle.label | true | -| patterns.cs:13:13:13:56 | [false] ... && ... | patterns.cs:17:9:19:9 | if (...) ... | semmle.label | false | -| patterns.cs:13:13:13:56 | [true] ... && ... | patterns.cs:14:9:15:9 | {...} | semmle.label | true | -| patterns.cs:13:18:13:40 | MyStruct s | patterns.cs:13:18:13:40 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:13:18:13:40 | MyStruct s | patterns.cs:13:32:13:36 | Int32 x | semmle.label | match | -| patterns.cs:13:18:13:40 | [match] { ... } | patterns.cs:13:13:13:40 | [true] ... is ... | semmle.label | match | -| patterns.cs:13:18:13:40 | [no-match] { ... } | patterns.cs:13:13:13:40 | [false] ... is ... | semmle.label | no-match | -| patterns.cs:13:27:13:38 | [match] { ... } | patterns.cs:13:18:13:40 | [match] { ... } | semmle.label | match | -| patterns.cs:13:27:13:38 | [no-match] { ... } | patterns.cs:13:18:13:40 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:13:32:13:36 | Int32 x | patterns.cs:13:27:13:38 | [match] { ... } | semmle.label | match | -| patterns.cs:13:32:13:36 | Int32 x | patterns.cs:13:27:13:38 | [no-match] { ... } | semmle.label | no-match | +| patterns.cs:7:9:7:42 | ... ...; | patterns.cs:7:16:7:41 | Before Object o = ... | semmle.label | successor | +| patterns.cs:7:9:7:42 | After ... ...; | patterns.cs:9:9:11:9 | if (...) ... | semmle.label | successor | +| patterns.cs:7:16:7:16 | access to local variable o | patterns.cs:7:20:7:41 | Before (...) ... | semmle.label | successor | +| patterns.cs:7:16:7:41 | After Object o = ... | patterns.cs:7:9:7:42 | After ... ...; | semmle.label | successor | +| patterns.cs:7:16:7:41 | Before Object o = ... | patterns.cs:7:16:7:16 | access to local variable o | semmle.label | successor | +| patterns.cs:7:16:7:41 | Object o = ... | patterns.cs:7:16:7:41 | After Object o = ... | semmle.label | successor | +| patterns.cs:7:20:7:41 | (...) ... | patterns.cs:7:20:7:41 | After (...) ... | semmle.label | successor | +| patterns.cs:7:20:7:41 | After (...) ... | patterns.cs:7:16:7:41 | Object o = ... | semmle.label | successor | +| patterns.cs:7:20:7:41 | After object creation of type MyStruct | patterns.cs:7:20:7:41 | (...) ... | semmle.label | successor | +| patterns.cs:7:20:7:41 | Before (...) ... | patterns.cs:7:20:7:41 | Before object creation of type MyStruct | semmle.label | successor | +| patterns.cs:7:20:7:41 | Before object creation of type MyStruct | patterns.cs:7:20:7:41 | object creation of type MyStruct | semmle.label | successor | +| patterns.cs:7:20:7:41 | object creation of type MyStruct | patterns.cs:7:33:7:41 | Before { ..., ... } | semmle.label | successor | +| patterns.cs:7:33:7:41 | After { ..., ... } | patterns.cs:7:20:7:41 | After object creation of type MyStruct | semmle.label | successor | +| patterns.cs:7:33:7:41 | Before { ..., ... } | patterns.cs:7:35:7:39 | Before ... = ... | semmle.label | successor | +| patterns.cs:7:33:7:41 | { ..., ... } | patterns.cs:7:33:7:41 | After { ..., ... } | semmle.label | successor | +| patterns.cs:7:35:7:35 | access to field X | patterns.cs:7:39:7:39 | 2 | semmle.label | successor | +| patterns.cs:7:35:7:39 | ... = ... | patterns.cs:7:35:7:39 | After ... = ... | semmle.label | successor | +| patterns.cs:7:35:7:39 | After ... = ... | patterns.cs:7:33:7:41 | { ..., ... } | semmle.label | successor | +| patterns.cs:7:35:7:39 | Before ... = ... | patterns.cs:7:35:7:35 | access to field X | semmle.label | successor | +| patterns.cs:7:39:7:39 | 2 | patterns.cs:7:35:7:39 | ... = ... | semmle.label | successor | +| patterns.cs:9:9:11:9 | After if (...) ... | patterns.cs:13:9:15:9 | if (...) ... | semmle.label | successor | +| patterns.cs:9:9:11:9 | if (...) ... | patterns.cs:9:13:9:29 | Before ... is ... | semmle.label | successor | +| patterns.cs:9:13:9:13 | access to local variable o | patterns.cs:9:13:9:29 | ... is ... | semmle.label | successor | +| patterns.cs:9:13:9:29 | ... is ... | patterns.cs:9:13:9:29 | After ... is ... [false] | semmle.label | false | +| patterns.cs:9:13:9:29 | ... is ... | patterns.cs:9:13:9:29 | [MatchTrue] ... is ... | semmle.label | true | +| patterns.cs:9:13:9:29 | After ... is ... [false] | patterns.cs:9:9:11:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:9:13:9:29 | After ... is ... [true] | patterns.cs:10:9:11:9 | {...} | semmle.label | successor | +| patterns.cs:9:13:9:29 | Before ... is ... | patterns.cs:9:13:9:13 | access to local variable o | semmle.label | successor | +| patterns.cs:9:13:9:29 | [MatchTrue] ... is ... | patterns.cs:9:18:9:29 | MyStruct ms1 | semmle.label | successor | +| patterns.cs:9:18:9:29 | MyStruct ms1 | patterns.cs:9:13:9:29 | After ... is ... [true] | semmle.label | true | +| patterns.cs:10:9:11:9 | {...} | patterns.cs:9:9:11:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:13:9:15:9 | After if (...) ... | patterns.cs:17:9:19:9 | if (...) ... | semmle.label | successor | +| patterns.cs:13:9:15:9 | if (...) ... | patterns.cs:13:13:13:56 | ... && ... | semmle.label | successor | +| patterns.cs:13:13:13:13 | access to local variable o | patterns.cs:13:13:13:40 | ... is ... | semmle.label | successor | +| patterns.cs:13:13:13:40 | ... is ... | patterns.cs:13:13:13:40 | After ... is ... [false] | semmle.label | false | +| patterns.cs:13:13:13:40 | ... is ... | patterns.cs:13:13:13:40 | [MatchTrue] ... is ... | semmle.label | true | +| patterns.cs:13:13:13:40 | After ... is ... [false] | patterns.cs:13:13:13:47 | After ... && ... [false] | semmle.label | false | +| patterns.cs:13:13:13:40 | After ... is ... [true] | patterns.cs:13:45:13:47 | Before ... < ... | semmle.label | successor | +| patterns.cs:13:13:13:40 | Before ... is ... | patterns.cs:13:13:13:13 | access to local variable o | semmle.label | successor | +| patterns.cs:13:13:13:40 | [MatchTrue] ... is ... | patterns.cs:13:18:13:40 | Before { ... } | semmle.label | successor | +| patterns.cs:13:13:13:47 | ... && ... | patterns.cs:13:13:13:40 | Before ... is ... | semmle.label | successor | +| patterns.cs:13:13:13:47 | After ... && ... [false] | patterns.cs:13:13:13:56 | After ... && ... [false] | semmle.label | false | +| patterns.cs:13:13:13:47 | After ... && ... [true] | patterns.cs:13:52:13:56 | Before ... < ... | semmle.label | successor | +| patterns.cs:13:13:13:56 | ... && ... | patterns.cs:13:13:13:47 | ... && ... | semmle.label | successor | +| patterns.cs:13:13:13:56 | After ... && ... [false] | patterns.cs:13:9:15:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:13:13:13:56 | After ... && ... [true] | patterns.cs:14:9:15:9 | {...} | semmle.label | successor | +| patterns.cs:13:18:13:25 | access to type MyStruct | patterns.cs:13:27:13:38 | Before { ... } | semmle.label | successor | +| patterns.cs:13:18:13:40 | After { ... } | patterns.cs:13:13:13:40 | After ... is ... [true] | semmle.label | true | +| patterns.cs:13:18:13:40 | Before { ... } | patterns.cs:13:18:13:40 | MyStruct s | semmle.label | successor | +| patterns.cs:13:18:13:40 | MyStruct s | patterns.cs:13:18:13:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:13:18:13:40 | { ... } | patterns.cs:13:18:13:40 | After { ... } | semmle.label | successor | +| patterns.cs:13:27:13:38 | After { ... } | patterns.cs:13:18:13:40 | { ... } | semmle.label | successor | +| patterns.cs:13:27:13:38 | Before { ... } | patterns.cs:13:32:13:36 | Int32 x | semmle.label | successor | +| patterns.cs:13:27:13:38 | { ... } | patterns.cs:13:27:13:38 | After { ... } | semmle.label | successor | +| patterns.cs:13:32:13:36 | Int32 x | patterns.cs:13:27:13:38 | { ... } | semmle.label | successor | | patterns.cs:13:45:13:45 | access to local variable x | patterns.cs:13:47:13:47 | 4 | semmle.label | successor | -| patterns.cs:13:45:13:47 | ... < ... | patterns.cs:13:13:13:47 | [false] ... && ... | semmle.label | false | -| patterns.cs:13:45:13:47 | ... < ... | patterns.cs:13:13:13:47 | [true] ... && ... | semmle.label | true | +| patterns.cs:13:45:13:47 | ... < ... | patterns.cs:13:45:13:47 | After ... < ... [false] | semmle.label | false | +| patterns.cs:13:45:13:47 | ... < ... | patterns.cs:13:45:13:47 | After ... < ... [true] | semmle.label | true | +| patterns.cs:13:45:13:47 | After ... < ... [false] | patterns.cs:13:13:13:47 | After ... && ... [false] | semmle.label | false | +| patterns.cs:13:45:13:47 | After ... < ... [true] | patterns.cs:13:13:13:47 | After ... && ... [true] | semmle.label | true | +| patterns.cs:13:45:13:47 | Before ... < ... | patterns.cs:13:45:13:45 | access to local variable x | semmle.label | successor | | patterns.cs:13:47:13:47 | 4 | patterns.cs:13:45:13:47 | ... < ... | semmle.label | successor | | patterns.cs:13:52:13:52 | access to local variable s | patterns.cs:13:52:13:54 | access to property Y | semmle.label | successor | -| patterns.cs:13:52:13:54 | access to property Y | patterns.cs:13:56:13:56 | 2 | semmle.label | successor | -| patterns.cs:13:52:13:56 | ... < ... | patterns.cs:13:13:13:56 | [false] ... && ... | semmle.label | false | -| patterns.cs:13:52:13:56 | ... < ... | patterns.cs:13:13:13:56 | [true] ... && ... | semmle.label | true | +| patterns.cs:13:52:13:54 | After access to property Y | patterns.cs:13:56:13:56 | 2 | semmle.label | successor | +| patterns.cs:13:52:13:54 | Before access to property Y | patterns.cs:13:52:13:52 | access to local variable s | semmle.label | successor | +| patterns.cs:13:52:13:54 | access to property Y | patterns.cs:13:52:13:54 | After access to property Y | semmle.label | successor | +| patterns.cs:13:52:13:56 | ... < ... | patterns.cs:13:52:13:56 | After ... < ... [false] | semmle.label | false | +| patterns.cs:13:52:13:56 | ... < ... | patterns.cs:13:52:13:56 | After ... < ... [true] | semmle.label | true | +| patterns.cs:13:52:13:56 | After ... < ... [false] | patterns.cs:13:13:13:56 | After ... && ... [false] | semmle.label | false | +| patterns.cs:13:52:13:56 | After ... < ... [true] | patterns.cs:13:13:13:56 | After ... && ... [true] | semmle.label | true | +| patterns.cs:13:52:13:56 | Before ... < ... | patterns.cs:13:52:13:54 | Before access to property Y | semmle.label | successor | | patterns.cs:13:56:13:56 | 2 | patterns.cs:13:52:13:56 | ... < ... | semmle.label | successor | -| patterns.cs:14:9:15:9 | {...} | patterns.cs:17:9:19:9 | if (...) ... | semmle.label | successor | -| patterns.cs:17:9:19:9 | if (...) ... | patterns.cs:17:13:17:13 | access to local variable o | semmle.label | successor | -| patterns.cs:17:13:17:13 | access to local variable o | patterns.cs:17:18:17:21 | Object p | semmle.label | successor | -| patterns.cs:17:13:17:21 | [false] ... is ... | patterns.cs:22:9:24:9 | if (...) ... | semmle.label | false | -| patterns.cs:17:13:17:21 | [true] ... is ... | patterns.cs:18:9:19:9 | {...} | semmle.label | true | -| patterns.cs:17:18:17:19 | { ... } | patterns.cs:17:18:17:21 | [match] { ... } | semmle.label | match | -| patterns.cs:17:18:17:19 | { ... } | patterns.cs:17:18:17:21 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:17:18:17:21 | Object p | patterns.cs:17:18:17:19 | { ... } | semmle.label | match | -| patterns.cs:17:18:17:21 | Object p | patterns.cs:17:18:17:21 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:17:18:17:21 | [match] { ... } | patterns.cs:17:13:17:21 | [true] ... is ... | semmle.label | match | -| patterns.cs:17:18:17:21 | [no-match] { ... } | patterns.cs:17:13:17:21 | [false] ... is ... | semmle.label | no-match | -| patterns.cs:18:9:19:9 | {...} | patterns.cs:22:9:24:9 | if (...) ... | semmle.label | successor | -| patterns.cs:22:9:24:9 | if (...) ... | patterns.cs:22:13:22:13 | access to local variable o | semmle.label | successor | -| patterns.cs:22:13:22:13 | access to local variable o | patterns.cs:22:18:22:25 | access to type MyStruct | semmle.label | successor | -| patterns.cs:22:13:22:53 | [false] ... is ... | patterns.cs:27:9:29:9 | if (...) ... | semmle.label | false | -| patterns.cs:22:13:22:53 | [true] ... is ... | patterns.cs:23:9:24:9 | {...} | semmle.label | true | -| patterns.cs:22:18:22:25 | access to type MyStruct | patterns.cs:22:18:22:53 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:22:18:22:25 | access to type MyStruct | patterns.cs:22:31:22:32 | 12 | semmle.label | match | -| patterns.cs:22:18:22:53 | [match] { ... } | patterns.cs:22:13:22:53 | [true] ... is ... | semmle.label | match | -| patterns.cs:22:18:22:53 | [no-match] { ... } | patterns.cs:22:13:22:53 | [false] ... is ... | semmle.label | no-match | -| patterns.cs:22:27:22:53 | [match] { ... } | patterns.cs:22:18:22:53 | [match] { ... } | semmle.label | match | -| patterns.cs:22:27:22:53 | [no-match] { ... } | patterns.cs:22:18:22:53 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:22:31:22:32 | 12 | patterns.cs:22:27:22:53 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:22:31:22:32 | 12 | patterns.cs:22:42:22:49 | Int32 subX | semmle.label | match | -| patterns.cs:22:38:22:51 | [match] { ... } | patterns.cs:22:27:22:53 | [match] { ... } | semmle.label | match | -| patterns.cs:22:38:22:51 | [match] { ... } | patterns.cs:22:38:22:51 | [match] { ... } | semmle.label | match | -| patterns.cs:22:38:22:51 | [no-match] { ... } | patterns.cs:22:27:22:53 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:22:38:22:51 | [no-match] { ... } | patterns.cs:22:38:22:51 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:22:42:22:49 | Int32 subX | patterns.cs:22:38:22:51 | [match] { ... } | semmle.label | match | -| patterns.cs:22:42:22:49 | Int32 subX | patterns.cs:22:38:22:51 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:23:9:24:9 | {...} | patterns.cs:27:9:29:9 | if (...) ... | semmle.label | successor | -| patterns.cs:27:9:29:9 | if (...) ... | patterns.cs:27:13:27:13 | access to local variable o | semmle.label | successor | -| patterns.cs:27:13:27:13 | access to local variable o | patterns.cs:27:18:27:25 | access to type MyStruct | semmle.label | successor | -| patterns.cs:27:13:27:58 | [false] ... is ... | patterns.cs:5:10:5:19 | exit IsPatterns (normal) | semmle.label | false | -| patterns.cs:27:13:27:58 | [true] ... is ... | patterns.cs:28:9:29:9 | {...} | semmle.label | true | -| patterns.cs:27:18:27:25 | access to type MyStruct | patterns.cs:27:18:27:58 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:27:18:27:25 | access to type MyStruct | patterns.cs:27:31:27:32 | 12 | semmle.label | match | -| patterns.cs:27:18:27:58 | [match] { ... } | patterns.cs:27:13:27:58 | [true] ... is ... | semmle.label | match | -| patterns.cs:27:18:27:58 | [no-match] { ... } | patterns.cs:27:13:27:58 | [false] ... is ... | semmle.label | no-match | -| patterns.cs:27:27:27:58 | [match] { ... } | patterns.cs:27:18:27:58 | [match] { ... } | semmle.label | match | -| patterns.cs:27:27:27:58 | [no-match] { ... } | patterns.cs:27:18:27:58 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:27:31:27:32 | 12 | patterns.cs:27:27:27:58 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:27:31:27:32 | 12 | patterns.cs:27:38:27:56 | MyStruct ms | semmle.label | match | -| patterns.cs:27:38:27:56 | MyStruct ms | patterns.cs:27:38:27:56 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:27:38:27:56 | MyStruct ms | patterns.cs:27:51:27:51 | _ | semmle.label | match | -| patterns.cs:27:38:27:56 | [match] { ... } | patterns.cs:27:27:27:58 | [match] { ... } | semmle.label | match | -| patterns.cs:27:38:27:56 | [no-match] { ... } | patterns.cs:27:27:27:58 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:27:47:27:53 | [match] { ... } | patterns.cs:27:38:27:56 | [match] { ... } | semmle.label | match | -| patterns.cs:27:51:27:51 | _ | patterns.cs:27:47:27:53 | [match] { ... } | semmle.label | match | -| patterns.cs:28:9:29:9 | {...} | patterns.cs:5:10:5:19 | exit IsPatterns (normal) | semmle.label | successor | +| patterns.cs:14:9:15:9 | {...} | patterns.cs:13:9:15:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:17:9:19:9 | After if (...) ... | patterns.cs:22:9:24:9 | if (...) ... | semmle.label | successor | +| patterns.cs:17:9:19:9 | if (...) ... | patterns.cs:17:13:17:21 | Before ... is ... | semmle.label | successor | +| patterns.cs:17:13:17:13 | access to local variable o | patterns.cs:17:13:17:21 | ... is ... | semmle.label | successor | +| patterns.cs:17:13:17:21 | ... is ... | patterns.cs:17:13:17:21 | After ... is ... [false] | semmle.label | false | +| patterns.cs:17:13:17:21 | ... is ... | patterns.cs:17:13:17:21 | [MatchTrue] ... is ... | semmle.label | true | +| patterns.cs:17:13:17:21 | After ... is ... [false] | patterns.cs:17:9:19:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:17:13:17:21 | After ... is ... [true] | patterns.cs:18:9:19:9 | {...} | semmle.label | successor | +| patterns.cs:17:13:17:21 | Before ... is ... | patterns.cs:17:13:17:13 | access to local variable o | semmle.label | successor | +| patterns.cs:17:13:17:21 | [MatchTrue] ... is ... | patterns.cs:17:18:17:21 | Before { ... } | semmle.label | successor | +| patterns.cs:17:18:17:19 | { ... } | patterns.cs:17:18:17:21 | { ... } | semmle.label | successor | +| patterns.cs:17:18:17:21 | After { ... } | patterns.cs:17:13:17:21 | After ... is ... [true] | semmle.label | true | +| patterns.cs:17:18:17:21 | Before { ... } | patterns.cs:17:18:17:21 | Object p | semmle.label | successor | +| patterns.cs:17:18:17:21 | Object p | patterns.cs:17:18:17:19 | { ... } | semmle.label | successor | +| patterns.cs:17:18:17:21 | { ... } | patterns.cs:17:18:17:21 | After { ... } | semmle.label | successor | +| patterns.cs:18:9:19:9 | {...} | patterns.cs:17:9:19:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:22:9:24:9 | After if (...) ... | patterns.cs:27:9:29:9 | if (...) ... | semmle.label | successor | +| patterns.cs:22:9:24:9 | if (...) ... | patterns.cs:22:13:22:53 | Before ... is ... | semmle.label | successor | +| patterns.cs:22:13:22:13 | access to local variable o | patterns.cs:22:13:22:53 | ... is ... | semmle.label | successor | +| patterns.cs:22:13:22:53 | ... is ... | patterns.cs:22:13:22:53 | After ... is ... [false] | semmle.label | false | +| patterns.cs:22:13:22:53 | ... is ... | patterns.cs:22:13:22:53 | [MatchTrue] ... is ... | semmle.label | true | +| patterns.cs:22:13:22:53 | After ... is ... [false] | patterns.cs:22:9:24:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:22:13:22:53 | After ... is ... [true] | patterns.cs:23:9:24:9 | {...} | semmle.label | successor | +| patterns.cs:22:13:22:53 | Before ... is ... | patterns.cs:22:13:22:13 | access to local variable o | semmle.label | successor | +| patterns.cs:22:13:22:53 | [MatchTrue] ... is ... | patterns.cs:22:18:22:53 | Before { ... } | semmle.label | successor | +| patterns.cs:22:18:22:25 | access to type MyStruct | patterns.cs:22:27:22:53 | Before { ... } | semmle.label | successor | +| patterns.cs:22:18:22:53 | After { ... } | patterns.cs:22:13:22:53 | After ... is ... [true] | semmle.label | true | +| patterns.cs:22:18:22:53 | Before { ... } | patterns.cs:22:18:22:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:22:18:22:53 | { ... } | patterns.cs:22:18:22:53 | After { ... } | semmle.label | successor | +| patterns.cs:22:27:22:53 | After { ... } | patterns.cs:22:18:22:53 | { ... } | semmle.label | successor | +| patterns.cs:22:27:22:53 | Before { ... } | patterns.cs:22:31:22:32 | 12 | semmle.label | successor | +| patterns.cs:22:27:22:53 | { ... } | patterns.cs:22:27:22:53 | After { ... } | semmle.label | successor | +| patterns.cs:22:31:22:32 | 12 | patterns.cs:22:38:22:51 | Before { ... } | semmle.label | successor | +| patterns.cs:22:38:22:51 | After { ... } | patterns.cs:22:27:22:53 | { ... } | semmle.label | successor | +| patterns.cs:22:38:22:51 | After { ... } | patterns.cs:22:38:22:51 | { ... } | semmle.label | successor | +| patterns.cs:22:38:22:51 | Before { ... } | patterns.cs:22:38:22:51 | Before { ... } | semmle.label | successor | +| patterns.cs:22:38:22:51 | Before { ... } | patterns.cs:22:42:22:49 | Int32 subX | semmle.label | successor | +| patterns.cs:22:38:22:51 | { ... } | patterns.cs:22:38:22:51 | After { ... } | semmle.label | successor | +| patterns.cs:22:38:22:51 | { ... } | patterns.cs:22:38:22:51 | After { ... } | semmle.label | successor | +| patterns.cs:22:42:22:49 | Int32 subX | patterns.cs:22:38:22:51 | { ... } | semmle.label | successor | +| patterns.cs:23:9:24:9 | {...} | patterns.cs:22:9:24:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:27:9:29:9 | After if (...) ... | patterns.cs:6:5:30:5 | After {...} | semmle.label | successor | +| patterns.cs:27:9:29:9 | if (...) ... | patterns.cs:27:13:27:58 | Before ... is ... | semmle.label | successor | +| patterns.cs:27:13:27:13 | access to local variable o | patterns.cs:27:13:27:58 | ... is ... | semmle.label | successor | +| patterns.cs:27:13:27:58 | ... is ... | patterns.cs:27:13:27:58 | After ... is ... [false] | semmle.label | false | +| patterns.cs:27:13:27:58 | ... is ... | patterns.cs:27:13:27:58 | [MatchTrue] ... is ... | semmle.label | true | +| patterns.cs:27:13:27:58 | After ... is ... [false] | patterns.cs:27:9:29:9 | After if (...) ... | semmle.label | successor | +| patterns.cs:27:13:27:58 | After ... is ... [true] | patterns.cs:28:9:29:9 | {...} | semmle.label | successor | +| patterns.cs:27:13:27:58 | Before ... is ... | patterns.cs:27:13:27:13 | access to local variable o | semmle.label | successor | +| patterns.cs:27:13:27:58 | [MatchTrue] ... is ... | patterns.cs:27:18:27:58 | Before { ... } | semmle.label | successor | +| patterns.cs:27:18:27:25 | access to type MyStruct | patterns.cs:27:27:27:58 | Before { ... } | semmle.label | successor | +| patterns.cs:27:18:27:58 | After { ... } | patterns.cs:27:13:27:58 | After ... is ... [true] | semmle.label | true | +| patterns.cs:27:18:27:58 | Before { ... } | patterns.cs:27:18:27:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:27:18:27:58 | { ... } | patterns.cs:27:18:27:58 | After { ... } | semmle.label | successor | +| patterns.cs:27:27:27:58 | After { ... } | patterns.cs:27:18:27:58 | { ... } | semmle.label | successor | +| patterns.cs:27:27:27:58 | Before { ... } | patterns.cs:27:31:27:32 | 12 | semmle.label | successor | +| patterns.cs:27:27:27:58 | { ... } | patterns.cs:27:27:27:58 | After { ... } | semmle.label | successor | +| patterns.cs:27:31:27:32 | 12 | patterns.cs:27:38:27:56 | Before { ... } | semmle.label | successor | +| patterns.cs:27:38:27:45 | access to type MyStruct | patterns.cs:27:47:27:53 | Before { ... } | semmle.label | successor | +| patterns.cs:27:38:27:56 | After { ... } | patterns.cs:27:27:27:58 | { ... } | semmle.label | successor | +| patterns.cs:27:38:27:56 | Before { ... } | patterns.cs:27:38:27:56 | MyStruct ms | semmle.label | successor | +| patterns.cs:27:38:27:56 | MyStruct ms | patterns.cs:27:38:27:45 | access to type MyStruct | semmle.label | successor | +| patterns.cs:27:38:27:56 | { ... } | patterns.cs:27:38:27:56 | After { ... } | semmle.label | successor | +| patterns.cs:27:47:27:53 | After { ... } | patterns.cs:27:38:27:56 | { ... } | semmle.label | successor | +| patterns.cs:27:47:27:53 | Before { ... } | patterns.cs:27:51:27:51 | _ | semmle.label | successor | +| patterns.cs:27:47:27:53 | { ... } | patterns.cs:27:47:27:53 | After { ... } | semmle.label | successor | +| patterns.cs:27:51:27:51 | _ | patterns.cs:27:47:27:53 | { ... } | semmle.label | successor | +| patterns.cs:28:9:29:9 | {...} | patterns.cs:27:9:29:9 | After if (...) ... | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/csharp8/ispatternflow.ql b/csharp/ql/test/library-tests/csharp8/ispatternflow.ql index 33f0095c837..61b0562d5fa 100644 --- a/csharp/ql/test/library-tests/csharp8/ispatternflow.ql +++ b/csharp/ql/test/library-tests/csharp8/ispatternflow.ql @@ -1,9 +1,9 @@ import csharp -query predicate edges(ControlFlow::Node a, ControlFlow::Node b, string label, string value) { +query predicate edges(ControlFlowNode a, ControlFlowNode b, string label, string value) { exists(ControlFlow::SuccessorType t | a.getEnclosingCallable().getName() = "IsPatterns" and - b = a.getASuccessorByType(t) and + b = a.getASuccessor(t) and label = "semmle.label" and value = t.toString() ) diff --git a/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected b/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected index c6ecf8bcfd9..9d35bd27b38 100644 --- a/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected +++ b/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected @@ -1,205 +1,328 @@ -| patterns.cs:98:10:98:20 | enter Expressions | patterns.cs:99:5:121:5 | {...} | semmle.label | successor | -| patterns.cs:98:10:98:20 | exit Expressions (abnormal) | patterns.cs:98:10:98:20 | exit Expressions | semmle.label | successor | -| patterns.cs:98:10:98:20 | exit Expressions (normal) | patterns.cs:98:10:98:20 | exit Expressions | semmle.label | successor | +| patterns.cs:98:10:98:20 | Entry | patterns.cs:99:5:121:5 | {...} | semmle.label | successor | +| patterns.cs:98:10:98:20 | Normal Exit | patterns.cs:98:10:98:20 | Exit | semmle.label | successor | +| patterns.cs:99:5:121:5 | After {...} | patterns.cs:98:10:98:20 | Normal Exit | semmle.label | successor | | patterns.cs:99:5:121:5 | {...} | patterns.cs:100:9:103:10 | ... ...; | semmle.label | successor | -| patterns.cs:100:9:103:10 | ... ...; | patterns.cs:100:20:100:20 | access to parameter x | semmle.label | successor | -| patterns.cs:100:13:103:9 | String size = ... | patterns.cs:105:9:105:27 | ... ...; | semmle.label | successor | -| patterns.cs:100:20:100:20 | access to parameter x | patterns.cs:101:13:101:17 | Int32 y | semmle.label | successor | -| patterns.cs:100:20:103:9 | ... switch { ... } | patterns.cs:100:13:103:9 | String size = ... | semmle.label | successor | -| patterns.cs:101:13:101:17 | Int32 y | patterns.cs:101:24:101:24 | access to local variable y | semmle.label | match | -| patterns.cs:101:13:101:17 | Int32 y | patterns.cs:102:13:102:13 | _ | semmle.label | no-match | -| patterns.cs:101:13:101:40 | ... => ... | patterns.cs:100:20:103:9 | ... switch { ... } | semmle.label | successor | +| patterns.cs:100:9:103:10 | ... ...; | patterns.cs:100:13:103:9 | Before String size = ... | semmle.label | successor | +| patterns.cs:100:9:103:10 | After ... ...; | patterns.cs:105:9:105:27 | ... ...; | semmle.label | successor | +| patterns.cs:100:13:100:16 | access to local variable size | patterns.cs:100:20:103:9 | ... switch { ... } | semmle.label | successor | +| patterns.cs:100:13:103:9 | After String size = ... | patterns.cs:100:9:103:10 | After ... ...; | semmle.label | successor | +| patterns.cs:100:13:103:9 | Before String size = ... | patterns.cs:100:13:100:16 | access to local variable size | semmle.label | successor | +| patterns.cs:100:13:103:9 | String size = ... | patterns.cs:100:13:103:9 | After String size = ... | semmle.label | successor | +| patterns.cs:100:20:100:20 | access to parameter x | patterns.cs:101:13:101:40 | ... => ... | semmle.label | successor | +| patterns.cs:100:20:103:9 | ... switch { ... } | patterns.cs:100:20:100:20 | access to parameter x | semmle.label | successor | +| patterns.cs:100:20:103:9 | After ... switch { ... } | patterns.cs:100:13:103:9 | String size = ... | semmle.label | successor | +| patterns.cs:101:13:101:17 | Int32 y | patterns.cs:101:24:101:29 | Before ... > ... | semmle.label | successor | +| patterns.cs:101:13:101:40 | ... => ... | patterns.cs:101:13:101:40 | After ... => ... [match] | semmle.label | match | +| patterns.cs:101:13:101:40 | ... => ... | patterns.cs:101:13:101:40 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:101:13:101:40 | After ... => ... [match] | patterns.cs:101:13:101:17 | Int32 y | semmle.label | successor | +| patterns.cs:101:13:101:40 | After ... => ... [no-match] | patterns.cs:102:13:102:24 | ... => ... | semmle.label | successor | | patterns.cs:101:24:101:24 | access to local variable y | patterns.cs:101:28:101:29 | 10 | semmle.label | successor | -| patterns.cs:101:24:101:29 | ... > ... | patterns.cs:101:34:101:40 | "large" | semmle.label | true | -| patterns.cs:101:24:101:29 | ... > ... | patterns.cs:102:13:102:13 | _ | semmle.label | false | +| patterns.cs:101:24:101:29 | ... > ... | patterns.cs:101:24:101:29 | After ... > ... [false] | semmle.label | false | +| patterns.cs:101:24:101:29 | ... > ... | patterns.cs:101:24:101:29 | After ... > ... [true] | semmle.label | true | +| patterns.cs:101:24:101:29 | After ... > ... [false] | patterns.cs:102:13:102:24 | ... => ... | semmle.label | successor | +| patterns.cs:101:24:101:29 | After ... > ... [true] | patterns.cs:101:34:101:40 | "large" | semmle.label | successor | +| patterns.cs:101:24:101:29 | Before ... > ... | patterns.cs:101:24:101:24 | access to local variable y | semmle.label | successor | | patterns.cs:101:28:101:29 | 10 | patterns.cs:101:24:101:29 | ... > ... | semmle.label | successor | -| patterns.cs:101:34:101:40 | "large" | patterns.cs:101:13:101:40 | ... => ... | semmle.label | successor | -| patterns.cs:102:13:102:13 | _ | patterns.cs:102:18:102:24 | "small" | semmle.label | match | -| patterns.cs:102:13:102:24 | ... => ... | patterns.cs:100:20:103:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:102:18:102:24 | "small" | patterns.cs:102:13:102:24 | ... => ... | semmle.label | successor | -| patterns.cs:105:9:105:27 | ... ...; | patterns.cs:105:18:105:18 | 0 | semmle.label | successor | -| patterns.cs:105:13:105:18 | Int32 x0 = ... | patterns.cs:105:26:105:26 | 0 | semmle.label | successor | +| patterns.cs:101:34:101:40 | "large" | patterns.cs:100:20:103:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:102:13:102:13 | _ | patterns.cs:102:18:102:24 | "small" | semmle.label | successor | +| patterns.cs:102:13:102:24 | ... => ... | patterns.cs:102:13:102:24 | After ... => ... [match] | semmle.label | match | +| patterns.cs:102:13:102:24 | After ... => ... [match] | patterns.cs:102:13:102:13 | _ | semmle.label | successor | +| patterns.cs:102:18:102:24 | "small" | patterns.cs:100:20:103:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:105:9:105:27 | ... ...; | patterns.cs:105:13:105:18 | Before Int32 x0 = ... | semmle.label | successor | +| patterns.cs:105:9:105:27 | After ... ...; | patterns.cs:108:9:112:10 | ...; | semmle.label | successor | +| patterns.cs:105:13:105:14 | access to local variable x0 | patterns.cs:105:18:105:18 | 0 | semmle.label | successor | +| patterns.cs:105:13:105:18 | After Int32 x0 = ... | patterns.cs:105:21:105:26 | Before Int32 y0 = ... | semmle.label | successor | +| patterns.cs:105:13:105:18 | Before Int32 x0 = ... | patterns.cs:105:13:105:14 | access to local variable x0 | semmle.label | successor | +| patterns.cs:105:13:105:18 | Int32 x0 = ... | patterns.cs:105:13:105:18 | After Int32 x0 = ... | semmle.label | successor | | patterns.cs:105:18:105:18 | 0 | patterns.cs:105:13:105:18 | Int32 x0 = ... | semmle.label | successor | -| patterns.cs:105:21:105:26 | Int32 y0 = ... | patterns.cs:108:9:112:10 | ...; | semmle.label | successor | +| patterns.cs:105:21:105:22 | access to local variable y0 | patterns.cs:105:26:105:26 | 0 | semmle.label | successor | +| patterns.cs:105:21:105:26 | After Int32 y0 = ... | patterns.cs:105:9:105:27 | After ... ...; | semmle.label | successor | +| patterns.cs:105:21:105:26 | Before Int32 y0 = ... | patterns.cs:105:21:105:22 | access to local variable y0 | semmle.label | successor | +| patterns.cs:105:21:105:26 | Int32 y0 = ... | patterns.cs:105:21:105:26 | After Int32 y0 = ... | semmle.label | successor | | patterns.cs:105:26:105:26 | 0 | patterns.cs:105:21:105:26 | Int32 y0 = ... | semmle.label | successor | -| patterns.cs:108:9:108:20 | (..., ...) | patterns.cs:108:25:108:26 | access to local variable x0 | semmle.label | successor | -| patterns.cs:108:9:112:9 | ... = ... | patterns.cs:115:9:120:10 | ...; | semmle.label | successor | -| patterns.cs:108:9:112:10 | ...; | patterns.cs:108:14:108:15 | Int32 x1 | semmle.label | successor | +| patterns.cs:108:9:108:20 | (..., ...) | patterns.cs:108:9:108:20 | After (..., ...) | semmle.label | successor | +| patterns.cs:108:9:108:20 | After (..., ...) | patterns.cs:108:24:112:9 | ... switch { ... } | semmle.label | successor | +| patterns.cs:108:9:108:20 | Before (..., ...) | patterns.cs:108:14:108:15 | Int32 x1 | semmle.label | successor | +| patterns.cs:108:9:112:9 | ... = ... | patterns.cs:108:9:112:9 | After ... = ... | semmle.label | successor | +| patterns.cs:108:9:112:9 | After ... = ... | patterns.cs:108:9:112:10 | After ...; | semmle.label | successor | +| patterns.cs:108:9:112:9 | Before ... = ... | patterns.cs:108:9:108:20 | Before (..., ...) | semmle.label | successor | +| patterns.cs:108:9:112:10 | ...; | patterns.cs:108:9:112:9 | Before ... = ... | semmle.label | successor | +| patterns.cs:108:9:112:10 | After ...; | patterns.cs:115:9:120:10 | ...; | semmle.label | successor | | patterns.cs:108:14:108:15 | Int32 x1 | patterns.cs:108:18:108:19 | Int32 y1 | semmle.label | successor | | patterns.cs:108:18:108:19 | Int32 y1 | patterns.cs:108:9:108:20 | (..., ...) | semmle.label | successor | -| patterns.cs:108:24:108:31 | (..., ...) | patterns.cs:110:13:110:17 | ( ... ) | semmle.label | successor | -| patterns.cs:108:24:112:9 | ... switch { ... } | patterns.cs:108:9:112:9 | ... = ... | semmle.label | successor | +| patterns.cs:108:24:108:31 | (..., ...) | patterns.cs:108:24:108:31 | After (..., ...) | semmle.label | successor | +| patterns.cs:108:24:108:31 | After (..., ...) | patterns.cs:110:13:110:26 | ... => ... | semmle.label | successor | +| patterns.cs:108:24:108:31 | Before (..., ...) | patterns.cs:108:25:108:26 | access to local variable x0 | semmle.label | successor | +| patterns.cs:108:24:112:9 | ... switch { ... } | patterns.cs:108:24:108:31 | Before (..., ...) | semmle.label | successor | +| patterns.cs:108:24:112:9 | After ... switch { ... } | patterns.cs:108:9:112:9 | ... = ... | semmle.label | successor | | patterns.cs:108:25:108:26 | access to local variable x0 | patterns.cs:108:29:108:30 | access to local variable y0 | semmle.label | successor | | patterns.cs:108:29:108:30 | access to local variable y0 | patterns.cs:108:24:108:31 | (..., ...) | semmle.label | successor | -| patterns.cs:110:13:110:17 | ( ... ) | patterns.cs:110:13:110:17 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:110:13:110:17 | ( ... ) | patterns.cs:110:14:110:14 | 0 | semmle.label | match | -| patterns.cs:110:13:110:17 | [match] { ... } | patterns.cs:110:23:110:23 | 1 | semmle.label | match | -| patterns.cs:110:13:110:17 | [no-match] { ... } | patterns.cs:111:13:111:17 | ( ... ) | semmle.label | no-match | -| patterns.cs:110:13:110:26 | ... => ... | patterns.cs:108:24:112:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:110:14:110:14 | 0 | patterns.cs:110:13:110:17 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:110:14:110:14 | 0 | patterns.cs:110:16:110:16 | 1 | semmle.label | match | -| patterns.cs:110:16:110:16 | 1 | patterns.cs:110:13:110:17 | [match] { ... } | semmle.label | match | -| patterns.cs:110:16:110:16 | 1 | patterns.cs:110:13:110:17 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:110:22:110:26 | (..., ...) | patterns.cs:110:13:110:26 | ... => ... | semmle.label | successor | +| patterns.cs:110:13:110:17 | ( ... ) | patterns.cs:110:13:110:17 | After ( ... ) | semmle.label | successor | +| patterns.cs:110:13:110:17 | After ( ... ) | patterns.cs:110:13:110:17 | { ... } | semmle.label | successor | +| patterns.cs:110:13:110:17 | After { ... } | patterns.cs:110:22:110:26 | Before (..., ...) | semmle.label | successor | +| patterns.cs:110:13:110:17 | Before ( ... ) | patterns.cs:110:14:110:14 | 0 | semmle.label | successor | +| patterns.cs:110:13:110:17 | Before { ... } | patterns.cs:110:13:110:17 | Before ( ... ) | semmle.label | successor | +| patterns.cs:110:13:110:17 | { ... } | patterns.cs:110:13:110:17 | After { ... } | semmle.label | successor | +| patterns.cs:110:13:110:26 | ... => ... | patterns.cs:110:13:110:26 | After ... => ... [match] | semmle.label | match | +| patterns.cs:110:13:110:26 | ... => ... | patterns.cs:110:13:110:26 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:110:13:110:26 | After ... => ... [match] | patterns.cs:110:13:110:17 | Before { ... } | semmle.label | successor | +| patterns.cs:110:13:110:26 | After ... => ... [no-match] | patterns.cs:111:13:111:26 | ... => ... | semmle.label | successor | +| patterns.cs:110:14:110:14 | 0 | patterns.cs:110:16:110:16 | 1 | semmle.label | successor | +| patterns.cs:110:16:110:16 | 1 | patterns.cs:110:13:110:17 | ( ... ) | semmle.label | successor | +| patterns.cs:110:22:110:26 | (..., ...) | patterns.cs:110:22:110:26 | After (..., ...) | semmle.label | successor | +| patterns.cs:110:22:110:26 | After (..., ...) | patterns.cs:108:24:112:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:110:22:110:26 | Before (..., ...) | patterns.cs:110:23:110:23 | 1 | semmle.label | successor | | patterns.cs:110:23:110:23 | 1 | patterns.cs:110:25:110:25 | 0 | semmle.label | successor | | patterns.cs:110:25:110:25 | 0 | patterns.cs:110:22:110:26 | (..., ...) | semmle.label | successor | -| patterns.cs:111:13:111:17 | ( ... ) | patterns.cs:111:13:111:17 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:111:13:111:17 | ( ... ) | patterns.cs:111:14:111:14 | 1 | semmle.label | match | -| patterns.cs:111:13:111:17 | [match] { ... } | patterns.cs:98:10:98:20 | exit Expressions (abnormal) | semmle.label | exception | -| patterns.cs:111:13:111:17 | [match] { ... } | patterns.cs:111:23:111:23 | 0 | semmle.label | match | -| patterns.cs:111:13:111:17 | [no-match] { ... } | patterns.cs:98:10:98:20 | exit Expressions (abnormal) | semmle.label | exception | -| patterns.cs:111:13:111:26 | ... => ... | patterns.cs:108:24:112:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:111:14:111:14 | 1 | patterns.cs:111:13:111:17 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:111:14:111:14 | 1 | patterns.cs:111:16:111:16 | 0 | semmle.label | match | -| patterns.cs:111:16:111:16 | 0 | patterns.cs:111:13:111:17 | [match] { ... } | semmle.label | match | -| patterns.cs:111:16:111:16 | 0 | patterns.cs:111:13:111:17 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:111:22:111:26 | (..., ...) | patterns.cs:111:13:111:26 | ... => ... | semmle.label | successor | +| patterns.cs:111:13:111:17 | ( ... ) | patterns.cs:111:13:111:17 | After ( ... ) | semmle.label | successor | +| patterns.cs:111:13:111:17 | After ( ... ) | patterns.cs:111:13:111:17 | { ... } | semmle.label | successor | +| patterns.cs:111:13:111:17 | After { ... } | patterns.cs:111:22:111:26 | Before (..., ...) | semmle.label | successor | +| patterns.cs:111:13:111:17 | Before ( ... ) | patterns.cs:111:14:111:14 | 1 | semmle.label | successor | +| patterns.cs:111:13:111:17 | Before { ... } | patterns.cs:111:13:111:17 | Before ( ... ) | semmle.label | successor | +| patterns.cs:111:13:111:17 | { ... } | patterns.cs:111:13:111:17 | After { ... } | semmle.label | successor | +| patterns.cs:111:13:111:26 | ... => ... | patterns.cs:111:13:111:26 | After ... => ... [match] | semmle.label | match | +| patterns.cs:111:13:111:26 | ... => ... | patterns.cs:111:13:111:26 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:111:13:111:26 | After ... => ... [match] | patterns.cs:111:13:111:17 | Before { ... } | semmle.label | successor | +| patterns.cs:111:13:111:26 | After ... => ... [no-match] | patterns.cs:108:24:112:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:111:14:111:14 | 1 | patterns.cs:111:16:111:16 | 0 | semmle.label | successor | +| patterns.cs:111:16:111:16 | 0 | patterns.cs:111:13:111:17 | ( ... ) | semmle.label | successor | +| patterns.cs:111:22:111:26 | (..., ...) | patterns.cs:111:22:111:26 | After (..., ...) | semmle.label | successor | +| patterns.cs:111:22:111:26 | After (..., ...) | patterns.cs:108:24:112:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:111:22:111:26 | Before (..., ...) | patterns.cs:111:23:111:23 | 0 | semmle.label | successor | | patterns.cs:111:23:111:23 | 0 | patterns.cs:111:25:111:25 | 1 | semmle.label | successor | | patterns.cs:111:25:111:25 | 1 | patterns.cs:111:22:111:26 | (..., ...) | semmle.label | successor | -| patterns.cs:115:9:115:16 | (..., ...) | patterns.cs:115:21:115:22 | access to local variable x0 | semmle.label | successor | -| patterns.cs:115:9:120:9 | ... = ... | patterns.cs:98:10:98:20 | exit Expressions (normal) | semmle.label | successor | -| patterns.cs:115:9:120:10 | ...; | patterns.cs:115:9:115:16 | (..., ...) | semmle.label | successor | -| patterns.cs:115:20:115:27 | (..., ...) | patterns.cs:117:13:117:22 | ( ... ) | semmle.label | successor | -| patterns.cs:115:20:120:9 | ... switch { ... } | patterns.cs:115:9:120:9 | ... = ... | semmle.label | successor | +| patterns.cs:115:9:115:16 | (..., ...) | patterns.cs:115:9:115:16 | After (..., ...) | semmle.label | successor | +| patterns.cs:115:9:115:16 | After (..., ...) | patterns.cs:115:20:120:9 | ... switch { ... } | semmle.label | successor | +| patterns.cs:115:9:115:16 | Before (..., ...) | patterns.cs:115:10:115:11 | access to local variable x1 | semmle.label | successor | +| patterns.cs:115:9:120:9 | ... = ... | patterns.cs:115:9:120:9 | After ... = ... | semmle.label | successor | +| patterns.cs:115:9:120:9 | After ... = ... | patterns.cs:115:9:120:10 | After ...; | semmle.label | successor | +| patterns.cs:115:9:120:9 | Before ... = ... | patterns.cs:115:9:115:16 | Before (..., ...) | semmle.label | successor | +| patterns.cs:115:9:120:10 | ...; | patterns.cs:115:9:120:9 | Before ... = ... | semmle.label | successor | +| patterns.cs:115:9:120:10 | After ...; | patterns.cs:99:5:121:5 | After {...} | semmle.label | successor | +| patterns.cs:115:10:115:11 | access to local variable x1 | patterns.cs:115:14:115:15 | access to local variable y1 | semmle.label | successor | +| patterns.cs:115:14:115:15 | access to local variable y1 | patterns.cs:115:9:115:16 | (..., ...) | semmle.label | successor | +| patterns.cs:115:20:115:27 | (..., ...) | patterns.cs:115:20:115:27 | After (..., ...) | semmle.label | successor | +| patterns.cs:115:20:115:27 | After (..., ...) | patterns.cs:117:13:117:33 | ... => ... | semmle.label | successor | +| patterns.cs:115:20:115:27 | Before (..., ...) | patterns.cs:115:21:115:22 | access to local variable x0 | semmle.label | successor | +| patterns.cs:115:20:120:9 | ... switch { ... } | patterns.cs:115:20:115:27 | Before (..., ...) | semmle.label | successor | +| patterns.cs:115:20:120:9 | After ... switch { ... } | patterns.cs:115:9:120:9 | ... = ... | semmle.label | successor | | patterns.cs:115:21:115:22 | access to local variable x0 | patterns.cs:115:25:115:26 | access to local variable y0 | semmle.label | successor | | patterns.cs:115:25:115:26 | access to local variable y0 | patterns.cs:115:20:115:27 | (..., ...) | semmle.label | successor | -| patterns.cs:117:13:117:22 | ( ... ) | patterns.cs:117:13:117:22 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:117:13:117:22 | ( ... ) | patterns.cs:117:14:117:14 | 0 | semmle.label | match | -| patterns.cs:117:13:117:22 | [match] { ... } | patterns.cs:117:28:117:29 | access to local variable y2 | semmle.label | match | -| patterns.cs:117:13:117:22 | [no-match] { ... } | patterns.cs:118:13:118:23 | ( ... ) | semmle.label | no-match | -| patterns.cs:117:13:117:33 | ... => ... | patterns.cs:115:20:120:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:117:14:117:14 | 0 | patterns.cs:117:13:117:22 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:117:14:117:14 | 0 | patterns.cs:117:16:117:21 | Int32 y2 | semmle.label | match | -| patterns.cs:117:16:117:21 | Int32 y2 | patterns.cs:117:13:117:22 | [match] { ... } | semmle.label | match | -| patterns.cs:117:16:117:21 | Int32 y2 | patterns.cs:117:13:117:22 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:117:27:117:33 | (..., ...) | patterns.cs:117:13:117:33 | ... => ... | semmle.label | successor | +| patterns.cs:117:13:117:22 | ( ... ) | patterns.cs:117:13:117:22 | After ( ... ) | semmle.label | successor | +| patterns.cs:117:13:117:22 | After ( ... ) | patterns.cs:117:13:117:22 | { ... } | semmle.label | successor | +| patterns.cs:117:13:117:22 | After { ... } | patterns.cs:117:27:117:33 | Before (..., ...) | semmle.label | successor | +| patterns.cs:117:13:117:22 | Before ( ... ) | patterns.cs:117:14:117:14 | 0 | semmle.label | successor | +| patterns.cs:117:13:117:22 | Before { ... } | patterns.cs:117:13:117:22 | Before ( ... ) | semmle.label | successor | +| patterns.cs:117:13:117:22 | { ... } | patterns.cs:117:13:117:22 | After { ... } | semmle.label | successor | +| patterns.cs:117:13:117:33 | ... => ... | patterns.cs:117:13:117:33 | After ... => ... [match] | semmle.label | match | +| patterns.cs:117:13:117:33 | ... => ... | patterns.cs:117:13:117:33 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:117:13:117:33 | After ... => ... [match] | patterns.cs:117:13:117:22 | Before { ... } | semmle.label | successor | +| patterns.cs:117:13:117:33 | After ... => ... [no-match] | patterns.cs:118:13:118:34 | ... => ... | semmle.label | successor | +| patterns.cs:117:14:117:14 | 0 | patterns.cs:117:16:117:21 | Int32 y2 | semmle.label | successor | +| patterns.cs:117:16:117:21 | Int32 y2 | patterns.cs:117:13:117:22 | ( ... ) | semmle.label | successor | +| patterns.cs:117:27:117:33 | (..., ...) | patterns.cs:117:27:117:33 | After (..., ...) | semmle.label | successor | +| patterns.cs:117:27:117:33 | After (..., ...) | patterns.cs:115:20:120:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:117:27:117:33 | Before (..., ...) | patterns.cs:117:28:117:29 | access to local variable y2 | semmle.label | successor | | patterns.cs:117:28:117:29 | access to local variable y2 | patterns.cs:117:32:117:32 | 0 | semmle.label | successor | | patterns.cs:117:32:117:32 | 0 | patterns.cs:117:27:117:33 | (..., ...) | semmle.label | successor | -| patterns.cs:118:13:118:23 | ( ... ) | patterns.cs:118:13:118:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:118:13:118:23 | ( ... ) | patterns.cs:118:14:118:19 | Int32 x2 | semmle.label | match | -| patterns.cs:118:13:118:23 | [match] { ... } | patterns.cs:118:29:118:29 | 0 | semmle.label | match | -| patterns.cs:118:13:118:23 | [no-match] { ... } | patterns.cs:119:13:119:28 | ( ... ) | semmle.label | no-match | -| patterns.cs:118:13:118:34 | ... => ... | patterns.cs:115:20:120:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:118:14:118:19 | Int32 x2 | patterns.cs:118:13:118:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:118:14:118:19 | Int32 x2 | patterns.cs:118:22:118:22 | 0 | semmle.label | match | -| patterns.cs:118:22:118:22 | 0 | patterns.cs:118:13:118:23 | [match] { ... } | semmle.label | match | -| patterns.cs:118:22:118:22 | 0 | patterns.cs:118:13:118:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:118:28:118:34 | (..., ...) | patterns.cs:118:13:118:34 | ... => ... | semmle.label | successor | +| patterns.cs:118:13:118:23 | ( ... ) | patterns.cs:118:13:118:23 | After ( ... ) | semmle.label | successor | +| patterns.cs:118:13:118:23 | After ( ... ) | patterns.cs:118:13:118:23 | { ... } | semmle.label | successor | +| patterns.cs:118:13:118:23 | After { ... } | patterns.cs:118:28:118:34 | Before (..., ...) | semmle.label | successor | +| patterns.cs:118:13:118:23 | Before ( ... ) | patterns.cs:118:14:118:19 | Int32 x2 | semmle.label | successor | +| patterns.cs:118:13:118:23 | Before { ... } | patterns.cs:118:13:118:23 | Before ( ... ) | semmle.label | successor | +| patterns.cs:118:13:118:23 | { ... } | patterns.cs:118:13:118:23 | After { ... } | semmle.label | successor | +| patterns.cs:118:13:118:34 | ... => ... | patterns.cs:118:13:118:34 | After ... => ... [match] | semmle.label | match | +| patterns.cs:118:13:118:34 | ... => ... | patterns.cs:118:13:118:34 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:118:13:118:34 | After ... => ... [match] | patterns.cs:118:13:118:23 | Before { ... } | semmle.label | successor | +| patterns.cs:118:13:118:34 | After ... => ... [no-match] | patterns.cs:119:13:119:38 | ... => ... | semmle.label | successor | +| patterns.cs:118:14:118:19 | Int32 x2 | patterns.cs:118:22:118:22 | 0 | semmle.label | successor | +| patterns.cs:118:22:118:22 | 0 | patterns.cs:118:13:118:23 | ( ... ) | semmle.label | successor | +| patterns.cs:118:28:118:34 | (..., ...) | patterns.cs:118:28:118:34 | After (..., ...) | semmle.label | successor | +| patterns.cs:118:28:118:34 | After (..., ...) | patterns.cs:115:20:120:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:118:28:118:34 | Before (..., ...) | patterns.cs:118:29:118:29 | 0 | semmle.label | successor | | patterns.cs:118:29:118:29 | 0 | patterns.cs:118:32:118:33 | access to local variable x2 | semmle.label | successor | | patterns.cs:118:32:118:33 | access to local variable x2 | patterns.cs:118:28:118:34 | (..., ...) | semmle.label | successor | -| patterns.cs:119:13:119:28 | ( ... ) | patterns.cs:119:13:119:28 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:119:13:119:28 | ( ... ) | patterns.cs:119:14:119:19 | Int32 x2 | semmle.label | match | -| patterns.cs:119:13:119:28 | [match] { ... } | patterns.cs:98:10:98:20 | exit Expressions (abnormal) | semmle.label | exception | -| patterns.cs:119:13:119:28 | [match] { ... } | patterns.cs:119:34:119:34 | 0 | semmle.label | match | -| patterns.cs:119:13:119:28 | [no-match] { ... } | patterns.cs:98:10:98:20 | exit Expressions (abnormal) | semmle.label | exception | -| patterns.cs:119:13:119:38 | ... => ... | patterns.cs:115:20:120:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:119:14:119:19 | Int32 x2 | patterns.cs:119:13:119:28 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:119:14:119:19 | Int32 x2 | patterns.cs:119:22:119:27 | Int32 y2 | semmle.label | match | -| patterns.cs:119:22:119:27 | Int32 y2 | patterns.cs:119:13:119:28 | [match] { ... } | semmle.label | match | -| patterns.cs:119:22:119:27 | Int32 y2 | patterns.cs:119:13:119:28 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:119:33:119:38 | (..., ...) | patterns.cs:119:13:119:38 | ... => ... | semmle.label | successor | +| patterns.cs:119:13:119:28 | ( ... ) | patterns.cs:119:13:119:28 | After ( ... ) | semmle.label | successor | +| patterns.cs:119:13:119:28 | After ( ... ) | patterns.cs:119:13:119:28 | { ... } | semmle.label | successor | +| patterns.cs:119:13:119:28 | After { ... } | patterns.cs:119:33:119:38 | Before (..., ...) | semmle.label | successor | +| patterns.cs:119:13:119:28 | Before ( ... ) | patterns.cs:119:14:119:19 | Int32 x2 | semmle.label | successor | +| patterns.cs:119:13:119:28 | Before { ... } | patterns.cs:119:13:119:28 | Before ( ... ) | semmle.label | successor | +| patterns.cs:119:13:119:28 | { ... } | patterns.cs:119:13:119:28 | After { ... } | semmle.label | successor | +| patterns.cs:119:13:119:38 | ... => ... | patterns.cs:119:13:119:38 | After ... => ... [match] | semmle.label | match | +| patterns.cs:119:13:119:38 | ... => ... | patterns.cs:119:13:119:38 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:119:13:119:38 | After ... => ... [match] | patterns.cs:119:13:119:28 | Before { ... } | semmle.label | successor | +| patterns.cs:119:13:119:38 | After ... => ... [no-match] | patterns.cs:115:20:120:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:119:14:119:19 | Int32 x2 | patterns.cs:119:22:119:27 | Int32 y2 | semmle.label | successor | +| patterns.cs:119:22:119:27 | Int32 y2 | patterns.cs:119:13:119:28 | ( ... ) | semmle.label | successor | +| patterns.cs:119:33:119:38 | (..., ...) | patterns.cs:119:33:119:38 | After (..., ...) | semmle.label | successor | +| patterns.cs:119:33:119:38 | After (..., ...) | patterns.cs:115:20:120:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:119:33:119:38 | Before (..., ...) | patterns.cs:119:34:119:34 | 0 | semmle.label | successor | | patterns.cs:119:34:119:34 | 0 | patterns.cs:119:37:119:37 | 0 | semmle.label | successor | | patterns.cs:119:37:119:37 | 0 | patterns.cs:119:33:119:38 | (..., ...) | semmle.label | successor | -| patterns.cs:123:10:123:21 | enter Expressions2 | patterns.cs:124:5:149:5 | {...} | semmle.label | successor | -| patterns.cs:123:10:123:21 | exit Expressions2 (abnormal) | patterns.cs:123:10:123:21 | exit Expressions2 | semmle.label | successor | -| patterns.cs:123:10:123:21 | exit Expressions2 (normal) | patterns.cs:123:10:123:21 | exit Expressions2 | semmle.label | successor | +| patterns.cs:123:10:123:21 | Entry | patterns.cs:124:5:149:5 | {...} | semmle.label | successor | +| patterns.cs:123:10:123:21 | Exceptional Exit | patterns.cs:123:10:123:21 | Exit | semmle.label | successor | +| patterns.cs:123:10:123:21 | Normal Exit | patterns.cs:123:10:123:21 | Exit | semmle.label | successor | +| patterns.cs:124:5:149:5 | After {...} | patterns.cs:123:10:123:21 | Normal Exit | semmle.label | successor | | patterns.cs:124:5:149:5 | {...} | patterns.cs:125:9:125:39 | ... ...; | semmle.label | successor | -| patterns.cs:125:9:125:39 | ... ...; | patterns.cs:125:17:125:38 | object creation of type MyStruct | semmle.label | successor | -| patterns.cs:125:13:125:38 | MyStruct s = ... | patterns.cs:126:9:132:10 | ... ...; | semmle.label | successor | -| patterns.cs:125:17:125:38 | object creation of type MyStruct | patterns.cs:125:36:125:36 | 0 | semmle.label | successor | -| patterns.cs:125:30:125:38 | { ..., ... } | patterns.cs:125:13:125:38 | MyStruct s = ... | semmle.label | successor | -| patterns.cs:125:32:125:32 | access to field X | patterns.cs:125:32:125:36 | ... = ... | semmle.label | successor | -| patterns.cs:125:32:125:36 | ... = ... | patterns.cs:125:30:125:38 | { ..., ... } | semmle.label | successor | -| patterns.cs:125:36:125:36 | 0 | patterns.cs:125:32:125:32 | access to field X | semmle.label | successor | -| patterns.cs:126:9:132:10 | ... ...; | patterns.cs:126:17:126:17 | access to local variable s | semmle.label | successor | -| patterns.cs:126:13:132:9 | Int32 r = ... | patterns.cs:134:9:148:9 | try {...} ... | semmle.label | successor | -| patterns.cs:126:17:126:17 | access to local variable s | patterns.cs:128:13:128:20 | access to type MyStruct | semmle.label | successor | -| patterns.cs:126:17:132:9 | ... switch { ... } | patterns.cs:126:13:132:9 | Int32 r = ... | semmle.label | successor | -| patterns.cs:128:13:128:20 | access to type MyStruct | patterns.cs:128:13:128:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:128:13:128:20 | access to type MyStruct | patterns.cs:128:27:128:31 | Int32 x | semmle.label | match | -| patterns.cs:128:13:128:33 | [match] { ... } | patterns.cs:128:40:128:40 | access to local variable x | semmle.label | match | -| patterns.cs:128:13:128:33 | [no-match] { ... } | patterns.cs:129:13:129:33 | MyStruct ms | semmle.label | no-match | -| patterns.cs:128:13:128:49 | ... => ... | patterns.cs:126:17:132:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:128:22:128:33 | [match] { ... } | patterns.cs:128:13:128:33 | [match] { ... } | semmle.label | match | -| patterns.cs:128:22:128:33 | [no-match] { ... } | patterns.cs:128:13:128:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:128:27:128:31 | Int32 x | patterns.cs:128:22:128:33 | [match] { ... } | semmle.label | match | -| patterns.cs:128:27:128:31 | Int32 x | patterns.cs:128:22:128:33 | [no-match] { ... } | semmle.label | no-match | +| patterns.cs:125:9:125:39 | ... ...; | patterns.cs:125:13:125:38 | Before MyStruct s = ... | semmle.label | successor | +| patterns.cs:125:9:125:39 | After ... ...; | patterns.cs:126:9:132:10 | ... ...; | semmle.label | successor | +| patterns.cs:125:13:125:13 | access to local variable s | patterns.cs:125:17:125:38 | Before object creation of type MyStruct | semmle.label | successor | +| patterns.cs:125:13:125:38 | After MyStruct s = ... | patterns.cs:125:9:125:39 | After ... ...; | semmle.label | successor | +| patterns.cs:125:13:125:38 | Before MyStruct s = ... | patterns.cs:125:13:125:13 | access to local variable s | semmle.label | successor | +| patterns.cs:125:13:125:38 | MyStruct s = ... | patterns.cs:125:13:125:38 | After MyStruct s = ... | semmle.label | successor | +| patterns.cs:125:17:125:38 | After object creation of type MyStruct | patterns.cs:125:13:125:38 | MyStruct s = ... | semmle.label | successor | +| patterns.cs:125:17:125:38 | Before object creation of type MyStruct | patterns.cs:125:17:125:38 | object creation of type MyStruct | semmle.label | successor | +| patterns.cs:125:17:125:38 | object creation of type MyStruct | patterns.cs:125:30:125:38 | Before { ..., ... } | semmle.label | successor | +| patterns.cs:125:30:125:38 | After { ..., ... } | patterns.cs:125:17:125:38 | After object creation of type MyStruct | semmle.label | successor | +| patterns.cs:125:30:125:38 | Before { ..., ... } | patterns.cs:125:32:125:36 | Before ... = ... | semmle.label | successor | +| patterns.cs:125:30:125:38 | { ..., ... } | patterns.cs:125:30:125:38 | After { ..., ... } | semmle.label | successor | +| patterns.cs:125:32:125:32 | access to field X | patterns.cs:125:36:125:36 | 0 | semmle.label | successor | +| patterns.cs:125:32:125:36 | ... = ... | patterns.cs:125:32:125:36 | After ... = ... | semmle.label | successor | +| patterns.cs:125:32:125:36 | After ... = ... | patterns.cs:125:30:125:38 | { ..., ... } | semmle.label | successor | +| patterns.cs:125:32:125:36 | Before ... = ... | patterns.cs:125:32:125:32 | access to field X | semmle.label | successor | +| patterns.cs:125:36:125:36 | 0 | patterns.cs:125:32:125:36 | ... = ... | semmle.label | successor | +| patterns.cs:126:9:132:10 | ... ...; | patterns.cs:126:13:132:9 | Before Int32 r = ... | semmle.label | successor | +| patterns.cs:126:9:132:10 | After ... ...; | patterns.cs:134:9:148:9 | try {...} ... | semmle.label | successor | +| patterns.cs:126:13:126:13 | access to local variable r | patterns.cs:126:17:132:9 | ... switch { ... } | semmle.label | successor | +| patterns.cs:126:13:132:9 | After Int32 r = ... | patterns.cs:126:9:132:10 | After ... ...; | semmle.label | successor | +| patterns.cs:126:13:132:9 | Before Int32 r = ... | patterns.cs:126:13:126:13 | access to local variable r | semmle.label | successor | +| patterns.cs:126:13:132:9 | Int32 r = ... | patterns.cs:126:13:132:9 | After Int32 r = ... | semmle.label | successor | +| patterns.cs:126:17:126:17 | access to local variable s | patterns.cs:128:13:128:49 | ... => ... | semmle.label | successor | +| patterns.cs:126:17:132:9 | ... switch { ... } | patterns.cs:126:17:126:17 | access to local variable s | semmle.label | successor | +| patterns.cs:126:17:132:9 | After ... switch { ... } | patterns.cs:126:13:132:9 | Int32 r = ... | semmle.label | successor | +| patterns.cs:128:13:128:20 | access to type MyStruct | patterns.cs:128:22:128:33 | Before { ... } | semmle.label | successor | +| patterns.cs:128:13:128:33 | After { ... } | patterns.cs:128:40:128:44 | Before ... > ... | semmle.label | successor | +| patterns.cs:128:13:128:33 | Before { ... } | patterns.cs:128:13:128:20 | access to type MyStruct | semmle.label | successor | +| patterns.cs:128:13:128:33 | { ... } | patterns.cs:128:13:128:33 | After { ... } | semmle.label | successor | +| patterns.cs:128:13:128:49 | ... => ... | patterns.cs:128:13:128:49 | After ... => ... [match] | semmle.label | match | +| patterns.cs:128:13:128:49 | ... => ... | patterns.cs:128:13:128:49 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:128:13:128:49 | After ... => ... [match] | patterns.cs:128:13:128:33 | Before { ... } | semmle.label | successor | +| patterns.cs:128:13:128:49 | After ... => ... [no-match] | patterns.cs:129:13:129:38 | ... => ... | semmle.label | successor | +| patterns.cs:128:22:128:33 | After { ... } | patterns.cs:128:13:128:33 | { ... } | semmle.label | successor | +| patterns.cs:128:22:128:33 | Before { ... } | patterns.cs:128:27:128:31 | Int32 x | semmle.label | successor | +| patterns.cs:128:22:128:33 | { ... } | patterns.cs:128:22:128:33 | After { ... } | semmle.label | successor | +| patterns.cs:128:27:128:31 | Int32 x | patterns.cs:128:22:128:33 | { ... } | semmle.label | successor | | patterns.cs:128:40:128:40 | access to local variable x | patterns.cs:128:44:128:44 | 2 | semmle.label | successor | -| patterns.cs:128:40:128:44 | ... > ... | patterns.cs:128:49:128:49 | 0 | semmle.label | true | -| patterns.cs:128:40:128:44 | ... > ... | patterns.cs:129:13:129:33 | MyStruct ms | semmle.label | false | +| patterns.cs:128:40:128:44 | ... > ... | patterns.cs:128:40:128:44 | After ... > ... [false] | semmle.label | false | +| patterns.cs:128:40:128:44 | ... > ... | patterns.cs:128:40:128:44 | After ... > ... [true] | semmle.label | true | +| patterns.cs:128:40:128:44 | After ... > ... [false] | patterns.cs:129:13:129:38 | ... => ... | semmle.label | successor | +| patterns.cs:128:40:128:44 | After ... > ... [true] | patterns.cs:128:49:128:49 | 0 | semmle.label | successor | +| patterns.cs:128:40:128:44 | Before ... > ... | patterns.cs:128:40:128:40 | access to local variable x | semmle.label | successor | | patterns.cs:128:44:128:44 | 2 | patterns.cs:128:40:128:44 | ... > ... | semmle.label | successor | -| patterns.cs:128:49:128:49 | 0 | patterns.cs:128:13:128:49 | ... => ... | semmle.label | successor | -| patterns.cs:129:13:129:33 | MyStruct ms | patterns.cs:129:13:129:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:129:13:129:33 | MyStruct ms | patterns.cs:129:27:129:28 | 10 | semmle.label | match | -| patterns.cs:129:13:129:33 | [match] { ... } | patterns.cs:129:38:129:38 | 1 | semmle.label | match | -| patterns.cs:129:13:129:33 | [no-match] { ... } | patterns.cs:130:13:130:18 | ( ... ) | semmle.label | no-match | -| patterns.cs:129:13:129:38 | ... => ... | patterns.cs:126:17:132:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:129:22:129:30 | [match] { ... } | patterns.cs:129:13:129:33 | [match] { ... } | semmle.label | match | -| patterns.cs:129:22:129:30 | [no-match] { ... } | patterns.cs:129:13:129:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:129:27:129:28 | 10 | patterns.cs:129:22:129:30 | [match] { ... } | semmle.label | match | -| patterns.cs:129:27:129:28 | 10 | patterns.cs:129:22:129:30 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:129:38:129:38 | 1 | patterns.cs:129:13:129:38 | ... => ... | semmle.label | successor | -| patterns.cs:130:13:130:18 | ( ... ) | patterns.cs:130:13:130:18 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:130:13:130:18 | ( ... ) | patterns.cs:130:14:130:14 | 1 | semmle.label | match | -| patterns.cs:130:13:130:18 | [match] { ... } | patterns.cs:130:23:130:23 | 2 | semmle.label | match | -| patterns.cs:130:13:130:18 | [no-match] { ... } | patterns.cs:131:18:131:18 | Int32 x | semmle.label | no-match | -| patterns.cs:130:13:130:23 | ... => ... | patterns.cs:126:17:132:9 | ... switch { ... } | semmle.label | successor | -| patterns.cs:130:14:130:14 | 1 | patterns.cs:130:13:130:18 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:130:14:130:14 | 1 | patterns.cs:130:17:130:17 | 2 | semmle.label | match | -| patterns.cs:130:17:130:17 | 2 | patterns.cs:130:13:130:18 | [match] { ... } | semmle.label | match | -| patterns.cs:130:17:130:17 | 2 | patterns.cs:130:13:130:18 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:130:23:130:23 | 2 | patterns.cs:130:13:130:23 | ... => ... | semmle.label | successor | -| patterns.cs:131:13:131:22 | (..., ...) | patterns.cs:123:10:123:21 | exit Expressions2 (abnormal) | semmle.label | exception | -| patterns.cs:131:13:131:22 | (..., ...) | patterns.cs:131:27:131:27 | 3 | semmle.label | match | -| patterns.cs:131:13:131:27 | ... => ... | patterns.cs:126:17:132:9 | ... switch { ... } | semmle.label | successor | +| patterns.cs:128:49:128:49 | 0 | patterns.cs:126:17:132:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:129:13:129:20 | access to type MyStruct | patterns.cs:129:22:129:30 | Before { ... } | semmle.label | successor | +| patterns.cs:129:13:129:33 | After { ... } | patterns.cs:129:38:129:38 | 1 | semmle.label | successor | +| patterns.cs:129:13:129:33 | Before { ... } | patterns.cs:129:13:129:33 | MyStruct ms | semmle.label | successor | +| patterns.cs:129:13:129:33 | MyStruct ms | patterns.cs:129:13:129:20 | access to type MyStruct | semmle.label | successor | +| patterns.cs:129:13:129:33 | { ... } | patterns.cs:129:13:129:33 | After { ... } | semmle.label | successor | +| patterns.cs:129:13:129:38 | ... => ... | patterns.cs:129:13:129:38 | After ... => ... [match] | semmle.label | match | +| patterns.cs:129:13:129:38 | ... => ... | patterns.cs:129:13:129:38 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:129:13:129:38 | After ... => ... [match] | patterns.cs:129:13:129:33 | Before { ... } | semmle.label | successor | +| patterns.cs:129:13:129:38 | After ... => ... [no-match] | patterns.cs:130:13:130:23 | ... => ... | semmle.label | successor | +| patterns.cs:129:22:129:30 | After { ... } | patterns.cs:129:13:129:33 | { ... } | semmle.label | successor | +| patterns.cs:129:22:129:30 | Before { ... } | patterns.cs:129:27:129:28 | 10 | semmle.label | successor | +| patterns.cs:129:22:129:30 | { ... } | patterns.cs:129:22:129:30 | After { ... } | semmle.label | successor | +| patterns.cs:129:27:129:28 | 10 | patterns.cs:129:22:129:30 | { ... } | semmle.label | successor | +| patterns.cs:129:38:129:38 | 1 | patterns.cs:126:17:132:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:130:13:130:18 | ( ... ) | patterns.cs:130:13:130:18 | After ( ... ) | semmle.label | successor | +| patterns.cs:130:13:130:18 | After ( ... ) | patterns.cs:130:13:130:18 | { ... } | semmle.label | successor | +| patterns.cs:130:13:130:18 | After { ... } | patterns.cs:130:23:130:23 | 2 | semmle.label | successor | +| patterns.cs:130:13:130:18 | Before ( ... ) | patterns.cs:130:14:130:14 | 1 | semmle.label | successor | +| patterns.cs:130:13:130:18 | Before { ... } | patterns.cs:130:13:130:18 | Before ( ... ) | semmle.label | successor | +| patterns.cs:130:13:130:18 | { ... } | patterns.cs:130:13:130:18 | After { ... } | semmle.label | successor | +| patterns.cs:130:13:130:23 | ... => ... | patterns.cs:130:13:130:23 | After ... => ... [match] | semmle.label | match | +| patterns.cs:130:13:130:23 | ... => ... | patterns.cs:130:13:130:23 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:130:13:130:23 | After ... => ... [match] | patterns.cs:130:13:130:18 | Before { ... } | semmle.label | successor | +| patterns.cs:130:13:130:23 | After ... => ... [no-match] | patterns.cs:131:13:131:27 | ... => ... | semmle.label | successor | +| patterns.cs:130:14:130:14 | 1 | patterns.cs:130:17:130:17 | 2 | semmle.label | successor | +| patterns.cs:130:17:130:17 | 2 | patterns.cs:130:13:130:18 | ( ... ) | semmle.label | successor | +| patterns.cs:130:23:130:23 | 2 | patterns.cs:126:17:132:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:131:13:131:22 | (..., ...) | patterns.cs:131:13:131:22 | After (..., ...) | semmle.label | successor | +| patterns.cs:131:13:131:22 | After (..., ...) | patterns.cs:131:27:131:27 | 3 | semmle.label | successor | +| patterns.cs:131:13:131:22 | Before (..., ...) | patterns.cs:131:18:131:18 | Int32 x | semmle.label | successor | +| patterns.cs:131:13:131:27 | ... => ... | patterns.cs:131:13:131:27 | After ... => ... [match] | semmle.label | match | +| patterns.cs:131:13:131:27 | ... => ... | patterns.cs:131:13:131:27 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:131:13:131:27 | After ... => ... [match] | patterns.cs:131:13:131:22 | Before (..., ...) | semmle.label | successor | +| patterns.cs:131:13:131:27 | After ... => ... [no-match] | patterns.cs:126:17:132:9 | After ... switch { ... } | semmle.label | successor | | patterns.cs:131:18:131:18 | Int32 x | patterns.cs:131:21:131:21 | _ | semmle.label | successor | | patterns.cs:131:21:131:21 | _ | patterns.cs:131:13:131:22 | (..., ...) | semmle.label | successor | -| patterns.cs:131:27:131:27 | 3 | patterns.cs:131:13:131:27 | ... => ... | semmle.label | successor | +| patterns.cs:131:27:131:27 | 3 | patterns.cs:126:17:132:9 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:134:9:148:9 | After try {...} ... | patterns.cs:124:5:149:5 | After {...} | semmle.label | successor | | patterns.cs:134:9:148:9 | try {...} ... | patterns.cs:135:9:144:9 | {...} | semmle.label | successor | +| patterns.cs:135:9:144:9 | After {...} | patterns.cs:134:9:148:9 | After try {...} ... | semmle.label | successor | | patterns.cs:135:9:144:9 | {...} | patterns.cs:136:13:143:14 | ...; | semmle.label | successor | -| patterns.cs:136:13:143:13 | ... = ... | patterns.cs:123:10:123:21 | exit Expressions2 (normal) | semmle.label | successor | -| patterns.cs:136:13:143:14 | ...; | patterns.cs:136:17:136:17 | access to parameter o | semmle.label | successor | -| patterns.cs:136:17:136:17 | access to parameter o | patterns.cs:138:17:138:17 | 1 | semmle.label | successor | -| patterns.cs:136:17:143:13 | ... switch { ... } | patterns.cs:136:13:143:13 | ... = ... | semmle.label | successor | -| patterns.cs:138:17:138:17 | 1 | patterns.cs:138:28:138:50 | object creation of type ArgumentException | semmle.label | match | -| patterns.cs:138:17:138:17 | 1 | patterns.cs:139:17:139:17 | 2 | semmle.label | no-match | +| patterns.cs:136:13:136:13 | access to local variable r | patterns.cs:136:17:143:13 | ... switch { ... } | semmle.label | successor | +| patterns.cs:136:13:143:13 | ... = ... | patterns.cs:136:13:143:13 | After ... = ... | semmle.label | successor | +| patterns.cs:136:13:143:13 | After ... = ... | patterns.cs:136:13:143:14 | After ...; | semmle.label | successor | +| patterns.cs:136:13:143:13 | Before ... = ... | patterns.cs:136:13:136:13 | access to local variable r | semmle.label | successor | +| patterns.cs:136:13:143:14 | ...; | patterns.cs:136:13:143:13 | Before ... = ... | semmle.label | successor | +| patterns.cs:136:13:143:14 | After ...; | patterns.cs:135:9:144:9 | After {...} | semmle.label | successor | +| patterns.cs:136:17:136:17 | access to parameter o | patterns.cs:138:17:138:50 | ... => ... | semmle.label | successor | +| patterns.cs:136:17:143:13 | ... switch { ... } | patterns.cs:136:17:136:17 | access to parameter o | semmle.label | successor | +| patterns.cs:136:17:143:13 | After ... switch { ... } | patterns.cs:136:13:143:13 | ... = ... | semmle.label | successor | +| patterns.cs:138:17:138:17 | 1 | patterns.cs:138:22:138:50 | Before throw ... | semmle.label | successor | +| patterns.cs:138:17:138:50 | ... => ... | patterns.cs:138:17:138:50 | After ... => ... [match] | semmle.label | match | +| patterns.cs:138:17:138:50 | ... => ... | patterns.cs:138:17:138:50 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:138:17:138:50 | After ... => ... [match] | patterns.cs:138:17:138:17 | 1 | semmle.label | successor | +| patterns.cs:138:17:138:50 | After ... => ... [no-match] | patterns.cs:139:17:139:22 | ... => ... | semmle.label | successor | +| patterns.cs:138:22:138:50 | Before throw ... | patterns.cs:138:28:138:50 | Before object creation of type ArgumentException | semmle.label | successor | | patterns.cs:138:22:138:50 | throw ... | patterns.cs:145:9:148:9 | catch (...) {...} | semmle.label | exception | -| patterns.cs:138:28:138:50 | object creation of type ArgumentException | patterns.cs:138:22:138:50 | throw ... | semmle.label | successor | +| patterns.cs:138:28:138:50 | After object creation of type ArgumentException | patterns.cs:138:22:138:50 | throw ... | semmle.label | successor | +| patterns.cs:138:28:138:50 | Before object creation of type ArgumentException | patterns.cs:138:28:138:50 | object creation of type ArgumentException | semmle.label | successor | +| patterns.cs:138:28:138:50 | object creation of type ArgumentException | patterns.cs:138:28:138:50 | After object creation of type ArgumentException | semmle.label | successor | | patterns.cs:138:28:138:50 | object creation of type ArgumentException | patterns.cs:145:9:148:9 | catch (...) {...} | semmle.label | exception | -| patterns.cs:139:17:139:17 | 2 | patterns.cs:139:22:139:22 | 3 | semmle.label | match | -| patterns.cs:139:17:139:17 | 2 | patterns.cs:140:17:140:24 | Object y | semmle.label | no-match | -| patterns.cs:139:17:139:22 | ... => ... | patterns.cs:136:17:143:13 | ... switch { ... } | semmle.label | successor | -| patterns.cs:139:22:139:22 | 3 | patterns.cs:139:17:139:22 | ... => ... | semmle.label | successor | -| patterns.cs:140:17:140:24 | Object y | patterns.cs:140:31:140:31 | access to local variable y | semmle.label | match | -| patterns.cs:140:17:140:24 | Object y | patterns.cs:141:17:141:22 | access to type String | semmle.label | no-match | -| patterns.cs:140:17:140:42 | ... => ... | patterns.cs:136:17:143:13 | ... switch { ... } | semmle.label | successor | -| patterns.cs:140:31:140:31 | access to local variable y | patterns.cs:140:36:140:37 | { ... } | semmle.label | successor | -| patterns.cs:140:31:140:37 | [false] ... is ... | patterns.cs:141:17:141:22 | access to type String | semmle.label | false | -| patterns.cs:140:31:140:37 | [true] ... is ... | patterns.cs:140:42:140:42 | 4 | semmle.label | true | -| patterns.cs:140:36:140:37 | [match] { ... } | patterns.cs:140:31:140:37 | [true] ... is ... | semmle.label | match | -| patterns.cs:140:36:140:37 | [no-match] { ... } | patterns.cs:140:31:140:37 | [false] ... is ... | semmle.label | no-match | -| patterns.cs:140:36:140:37 | { ... } | patterns.cs:140:36:140:37 | [match] { ... } | semmle.label | match | -| patterns.cs:140:36:140:37 | { ... } | patterns.cs:140:36:140:37 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:140:42:140:42 | 4 | patterns.cs:140:17:140:42 | ... => ... | semmle.label | successor | -| patterns.cs:141:17:141:22 | access to type String | patterns.cs:141:29:141:29 | 5 | semmle.label | match | -| patterns.cs:141:17:141:22 | access to type String | patterns.cs:142:17:142:24 | access to type MyStruct | semmle.label | no-match | -| patterns.cs:141:17:141:29 | ... => ... | patterns.cs:136:17:143:13 | ... switch { ... } | semmle.label | successor | -| patterns.cs:141:29:141:29 | 5 | patterns.cs:141:17:141:29 | ... => ... | semmle.label | successor | -| patterns.cs:142:17:142:24 | access to type MyStruct | patterns.cs:142:17:142:36 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:142:17:142:24 | access to type MyStruct | patterns.cs:142:31:142:32 | 10 | semmle.label | match | -| patterns.cs:142:17:142:36 | [match] { ... } | patterns.cs:142:41:142:41 | 6 | semmle.label | match | -| patterns.cs:142:17:142:36 | [match] { ... } | patterns.cs:145:9:148:9 | catch (...) {...} | semmle.label | exception | -| patterns.cs:142:17:142:36 | [no-match] { ... } | patterns.cs:145:9:148:9 | catch (...) {...} | semmle.label | exception | -| patterns.cs:142:17:142:41 | ... => ... | patterns.cs:136:17:143:13 | ... switch { ... } | semmle.label | successor | -| patterns.cs:142:26:142:34 | [match] { ... } | patterns.cs:142:17:142:36 | [match] { ... } | semmle.label | match | -| patterns.cs:142:26:142:34 | [no-match] { ... } | patterns.cs:142:17:142:36 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:142:31:142:32 | 10 | patterns.cs:142:26:142:34 | [match] { ... } | semmle.label | match | -| patterns.cs:142:31:142:32 | 10 | patterns.cs:142:26:142:34 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:142:41:142:41 | 6 | patterns.cs:142:17:142:41 | ... => ... | semmle.label | successor | -| patterns.cs:145:9:148:9 | catch (...) {...} | patterns.cs:123:10:123:21 | exit Expressions2 (abnormal) | semmle.label | exception | -| patterns.cs:145:9:148:9 | catch (...) {...} | patterns.cs:145:41:145:42 | InvalidOperationException ex | semmle.label | match | +| patterns.cs:139:17:139:17 | 2 | patterns.cs:139:22:139:22 | 3 | semmle.label | successor | +| patterns.cs:139:17:139:22 | ... => ... | patterns.cs:139:17:139:22 | After ... => ... [match] | semmle.label | match | +| patterns.cs:139:17:139:22 | ... => ... | patterns.cs:139:17:139:22 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:139:17:139:22 | After ... => ... [match] | patterns.cs:139:17:139:17 | 2 | semmle.label | successor | +| patterns.cs:139:17:139:22 | After ... => ... [no-match] | patterns.cs:140:17:140:42 | ... => ... | semmle.label | successor | +| patterns.cs:139:22:139:22 | 3 | patterns.cs:136:17:143:13 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:140:17:140:24 | Object y | patterns.cs:140:31:140:37 | Before ... is ... | semmle.label | successor | +| patterns.cs:140:17:140:42 | ... => ... | patterns.cs:140:17:140:42 | After ... => ... [match] | semmle.label | match | +| patterns.cs:140:17:140:42 | ... => ... | patterns.cs:140:17:140:42 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:140:17:140:42 | After ... => ... [match] | patterns.cs:140:17:140:24 | Object y | semmle.label | successor | +| patterns.cs:140:17:140:42 | After ... => ... [no-match] | patterns.cs:141:17:141:29 | ... => ... | semmle.label | successor | +| patterns.cs:140:31:140:31 | access to local variable y | patterns.cs:140:31:140:37 | ... is ... | semmle.label | successor | +| patterns.cs:140:31:140:37 | ... is ... | patterns.cs:140:31:140:37 | After ... is ... [false] | semmle.label | false | +| patterns.cs:140:31:140:37 | ... is ... | patterns.cs:140:31:140:37 | [MatchTrue] ... is ... | semmle.label | true | +| patterns.cs:140:31:140:37 | After ... is ... [false] | patterns.cs:141:17:141:29 | ... => ... | semmle.label | successor | +| patterns.cs:140:31:140:37 | After ... is ... [true] | patterns.cs:140:42:140:42 | 4 | semmle.label | successor | +| patterns.cs:140:31:140:37 | Before ... is ... | patterns.cs:140:31:140:31 | access to local variable y | semmle.label | successor | +| patterns.cs:140:31:140:37 | [MatchTrue] ... is ... | patterns.cs:140:36:140:37 | Before { ... } | semmle.label | successor | +| patterns.cs:140:36:140:37 | After { ... } | patterns.cs:140:31:140:37 | After ... is ... [true] | semmle.label | true | +| patterns.cs:140:36:140:37 | Before { ... } | patterns.cs:140:36:140:37 | { ... } | semmle.label | successor | +| patterns.cs:140:36:140:37 | { ... } | patterns.cs:140:36:140:37 | After { ... } | semmle.label | successor | +| patterns.cs:140:36:140:37 | { ... } | patterns.cs:140:36:140:37 | { ... } | semmle.label | successor | +| patterns.cs:140:42:140:42 | 4 | patterns.cs:136:17:143:13 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:141:17:141:22 | access to type String | patterns.cs:141:29:141:29 | 5 | semmle.label | successor | +| patterns.cs:141:17:141:29 | ... => ... | patterns.cs:141:17:141:29 | After ... => ... [match] | semmle.label | match | +| patterns.cs:141:17:141:29 | ... => ... | patterns.cs:141:17:141:29 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:141:17:141:29 | After ... => ... [match] | patterns.cs:141:17:141:22 | access to type String | semmle.label | successor | +| patterns.cs:141:17:141:29 | After ... => ... [no-match] | patterns.cs:142:17:142:41 | ... => ... | semmle.label | successor | +| patterns.cs:141:29:141:29 | 5 | patterns.cs:136:17:143:13 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:142:17:142:24 | access to type MyStruct | patterns.cs:142:26:142:34 | Before { ... } | semmle.label | successor | +| patterns.cs:142:17:142:36 | After { ... } | patterns.cs:142:41:142:41 | 6 | semmle.label | successor | +| patterns.cs:142:17:142:36 | Before { ... } | patterns.cs:142:17:142:24 | access to type MyStruct | semmle.label | successor | +| patterns.cs:142:17:142:36 | { ... } | patterns.cs:142:17:142:36 | After { ... } | semmle.label | successor | +| patterns.cs:142:17:142:41 | ... => ... | patterns.cs:142:17:142:41 | After ... => ... [match] | semmle.label | match | +| patterns.cs:142:17:142:41 | ... => ... | patterns.cs:142:17:142:41 | After ... => ... [no-match] | semmle.label | no-match | +| patterns.cs:142:17:142:41 | After ... => ... [match] | patterns.cs:142:17:142:36 | Before { ... } | semmle.label | successor | +| patterns.cs:142:17:142:41 | After ... => ... [no-match] | patterns.cs:136:17:143:13 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:142:26:142:34 | After { ... } | patterns.cs:142:17:142:36 | { ... } | semmle.label | successor | +| patterns.cs:142:26:142:34 | Before { ... } | patterns.cs:142:31:142:32 | 10 | semmle.label | successor | +| patterns.cs:142:26:142:34 | { ... } | patterns.cs:142:26:142:34 | After { ... } | semmle.label | successor | +| patterns.cs:142:31:142:32 | 10 | patterns.cs:142:26:142:34 | { ... } | semmle.label | successor | +| patterns.cs:142:41:142:41 | 6 | patterns.cs:136:17:143:13 | After ... switch { ... } | semmle.label | successor | +| patterns.cs:145:9:148:9 | After catch (...) {...} [match] | patterns.cs:145:41:145:42 | InvalidOperationException ex | semmle.label | successor | +| patterns.cs:145:9:148:9 | After catch (...) {...} [no-match] | patterns.cs:123:10:123:21 | Exceptional Exit | semmle.label | exception | +| patterns.cs:145:9:148:9 | catch (...) {...} | patterns.cs:145:9:148:9 | After catch (...) {...} [match] | semmle.label | match | +| patterns.cs:145:9:148:9 | catch (...) {...} | patterns.cs:145:9:148:9 | After catch (...) {...} [no-match] | semmle.label | no-match | | patterns.cs:145:41:145:42 | InvalidOperationException ex | patterns.cs:146:9:148:9 | {...} | semmle.label | successor | +| patterns.cs:146:9:148:9 | After {...} | patterns.cs:134:9:148:9 | After try {...} ... | semmle.label | successor | | patterns.cs:146:9:148:9 | {...} | patterns.cs:147:13:147:51 | ...; | semmle.label | successor | -| patterns.cs:147:13:147:50 | call to method WriteLine | patterns.cs:123:10:123:21 | exit Expressions2 (normal) | semmle.label | successor | -| patterns.cs:147:13:147:51 | ...; | patterns.cs:147:31:147:49 | "Invalid operation" | semmle.label | successor | +| patterns.cs:147:13:147:50 | After call to method WriteLine | patterns.cs:147:13:147:51 | After ...; | semmle.label | successor | +| patterns.cs:147:13:147:50 | Before call to method WriteLine | patterns.cs:147:31:147:49 | "Invalid operation" | semmle.label | successor | +| patterns.cs:147:13:147:50 | call to method WriteLine | patterns.cs:147:13:147:50 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:147:13:147:51 | ...; | patterns.cs:147:13:147:50 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:147:13:147:51 | After ...; | patterns.cs:146:9:148:9 | After {...} | semmle.label | successor | | patterns.cs:147:31:147:49 | "Invalid operation" | patterns.cs:147:13:147:50 | call to method WriteLine | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.ql b/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.ql index 696f747b925..2eba0e54581 100644 --- a/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.ql +++ b/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.ql @@ -1,9 +1,9 @@ import csharp -query predicate edges(ControlFlow::Node a, ControlFlow::Node b, string label, string value) { +query predicate edges(ControlFlowNode a, ControlFlowNode b, string label, string value) { exists(ControlFlow::SuccessorType t | a.getEnclosingCallable().getName().matches("Expressions%") and - b = a.getASuccessorByType(t) and + b = a.getASuccessor(t) and label = "semmle.label" and value = t.toString() ) diff --git a/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected b/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected index 06e4623611b..0f9769342d1 100644 --- a/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected +++ b/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected @@ -1,201 +1,342 @@ -| patterns.cs:32:10:32:25 | enter SwitchStatements | patterns.cs:33:5:96:5 | {...} | semmle.label | successor | -| patterns.cs:32:10:32:25 | exit SwitchStatements (normal) | patterns.cs:32:10:32:25 | exit SwitchStatements | semmle.label | successor | +| patterns.cs:32:10:32:25 | Entry | patterns.cs:33:5:96:5 | {...} | semmle.label | successor | +| patterns.cs:32:10:32:25 | Normal Exit | patterns.cs:32:10:32:25 | Exit | semmle.label | successor | +| patterns.cs:33:5:96:5 | After {...} | patterns.cs:32:10:32:25 | Normal Exit | semmle.label | successor | | patterns.cs:33:5:96:5 | {...} | patterns.cs:34:9:34:39 | ... ...; | semmle.label | successor | -| patterns.cs:34:9:34:39 | ... ...; | patterns.cs:34:17:34:38 | object creation of type MyStruct | semmle.label | successor | -| patterns.cs:34:13:34:38 | MyStruct s = ... | patterns.cs:36:9:44:9 | switch (...) {...} | semmle.label | successor | -| patterns.cs:34:17:34:38 | object creation of type MyStruct | patterns.cs:34:36:34:36 | 0 | semmle.label | successor | -| patterns.cs:34:30:34:38 | { ..., ... } | patterns.cs:34:13:34:38 | MyStruct s = ... | semmle.label | successor | -| patterns.cs:34:32:34:32 | access to field X | patterns.cs:34:32:34:36 | ... = ... | semmle.label | successor | -| patterns.cs:34:32:34:36 | ... = ... | patterns.cs:34:30:34:38 | { ..., ... } | semmle.label | successor | -| patterns.cs:34:36:34:36 | 0 | patterns.cs:34:32:34:32 | access to field X | semmle.label | successor | +| patterns.cs:34:9:34:39 | ... ...; | patterns.cs:34:13:34:38 | Before MyStruct s = ... | semmle.label | successor | +| patterns.cs:34:9:34:39 | After ... ...; | patterns.cs:36:9:44:9 | switch (...) {...} | semmle.label | successor | +| patterns.cs:34:13:34:13 | access to local variable s | patterns.cs:34:17:34:38 | Before object creation of type MyStruct | semmle.label | successor | +| patterns.cs:34:13:34:38 | After MyStruct s = ... | patterns.cs:34:9:34:39 | After ... ...; | semmle.label | successor | +| patterns.cs:34:13:34:38 | Before MyStruct s = ... | patterns.cs:34:13:34:13 | access to local variable s | semmle.label | successor | +| patterns.cs:34:13:34:38 | MyStruct s = ... | patterns.cs:34:13:34:38 | After MyStruct s = ... | semmle.label | successor | +| patterns.cs:34:17:34:38 | After object creation of type MyStruct | patterns.cs:34:13:34:38 | MyStruct s = ... | semmle.label | successor | +| patterns.cs:34:17:34:38 | Before object creation of type MyStruct | patterns.cs:34:17:34:38 | object creation of type MyStruct | semmle.label | successor | +| patterns.cs:34:17:34:38 | object creation of type MyStruct | patterns.cs:34:30:34:38 | Before { ..., ... } | semmle.label | successor | +| patterns.cs:34:30:34:38 | After { ..., ... } | patterns.cs:34:17:34:38 | After object creation of type MyStruct | semmle.label | successor | +| patterns.cs:34:30:34:38 | Before { ..., ... } | patterns.cs:34:32:34:36 | Before ... = ... | semmle.label | successor | +| patterns.cs:34:30:34:38 | { ..., ... } | patterns.cs:34:30:34:38 | After { ..., ... } | semmle.label | successor | +| patterns.cs:34:32:34:32 | access to field X | patterns.cs:34:36:34:36 | 0 | semmle.label | successor | +| patterns.cs:34:32:34:36 | ... = ... | patterns.cs:34:32:34:36 | After ... = ... | semmle.label | successor | +| patterns.cs:34:32:34:36 | After ... = ... | patterns.cs:34:30:34:38 | { ..., ... } | semmle.label | successor | +| patterns.cs:34:32:34:36 | Before ... = ... | patterns.cs:34:32:34:32 | access to field X | semmle.label | successor | +| patterns.cs:34:36:34:36 | 0 | patterns.cs:34:32:34:36 | ... = ... | semmle.label | successor | +| patterns.cs:36:9:44:9 | After switch (...) {...} | patterns.cs:46:9:63:9 | switch (...) {...} | semmle.label | successor | | patterns.cs:36:9:44:9 | switch (...) {...} | patterns.cs:36:17:36:17 | access to local variable s | semmle.label | successor | | patterns.cs:36:17:36:17 | access to local variable s | patterns.cs:38:13:38:47 | case ...: | semmle.label | successor | -| patterns.cs:38:13:38:47 | case ...: | patterns.cs:38:18:38:29 | MyStruct ms1 | semmle.label | successor | -| patterns.cs:38:18:38:29 | MyStruct ms1 | patterns.cs:38:36:38:38 | access to local variable ms1 | semmle.label | match | -| patterns.cs:38:18:38:29 | MyStruct ms1 | patterns.cs:41:13:41:46 | case ...: | semmle.label | no-match | +| patterns.cs:38:13:38:47 | After case ...: [match] | patterns.cs:38:18:38:29 | MyStruct ms1 | semmle.label | successor | +| patterns.cs:38:13:38:47 | After case ...: [no-match] | patterns.cs:41:13:41:46 | case ...: | semmle.label | successor | +| patterns.cs:38:13:38:47 | case ...: | patterns.cs:38:13:38:47 | After case ...: [match] | semmle.label | match | +| patterns.cs:38:13:38:47 | case ...: | patterns.cs:38:13:38:47 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:38:18:38:29 | MyStruct ms1 | patterns.cs:38:36:38:46 | Before ... == ... | semmle.label | successor | | patterns.cs:38:36:38:38 | access to local variable ms1 | patterns.cs:38:36:38:40 | access to field X | semmle.label | successor | -| patterns.cs:38:36:38:40 | access to field X | patterns.cs:38:45:38:46 | 10 | semmle.label | successor | -| patterns.cs:38:36:38:46 | ... == ... | patterns.cs:39:17:39:56 | ...; | semmle.label | true | -| patterns.cs:38:36:38:46 | ... == ... | patterns.cs:41:13:41:46 | case ...: | semmle.label | false | +| patterns.cs:38:36:38:40 | After access to field X | patterns.cs:38:45:38:46 | 10 | semmle.label | successor | +| patterns.cs:38:36:38:40 | Before access to field X | patterns.cs:38:36:38:38 | access to local variable ms1 | semmle.label | successor | +| patterns.cs:38:36:38:40 | access to field X | patterns.cs:38:36:38:40 | After access to field X | semmle.label | successor | +| patterns.cs:38:36:38:46 | ... == ... | patterns.cs:38:36:38:46 | After ... == ... [false] | semmle.label | false | +| patterns.cs:38:36:38:46 | ... == ... | patterns.cs:38:36:38:46 | After ... == ... [true] | semmle.label | true | +| patterns.cs:38:36:38:46 | After ... == ... [false] | patterns.cs:41:13:41:46 | case ...: | semmle.label | successor | +| patterns.cs:38:36:38:46 | After ... == ... [true] | patterns.cs:39:17:39:56 | ...; | semmle.label | successor | +| patterns.cs:38:36:38:46 | Before ... == ... | patterns.cs:38:36:38:40 | Before access to field X | semmle.label | successor | | patterns.cs:38:45:38:46 | 10 | patterns.cs:38:36:38:46 | ... == ... | semmle.label | successor | -| patterns.cs:39:17:39:55 | call to method WriteLine | patterns.cs:40:17:40:22 | break; | semmle.label | successor | -| patterns.cs:39:17:39:56 | ...; | patterns.cs:39:35:39:54 | "Hit the breakpoint" | semmle.label | successor | +| patterns.cs:39:17:39:55 | After call to method WriteLine | patterns.cs:39:17:39:56 | After ...; | semmle.label | successor | +| patterns.cs:39:17:39:55 | Before call to method WriteLine | patterns.cs:39:35:39:54 | "Hit the breakpoint" | semmle.label | successor | +| patterns.cs:39:17:39:55 | call to method WriteLine | patterns.cs:39:17:39:55 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:39:17:39:56 | ...; | patterns.cs:39:17:39:55 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:39:17:39:56 | After ...; | patterns.cs:40:17:40:22 | Before break; | semmle.label | successor | | patterns.cs:39:35:39:54 | "Hit the breakpoint" | patterns.cs:39:17:39:55 | call to method WriteLine | semmle.label | successor | -| patterns.cs:40:17:40:22 | break; | patterns.cs:46:9:63:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:41:13:41:46 | case ...: | patterns.cs:41:18:41:29 | MyStruct ms2 | semmle.label | successor | -| patterns.cs:41:18:41:29 | MyStruct ms2 | patterns.cs:41:36:41:38 | access to local variable ms2 | semmle.label | match | -| patterns.cs:41:18:41:29 | MyStruct ms2 | patterns.cs:46:9:63:9 | switch (...) {...} | semmle.label | no-match | +| patterns.cs:40:17:40:22 | Before break; | patterns.cs:40:17:40:22 | break; | semmle.label | successor | +| patterns.cs:40:17:40:22 | break; | patterns.cs:36:9:44:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:41:13:41:46 | After case ...: [match] | patterns.cs:41:18:41:29 | MyStruct ms2 | semmle.label | successor | +| patterns.cs:41:13:41:46 | After case ...: [no-match] | patterns.cs:36:9:44:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:41:13:41:46 | case ...: | patterns.cs:41:13:41:46 | After case ...: [match] | semmle.label | match | +| patterns.cs:41:13:41:46 | case ...: | patterns.cs:41:13:41:46 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:41:18:41:29 | MyStruct ms2 | patterns.cs:41:36:41:45 | Before ... < ... | semmle.label | successor | | patterns.cs:41:36:41:38 | access to local variable ms2 | patterns.cs:41:36:41:40 | access to field X | semmle.label | successor | -| patterns.cs:41:36:41:40 | access to field X | patterns.cs:41:44:41:45 | 10 | semmle.label | successor | -| patterns.cs:41:36:41:45 | ... < ... | patterns.cs:42:17:42:59 | ...; | semmle.label | true | -| patterns.cs:41:36:41:45 | ... < ... | patterns.cs:46:9:63:9 | switch (...) {...} | semmle.label | false | +| patterns.cs:41:36:41:40 | After access to field X | patterns.cs:41:44:41:45 | 10 | semmle.label | successor | +| patterns.cs:41:36:41:40 | Before access to field X | patterns.cs:41:36:41:38 | access to local variable ms2 | semmle.label | successor | +| patterns.cs:41:36:41:40 | access to field X | patterns.cs:41:36:41:40 | After access to field X | semmle.label | successor | +| patterns.cs:41:36:41:45 | ... < ... | patterns.cs:41:36:41:45 | After ... < ... [false] | semmle.label | false | +| patterns.cs:41:36:41:45 | ... < ... | patterns.cs:41:36:41:45 | After ... < ... [true] | semmle.label | true | +| patterns.cs:41:36:41:45 | After ... < ... [false] | patterns.cs:36:9:44:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:41:36:41:45 | After ... < ... [true] | patterns.cs:42:17:42:59 | ...; | semmle.label | successor | +| patterns.cs:41:36:41:45 | Before ... < ... | patterns.cs:41:36:41:40 | Before access to field X | semmle.label | successor | | patterns.cs:41:44:41:45 | 10 | patterns.cs:41:36:41:45 | ... < ... | semmle.label | successor | -| patterns.cs:42:17:42:58 | call to method WriteLine | patterns.cs:43:17:43:22 | break; | semmle.label | successor | -| patterns.cs:42:17:42:59 | ...; | patterns.cs:42:35:42:57 | "Missed the breakpoint" | semmle.label | successor | +| patterns.cs:42:17:42:58 | After call to method WriteLine | patterns.cs:42:17:42:59 | After ...; | semmle.label | successor | +| patterns.cs:42:17:42:58 | Before call to method WriteLine | patterns.cs:42:35:42:57 | "Missed the breakpoint" | semmle.label | successor | +| patterns.cs:42:17:42:58 | call to method WriteLine | patterns.cs:42:17:42:58 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:42:17:42:59 | ...; | patterns.cs:42:17:42:58 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:42:17:42:59 | After ...; | patterns.cs:43:17:43:22 | Before break; | semmle.label | successor | | patterns.cs:42:35:42:57 | "Missed the breakpoint" | patterns.cs:42:17:42:58 | call to method WriteLine | semmle.label | successor | -| patterns.cs:43:17:43:22 | break; | patterns.cs:46:9:63:9 | switch (...) {...} | semmle.label | break | +| patterns.cs:43:17:43:22 | Before break; | patterns.cs:43:17:43:22 | break; | semmle.label | successor | +| patterns.cs:43:17:43:22 | break; | patterns.cs:36:9:44:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:46:9:63:9 | After switch (...) {...} | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | successor | | patterns.cs:46:9:63:9 | switch (...) {...} | patterns.cs:46:17:46:17 | access to local variable s | semmle.label | successor | | patterns.cs:46:17:46:17 | access to local variable s | patterns.cs:48:13:48:50 | case ...: | semmle.label | successor | -| patterns.cs:48:13:48:50 | case ...: | patterns.cs:48:18:48:25 | access to type MyStruct | semmle.label | successor | -| patterns.cs:48:18:48:25 | access to type MyStruct | patterns.cs:48:18:48:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:48:18:48:25 | access to type MyStruct | patterns.cs:48:32:48:36 | Int32 x | semmle.label | match | -| patterns.cs:48:18:48:38 | [match] { ... } | patterns.cs:48:45:48:45 | access to local variable x | semmle.label | match | -| patterns.cs:48:18:48:38 | [no-match] { ... } | patterns.cs:51:13:51:39 | case ...: | semmle.label | no-match | -| patterns.cs:48:27:48:38 | [match] { ... } | patterns.cs:48:18:48:38 | [match] { ... } | semmle.label | match | -| patterns.cs:48:27:48:38 | [no-match] { ... } | patterns.cs:48:18:48:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:48:32:48:36 | Int32 x | patterns.cs:48:27:48:38 | [match] { ... } | semmle.label | match | -| patterns.cs:48:32:48:36 | Int32 x | patterns.cs:48:27:48:38 | [no-match] { ... } | semmle.label | no-match | +| patterns.cs:48:13:48:50 | After case ...: [match] | patterns.cs:48:18:48:38 | Before { ... } | semmle.label | successor | +| patterns.cs:48:13:48:50 | After case ...: [no-match] | patterns.cs:51:13:51:39 | case ...: | semmle.label | successor | +| patterns.cs:48:13:48:50 | case ...: | patterns.cs:48:13:48:50 | After case ...: [match] | semmle.label | match | +| patterns.cs:48:13:48:50 | case ...: | patterns.cs:48:13:48:50 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:48:18:48:25 | access to type MyStruct | patterns.cs:48:27:48:38 | Before { ... } | semmle.label | successor | +| patterns.cs:48:18:48:38 | After { ... } | patterns.cs:48:45:48:49 | Before ... > ... | semmle.label | successor | +| patterns.cs:48:18:48:38 | Before { ... } | patterns.cs:48:18:48:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:48:18:48:38 | { ... } | patterns.cs:48:18:48:38 | After { ... } | semmle.label | successor | +| patterns.cs:48:27:48:38 | After { ... } | patterns.cs:48:18:48:38 | { ... } | semmle.label | successor | +| patterns.cs:48:27:48:38 | Before { ... } | patterns.cs:48:32:48:36 | Int32 x | semmle.label | successor | +| patterns.cs:48:27:48:38 | { ... } | patterns.cs:48:27:48:38 | After { ... } | semmle.label | successor | +| patterns.cs:48:32:48:36 | Int32 x | patterns.cs:48:27:48:38 | { ... } | semmle.label | successor | | patterns.cs:48:45:48:45 | access to local variable x | patterns.cs:48:49:48:49 | 2 | semmle.label | successor | -| patterns.cs:48:45:48:49 | ... > ... | patterns.cs:49:17:49:37 | ...; | semmle.label | true | -| patterns.cs:48:45:48:49 | ... > ... | patterns.cs:51:13:51:39 | case ...: | semmle.label | false | +| patterns.cs:48:45:48:49 | ... > ... | patterns.cs:48:45:48:49 | After ... > ... [false] | semmle.label | false | +| patterns.cs:48:45:48:49 | ... > ... | patterns.cs:48:45:48:49 | After ... > ... [true] | semmle.label | true | +| patterns.cs:48:45:48:49 | After ... > ... [false] | patterns.cs:51:13:51:39 | case ...: | semmle.label | successor | +| patterns.cs:48:45:48:49 | After ... > ... [true] | patterns.cs:49:17:49:37 | ...; | semmle.label | successor | +| patterns.cs:48:45:48:49 | Before ... > ... | patterns.cs:48:45:48:45 | access to local variable x | semmle.label | successor | | patterns.cs:48:49:48:49 | 2 | patterns.cs:48:45:48:49 | ... > ... | semmle.label | successor | -| patterns.cs:49:17:49:36 | call to method WriteLine | patterns.cs:50:17:50:22 | break; | semmle.label | successor | -| patterns.cs:49:17:49:37 | ...; | patterns.cs:49:35:49:35 | access to local variable x | semmle.label | successor | +| patterns.cs:49:17:49:36 | After call to method WriteLine | patterns.cs:49:17:49:37 | After ...; | semmle.label | successor | +| patterns.cs:49:17:49:36 | Before call to method WriteLine | patterns.cs:49:35:49:35 | access to local variable x | semmle.label | successor | +| patterns.cs:49:17:49:36 | call to method WriteLine | patterns.cs:49:17:49:36 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:49:17:49:37 | ...; | patterns.cs:49:17:49:36 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:49:17:49:37 | After ...; | patterns.cs:50:17:50:22 | Before break; | semmle.label | successor | | patterns.cs:49:35:49:35 | access to local variable x | patterns.cs:49:17:49:36 | call to method WriteLine | semmle.label | successor | -| patterns.cs:50:17:50:22 | break; | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:51:13:51:39 | case ...: | patterns.cs:51:18:51:38 | MyStruct ms | semmle.label | successor | -| patterns.cs:51:18:51:38 | MyStruct ms | patterns.cs:51:18:51:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:51:18:51:38 | MyStruct ms | patterns.cs:51:32:51:33 | 10 | semmle.label | match | -| patterns.cs:51:18:51:38 | [match] { ... } | patterns.cs:52:17:52:56 | ...; | semmle.label | match | -| patterns.cs:51:18:51:38 | [no-match] { ... } | patterns.cs:54:13:54:43 | case ...: | semmle.label | no-match | -| patterns.cs:51:27:51:35 | [match] { ... } | patterns.cs:51:18:51:38 | [match] { ... } | semmle.label | match | -| patterns.cs:51:27:51:35 | [no-match] { ... } | patterns.cs:51:18:51:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:51:32:51:33 | 10 | patterns.cs:51:27:51:35 | [match] { ... } | semmle.label | match | -| patterns.cs:51:32:51:33 | 10 | patterns.cs:51:27:51:35 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:52:17:52:55 | call to method WriteLine | patterns.cs:53:17:53:22 | break; | semmle.label | successor | -| patterns.cs:52:17:52:56 | ...; | patterns.cs:52:35:52:54 | "Hit the breakpoint" | semmle.label | successor | +| patterns.cs:50:17:50:22 | Before break; | patterns.cs:50:17:50:22 | break; | semmle.label | successor | +| patterns.cs:50:17:50:22 | break; | patterns.cs:46:9:63:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:51:13:51:39 | After case ...: [match] | patterns.cs:51:18:51:38 | Before { ... } | semmle.label | successor | +| patterns.cs:51:13:51:39 | After case ...: [no-match] | patterns.cs:54:13:54:43 | case ...: | semmle.label | successor | +| patterns.cs:51:13:51:39 | case ...: | patterns.cs:51:13:51:39 | After case ...: [match] | semmle.label | match | +| patterns.cs:51:13:51:39 | case ...: | patterns.cs:51:13:51:39 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:51:18:51:25 | access to type MyStruct | patterns.cs:51:27:51:35 | Before { ... } | semmle.label | successor | +| patterns.cs:51:18:51:38 | After { ... } | patterns.cs:52:17:52:56 | ...; | semmle.label | successor | +| patterns.cs:51:18:51:38 | Before { ... } | patterns.cs:51:18:51:38 | MyStruct ms | semmle.label | successor | +| patterns.cs:51:18:51:38 | MyStruct ms | patterns.cs:51:18:51:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:51:18:51:38 | { ... } | patterns.cs:51:18:51:38 | After { ... } | semmle.label | successor | +| patterns.cs:51:27:51:35 | After { ... } | patterns.cs:51:18:51:38 | { ... } | semmle.label | successor | +| patterns.cs:51:27:51:35 | Before { ... } | patterns.cs:51:32:51:33 | 10 | semmle.label | successor | +| patterns.cs:51:27:51:35 | { ... } | patterns.cs:51:27:51:35 | After { ... } | semmle.label | successor | +| patterns.cs:51:32:51:33 | 10 | patterns.cs:51:27:51:35 | { ... } | semmle.label | successor | +| patterns.cs:52:17:52:55 | After call to method WriteLine | patterns.cs:52:17:52:56 | After ...; | semmle.label | successor | +| patterns.cs:52:17:52:55 | Before call to method WriteLine | patterns.cs:52:35:52:54 | "Hit the breakpoint" | semmle.label | successor | +| patterns.cs:52:17:52:55 | call to method WriteLine | patterns.cs:52:17:52:55 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:52:17:52:56 | ...; | patterns.cs:52:17:52:55 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:52:17:52:56 | After ...; | patterns.cs:53:17:53:22 | Before break; | semmle.label | successor | | patterns.cs:52:35:52:54 | "Hit the breakpoint" | patterns.cs:52:17:52:55 | call to method WriteLine | semmle.label | successor | -| patterns.cs:53:17:53:22 | break; | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:54:13:54:43 | case ...: | patterns.cs:54:23:54:28 | Int32 x2 | semmle.label | successor | -| patterns.cs:54:18:54:30 | [match] { ... } | patterns.cs:54:18:54:30 | [match] { ... } | semmle.label | match | -| patterns.cs:54:18:54:30 | [match] { ... } | patterns.cs:54:37:54:38 | access to local variable x2 | semmle.label | match | -| patterns.cs:54:18:54:30 | [no-match] { ... } | patterns.cs:54:18:54:30 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:54:18:54:30 | [no-match] { ... } | patterns.cs:57:13:57:24 | case ...: | semmle.label | no-match | -| patterns.cs:54:23:54:28 | Int32 x2 | patterns.cs:54:18:54:30 | [match] { ... } | semmle.label | match | -| patterns.cs:54:23:54:28 | Int32 x2 | patterns.cs:54:18:54:30 | [no-match] { ... } | semmle.label | no-match | +| patterns.cs:53:17:53:22 | Before break; | patterns.cs:53:17:53:22 | break; | semmle.label | successor | +| patterns.cs:53:17:53:22 | break; | patterns.cs:46:9:63:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:54:13:54:43 | After case ...: [match] | patterns.cs:54:18:54:30 | Before { ... } | semmle.label | successor | +| patterns.cs:54:13:54:43 | After case ...: [no-match] | patterns.cs:57:13:57:24 | case ...: | semmle.label | successor | +| patterns.cs:54:13:54:43 | case ...: | patterns.cs:54:13:54:43 | After case ...: [match] | semmle.label | match | +| patterns.cs:54:13:54:43 | case ...: | patterns.cs:54:13:54:43 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:54:18:54:30 | After { ... } | patterns.cs:54:18:54:30 | { ... } | semmle.label | successor | +| patterns.cs:54:18:54:30 | After { ... } | patterns.cs:54:37:54:42 | Before ... > ... | semmle.label | successor | +| patterns.cs:54:18:54:30 | Before { ... } | patterns.cs:54:18:54:30 | Before { ... } | semmle.label | successor | +| patterns.cs:54:18:54:30 | Before { ... } | patterns.cs:54:23:54:28 | Int32 x2 | semmle.label | successor | +| patterns.cs:54:18:54:30 | { ... } | patterns.cs:54:18:54:30 | After { ... } | semmle.label | successor | +| patterns.cs:54:18:54:30 | { ... } | patterns.cs:54:18:54:30 | After { ... } | semmle.label | successor | +| patterns.cs:54:23:54:28 | Int32 x2 | patterns.cs:54:18:54:30 | { ... } | semmle.label | successor | | patterns.cs:54:37:54:38 | access to local variable x2 | patterns.cs:54:42:54:42 | 2 | semmle.label | successor | -| patterns.cs:54:37:54:42 | ... > ... | patterns.cs:55:17:55:38 | ...; | semmle.label | true | -| patterns.cs:54:37:54:42 | ... > ... | patterns.cs:57:13:57:24 | case ...: | semmle.label | false | +| patterns.cs:54:37:54:42 | ... > ... | patterns.cs:54:37:54:42 | After ... > ... [false] | semmle.label | false | +| patterns.cs:54:37:54:42 | ... > ... | patterns.cs:54:37:54:42 | After ... > ... [true] | semmle.label | true | +| patterns.cs:54:37:54:42 | After ... > ... [false] | patterns.cs:57:13:57:24 | case ...: | semmle.label | successor | +| patterns.cs:54:37:54:42 | After ... > ... [true] | patterns.cs:55:17:55:38 | ...; | semmle.label | successor | +| patterns.cs:54:37:54:42 | Before ... > ... | patterns.cs:54:37:54:38 | access to local variable x2 | semmle.label | successor | | patterns.cs:54:42:54:42 | 2 | patterns.cs:54:37:54:42 | ... > ... | semmle.label | successor | -| patterns.cs:55:17:55:37 | call to method WriteLine | patterns.cs:56:17:56:22 | break; | semmle.label | successor | -| patterns.cs:55:17:55:38 | ...; | patterns.cs:55:35:55:36 | access to local variable x2 | semmle.label | successor | +| patterns.cs:55:17:55:37 | After call to method WriteLine | patterns.cs:55:17:55:38 | After ...; | semmle.label | successor | +| patterns.cs:55:17:55:37 | Before call to method WriteLine | patterns.cs:55:35:55:36 | access to local variable x2 | semmle.label | successor | +| patterns.cs:55:17:55:37 | call to method WriteLine | patterns.cs:55:17:55:37 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:55:17:55:38 | ...; | patterns.cs:55:17:55:37 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:55:17:55:38 | After ...; | patterns.cs:56:17:56:22 | Before break; | semmle.label | successor | | patterns.cs:55:35:55:36 | access to local variable x2 | patterns.cs:55:17:55:37 | call to method WriteLine | semmle.label | successor | -| patterns.cs:56:17:56:22 | break; | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:57:13:57:24 | case ...: | patterns.cs:57:18:57:23 | ( ... ) | semmle.label | successor | -| patterns.cs:57:18:57:23 | ( ... ) | patterns.cs:57:18:57:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:57:18:57:23 | ( ... ) | patterns.cs:57:19:57:19 | 1 | semmle.label | match | -| patterns.cs:57:18:57:23 | [match] { ... } | patterns.cs:58:17:58:22 | break; | semmle.label | match | -| patterns.cs:57:18:57:23 | [no-match] { ... } | patterns.cs:59:13:59:28 | case ...: | semmle.label | no-match | -| patterns.cs:57:19:57:19 | 1 | patterns.cs:57:18:57:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:57:19:57:19 | 1 | patterns.cs:57:22:57:22 | 2 | semmle.label | match | -| patterns.cs:57:22:57:22 | 2 | patterns.cs:57:18:57:23 | [match] { ... } | semmle.label | match | -| patterns.cs:57:22:57:22 | 2 | patterns.cs:57:18:57:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:58:17:58:22 | break; | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:59:13:59:28 | case ...: | patterns.cs:59:23:59:23 | Int32 x | semmle.label | successor | -| patterns.cs:59:18:59:27 | (..., ...) | patterns.cs:60:17:60:22 | break; | semmle.label | match | -| patterns.cs:59:18:59:27 | (..., ...) | patterns.cs:61:13:61:20 | default: | semmle.label | no-match | +| patterns.cs:56:17:56:22 | Before break; | patterns.cs:56:17:56:22 | break; | semmle.label | successor | +| patterns.cs:56:17:56:22 | break; | patterns.cs:46:9:63:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:57:13:57:24 | After case ...: [match] | patterns.cs:57:18:57:23 | Before { ... } | semmle.label | successor | +| patterns.cs:57:13:57:24 | After case ...: [no-match] | patterns.cs:59:13:59:28 | case ...: | semmle.label | successor | +| patterns.cs:57:13:57:24 | case ...: | patterns.cs:57:13:57:24 | After case ...: [match] | semmle.label | match | +| patterns.cs:57:13:57:24 | case ...: | patterns.cs:57:13:57:24 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:57:18:57:23 | ( ... ) | patterns.cs:57:18:57:23 | After ( ... ) | semmle.label | successor | +| patterns.cs:57:18:57:23 | After ( ... ) | patterns.cs:57:18:57:23 | { ... } | semmle.label | successor | +| patterns.cs:57:18:57:23 | After { ... } | patterns.cs:58:17:58:22 | Before break; | semmle.label | successor | +| patterns.cs:57:18:57:23 | Before ( ... ) | patterns.cs:57:19:57:19 | 1 | semmle.label | successor | +| patterns.cs:57:18:57:23 | Before { ... } | patterns.cs:57:18:57:23 | Before ( ... ) | semmle.label | successor | +| patterns.cs:57:18:57:23 | { ... } | patterns.cs:57:18:57:23 | After { ... } | semmle.label | successor | +| patterns.cs:57:19:57:19 | 1 | patterns.cs:57:22:57:22 | 2 | semmle.label | successor | +| patterns.cs:57:22:57:22 | 2 | patterns.cs:57:18:57:23 | ( ... ) | semmle.label | successor | +| patterns.cs:58:17:58:22 | Before break; | patterns.cs:58:17:58:22 | break; | semmle.label | successor | +| patterns.cs:58:17:58:22 | break; | patterns.cs:46:9:63:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:59:13:59:28 | After case ...: [match] | patterns.cs:59:18:59:27 | Before (..., ...) | semmle.label | successor | +| patterns.cs:59:13:59:28 | After case ...: [no-match] | patterns.cs:61:13:61:20 | default: | semmle.label | successor | +| patterns.cs:59:13:59:28 | case ...: | patterns.cs:59:13:59:28 | After case ...: [match] | semmle.label | match | +| patterns.cs:59:13:59:28 | case ...: | patterns.cs:59:13:59:28 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:59:18:59:27 | (..., ...) | patterns.cs:59:18:59:27 | After (..., ...) | semmle.label | successor | +| patterns.cs:59:18:59:27 | After (..., ...) | patterns.cs:60:17:60:22 | Before break; | semmle.label | successor | +| patterns.cs:59:18:59:27 | Before (..., ...) | patterns.cs:59:23:59:23 | Int32 x | semmle.label | successor | | patterns.cs:59:23:59:23 | Int32 x | patterns.cs:59:26:59:26 | Int32 y | semmle.label | successor | | patterns.cs:59:26:59:26 | Int32 y | patterns.cs:59:18:59:27 | (..., ...) | semmle.label | successor | -| patterns.cs:60:17:60:22 | break; | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:61:13:61:20 | default: | patterns.cs:62:17:62:22 | break; | semmle.label | successor | -| patterns.cs:62:17:62:22 | break; | patterns.cs:65:9:73:9 | switch (...) {...} | semmle.label | break | +| patterns.cs:60:17:60:22 | Before break; | patterns.cs:60:17:60:22 | break; | semmle.label | successor | +| patterns.cs:60:17:60:22 | break; | patterns.cs:46:9:63:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:61:13:61:20 | After default: [match] | patterns.cs:62:17:62:22 | Before break; | semmle.label | successor | +| patterns.cs:61:13:61:20 | default: | patterns.cs:61:13:61:20 | After default: [match] | semmle.label | match | +| patterns.cs:62:17:62:22 | Before break; | patterns.cs:62:17:62:22 | break; | semmle.label | successor | +| patterns.cs:62:17:62:22 | break; | patterns.cs:46:9:63:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:65:9:73:9 | After switch (...) {...} | patterns.cs:76:9:84:9 | switch (...) {...} | semmle.label | successor | | patterns.cs:65:9:73:9 | switch (...) {...} | patterns.cs:65:17:65:17 | access to local variable s | semmle.label | successor | | patterns.cs:65:17:65:17 | access to local variable s | patterns.cs:67:13:67:50 | case ...: | semmle.label | successor | -| patterns.cs:67:13:67:50 | case ...: | patterns.cs:67:18:67:25 | access to type MyStruct | semmle.label | successor | -| patterns.cs:67:18:67:25 | access to type MyStruct | patterns.cs:67:18:67:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:67:18:67:25 | access to type MyStruct | patterns.cs:67:32:67:36 | Int32 x | semmle.label | match | -| patterns.cs:67:18:67:38 | [match] { ... } | patterns.cs:67:45:67:45 | access to local variable x | semmle.label | match | -| patterns.cs:67:18:67:38 | [no-match] { ... } | patterns.cs:70:13:70:51 | case ...: | semmle.label | no-match | -| patterns.cs:67:27:67:38 | [match] { ... } | patterns.cs:67:18:67:38 | [match] { ... } | semmle.label | match | -| patterns.cs:67:27:67:38 | [no-match] { ... } | patterns.cs:67:18:67:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:67:32:67:36 | Int32 x | patterns.cs:67:27:67:38 | [match] { ... } | semmle.label | match | -| patterns.cs:67:32:67:36 | Int32 x | patterns.cs:67:27:67:38 | [no-match] { ... } | semmle.label | no-match | +| patterns.cs:67:13:67:50 | After case ...: [match] | patterns.cs:67:18:67:38 | Before { ... } | semmle.label | successor | +| patterns.cs:67:13:67:50 | After case ...: [no-match] | patterns.cs:70:13:70:51 | case ...: | semmle.label | successor | +| patterns.cs:67:13:67:50 | case ...: | patterns.cs:67:13:67:50 | After case ...: [match] | semmle.label | match | +| patterns.cs:67:13:67:50 | case ...: | patterns.cs:67:13:67:50 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:67:18:67:25 | access to type MyStruct | patterns.cs:67:27:67:38 | Before { ... } | semmle.label | successor | +| patterns.cs:67:18:67:38 | After { ... } | patterns.cs:67:45:67:49 | Before ... > ... | semmle.label | successor | +| patterns.cs:67:18:67:38 | Before { ... } | patterns.cs:67:18:67:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:67:18:67:38 | { ... } | patterns.cs:67:18:67:38 | After { ... } | semmle.label | successor | +| patterns.cs:67:27:67:38 | After { ... } | patterns.cs:67:18:67:38 | { ... } | semmle.label | successor | +| patterns.cs:67:27:67:38 | Before { ... } | patterns.cs:67:32:67:36 | Int32 x | semmle.label | successor | +| patterns.cs:67:27:67:38 | { ... } | patterns.cs:67:27:67:38 | After { ... } | semmle.label | successor | +| patterns.cs:67:32:67:36 | Int32 x | patterns.cs:67:27:67:38 | { ... } | semmle.label | successor | | patterns.cs:67:45:67:45 | access to local variable x | patterns.cs:67:49:67:49 | 2 | semmle.label | successor | -| patterns.cs:67:45:67:49 | ... > ... | patterns.cs:68:17:68:37 | ...; | semmle.label | true | -| patterns.cs:67:45:67:49 | ... > ... | patterns.cs:70:13:70:51 | case ...: | semmle.label | false | +| patterns.cs:67:45:67:49 | ... > ... | patterns.cs:67:45:67:49 | After ... > ... [false] | semmle.label | false | +| patterns.cs:67:45:67:49 | ... > ... | patterns.cs:67:45:67:49 | After ... > ... [true] | semmle.label | true | +| patterns.cs:67:45:67:49 | After ... > ... [false] | patterns.cs:70:13:70:51 | case ...: | semmle.label | successor | +| patterns.cs:67:45:67:49 | After ... > ... [true] | patterns.cs:68:17:68:37 | ...; | semmle.label | successor | +| patterns.cs:67:45:67:49 | Before ... > ... | patterns.cs:67:45:67:45 | access to local variable x | semmle.label | successor | | patterns.cs:67:49:67:49 | 2 | patterns.cs:67:45:67:49 | ... > ... | semmle.label | successor | -| patterns.cs:68:17:68:36 | call to method WriteLine | patterns.cs:69:17:69:22 | break; | semmle.label | successor | -| patterns.cs:68:17:68:37 | ...; | patterns.cs:68:35:68:35 | access to local variable x | semmle.label | successor | +| patterns.cs:68:17:68:36 | After call to method WriteLine | patterns.cs:68:17:68:37 | After ...; | semmle.label | successor | +| patterns.cs:68:17:68:36 | Before call to method WriteLine | patterns.cs:68:35:68:35 | access to local variable x | semmle.label | successor | +| patterns.cs:68:17:68:36 | call to method WriteLine | patterns.cs:68:17:68:36 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:68:17:68:37 | ...; | patterns.cs:68:17:68:36 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:68:17:68:37 | After ...; | patterns.cs:69:17:69:22 | Before break; | semmle.label | successor | | patterns.cs:68:35:68:35 | access to local variable x | patterns.cs:68:17:68:36 | call to method WriteLine | semmle.label | successor | -| patterns.cs:69:17:69:22 | break; | patterns.cs:76:9:84:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:70:13:70:51 | case ...: | patterns.cs:70:18:70:38 | MyStruct ms | semmle.label | successor | -| patterns.cs:70:18:70:38 | MyStruct ms | patterns.cs:70:18:70:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:70:18:70:38 | MyStruct ms | patterns.cs:70:32:70:33 | 10 | semmle.label | match | -| patterns.cs:70:18:70:38 | [match] { ... } | patterns.cs:70:45:70:45 | access to local variable s | semmle.label | match | -| patterns.cs:70:18:70:38 | [no-match] { ... } | patterns.cs:76:9:84:9 | switch (...) {...} | semmle.label | no-match | -| patterns.cs:70:27:70:35 | [match] { ... } | patterns.cs:70:18:70:38 | [match] { ... } | semmle.label | match | -| patterns.cs:70:27:70:35 | [no-match] { ... } | patterns.cs:70:18:70:38 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:70:32:70:33 | 10 | patterns.cs:70:27:70:35 | [match] { ... } | semmle.label | match | -| patterns.cs:70:32:70:33 | 10 | patterns.cs:70:27:70:35 | [no-match] { ... } | semmle.label | no-match | +| patterns.cs:69:17:69:22 | Before break; | patterns.cs:69:17:69:22 | break; | semmle.label | successor | +| patterns.cs:69:17:69:22 | break; | patterns.cs:65:9:73:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:70:13:70:51 | After case ...: [match] | patterns.cs:70:18:70:38 | Before { ... } | semmle.label | successor | +| patterns.cs:70:13:70:51 | After case ...: [no-match] | patterns.cs:65:9:73:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:70:13:70:51 | case ...: | patterns.cs:70:13:70:51 | After case ...: [match] | semmle.label | match | +| patterns.cs:70:13:70:51 | case ...: | patterns.cs:70:13:70:51 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:70:18:70:25 | access to type MyStruct | patterns.cs:70:27:70:35 | Before { ... } | semmle.label | successor | +| patterns.cs:70:18:70:38 | After { ... } | patterns.cs:70:45:70:50 | Before ... == ... | semmle.label | successor | +| patterns.cs:70:18:70:38 | Before { ... } | patterns.cs:70:18:70:38 | MyStruct ms | semmle.label | successor | +| patterns.cs:70:18:70:38 | MyStruct ms | patterns.cs:70:18:70:25 | access to type MyStruct | semmle.label | successor | +| patterns.cs:70:18:70:38 | { ... } | patterns.cs:70:18:70:38 | After { ... } | semmle.label | successor | +| patterns.cs:70:27:70:35 | After { ... } | patterns.cs:70:18:70:38 | { ... } | semmle.label | successor | +| patterns.cs:70:27:70:35 | Before { ... } | patterns.cs:70:32:70:33 | 10 | semmle.label | successor | +| patterns.cs:70:27:70:35 | { ... } | patterns.cs:70:27:70:35 | After { ... } | semmle.label | successor | +| patterns.cs:70:32:70:33 | 10 | patterns.cs:70:27:70:35 | { ... } | semmle.label | successor | | patterns.cs:70:45:70:45 | access to local variable s | patterns.cs:70:45:70:47 | access to field X | semmle.label | successor | -| patterns.cs:70:45:70:47 | access to field X | patterns.cs:70:50:70:50 | 0 | semmle.label | successor | -| patterns.cs:70:45:70:50 | ... == ... | patterns.cs:71:17:71:56 | ...; | semmle.label | true | -| patterns.cs:70:45:70:50 | ... == ... | patterns.cs:76:9:84:9 | switch (...) {...} | semmle.label | false | +| patterns.cs:70:45:70:47 | After access to field X | patterns.cs:70:50:70:50 | 0 | semmle.label | successor | +| patterns.cs:70:45:70:47 | Before access to field X | patterns.cs:70:45:70:45 | access to local variable s | semmle.label | successor | +| patterns.cs:70:45:70:47 | access to field X | patterns.cs:70:45:70:47 | After access to field X | semmle.label | successor | +| patterns.cs:70:45:70:50 | ... == ... | patterns.cs:70:45:70:50 | After ... == ... [false] | semmle.label | false | +| patterns.cs:70:45:70:50 | ... == ... | patterns.cs:70:45:70:50 | After ... == ... [true] | semmle.label | true | +| patterns.cs:70:45:70:50 | After ... == ... [false] | patterns.cs:65:9:73:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:70:45:70:50 | After ... == ... [true] | patterns.cs:71:17:71:56 | ...; | semmle.label | successor | +| patterns.cs:70:45:70:50 | Before ... == ... | patterns.cs:70:45:70:47 | Before access to field X | semmle.label | successor | | patterns.cs:70:50:70:50 | 0 | patterns.cs:70:45:70:50 | ... == ... | semmle.label | successor | -| patterns.cs:71:17:71:55 | call to method WriteLine | patterns.cs:72:17:72:22 | break; | semmle.label | successor | -| patterns.cs:71:17:71:56 | ...; | patterns.cs:71:35:71:54 | "Hit the breakpoint" | semmle.label | successor | +| patterns.cs:71:17:71:55 | After call to method WriteLine | patterns.cs:71:17:71:56 | After ...; | semmle.label | successor | +| patterns.cs:71:17:71:55 | Before call to method WriteLine | patterns.cs:71:35:71:54 | "Hit the breakpoint" | semmle.label | successor | +| patterns.cs:71:17:71:55 | call to method WriteLine | patterns.cs:71:17:71:55 | After call to method WriteLine | semmle.label | successor | +| patterns.cs:71:17:71:56 | ...; | patterns.cs:71:17:71:55 | Before call to method WriteLine | semmle.label | successor | +| patterns.cs:71:17:71:56 | After ...; | patterns.cs:72:17:72:22 | Before break; | semmle.label | successor | | patterns.cs:71:35:71:54 | "Hit the breakpoint" | patterns.cs:71:17:71:55 | call to method WriteLine | semmle.label | successor | -| patterns.cs:72:17:72:22 | break; | patterns.cs:76:9:84:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:76:9:84:9 | switch (...) {...} | patterns.cs:76:17:76:28 | object creation of type Object | semmle.label | successor | -| patterns.cs:76:17:76:28 | object creation of type Object | patterns.cs:78:13:78:43 | case ...: | semmle.label | successor | -| patterns.cs:78:13:78:43 | case ...: | patterns.cs:78:18:78:33 | ( ... ) | semmle.label | successor | -| patterns.cs:78:18:78:33 | ( ... ) | patterns.cs:78:18:78:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:78:18:78:33 | ( ... ) | patterns.cs:78:19:78:23 | Int32 x | semmle.label | match | -| patterns.cs:78:18:78:33 | [match] { ... } | patterns.cs:78:40:78:40 | access to local variable x | semmle.label | match | -| patterns.cs:78:18:78:33 | [no-match] { ... } | patterns.cs:80:13:80:20 | case ...: | semmle.label | no-match | -| patterns.cs:78:19:78:23 | Int32 x | patterns.cs:78:18:78:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:78:19:78:23 | Int32 x | patterns.cs:78:26:78:32 | Single y | semmle.label | match | -| patterns.cs:78:26:78:32 | Single y | patterns.cs:78:18:78:33 | [match] { ... } | semmle.label | match | -| patterns.cs:78:26:78:32 | Single y | patterns.cs:78:18:78:33 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:78:40:78:40 | (...) ... | patterns.cs:78:42:78:42 | access to local variable y | semmle.label | successor | +| patterns.cs:72:17:72:22 | Before break; | patterns.cs:72:17:72:22 | break; | semmle.label | successor | +| patterns.cs:72:17:72:22 | break; | patterns.cs:65:9:73:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:76:9:84:9 | After switch (...) {...} | patterns.cs:86:9:89:9 | switch (...) {...} | semmle.label | successor | +| patterns.cs:76:9:84:9 | switch (...) {...} | patterns.cs:76:17:76:28 | Before object creation of type Object | semmle.label | successor | +| patterns.cs:76:17:76:28 | After object creation of type Object | patterns.cs:78:13:78:43 | case ...: | semmle.label | successor | +| patterns.cs:76:17:76:28 | Before object creation of type Object | patterns.cs:76:17:76:28 | object creation of type Object | semmle.label | successor | +| patterns.cs:76:17:76:28 | object creation of type Object | patterns.cs:76:17:76:28 | After object creation of type Object | semmle.label | successor | +| patterns.cs:78:13:78:43 | After case ...: [match] | patterns.cs:78:18:78:33 | Before { ... } | semmle.label | successor | +| patterns.cs:78:13:78:43 | After case ...: [no-match] | patterns.cs:80:13:80:20 | case ...: | semmle.label | successor | +| patterns.cs:78:13:78:43 | case ...: | patterns.cs:78:13:78:43 | After case ...: [match] | semmle.label | match | +| patterns.cs:78:13:78:43 | case ...: | patterns.cs:78:13:78:43 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:78:18:78:33 | ( ... ) | patterns.cs:78:18:78:33 | After ( ... ) | semmle.label | successor | +| patterns.cs:78:18:78:33 | After ( ... ) | patterns.cs:78:18:78:33 | { ... } | semmle.label | successor | +| patterns.cs:78:18:78:33 | After { ... } | patterns.cs:78:40:78:42 | Before ... < ... | semmle.label | successor | +| patterns.cs:78:18:78:33 | Before ( ... ) | patterns.cs:78:19:78:23 | Int32 x | semmle.label | successor | +| patterns.cs:78:18:78:33 | Before { ... } | patterns.cs:78:18:78:33 | Before ( ... ) | semmle.label | successor | +| patterns.cs:78:18:78:33 | { ... } | patterns.cs:78:18:78:33 | After { ... } | semmle.label | successor | +| patterns.cs:78:19:78:23 | Int32 x | patterns.cs:78:26:78:32 | Single y | semmle.label | successor | +| patterns.cs:78:26:78:32 | Single y | patterns.cs:78:18:78:33 | ( ... ) | semmle.label | successor | +| patterns.cs:78:40:78:40 | (...) ... | patterns.cs:78:40:78:40 | After (...) ... | semmle.label | successor | +| patterns.cs:78:40:78:40 | After (...) ... | patterns.cs:78:42:78:42 | access to local variable y | semmle.label | successor | +| patterns.cs:78:40:78:40 | Before (...) ... | patterns.cs:78:40:78:40 | access to local variable x | semmle.label | successor | | patterns.cs:78:40:78:40 | access to local variable x | patterns.cs:78:40:78:40 | (...) ... | semmle.label | successor | -| patterns.cs:78:40:78:42 | ... < ... | patterns.cs:79:17:79:22 | break; | semmle.label | true | -| patterns.cs:78:40:78:42 | ... < ... | patterns.cs:80:13:80:20 | case ...: | semmle.label | false | +| patterns.cs:78:40:78:42 | ... < ... | patterns.cs:78:40:78:42 | After ... < ... [false] | semmle.label | false | +| patterns.cs:78:40:78:42 | ... < ... | patterns.cs:78:40:78:42 | After ... < ... [true] | semmle.label | true | +| patterns.cs:78:40:78:42 | After ... < ... [false] | patterns.cs:80:13:80:20 | case ...: | semmle.label | successor | +| patterns.cs:78:40:78:42 | After ... < ... [true] | patterns.cs:79:17:79:22 | Before break; | semmle.label | successor | +| patterns.cs:78:40:78:42 | Before ... < ... | patterns.cs:78:40:78:40 | Before (...) ... | semmle.label | successor | | patterns.cs:78:42:78:42 | access to local variable y | patterns.cs:78:40:78:42 | ... < ... | semmle.label | successor | -| patterns.cs:79:17:79:22 | break; | patterns.cs:86:9:89:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:80:13:80:20 | case ...: | patterns.cs:80:18:80:19 | ( ... ) | semmle.label | successor | -| patterns.cs:80:18:80:19 | ( ... ) | patterns.cs:80:18:80:19 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:80:18:80:19 | [no-match] { ... } | patterns.cs:82:13:82:20 | case ...: | semmle.label | no-match | -| patterns.cs:82:13:82:20 | case ...: | patterns.cs:82:18:82:19 | { ... } | semmle.label | successor | -| patterns.cs:82:18:82:19 | [match] { ... } | patterns.cs:83:17:83:22 | break; | semmle.label | match | -| patterns.cs:82:18:82:19 | [no-match] { ... } | patterns.cs:86:9:89:9 | switch (...) {...} | semmle.label | no-match | -| patterns.cs:82:18:82:19 | { ... } | patterns.cs:82:18:82:19 | [match] { ... } | semmle.label | match | -| patterns.cs:82:18:82:19 | { ... } | patterns.cs:82:18:82:19 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:83:17:83:22 | break; | patterns.cs:86:9:89:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:86:9:89:9 | switch (...) {...} | patterns.cs:86:16:86:16 | 1 | semmle.label | successor | -| patterns.cs:86:15:86:19 | (..., ...) | patterns.cs:88:13:88:24 | case ...: | semmle.label | successor | +| patterns.cs:79:17:79:22 | Before break; | patterns.cs:79:17:79:22 | break; | semmle.label | successor | +| patterns.cs:79:17:79:22 | break; | patterns.cs:76:9:84:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:80:13:80:20 | After case ...: [match] | patterns.cs:80:18:80:19 | Before { ... } | semmle.label | successor | +| patterns.cs:80:13:80:20 | After case ...: [no-match] | patterns.cs:82:13:82:20 | case ...: | semmle.label | successor | +| patterns.cs:80:13:80:20 | case ...: | patterns.cs:80:13:80:20 | After case ...: [match] | semmle.label | match | +| patterns.cs:80:13:80:20 | case ...: | patterns.cs:80:13:80:20 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:80:18:80:19 | ( ... ) | patterns.cs:80:18:80:19 | { ... } | semmle.label | successor | +| patterns.cs:80:18:80:19 | After { ... } | patterns.cs:81:17:81:22 | Before break; | semmle.label | successor | +| patterns.cs:80:18:80:19 | Before { ... } | patterns.cs:80:18:80:19 | ( ... ) | semmle.label | successor | +| patterns.cs:80:18:80:19 | { ... } | patterns.cs:80:18:80:19 | After { ... } | semmle.label | successor | +| patterns.cs:81:17:81:22 | Before break; | patterns.cs:81:17:81:22 | break; | semmle.label | successor | +| patterns.cs:81:17:81:22 | break; | patterns.cs:76:9:84:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:82:13:82:20 | After case ...: [match] | patterns.cs:82:18:82:19 | Before { ... } | semmle.label | successor | +| patterns.cs:82:13:82:20 | After case ...: [no-match] | patterns.cs:76:9:84:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:82:13:82:20 | case ...: | patterns.cs:82:13:82:20 | After case ...: [match] | semmle.label | match | +| patterns.cs:82:13:82:20 | case ...: | patterns.cs:82:13:82:20 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:82:18:82:19 | After { ... } | patterns.cs:83:17:83:22 | Before break; | semmle.label | successor | +| patterns.cs:82:18:82:19 | Before { ... } | patterns.cs:82:18:82:19 | { ... } | semmle.label | successor | +| patterns.cs:82:18:82:19 | { ... } | patterns.cs:82:18:82:19 | After { ... } | semmle.label | successor | +| patterns.cs:82:18:82:19 | { ... } | patterns.cs:82:18:82:19 | { ... } | semmle.label | successor | +| patterns.cs:83:17:83:22 | Before break; | patterns.cs:83:17:83:22 | break; | semmle.label | successor | +| patterns.cs:83:17:83:22 | break; | patterns.cs:76:9:84:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:86:9:89:9 | After switch (...) {...} | patterns.cs:91:9:95:9 | switch (...) {...} | semmle.label | successor | +| patterns.cs:86:9:89:9 | switch (...) {...} | patterns.cs:86:15:86:19 | Before (..., ...) | semmle.label | successor | +| patterns.cs:86:15:86:19 | (..., ...) | patterns.cs:86:15:86:19 | After (..., ...) | semmle.label | successor | +| patterns.cs:86:15:86:19 | After (..., ...) | patterns.cs:88:13:88:24 | case ...: | semmle.label | successor | +| patterns.cs:86:15:86:19 | Before (..., ...) | patterns.cs:86:16:86:16 | 1 | semmle.label | successor | | patterns.cs:86:16:86:16 | 1 | patterns.cs:86:18:86:18 | 2 | semmle.label | successor | | patterns.cs:86:18:86:18 | 2 | patterns.cs:86:15:86:19 | (..., ...) | semmle.label | successor | -| patterns.cs:88:13:88:24 | case ...: | patterns.cs:88:18:88:23 | ( ... ) | semmle.label | successor | -| patterns.cs:88:18:88:23 | ( ... ) | patterns.cs:88:18:88:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:88:18:88:23 | ( ... ) | patterns.cs:88:19:88:19 | 1 | semmle.label | match | -| patterns.cs:88:18:88:23 | [match] { ... } | patterns.cs:88:26:88:31 | break; | semmle.label | match | -| patterns.cs:88:18:88:23 | [no-match] { ... } | patterns.cs:91:9:95:9 | switch (...) {...} | semmle.label | no-match | -| patterns.cs:88:19:88:19 | 1 | patterns.cs:88:18:88:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:88:19:88:19 | 1 | patterns.cs:88:22:88:22 | 2 | semmle.label | match | -| patterns.cs:88:22:88:22 | 2 | patterns.cs:88:18:88:23 | [match] { ... } | semmle.label | match | -| patterns.cs:88:22:88:22 | 2 | patterns.cs:88:18:88:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:88:26:88:31 | break; | patterns.cs:91:9:95:9 | switch (...) {...} | semmle.label | break | -| patterns.cs:91:9:95:9 | switch (...) {...} | patterns.cs:91:17:91:17 | 1 | semmle.label | successor | -| patterns.cs:91:16:91:20 | (..., ...) | patterns.cs:93:13:93:28 | case ...: | semmle.label | successor | +| patterns.cs:88:13:88:24 | After case ...: [match] | patterns.cs:88:18:88:23 | Before { ... } | semmle.label | successor | +| patterns.cs:88:13:88:24 | After case ...: [no-match] | patterns.cs:86:9:89:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:88:13:88:24 | case ...: | patterns.cs:88:13:88:24 | After case ...: [match] | semmle.label | match | +| patterns.cs:88:13:88:24 | case ...: | patterns.cs:88:13:88:24 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:88:18:88:23 | ( ... ) | patterns.cs:88:18:88:23 | After ( ... ) | semmle.label | successor | +| patterns.cs:88:18:88:23 | After ( ... ) | patterns.cs:88:18:88:23 | { ... } | semmle.label | successor | +| patterns.cs:88:18:88:23 | After { ... } | patterns.cs:88:26:88:31 | Before break; | semmle.label | successor | +| patterns.cs:88:18:88:23 | Before ( ... ) | patterns.cs:88:19:88:19 | 1 | semmle.label | successor | +| patterns.cs:88:18:88:23 | Before { ... } | patterns.cs:88:18:88:23 | Before ( ... ) | semmle.label | successor | +| patterns.cs:88:18:88:23 | { ... } | patterns.cs:88:18:88:23 | After { ... } | semmle.label | successor | +| patterns.cs:88:19:88:19 | 1 | patterns.cs:88:22:88:22 | 2 | semmle.label | successor | +| patterns.cs:88:22:88:22 | 2 | patterns.cs:88:18:88:23 | ( ... ) | semmle.label | successor | +| patterns.cs:88:26:88:31 | Before break; | patterns.cs:88:26:88:31 | break; | semmle.label | successor | +| patterns.cs:88:26:88:31 | break; | patterns.cs:86:9:89:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:91:9:95:9 | After switch (...) {...} | patterns.cs:33:5:96:5 | After {...} | semmle.label | successor | +| patterns.cs:91:9:95:9 | switch (...) {...} | patterns.cs:91:16:91:20 | Before (..., ...) | semmle.label | successor | +| patterns.cs:91:16:91:20 | (..., ...) | patterns.cs:91:16:91:20 | After (..., ...) | semmle.label | successor | +| patterns.cs:91:16:91:20 | After (..., ...) | patterns.cs:93:13:93:28 | case ...: | semmle.label | successor | +| patterns.cs:91:16:91:20 | Before (..., ...) | patterns.cs:91:17:91:17 | 1 | semmle.label | successor | | patterns.cs:91:17:91:17 | 1 | patterns.cs:91:19:91:19 | 2 | semmle.label | successor | | patterns.cs:91:19:91:19 | 2 | patterns.cs:91:16:91:20 | (..., ...) | semmle.label | successor | -| patterns.cs:93:13:93:28 | case ...: | patterns.cs:93:18:93:27 | ( ... ) | semmle.label | successor | -| patterns.cs:93:18:93:27 | ( ... ) | patterns.cs:93:18:93:27 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:93:18:93:27 | ( ... ) | patterns.cs:93:19:93:19 | 1 | semmle.label | match | -| patterns.cs:93:18:93:27 | [match] { ... } | patterns.cs:93:30:93:35 | break; | semmle.label | match | -| patterns.cs:93:18:93:27 | [no-match] { ... } | patterns.cs:94:13:94:24 | case ...: | semmle.label | no-match | -| patterns.cs:93:19:93:19 | 1 | patterns.cs:93:18:93:27 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:93:19:93:19 | 1 | patterns.cs:93:22:93:26 | Int32 x | semmle.label | match | -| patterns.cs:93:22:93:26 | Int32 x | patterns.cs:93:18:93:27 | [match] { ... } | semmle.label | match | -| patterns.cs:93:22:93:26 | Int32 x | patterns.cs:93:18:93:27 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:93:30:93:35 | break; | patterns.cs:32:10:32:25 | exit SwitchStatements (normal) | semmle.label | break | -| patterns.cs:94:13:94:24 | case ...: | patterns.cs:94:18:94:23 | ( ... ) | semmle.label | successor | -| patterns.cs:94:18:94:23 | ( ... ) | patterns.cs:94:18:94:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:94:18:94:23 | ( ... ) | patterns.cs:94:19:94:19 | 2 | semmle.label | match | -| patterns.cs:94:18:94:23 | [match] { ... } | patterns.cs:94:26:94:31 | break; | semmle.label | match | -| patterns.cs:94:18:94:23 | [no-match] { ... } | patterns.cs:32:10:32:25 | exit SwitchStatements (normal) | semmle.label | no-match | -| patterns.cs:94:19:94:19 | 2 | patterns.cs:94:18:94:23 | [no-match] { ... } | semmle.label | no-match | -| patterns.cs:94:19:94:19 | 2 | patterns.cs:94:22:94:22 | _ | semmle.label | match | -| patterns.cs:94:22:94:22 | _ | patterns.cs:94:18:94:23 | [match] { ... } | semmle.label | match | -| patterns.cs:94:26:94:31 | break; | patterns.cs:32:10:32:25 | exit SwitchStatements (normal) | semmle.label | break | +| patterns.cs:93:13:93:28 | After case ...: [match] | patterns.cs:93:18:93:27 | Before { ... } | semmle.label | successor | +| patterns.cs:93:13:93:28 | After case ...: [no-match] | patterns.cs:94:13:94:24 | case ...: | semmle.label | successor | +| patterns.cs:93:13:93:28 | case ...: | patterns.cs:93:13:93:28 | After case ...: [match] | semmle.label | match | +| patterns.cs:93:13:93:28 | case ...: | patterns.cs:93:13:93:28 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:93:18:93:27 | ( ... ) | patterns.cs:93:18:93:27 | After ( ... ) | semmle.label | successor | +| patterns.cs:93:18:93:27 | After ( ... ) | patterns.cs:93:18:93:27 | { ... } | semmle.label | successor | +| patterns.cs:93:18:93:27 | After { ... } | patterns.cs:93:30:93:35 | Before break; | semmle.label | successor | +| patterns.cs:93:18:93:27 | Before ( ... ) | patterns.cs:93:19:93:19 | 1 | semmle.label | successor | +| patterns.cs:93:18:93:27 | Before { ... } | patterns.cs:93:18:93:27 | Before ( ... ) | semmle.label | successor | +| patterns.cs:93:18:93:27 | { ... } | patterns.cs:93:18:93:27 | After { ... } | semmle.label | successor | +| patterns.cs:93:19:93:19 | 1 | patterns.cs:93:22:93:26 | Int32 x | semmle.label | successor | +| patterns.cs:93:22:93:26 | Int32 x | patterns.cs:93:18:93:27 | ( ... ) | semmle.label | successor | +| patterns.cs:93:30:93:35 | Before break; | patterns.cs:93:30:93:35 | break; | semmle.label | successor | +| patterns.cs:93:30:93:35 | break; | patterns.cs:91:9:95:9 | After switch (...) {...} | semmle.label | break | +| patterns.cs:94:13:94:24 | After case ...: [match] | patterns.cs:94:18:94:23 | Before { ... } | semmle.label | successor | +| patterns.cs:94:13:94:24 | After case ...: [no-match] | patterns.cs:91:9:95:9 | After switch (...) {...} | semmle.label | successor | +| patterns.cs:94:13:94:24 | case ...: | patterns.cs:94:13:94:24 | After case ...: [match] | semmle.label | match | +| patterns.cs:94:13:94:24 | case ...: | patterns.cs:94:13:94:24 | After case ...: [no-match] | semmle.label | no-match | +| patterns.cs:94:18:94:23 | ( ... ) | patterns.cs:94:18:94:23 | After ( ... ) | semmle.label | successor | +| patterns.cs:94:18:94:23 | After ( ... ) | patterns.cs:94:18:94:23 | { ... } | semmle.label | successor | +| patterns.cs:94:18:94:23 | After { ... } | patterns.cs:94:26:94:31 | Before break; | semmle.label | successor | +| patterns.cs:94:18:94:23 | Before ( ... ) | patterns.cs:94:19:94:19 | 2 | semmle.label | successor | +| patterns.cs:94:18:94:23 | Before { ... } | patterns.cs:94:18:94:23 | Before ( ... ) | semmle.label | successor | +| patterns.cs:94:18:94:23 | { ... } | patterns.cs:94:18:94:23 | After { ... } | semmle.label | successor | +| patterns.cs:94:19:94:19 | 2 | patterns.cs:94:22:94:22 | _ | semmle.label | successor | +| patterns.cs:94:22:94:22 | _ | patterns.cs:94:18:94:23 | ( ... ) | semmle.label | successor | +| patterns.cs:94:26:94:31 | Before break; | patterns.cs:94:26:94:31 | break; | semmle.label | successor | +| patterns.cs:94:26:94:31 | break; | patterns.cs:91:9:95:9 | After switch (...) {...} | semmle.label | break | diff --git a/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.ql b/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.ql index 100f05e562a..3030332cc0a 100644 --- a/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.ql +++ b/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.ql @@ -1,9 +1,9 @@ import csharp -query predicate edges(ControlFlow::Node a, ControlFlow::Node b, string label, string value) { +query predicate edges(ControlFlowNode a, ControlFlowNode b, string label, string value) { exists(ControlFlow::SuccessorType t | a.getEnclosingCallable().hasName("SwitchStatements") and - b = a.getASuccessorByType(t) and + b = a.getASuccessor(t) and label = "semmle.label" and value = t.toString() ) diff --git a/csharp/ql/test/library-tests/dataflow/call-sensitivity/CallSensitivityFlow.expected b/csharp/ql/test/library-tests/dataflow/call-sensitivity/CallSensitivityFlow.expected index bcd15ee7831..37639ca837a 100644 --- a/csharp/ql/test/library-tests/dataflow/call-sensitivity/CallSensitivityFlow.expected +++ b/csharp/ql/test/library-tests/dataflow/call-sensitivity/CallSensitivityFlow.expected @@ -10,17 +10,12 @@ edges | CallSensitivityFlow.cs:52:16:52:17 | access to local variable o3 : Object | CallSensitivityFlow.cs:53:14:53:15 | access to local variable o3 | provenance | | | CallSensitivityFlow.cs:56:46:56:46 | o : Object | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | provenance | | | CallSensitivityFlow.cs:56:46:56:46 | o : Object | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | provenance | | -| CallSensitivityFlow.cs:56:46:56:46 | o : Object | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | provenance | | -| CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | provenance | | | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | provenance | | | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | provenance | | | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | provenance | | | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | provenance | | -| CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | provenance | | | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | provenance | | | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | provenance | | -| CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | provenance | | -| CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | CallSensitivityFlow.cs:66:14:66:15 | access to local variable o3 | provenance | | | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | CallSensitivityFlow.cs:66:14:66:15 | access to local variable o3 | provenance | | | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | CallSensitivityFlow.cs:66:14:66:15 | access to local variable o3 | provenance | | | CallSensitivityFlow.cs:78:24:78:35 | object creation of type Object : Object | CallSensitivityFlow.cs:19:39:19:39 | o : Object | provenance | | @@ -80,17 +75,12 @@ nodes | CallSensitivityFlow.cs:53:14:53:15 | access to local variable o3 | semmle.label | access to local variable o3 | | CallSensitivityFlow.cs:56:46:56:46 | o : Object | semmle.label | o : Object | | CallSensitivityFlow.cs:56:46:56:46 | o : Object | semmle.label | o : Object | -| CallSensitivityFlow.cs:56:46:56:46 | o : Object | semmle.label | o : Object | -| CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | semmle.label | access to local variable o1 : Object | | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | semmle.label | access to local variable o1 : Object | | CallSensitivityFlow.cs:58:16:58:17 | access to local variable o1 : Object | semmle.label | access to local variable o1 : Object | | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | semmle.label | access to local variable tmp : Object | | CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | semmle.label | access to local variable tmp : Object | -| CallSensitivityFlow.cs:62:20:62:22 | access to local variable tmp : Object | semmle.label | access to local variable tmp : Object | | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | semmle.label | access to local variable o2 : Object | | CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | semmle.label | access to local variable o2 : Object | -| CallSensitivityFlow.cs:63:13:63:14 | access to local variable o2 : Object | semmle.label | access to local variable o2 : Object | -| CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | semmle.label | access to local variable o3 : Object | | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | semmle.label | access to local variable o3 : Object | | CallSensitivityFlow.cs:65:16:65:17 | access to local variable o3 : Object | semmle.label | access to local variable o3 : Object | | CallSensitivityFlow.cs:66:14:66:15 | access to local variable o3 | semmle.label | access to local variable o3 | diff --git a/csharp/ql/test/library-tests/dataflow/defuse/defUseEquivalence.ql b/csharp/ql/test/library-tests/dataflow/defuse/defUseEquivalence.ql index f6aaf07485e..abac840ab10 100644 --- a/csharp/ql/test/library-tests/dataflow/defuse/defUseEquivalence.ql +++ b/csharp/ql/test/library-tests/dataflow/defuse/defUseEquivalence.ql @@ -3,22 +3,22 @@ private import semmle.code.csharp.dataflow.internal.BaseSSA /** "Naive" def-use implementation. */ predicate defReaches( - AssignableDefinition def, BaseSsa::SimpleLocalScopeVariable v, ControlFlow::Node cfn + AssignableDefinition def, BaseSsa::SimpleLocalScopeVariable v, ControlFlowNode cfn ) { - def.getTarget() = v and cfn = def.getExpr().getAControlFlowNode().getASuccessor() + def.getTarget() = v and cfn = def.getExpr().getControlFlowNode().getASuccessor() or - exists(ControlFlow::Node mid | defReaches(def, v, mid) | + exists(ControlFlowNode mid | defReaches(def, v, mid) | not mid = any(AssignableDefinition ad | ad.getTarget() = v and ad.isCertain()) .getExpr() - .getAControlFlowNode() and + .getControlFlowNode() and cfn = mid.getASuccessor() ) } predicate defUsePair(AssignableDefinition def, AssignableRead read) { exists(Assignable a | - defReaches(def, a, read.getAControlFlowNode()) and + defReaches(def, a, read.getControlFlowNode()) and read.getTarget() = a ) } diff --git a/csharp/ql/test/library-tests/dataflow/defuse/parameterUseEquivalence.ql b/csharp/ql/test/library-tests/dataflow/defuse/parameterUseEquivalence.ql index 87c26e32259..e4216f89942 100644 --- a/csharp/ql/test/library-tests/dataflow/defuse/parameterUseEquivalence.ql +++ b/csharp/ql/test/library-tests/dataflow/defuse/parameterUseEquivalence.ql @@ -2,21 +2,21 @@ import csharp private import semmle.code.csharp.dataflow.internal.BaseSSA /** "Naive" parameter-use implementation. */ -predicate parameterReaches(Parameter p, ControlFlow::Node cfn) { +predicate parameterReaches(Parameter p, ControlFlowNode cfn) { cfn = p.getCallable().getEntryPoint().getASuccessor() and p instanceof BaseSsa::SimpleLocalScopeVariable or - exists(ControlFlow::Node mid | parameterReaches(p, mid) | + exists(ControlFlowNode mid | parameterReaches(p, mid) | not mid = any(AssignableDefinition ad | ad.getTarget() = p and ad.isCertain()) .getExpr() - .getAControlFlowNode() and + .getControlFlowNode() and cfn = mid.getASuccessor() ) } predicate parameterUsePair(Parameter p, AssignableRead read) { - parameterReaches(p, read.getAControlFlowNode()) and + parameterReaches(p, read.getControlFlowNode()) and read.getTarget() = p } diff --git a/csharp/ql/test/library-tests/dataflow/defuse/useUseEquivalence.ql b/csharp/ql/test/library-tests/dataflow/defuse/useUseEquivalence.ql index f212e48f1c4..bc3d6d422a6 100644 --- a/csharp/ql/test/library-tests/dataflow/defuse/useUseEquivalence.ql +++ b/csharp/ql/test/library-tests/dataflow/defuse/useUseEquivalence.ql @@ -3,22 +3,22 @@ private import semmle.code.csharp.dataflow.internal.BaseSSA /** "Naive" use-use implementation. */ predicate useReaches( - LocalScopeVariableRead read, BaseSsa::SimpleLocalScopeVariable v, ControlFlow::Node cfn + LocalScopeVariableRead read, BaseSsa::SimpleLocalScopeVariable v, ControlFlowNode cfn ) { - read.getTarget() = v and cfn = read.getAControlFlowNode().getASuccessor() + read.getTarget() = v and cfn = read.getControlFlowNode().getASuccessor() or - exists(ControlFlow::Node mid | useReaches(read, v, mid) | + exists(ControlFlowNode mid | useReaches(read, v, mid) | not mid = any(AssignableDefinition ad | ad.getTarget() = v and ad.isCertain()) .getExpr() - .getAControlFlowNode() and + .getControlFlowNode() and cfn = mid.getASuccessor() ) } predicate useUsePair(LocalScopeVariableRead read1, LocalScopeVariableRead read2) { exists(Assignable a | - useReaches(read1, a, read2.getAControlFlowNode()) and + useReaches(read1, a, read2.getControlFlowNode()) and read2.getTarget() = a ) } @@ -32,20 +32,11 @@ private TLocalScopeVariableReadOrSsaDef getANextReadOrDef(TLocalScopeVariableRea result = TLocalScopeVariableRead(read.getANextRead()) or not exists(read.getANextRead()) and - exists( - Ssa::Definition ssaDef, Ssa::PhiNode phi, ControlFlow::Node cfn, ControlFlow::BasicBlock bb, - int i - | - ssaDef.getARead() = read - | + exists(Ssa::Definition ssaDef, Ssa::PhiNode phi, BasicBlock bb | + ssaDef.getARead() = read and phi.getAnInput() = ssaDef and - phi.definesAt(_, bb, i) and - cfn = read.getAReachableElement().getAControlFlowNode() and - ( - cfn = bb.getNode(i) - or - cfn = bb.getFirstNode() and i < 0 - ) and + phi.definesAt(_, bb, _) and + read.getBasicBlock().getASuccessor+() = bb and result = TSsaDefinition(phi) ) ) diff --git a/csharp/ql/test/library-tests/dataflow/extensions/ExtensionFlow.expected b/csharp/ql/test/library-tests/dataflow/extensions/ExtensionFlow.expected index 35a30ac1ffc..62a8d64a2bf 100644 --- a/csharp/ql/test/library-tests/dataflow/extensions/ExtensionFlow.expected +++ b/csharp/ql/test/library-tests/dataflow/extensions/ExtensionFlow.expected @@ -6,204 +6,234 @@ edges | extensions.cs:5:22:5:24 | obj : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | provenance | | | extensions.cs:5:22:5:24 | obj : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | provenance | | | extensions.cs:5:22:5:24 | obj : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | provenance | | -| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:108:18:108:26 | access to property Prop1 : B | provenance | | -| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:108:18:108:26 | access to property Prop1 : B | provenance | | -| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:111:18:111:44 | call to extension accessor get_Prop1 : B | provenance | | -| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:111:18:111:44 | call to extension accessor get_Prop1 : B | provenance | | +| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:116:18:116:26 | access to property Prop1 : B | provenance | | +| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:116:18:116:26 | access to property Prop1 : B | provenance | | +| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:119:18:119:44 | call to extension accessor get_Prop1 : B | provenance | | +| extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:119:18:119:44 | call to extension accessor get_Prop1 : B | provenance | | | extensions.cs:13:13:13:15 | value : B | extensions.cs:15:24:15:28 | access to parameter value | provenance | | | extensions.cs:13:13:13:15 | value : B | extensions.cs:15:24:15:28 | access to parameter value | provenance | | -| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:194:18:194:35 | access to property StaticProp1 : B | provenance | | -| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:194:18:194:35 | access to property StaticProp1 : B | provenance | | -| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:197:18:197:47 | call to extension accessor get_StaticProp1 : B | provenance | | -| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:197:18:197:47 | call to extension accessor get_StaticProp1 : B | provenance | | +| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:202:18:202:35 | access to property StaticProp1 : B | provenance | | +| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:202:18:202:35 | access to property StaticProp1 : B | provenance | | +| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:205:18:205:47 | call to extension accessor get_StaticProp1 : B | provenance | | +| extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:205:18:205:47 | call to extension accessor get_StaticProp1 : B | provenance | | | extensions.cs:38:13:38:15 | value : B | extensions.cs:40:24:40:28 | access to parameter value | provenance | | | extensions.cs:38:13:38:15 | value : B | extensions.cs:40:24:40:28 | access to parameter value | provenance | | -| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:127:18:127:25 | call to method M1 : B | provenance | | -| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:127:18:127:25 | call to method M1 : B | provenance | | -| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:130:18:130:37 | call to method M1 : B | provenance | | -| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:130:18:130:37 | call to method M1 : B | provenance | | +| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:135:18:135:25 | call to method M1 : B | provenance | | +| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:135:18:135:25 | call to method M1 : B | provenance | | +| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:138:18:138:37 | call to method M1 : B | provenance | | +| extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:138:18:138:37 | call to method M1 : B | provenance | | | extensions.cs:59:48:59:48 | a : B | extensions.cs:61:20:61:20 | access to parameter a | provenance | | | extensions.cs:59:48:59:48 | a : B | extensions.cs:61:20:61:20 | access to parameter a | provenance | | -| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:185:18:185:24 | call to operator - : B | provenance | | -| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:185:18:185:24 | call to operator - : B | provenance | | -| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:188:18:188:52 | call to operator - : B | provenance | | -| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:188:18:188:52 | call to operator - : B | provenance | | +| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:193:18:193:24 | call to operator - : B | provenance | | +| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:193:18:193:24 | call to operator - : B | provenance | | +| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:196:18:196:52 | call to operator - : B | provenance | | +| extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:196:18:196:52 | call to operator - : B | provenance | | | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | provenance | | | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | provenance | | | extensions.cs:76:17:76:17 | b : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | provenance | | | extensions.cs:76:17:76:17 | b : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | provenance | | -| extensions.cs:89:20:89:20 | t : B | extensions.cs:93:20:93:20 | access to extension synthetic parameter t | provenance | | -| extensions.cs:89:20:89:20 | t : B | extensions.cs:93:20:93:20 | access to extension synthetic parameter t | provenance | | -| extensions.cs:96:33:96:37 | other : B | extensions.cs:98:20:98:24 | access to parameter other : B | provenance | | -| extensions.cs:96:33:96:37 | other : B | extensions.cs:98:20:98:24 | access to parameter other : B | provenance | | -| extensions.cs:108:13:108:14 | access to local variable b1 : B | extensions.cs:109:14:109:15 | access to local variable b1 | provenance | | -| extensions.cs:108:13:108:14 | access to local variable b1 : B | extensions.cs:109:14:109:15 | access to local variable b1 | provenance | | -| extensions.cs:108:18:108:26 | access to property Prop1 : B | extensions.cs:108:13:108:14 | access to local variable b1 : B | provenance | | -| extensions.cs:108:18:108:26 | access to property Prop1 : B | extensions.cs:108:13:108:14 | access to local variable b1 : B | provenance | | -| extensions.cs:111:13:111:14 | access to local variable b2 : B | extensions.cs:112:14:112:15 | access to local variable b2 | provenance | | -| extensions.cs:111:13:111:14 | access to local variable b2 : B | extensions.cs:112:14:112:15 | access to local variable b2 | provenance | | -| extensions.cs:111:18:111:44 | call to extension accessor get_Prop1 : B | extensions.cs:111:13:111:14 | access to local variable b2 : B | provenance | | -| extensions.cs:111:18:111:44 | call to extension accessor get_Prop1 : B | extensions.cs:111:13:111:14 | access to local variable b2 : B | provenance | | -| extensions.cs:118:21:118:32 | call to method Source : B | extensions.cs:13:13:13:15 | value : B | provenance | | -| extensions.cs:118:21:118:32 | call to method Source : B | extensions.cs:13:13:13:15 | value : B | provenance | | -| extensions.cs:120:13:120:13 | access to local variable b : B | extensions.cs:121:37:121:37 | access to local variable b : B | provenance | | -| extensions.cs:120:13:120:13 | access to local variable b : B | extensions.cs:121:37:121:37 | access to local variable b : B | provenance | | -| extensions.cs:120:17:120:30 | call to method Source : B | extensions.cs:120:13:120:13 | access to local variable b : B | provenance | | -| extensions.cs:120:17:120:30 | call to method Source : B | extensions.cs:120:13:120:13 | access to local variable b : B | provenance | | -| extensions.cs:121:37:121:37 | access to local variable b : B | extensions.cs:13:13:13:15 | value : B | provenance | | -| extensions.cs:121:37:121:37 | access to local variable b : B | extensions.cs:13:13:13:15 | value : B | provenance | | -| extensions.cs:127:13:127:14 | access to local variable b1 : B | extensions.cs:128:14:128:15 | access to local variable b1 | provenance | | -| extensions.cs:127:13:127:14 | access to local variable b1 : B | extensions.cs:128:14:128:15 | access to local variable b1 | provenance | | -| extensions.cs:127:18:127:25 | call to method M1 : B | extensions.cs:127:13:127:14 | access to local variable b1 : B | provenance | | -| extensions.cs:127:18:127:25 | call to method M1 : B | extensions.cs:127:13:127:14 | access to local variable b1 : B | provenance | | -| extensions.cs:130:13:130:14 | access to local variable b2 : B | extensions.cs:131:14:131:15 | access to local variable b2 | provenance | | -| extensions.cs:130:13:130:14 | access to local variable b2 : B | extensions.cs:131:14:131:15 | access to local variable b2 | provenance | | -| extensions.cs:130:18:130:37 | call to method M1 : B | extensions.cs:130:13:130:14 | access to local variable b2 : B | provenance | | -| extensions.cs:130:18:130:37 | call to method M1 : B | extensions.cs:130:13:130:14 | access to local variable b2 : B | provenance | | -| extensions.cs:136:13:136:14 | access to local variable b1 : B | extensions.cs:137:9:137:10 | access to local variable b1 : B | provenance | | -| extensions.cs:136:13:136:14 | access to local variable b1 : B | extensions.cs:137:9:137:10 | access to local variable b1 : B | provenance | | -| extensions.cs:136:18:136:29 | call to method Source : B | extensions.cs:136:13:136:14 | access to local variable b1 : B | provenance | | -| extensions.cs:136:18:136:29 | call to method Source : B | extensions.cs:136:13:136:14 | access to local variable b1 : B | provenance | | -| extensions.cs:137:9:137:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:137:9:137:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:139:13:139:14 | access to local variable b2 : B | extensions.cs:140:25:140:26 | access to local variable b2 : B | provenance | | -| extensions.cs:139:13:139:14 | access to local variable b2 : B | extensions.cs:140:25:140:26 | access to local variable b2 : B | provenance | | -| extensions.cs:139:18:139:31 | call to method Source : B | extensions.cs:139:13:139:14 | access to local variable b2 : B | provenance | | -| extensions.cs:139:18:139:31 | call to method Source : B | extensions.cs:139:13:139:14 | access to local variable b2 : B | provenance | | -| extensions.cs:140:25:140:26 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:140:25:140:26 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:145:13:145:14 | access to local variable b1 : B | extensions.cs:146:18:146:19 | access to local variable b1 : B | provenance | | -| extensions.cs:145:13:145:14 | access to local variable b1 : B | extensions.cs:146:18:146:19 | access to local variable b1 : B | provenance | | -| extensions.cs:145:13:145:14 | access to local variable b1 : B | extensions.cs:149:34:149:35 | access to local variable b1 : B | provenance | | -| extensions.cs:145:13:145:14 | access to local variable b1 : B | extensions.cs:149:34:149:35 | access to local variable b1 : B | provenance | | -| extensions.cs:145:18:145:29 | call to method Source : B | extensions.cs:145:13:145:14 | access to local variable b1 : B | provenance | | -| extensions.cs:145:18:145:29 | call to method Source : B | extensions.cs:145:13:145:14 | access to local variable b1 : B | provenance | | -| extensions.cs:146:13:146:14 | access to local variable b2 : B | extensions.cs:147:14:147:15 | access to local variable b2 | provenance | | -| extensions.cs:146:13:146:14 | access to local variable b2 : B | extensions.cs:147:14:147:15 | access to local variable b2 | provenance | | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | extensions.cs:146:18:146:24 | call to method B1 : B | provenance | | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | extensions.cs:146:18:146:24 | call to method B1 : B | provenance | | -| extensions.cs:146:18:146:24 | call to method B1 : B | extensions.cs:146:13:146:14 | access to local variable b2 : B | provenance | | -| extensions.cs:146:18:146:24 | call to method B1 : B | extensions.cs:146:13:146:14 | access to local variable b2 : B | provenance | | -| extensions.cs:149:13:149:14 | access to local variable b3 : B | extensions.cs:150:14:150:15 | access to local variable b3 | provenance | | -| extensions.cs:149:13:149:14 | access to local variable b3 : B | extensions.cs:150:14:150:15 | access to local variable b3 | provenance | | -| extensions.cs:149:18:149:36 | call to method B1 : B | extensions.cs:149:13:149:14 | access to local variable b3 : B | provenance | | -| extensions.cs:149:18:149:36 | call to method B1 : B | extensions.cs:149:13:149:14 | access to local variable b3 : B | provenance | | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | extensions.cs:149:18:149:36 | call to method B1 : B | provenance | | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | extensions.cs:149:18:149:36 | call to method B1 : B | provenance | | -| extensions.cs:155:13:155:14 | access to local variable b1 : B | extensions.cs:156:18:156:19 | access to local variable b1 : B | provenance | | -| extensions.cs:155:13:155:14 | access to local variable b1 : B | extensions.cs:156:18:156:19 | access to local variable b1 : B | provenance | | -| extensions.cs:155:18:155:29 | call to method Source : B | extensions.cs:155:13:155:14 | access to local variable b1 : B | provenance | | -| extensions.cs:155:18:155:29 | call to method Source : B | extensions.cs:155:13:155:14 | access to local variable b1 : B | provenance | | -| extensions.cs:156:18:156:19 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:156:18:156:19 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:158:13:158:14 | access to local variable b3 : B | extensions.cs:159:41:159:42 | access to local variable b3 : B | provenance | | -| extensions.cs:158:13:158:14 | access to local variable b3 : B | extensions.cs:159:41:159:42 | access to local variable b3 : B | provenance | | -| extensions.cs:158:18:158:31 | call to method Source : B | extensions.cs:158:13:158:14 | access to local variable b3 : B | provenance | | -| extensions.cs:158:18:158:31 | call to method Source : B | extensions.cs:158:13:158:14 | access to local variable b3 : B | provenance | | -| extensions.cs:159:41:159:42 | access to local variable b3 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:159:41:159:42 | access to local variable b3 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:164:13:164:14 | access to local variable b1 : B | extensions.cs:165:9:165:10 | access to local variable b1 : B | provenance | | -| extensions.cs:164:13:164:14 | access to local variable b1 : B | extensions.cs:165:9:165:10 | access to local variable b1 : B | provenance | | -| extensions.cs:164:18:164:29 | call to method Source : B | extensions.cs:164:13:164:14 | access to local variable b1 : B | provenance | | -| extensions.cs:164:18:164:29 | call to method Source : B | extensions.cs:164:13:164:14 | access to local variable b1 : B | provenance | | -| extensions.cs:165:9:165:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:165:9:165:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:167:13:167:14 | access to local variable b2 : B | extensions.cs:168:32:168:33 | access to local variable b2 : B | provenance | | -| extensions.cs:167:13:167:14 | access to local variable b2 : B | extensions.cs:168:32:168:33 | access to local variable b2 : B | provenance | | -| extensions.cs:167:18:167:31 | call to method Source : B | extensions.cs:167:13:167:14 | access to local variable b2 : B | provenance | | -| extensions.cs:167:18:167:31 | call to method Source : B | extensions.cs:167:13:167:14 | access to local variable b2 : B | provenance | | -| extensions.cs:168:32:168:33 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:168:32:168:33 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | -| extensions.cs:173:13:173:14 | access to local variable b1 : B | extensions.cs:175:18:175:19 | access to local variable b1 : B | provenance | | -| extensions.cs:173:13:173:14 | access to local variable b1 : B | extensions.cs:175:18:175:19 | access to local variable b1 : B | provenance | | -| extensions.cs:173:18:173:29 | call to method Source : B | extensions.cs:173:13:173:14 | access to local variable b1 : B | provenance | | -| extensions.cs:173:18:173:29 | call to method Source : B | extensions.cs:173:13:173:14 | access to local variable b1 : B | provenance | | -| extensions.cs:175:18:175:19 | access to local variable b1 : B | extensions.cs:59:48:59:48 | a : B | provenance | | -| extensions.cs:175:18:175:19 | access to local variable b1 : B | extensions.cs:59:48:59:48 | a : B | provenance | | -| extensions.cs:177:13:177:14 | access to local variable b4 : B | extensions.cs:178:43:178:44 | access to local variable b4 : B | provenance | | -| extensions.cs:177:13:177:14 | access to local variable b4 : B | extensions.cs:178:43:178:44 | access to local variable b4 : B | provenance | | -| extensions.cs:177:18:177:31 | call to method Source : B | extensions.cs:177:13:177:14 | access to local variable b4 : B | provenance | | -| extensions.cs:177:18:177:31 | call to method Source : B | extensions.cs:177:13:177:14 | access to local variable b4 : B | provenance | | -| extensions.cs:178:43:178:44 | access to local variable b4 : B | extensions.cs:59:48:59:48 | a : B | provenance | | -| extensions.cs:178:43:178:44 | access to local variable b4 : B | extensions.cs:59:48:59:48 | a : B | provenance | | -| extensions.cs:185:13:185:14 | access to local variable b3 : B | extensions.cs:186:14:186:15 | access to local variable b3 | provenance | | -| extensions.cs:185:13:185:14 | access to local variable b3 : B | extensions.cs:186:14:186:15 | access to local variable b3 | provenance | | -| extensions.cs:185:18:185:24 | call to operator - : B | extensions.cs:185:13:185:14 | access to local variable b3 : B | provenance | | -| extensions.cs:185:18:185:24 | call to operator - : B | extensions.cs:185:13:185:14 | access to local variable b3 : B | provenance | | -| extensions.cs:188:13:188:14 | access to local variable b4 : B | extensions.cs:189:14:189:15 | access to local variable b4 | provenance | | -| extensions.cs:188:13:188:14 | access to local variable b4 : B | extensions.cs:189:14:189:15 | access to local variable b4 | provenance | | -| extensions.cs:188:18:188:52 | call to operator - : B | extensions.cs:188:13:188:14 | access to local variable b4 : B | provenance | | -| extensions.cs:188:18:188:52 | call to operator - : B | extensions.cs:188:13:188:14 | access to local variable b4 : B | provenance | | -| extensions.cs:194:13:194:14 | access to local variable b1 : B | extensions.cs:195:14:195:15 | access to local variable b1 | provenance | | -| extensions.cs:194:13:194:14 | access to local variable b1 : B | extensions.cs:195:14:195:15 | access to local variable b1 | provenance | | -| extensions.cs:194:18:194:35 | access to property StaticProp1 : B | extensions.cs:194:13:194:14 | access to local variable b1 : B | provenance | | -| extensions.cs:194:18:194:35 | access to property StaticProp1 : B | extensions.cs:194:13:194:14 | access to local variable b1 : B | provenance | | -| extensions.cs:197:13:197:14 | access to local variable b2 : B | extensions.cs:198:14:198:15 | access to local variable b2 | provenance | | -| extensions.cs:197:13:197:14 | access to local variable b2 : B | extensions.cs:198:14:198:15 | access to local variable b2 | provenance | | -| extensions.cs:197:18:197:47 | call to extension accessor get_StaticProp1 : B | extensions.cs:197:13:197:14 | access to local variable b2 : B | provenance | | -| extensions.cs:197:18:197:47 | call to extension accessor get_StaticProp1 : B | extensions.cs:197:13:197:14 | access to local variable b2 : B | provenance | | -| extensions.cs:203:13:203:14 | access to local variable b1 : B | extensions.cs:204:30:204:31 | access to local variable b1 : B | provenance | | -| extensions.cs:203:13:203:14 | access to local variable b1 : B | extensions.cs:204:30:204:31 | access to local variable b1 : B | provenance | | -| extensions.cs:203:18:203:30 | call to method Source : B | extensions.cs:203:13:203:14 | access to local variable b1 : B | provenance | | -| extensions.cs:203:18:203:30 | call to method Source : B | extensions.cs:203:13:203:14 | access to local variable b1 : B | provenance | | -| extensions.cs:204:30:204:31 | access to local variable b1 : B | extensions.cs:38:13:38:15 | value : B | provenance | | -| extensions.cs:204:30:204:31 | access to local variable b1 : B | extensions.cs:38:13:38:15 | value : B | provenance | | -| extensions.cs:206:13:206:14 | access to local variable b2 : B | extensions.cs:207:38:207:39 | access to local variable b2 : B | provenance | | -| extensions.cs:206:13:206:14 | access to local variable b2 : B | extensions.cs:207:38:207:39 | access to local variable b2 : B | provenance | | -| extensions.cs:206:18:206:31 | call to method Source : B | extensions.cs:206:13:206:14 | access to local variable b2 : B | provenance | | -| extensions.cs:206:18:206:31 | call to method Source : B | extensions.cs:206:13:206:14 | access to local variable b2 : B | provenance | | -| extensions.cs:207:38:207:39 | access to local variable b2 : B | extensions.cs:38:13:38:15 | value : B | provenance | | -| extensions.cs:207:38:207:39 | access to local variable b2 : B | extensions.cs:38:13:38:15 | value : B | provenance | | -| extensions.cs:212:13:212:14 | access to local variable b1 : B | extensions.cs:213:9:213:10 | access to local variable b1 : B | provenance | | -| extensions.cs:212:13:212:14 | access to local variable b1 : B | extensions.cs:213:9:213:10 | access to local variable b1 : B | provenance | | -| extensions.cs:212:18:212:30 | call to method Source : B | extensions.cs:212:13:212:14 | access to local variable b1 : B | provenance | | -| extensions.cs:212:18:212:30 | call to method Source : B | extensions.cs:212:13:212:14 | access to local variable b1 : B | provenance | | -| extensions.cs:213:9:213:10 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:213:9:213:10 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:215:13:215:14 | access to local variable b2 : B | extensions.cs:216:25:216:26 | access to local variable b2 : B | provenance | | -| extensions.cs:215:13:215:14 | access to local variable b2 : B | extensions.cs:216:25:216:26 | access to local variable b2 : B | provenance | | -| extensions.cs:215:18:215:31 | call to method Source : B | extensions.cs:215:13:215:14 | access to local variable b2 : B | provenance | | -| extensions.cs:215:18:215:31 | call to method Source : B | extensions.cs:215:13:215:14 | access to local variable b2 : B | provenance | | -| extensions.cs:216:25:216:26 | access to local variable b2 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:216:25:216:26 | access to local variable b2 : B | extensions.cs:76:17:76:17 | b : B | provenance | | -| extensions.cs:221:13:221:14 | access to local variable b1 : B | extensions.cs:222:9:222:10 | access to local variable b1 : B | provenance | | -| extensions.cs:221:13:221:14 | access to local variable b1 : B | extensions.cs:222:9:222:10 | access to local variable b1 : B | provenance | | -| extensions.cs:221:18:221:30 | call to method Source : B | extensions.cs:221:13:221:14 | access to local variable b1 : B | provenance | | -| extensions.cs:221:18:221:30 | call to method Source : B | extensions.cs:221:13:221:14 | access to local variable b1 : B | provenance | | -| extensions.cs:222:9:222:10 | access to local variable b1 : B | extensions.cs:89:20:89:20 | t : B | provenance | | -| extensions.cs:222:9:222:10 | access to local variable b1 : B | extensions.cs:89:20:89:20 | t : B | provenance | | -| extensions.cs:224:13:224:14 | access to local variable b2 : B | extensions.cs:225:32:225:33 | access to local variable b2 : B | provenance | | -| extensions.cs:224:13:224:14 | access to local variable b2 : B | extensions.cs:225:32:225:33 | access to local variable b2 : B | provenance | | -| extensions.cs:224:18:224:31 | call to method Source : B | extensions.cs:224:13:224:14 | access to local variable b2 : B | provenance | | -| extensions.cs:224:18:224:31 | call to method Source : B | extensions.cs:224:13:224:14 | access to local variable b2 : B | provenance | | -| extensions.cs:225:32:225:33 | access to local variable b2 : B | extensions.cs:89:20:89:20 | t : B | provenance | | -| extensions.cs:225:32:225:33 | access to local variable b2 : B | extensions.cs:89:20:89:20 | t : B | provenance | | -| extensions.cs:231:13:231:14 | access to local variable b1 : B | extensions.cs:232:32:232:33 | access to local variable b1 : B | provenance | | -| extensions.cs:231:13:231:14 | access to local variable b1 : B | extensions.cs:232:32:232:33 | access to local variable b1 : B | provenance | | -| extensions.cs:231:13:231:14 | access to local variable b1 : B | extensions.cs:235:46:235:47 | access to local variable b1 : B | provenance | | -| extensions.cs:231:13:231:14 | access to local variable b1 : B | extensions.cs:235:46:235:47 | access to local variable b1 : B | provenance | | -| extensions.cs:231:18:231:30 | call to method Source : B | extensions.cs:231:13:231:14 | access to local variable b1 : B | provenance | | -| extensions.cs:231:18:231:30 | call to method Source : B | extensions.cs:231:13:231:14 | access to local variable b1 : B | provenance | | -| extensions.cs:232:13:232:14 | access to local variable b2 : B | extensions.cs:233:14:233:15 | access to local variable b2 | provenance | | -| extensions.cs:232:13:232:14 | access to local variable b2 : B | extensions.cs:233:14:233:15 | access to local variable b2 | provenance | | -| extensions.cs:232:18:232:34 | call to method GenericM2 : B | extensions.cs:232:13:232:14 | access to local variable b2 : B | provenance | | -| extensions.cs:232:18:232:34 | call to method GenericM2 : B | extensions.cs:232:13:232:14 | access to local variable b2 : B | provenance | | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | provenance | | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | provenance | | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | extensions.cs:232:18:232:34 | call to method GenericM2 : B | provenance | | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | extensions.cs:232:18:232:34 | call to method GenericM2 : B | provenance | | -| extensions.cs:235:13:235:14 | access to local variable b3 : B | extensions.cs:236:14:236:15 | access to local variable b3 | provenance | | -| extensions.cs:235:13:235:14 | access to local variable b3 : B | extensions.cs:236:14:236:15 | access to local variable b3 | provenance | | -| extensions.cs:235:18:235:48 | call to method GenericM2 : B | extensions.cs:235:13:235:14 | access to local variable b3 : B | provenance | | -| extensions.cs:235:18:235:48 | call to method GenericM2 : B | extensions.cs:235:13:235:14 | access to local variable b3 : B | provenance | | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | provenance | | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | provenance | | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | extensions.cs:235:18:235:48 | call to method GenericM2 : B | provenance | | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | extensions.cs:235:18:235:48 | call to method GenericM2 : B | provenance | | +| extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | extensions.cs:93:22:93:23 | access to parameter c1 : C [property Prop] : Object | provenance | | +| extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | extensions.cs:93:22:93:23 | access to parameter c1 : C [property Prop] : Object | provenance | | +| extensions.cs:93:13:93:13 | [post] access to extension synthetic parameter c : C [property Prop] : Object | extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | provenance | | +| extensions.cs:93:13:93:13 | [post] access to extension synthetic parameter c : C [property Prop] : Object | extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | provenance | | +| extensions.cs:93:22:93:23 | access to parameter c1 : C [property Prop] : Object | extensions.cs:93:22:93:28 | access to property Prop : Object | provenance | | +| extensions.cs:93:22:93:23 | access to parameter c1 : C [property Prop] : Object | extensions.cs:93:22:93:28 | access to property Prop : Object | provenance | | +| extensions.cs:93:22:93:28 | access to property Prop : Object | extensions.cs:93:13:93:13 | [post] access to extension synthetic parameter c : C [property Prop] : Object | provenance | | +| extensions.cs:93:22:93:28 | access to property Prop : Object | extensions.cs:93:13:93:13 | [post] access to extension synthetic parameter c : C [property Prop] : Object | provenance | | +| extensions.cs:97:20:97:20 | t : B | extensions.cs:101:20:101:20 | access to extension synthetic parameter t | provenance | | +| extensions.cs:97:20:97:20 | t : B | extensions.cs:101:20:101:20 | access to extension synthetic parameter t | provenance | | +| extensions.cs:104:33:104:37 | other : B | extensions.cs:106:20:106:24 | access to parameter other : B | provenance | | +| extensions.cs:104:33:104:37 | other : B | extensions.cs:106:20:106:24 | access to parameter other : B | provenance | | +| extensions.cs:116:13:116:14 | access to local variable b1 : B | extensions.cs:117:14:117:15 | access to local variable b1 | provenance | | +| extensions.cs:116:13:116:14 | access to local variable b1 : B | extensions.cs:117:14:117:15 | access to local variable b1 | provenance | | +| extensions.cs:116:18:116:26 | access to property Prop1 : B | extensions.cs:116:13:116:14 | access to local variable b1 : B | provenance | | +| extensions.cs:116:18:116:26 | access to property Prop1 : B | extensions.cs:116:13:116:14 | access to local variable b1 : B | provenance | | +| extensions.cs:119:13:119:14 | access to local variable b2 : B | extensions.cs:120:14:120:15 | access to local variable b2 | provenance | | +| extensions.cs:119:13:119:14 | access to local variable b2 : B | extensions.cs:120:14:120:15 | access to local variable b2 | provenance | | +| extensions.cs:119:18:119:44 | call to extension accessor get_Prop1 : B | extensions.cs:119:13:119:14 | access to local variable b2 : B | provenance | | +| extensions.cs:119:18:119:44 | call to extension accessor get_Prop1 : B | extensions.cs:119:13:119:14 | access to local variable b2 : B | provenance | | +| extensions.cs:126:21:126:32 | call to method Source : B | extensions.cs:13:13:13:15 | value : B | provenance | | +| extensions.cs:126:21:126:32 | call to method Source : B | extensions.cs:13:13:13:15 | value : B | provenance | | +| extensions.cs:128:13:128:13 | access to local variable b : B | extensions.cs:129:37:129:37 | access to local variable b : B | provenance | | +| extensions.cs:128:13:128:13 | access to local variable b : B | extensions.cs:129:37:129:37 | access to local variable b : B | provenance | | +| extensions.cs:128:17:128:30 | call to method Source : B | extensions.cs:128:13:128:13 | access to local variable b : B | provenance | | +| extensions.cs:128:17:128:30 | call to method Source : B | extensions.cs:128:13:128:13 | access to local variable b : B | provenance | | +| extensions.cs:129:37:129:37 | access to local variable b : B | extensions.cs:13:13:13:15 | value : B | provenance | | +| extensions.cs:129:37:129:37 | access to local variable b : B | extensions.cs:13:13:13:15 | value : B | provenance | | +| extensions.cs:135:13:135:14 | access to local variable b1 : B | extensions.cs:136:14:136:15 | access to local variable b1 | provenance | | +| extensions.cs:135:13:135:14 | access to local variable b1 : B | extensions.cs:136:14:136:15 | access to local variable b1 | provenance | | +| extensions.cs:135:18:135:25 | call to method M1 : B | extensions.cs:135:13:135:14 | access to local variable b1 : B | provenance | | +| extensions.cs:135:18:135:25 | call to method M1 : B | extensions.cs:135:13:135:14 | access to local variable b1 : B | provenance | | +| extensions.cs:138:13:138:14 | access to local variable b2 : B | extensions.cs:139:14:139:15 | access to local variable b2 | provenance | | +| extensions.cs:138:13:138:14 | access to local variable b2 : B | extensions.cs:139:14:139:15 | access to local variable b2 | provenance | | +| extensions.cs:138:18:138:37 | call to method M1 : B | extensions.cs:138:13:138:14 | access to local variable b2 : B | provenance | | +| extensions.cs:138:18:138:37 | call to method M1 : B | extensions.cs:138:13:138:14 | access to local variable b2 : B | provenance | | +| extensions.cs:144:13:144:14 | access to local variable b1 : B | extensions.cs:145:9:145:10 | access to local variable b1 : B | provenance | | +| extensions.cs:144:13:144:14 | access to local variable b1 : B | extensions.cs:145:9:145:10 | access to local variable b1 : B | provenance | | +| extensions.cs:144:18:144:29 | call to method Source : B | extensions.cs:144:13:144:14 | access to local variable b1 : B | provenance | | +| extensions.cs:144:18:144:29 | call to method Source : B | extensions.cs:144:13:144:14 | access to local variable b1 : B | provenance | | +| extensions.cs:145:9:145:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:145:9:145:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:147:13:147:14 | access to local variable b2 : B | extensions.cs:148:25:148:26 | access to local variable b2 : B | provenance | | +| extensions.cs:147:13:147:14 | access to local variable b2 : B | extensions.cs:148:25:148:26 | access to local variable b2 : B | provenance | | +| extensions.cs:147:18:147:31 | call to method Source : B | extensions.cs:147:13:147:14 | access to local variable b2 : B | provenance | | +| extensions.cs:147:18:147:31 | call to method Source : B | extensions.cs:147:13:147:14 | access to local variable b2 : B | provenance | | +| extensions.cs:148:25:148:26 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:148:25:148:26 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:153:13:153:14 | access to local variable b1 : B | extensions.cs:154:18:154:19 | access to local variable b1 : B | provenance | | +| extensions.cs:153:13:153:14 | access to local variable b1 : B | extensions.cs:154:18:154:19 | access to local variable b1 : B | provenance | | +| extensions.cs:153:13:153:14 | access to local variable b1 : B | extensions.cs:157:34:157:35 | access to local variable b1 : B | provenance | | +| extensions.cs:153:13:153:14 | access to local variable b1 : B | extensions.cs:157:34:157:35 | access to local variable b1 : B | provenance | | +| extensions.cs:153:18:153:29 | call to method Source : B | extensions.cs:153:13:153:14 | access to local variable b1 : B | provenance | | +| extensions.cs:153:18:153:29 | call to method Source : B | extensions.cs:153:13:153:14 | access to local variable b1 : B | provenance | | +| extensions.cs:154:13:154:14 | access to local variable b2 : B | extensions.cs:155:14:155:15 | access to local variable b2 | provenance | | +| extensions.cs:154:13:154:14 | access to local variable b2 : B | extensions.cs:155:14:155:15 | access to local variable b2 | provenance | | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | extensions.cs:154:18:154:24 | call to method B1 : B | provenance | | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | extensions.cs:154:18:154:24 | call to method B1 : B | provenance | | +| extensions.cs:154:18:154:24 | call to method B1 : B | extensions.cs:154:13:154:14 | access to local variable b2 : B | provenance | | +| extensions.cs:154:18:154:24 | call to method B1 : B | extensions.cs:154:13:154:14 | access to local variable b2 : B | provenance | | +| extensions.cs:157:13:157:14 | access to local variable b3 : B | extensions.cs:158:14:158:15 | access to local variable b3 | provenance | | +| extensions.cs:157:13:157:14 | access to local variable b3 : B | extensions.cs:158:14:158:15 | access to local variable b3 | provenance | | +| extensions.cs:157:18:157:36 | call to method B1 : B | extensions.cs:157:13:157:14 | access to local variable b3 : B | provenance | | +| extensions.cs:157:18:157:36 | call to method B1 : B | extensions.cs:157:13:157:14 | access to local variable b3 : B | provenance | | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | extensions.cs:157:18:157:36 | call to method B1 : B | provenance | | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | extensions.cs:157:18:157:36 | call to method B1 : B | provenance | | +| extensions.cs:163:13:163:14 | access to local variable b1 : B | extensions.cs:164:18:164:19 | access to local variable b1 : B | provenance | | +| extensions.cs:163:13:163:14 | access to local variable b1 : B | extensions.cs:164:18:164:19 | access to local variable b1 : B | provenance | | +| extensions.cs:163:18:163:29 | call to method Source : B | extensions.cs:163:13:163:14 | access to local variable b1 : B | provenance | | +| extensions.cs:163:18:163:29 | call to method Source : B | extensions.cs:163:13:163:14 | access to local variable b1 : B | provenance | | +| extensions.cs:164:18:164:19 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:164:18:164:19 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:166:13:166:14 | access to local variable b3 : B | extensions.cs:167:41:167:42 | access to local variable b3 : B | provenance | | +| extensions.cs:166:13:166:14 | access to local variable b3 : B | extensions.cs:167:41:167:42 | access to local variable b3 : B | provenance | | +| extensions.cs:166:18:166:31 | call to method Source : B | extensions.cs:166:13:166:14 | access to local variable b3 : B | provenance | | +| extensions.cs:166:18:166:31 | call to method Source : B | extensions.cs:166:13:166:14 | access to local variable b3 : B | provenance | | +| extensions.cs:167:41:167:42 | access to local variable b3 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:167:41:167:42 | access to local variable b3 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:172:13:172:14 | access to local variable b1 : B | extensions.cs:173:9:173:10 | access to local variable b1 : B | provenance | | +| extensions.cs:172:13:172:14 | access to local variable b1 : B | extensions.cs:173:9:173:10 | access to local variable b1 : B | provenance | | +| extensions.cs:172:18:172:29 | call to method Source : B | extensions.cs:172:13:172:14 | access to local variable b1 : B | provenance | | +| extensions.cs:172:18:172:29 | call to method Source : B | extensions.cs:172:13:172:14 | access to local variable b1 : B | provenance | | +| extensions.cs:173:9:173:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:173:9:173:10 | access to local variable b1 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:175:13:175:14 | access to local variable b2 : B | extensions.cs:176:32:176:33 | access to local variable b2 : B | provenance | | +| extensions.cs:175:13:175:14 | access to local variable b2 : B | extensions.cs:176:32:176:33 | access to local variable b2 : B | provenance | | +| extensions.cs:175:18:175:31 | call to method Source : B | extensions.cs:175:13:175:14 | access to local variable b2 : B | provenance | | +| extensions.cs:175:18:175:31 | call to method Source : B | extensions.cs:175:13:175:14 | access to local variable b2 : B | provenance | | +| extensions.cs:176:32:176:33 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:176:32:176:33 | access to local variable b2 : B | extensions.cs:5:22:5:24 | obj : B | provenance | | +| extensions.cs:181:13:181:14 | access to local variable b1 : B | extensions.cs:183:18:183:19 | access to local variable b1 : B | provenance | | +| extensions.cs:181:13:181:14 | access to local variable b1 : B | extensions.cs:183:18:183:19 | access to local variable b1 : B | provenance | | +| extensions.cs:181:18:181:29 | call to method Source : B | extensions.cs:181:13:181:14 | access to local variable b1 : B | provenance | | +| extensions.cs:181:18:181:29 | call to method Source : B | extensions.cs:181:13:181:14 | access to local variable b1 : B | provenance | | +| extensions.cs:183:18:183:19 | access to local variable b1 : B | extensions.cs:59:48:59:48 | a : B | provenance | | +| extensions.cs:183:18:183:19 | access to local variable b1 : B | extensions.cs:59:48:59:48 | a : B | provenance | | +| extensions.cs:185:13:185:14 | access to local variable b4 : B | extensions.cs:186:43:186:44 | access to local variable b4 : B | provenance | | +| extensions.cs:185:13:185:14 | access to local variable b4 : B | extensions.cs:186:43:186:44 | access to local variable b4 : B | provenance | | +| extensions.cs:185:18:185:31 | call to method Source : B | extensions.cs:185:13:185:14 | access to local variable b4 : B | provenance | | +| extensions.cs:185:18:185:31 | call to method Source : B | extensions.cs:185:13:185:14 | access to local variable b4 : B | provenance | | +| extensions.cs:186:43:186:44 | access to local variable b4 : B | extensions.cs:59:48:59:48 | a : B | provenance | | +| extensions.cs:186:43:186:44 | access to local variable b4 : B | extensions.cs:59:48:59:48 | a : B | provenance | | +| extensions.cs:193:13:193:14 | access to local variable b3 : B | extensions.cs:194:14:194:15 | access to local variable b3 | provenance | | +| extensions.cs:193:13:193:14 | access to local variable b3 : B | extensions.cs:194:14:194:15 | access to local variable b3 | provenance | | +| extensions.cs:193:18:193:24 | call to operator - : B | extensions.cs:193:13:193:14 | access to local variable b3 : B | provenance | | +| extensions.cs:193:18:193:24 | call to operator - : B | extensions.cs:193:13:193:14 | access to local variable b3 : B | provenance | | +| extensions.cs:196:13:196:14 | access to local variable b4 : B | extensions.cs:197:14:197:15 | access to local variable b4 | provenance | | +| extensions.cs:196:13:196:14 | access to local variable b4 : B | extensions.cs:197:14:197:15 | access to local variable b4 | provenance | | +| extensions.cs:196:18:196:52 | call to operator - : B | extensions.cs:196:13:196:14 | access to local variable b4 : B | provenance | | +| extensions.cs:196:18:196:52 | call to operator - : B | extensions.cs:196:13:196:14 | access to local variable b4 : B | provenance | | +| extensions.cs:202:13:202:14 | access to local variable b1 : B | extensions.cs:203:14:203:15 | access to local variable b1 | provenance | | +| extensions.cs:202:13:202:14 | access to local variable b1 : B | extensions.cs:203:14:203:15 | access to local variable b1 | provenance | | +| extensions.cs:202:18:202:35 | access to property StaticProp1 : B | extensions.cs:202:13:202:14 | access to local variable b1 : B | provenance | | +| extensions.cs:202:18:202:35 | access to property StaticProp1 : B | extensions.cs:202:13:202:14 | access to local variable b1 : B | provenance | | +| extensions.cs:205:13:205:14 | access to local variable b2 : B | extensions.cs:206:14:206:15 | access to local variable b2 | provenance | | +| extensions.cs:205:13:205:14 | access to local variable b2 : B | extensions.cs:206:14:206:15 | access to local variable b2 | provenance | | +| extensions.cs:205:18:205:47 | call to extension accessor get_StaticProp1 : B | extensions.cs:205:13:205:14 | access to local variable b2 : B | provenance | | +| extensions.cs:205:18:205:47 | call to extension accessor get_StaticProp1 : B | extensions.cs:205:13:205:14 | access to local variable b2 : B | provenance | | +| extensions.cs:211:13:211:14 | access to local variable b1 : B | extensions.cs:212:30:212:31 | access to local variable b1 : B | provenance | | +| extensions.cs:211:13:211:14 | access to local variable b1 : B | extensions.cs:212:30:212:31 | access to local variable b1 : B | provenance | | +| extensions.cs:211:18:211:30 | call to method Source : B | extensions.cs:211:13:211:14 | access to local variable b1 : B | provenance | | +| extensions.cs:211:18:211:30 | call to method Source : B | extensions.cs:211:13:211:14 | access to local variable b1 : B | provenance | | +| extensions.cs:212:30:212:31 | access to local variable b1 : B | extensions.cs:38:13:38:15 | value : B | provenance | | +| extensions.cs:212:30:212:31 | access to local variable b1 : B | extensions.cs:38:13:38:15 | value : B | provenance | | +| extensions.cs:214:13:214:14 | access to local variable b2 : B | extensions.cs:215:38:215:39 | access to local variable b2 : B | provenance | | +| extensions.cs:214:13:214:14 | access to local variable b2 : B | extensions.cs:215:38:215:39 | access to local variable b2 : B | provenance | | +| extensions.cs:214:18:214:31 | call to method Source : B | extensions.cs:214:13:214:14 | access to local variable b2 : B | provenance | | +| extensions.cs:214:18:214:31 | call to method Source : B | extensions.cs:214:13:214:14 | access to local variable b2 : B | provenance | | +| extensions.cs:215:38:215:39 | access to local variable b2 : B | extensions.cs:38:13:38:15 | value : B | provenance | | +| extensions.cs:215:38:215:39 | access to local variable b2 : B | extensions.cs:38:13:38:15 | value : B | provenance | | +| extensions.cs:220:13:220:14 | access to local variable b1 : B | extensions.cs:221:9:221:10 | access to local variable b1 : B | provenance | | +| extensions.cs:220:13:220:14 | access to local variable b1 : B | extensions.cs:221:9:221:10 | access to local variable b1 : B | provenance | | +| extensions.cs:220:18:220:30 | call to method Source : B | extensions.cs:220:13:220:14 | access to local variable b1 : B | provenance | | +| extensions.cs:220:18:220:30 | call to method Source : B | extensions.cs:220:13:220:14 | access to local variable b1 : B | provenance | | +| extensions.cs:221:9:221:10 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:221:9:221:10 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:223:13:223:14 | access to local variable b2 : B | extensions.cs:224:25:224:26 | access to local variable b2 : B | provenance | | +| extensions.cs:223:13:223:14 | access to local variable b2 : B | extensions.cs:224:25:224:26 | access to local variable b2 : B | provenance | | +| extensions.cs:223:18:223:31 | call to method Source : B | extensions.cs:223:13:223:14 | access to local variable b2 : B | provenance | | +| extensions.cs:223:18:223:31 | call to method Source : B | extensions.cs:223:13:223:14 | access to local variable b2 : B | provenance | | +| extensions.cs:224:25:224:26 | access to local variable b2 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:224:25:224:26 | access to local variable b2 : B | extensions.cs:76:17:76:17 | b : B | provenance | | +| extensions.cs:229:13:229:14 | access to local variable b1 : B | extensions.cs:230:9:230:10 | access to local variable b1 : B | provenance | | +| extensions.cs:229:13:229:14 | access to local variable b1 : B | extensions.cs:230:9:230:10 | access to local variable b1 : B | provenance | | +| extensions.cs:229:18:229:30 | call to method Source : B | extensions.cs:229:13:229:14 | access to local variable b1 : B | provenance | | +| extensions.cs:229:18:229:30 | call to method Source : B | extensions.cs:229:13:229:14 | access to local variable b1 : B | provenance | | +| extensions.cs:230:9:230:10 | access to local variable b1 : B | extensions.cs:97:20:97:20 | t : B | provenance | | +| extensions.cs:230:9:230:10 | access to local variable b1 : B | extensions.cs:97:20:97:20 | t : B | provenance | | +| extensions.cs:232:13:232:14 | access to local variable b2 : B | extensions.cs:233:32:233:33 | access to local variable b2 : B | provenance | | +| extensions.cs:232:13:232:14 | access to local variable b2 : B | extensions.cs:233:32:233:33 | access to local variable b2 : B | provenance | | +| extensions.cs:232:18:232:31 | call to method Source : B | extensions.cs:232:13:232:14 | access to local variable b2 : B | provenance | | +| extensions.cs:232:18:232:31 | call to method Source : B | extensions.cs:232:13:232:14 | access to local variable b2 : B | provenance | | +| extensions.cs:233:32:233:33 | access to local variable b2 : B | extensions.cs:97:20:97:20 | t : B | provenance | | +| extensions.cs:233:32:233:33 | access to local variable b2 : B | extensions.cs:97:20:97:20 | t : B | provenance | | +| extensions.cs:239:13:239:14 | access to local variable b1 : B | extensions.cs:240:32:240:33 | access to local variable b1 : B | provenance | | +| extensions.cs:239:13:239:14 | access to local variable b1 : B | extensions.cs:240:32:240:33 | access to local variable b1 : B | provenance | | +| extensions.cs:239:13:239:14 | access to local variable b1 : B | extensions.cs:243:46:243:47 | access to local variable b1 : B | provenance | | +| extensions.cs:239:13:239:14 | access to local variable b1 : B | extensions.cs:243:46:243:47 | access to local variable b1 : B | provenance | | +| extensions.cs:239:18:239:30 | call to method Source : B | extensions.cs:239:13:239:14 | access to local variable b1 : B | provenance | | +| extensions.cs:239:18:239:30 | call to method Source : B | extensions.cs:239:13:239:14 | access to local variable b1 : B | provenance | | +| extensions.cs:240:13:240:14 | access to local variable b2 : B | extensions.cs:241:14:241:15 | access to local variable b2 | provenance | | +| extensions.cs:240:13:240:14 | access to local variable b2 : B | extensions.cs:241:14:241:15 | access to local variable b2 | provenance | | +| extensions.cs:240:18:240:34 | call to method GenericM2 : B | extensions.cs:240:13:240:14 | access to local variable b2 : B | provenance | | +| extensions.cs:240:18:240:34 | call to method GenericM2 : B | extensions.cs:240:13:240:14 | access to local variable b2 : B | provenance | | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | provenance | | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | provenance | | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | extensions.cs:240:18:240:34 | call to method GenericM2 : B | provenance | | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | extensions.cs:240:18:240:34 | call to method GenericM2 : B | provenance | | +| extensions.cs:243:13:243:14 | access to local variable b3 : B | extensions.cs:244:14:244:15 | access to local variable b3 | provenance | | +| extensions.cs:243:13:243:14 | access to local variable b3 : B | extensions.cs:244:14:244:15 | access to local variable b3 | provenance | | +| extensions.cs:243:18:243:48 | call to method GenericM2 : B | extensions.cs:243:13:243:14 | access to local variable b3 : B | provenance | | +| extensions.cs:243:18:243:48 | call to method GenericM2 : B | extensions.cs:243:13:243:14 | access to local variable b3 : B | provenance | | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | provenance | | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | provenance | | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | extensions.cs:243:18:243:48 | call to method GenericM2 : B | provenance | | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | extensions.cs:243:18:243:48 | call to method GenericM2 : B | provenance | | +| extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | provenance | | +| extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | provenance | | +| extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | provenance | | +| extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | provenance | | +| extensions.cs:250:19:250:36 | call to method Source : Object | extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | provenance | | +| extensions.cs:250:19:250:36 | call to method Source : Object | extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | provenance | | +| extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | extensions.cs:253:14:253:15 | access to local variable c2 : C [property Prop] : Object | provenance | | +| extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | extensions.cs:253:14:253:15 | access to local variable c2 : C [property Prop] : Object | provenance | | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | provenance | | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | provenance | | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | provenance | | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | provenance | | +| extensions.cs:253:14:253:15 | access to local variable c2 : C [property Prop] : Object | extensions.cs:253:14:253:20 | access to property Prop | provenance | | +| extensions.cs:253:14:253:15 | access to local variable c2 : C [property Prop] : Object | extensions.cs:253:14:253:20 | access to property Prop | provenance | | +| extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | extensions.cs:257:14:257:15 | access to local variable c3 : C [property Prop] : Object | provenance | | +| extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | extensions.cs:257:14:257:15 | access to local variable c3 : C [property Prop] : Object | provenance | | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | provenance | | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | provenance | | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | provenance | | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | provenance | | +| extensions.cs:257:14:257:15 | access to local variable c3 : C [property Prop] : Object | extensions.cs:257:14:257:20 | access to property Prop | provenance | | +| extensions.cs:257:14:257:15 | access to local variable c3 : C [property Prop] : Object | extensions.cs:257:14:257:20 | access to property Prop | provenance | | nodes | extensions.cs:5:22:5:24 | obj : B | semmle.label | obj : B | | extensions.cs:5:22:5:24 | obj : B | semmle.label | obj : B | @@ -245,258 +275,296 @@ nodes | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | semmle.label | access to extension synthetic parameter b : B | | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | semmle.label | access to extension synthetic parameter b | | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | semmle.label | access to extension synthetic parameter b | -| extensions.cs:89:20:89:20 | t : B | semmle.label | t : B | -| extensions.cs:89:20:89:20 | t : B | semmle.label | t : B | -| extensions.cs:93:20:93:20 | access to extension synthetic parameter t | semmle.label | access to extension synthetic parameter t | -| extensions.cs:93:20:93:20 | access to extension synthetic parameter t | semmle.label | access to extension synthetic parameter t | -| extensions.cs:96:33:96:37 | other : B | semmle.label | other : B | -| extensions.cs:96:33:96:37 | other : B | semmle.label | other : B | -| extensions.cs:98:20:98:24 | access to parameter other : B | semmle.label | access to parameter other : B | -| extensions.cs:98:20:98:24 | access to parameter other : B | semmle.label | access to parameter other : B | -| extensions.cs:108:13:108:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:108:13:108:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:108:18:108:26 | access to property Prop1 : B | semmle.label | access to property Prop1 : B | -| extensions.cs:108:18:108:26 | access to property Prop1 : B | semmle.label | access to property Prop1 : B | -| extensions.cs:109:14:109:15 | access to local variable b1 | semmle.label | access to local variable b1 | -| extensions.cs:109:14:109:15 | access to local variable b1 | semmle.label | access to local variable b1 | -| extensions.cs:111:13:111:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:111:13:111:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:111:18:111:44 | call to extension accessor get_Prop1 : B | semmle.label | call to extension accessor get_Prop1 : B | -| extensions.cs:111:18:111:44 | call to extension accessor get_Prop1 : B | semmle.label | call to extension accessor get_Prop1 : B | -| extensions.cs:112:14:112:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:112:14:112:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:118:21:118:32 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:118:21:118:32 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:120:13:120:13 | access to local variable b : B | semmle.label | access to local variable b : B | -| extensions.cs:120:13:120:13 | access to local variable b : B | semmle.label | access to local variable b : B | -| extensions.cs:120:17:120:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:120:17:120:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:121:37:121:37 | access to local variable b : B | semmle.label | access to local variable b : B | -| extensions.cs:121:37:121:37 | access to local variable b : B | semmle.label | access to local variable b : B | -| extensions.cs:127:13:127:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:127:13:127:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:127:18:127:25 | call to method M1 : B | semmle.label | call to method M1 : B | -| extensions.cs:127:18:127:25 | call to method M1 : B | semmle.label | call to method M1 : B | -| extensions.cs:128:14:128:15 | access to local variable b1 | semmle.label | access to local variable b1 | -| extensions.cs:128:14:128:15 | access to local variable b1 | semmle.label | access to local variable b1 | -| extensions.cs:130:13:130:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:130:13:130:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:130:18:130:37 | call to method M1 : B | semmle.label | call to method M1 : B | -| extensions.cs:130:18:130:37 | call to method M1 : B | semmle.label | call to method M1 : B | -| extensions.cs:131:14:131:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:131:14:131:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:136:13:136:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:136:13:136:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:136:18:136:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:136:18:136:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:137:9:137:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:137:9:137:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:139:13:139:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:139:13:139:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:139:18:139:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:139:18:139:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:140:25:140:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:140:25:140:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:145:13:145:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:145:13:145:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:145:18:145:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:145:18:145:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:146:13:146:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:146:13:146:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:146:18:146:24 | call to method B1 : B | semmle.label | call to method B1 : B | -| extensions.cs:146:18:146:24 | call to method B1 : B | semmle.label | call to method B1 : B | -| extensions.cs:147:14:147:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:147:14:147:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:149:13:149:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:149:13:149:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:149:18:149:36 | call to method B1 : B | semmle.label | call to method B1 : B | -| extensions.cs:149:18:149:36 | call to method B1 : B | semmle.label | call to method B1 : B | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:150:14:150:15 | access to local variable b3 | semmle.label | access to local variable b3 | -| extensions.cs:150:14:150:15 | access to local variable b3 | semmle.label | access to local variable b3 | -| extensions.cs:155:13:155:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:155:13:155:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:155:18:155:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:155:18:155:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:156:18:156:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:156:18:156:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:158:13:158:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:158:13:158:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:158:18:158:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:158:18:158:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:159:41:159:42 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:159:41:159:42 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:164:13:164:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:164:13:164:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:164:18:164:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:164:18:164:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:165:9:165:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:165:9:165:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:167:13:167:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:167:13:167:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:167:18:167:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:167:18:167:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:168:32:168:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:168:32:168:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:173:13:173:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:173:13:173:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:173:18:173:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:173:18:173:29 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:175:18:175:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:175:18:175:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:177:13:177:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | -| extensions.cs:177:13:177:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | -| extensions.cs:177:18:177:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:177:18:177:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:178:43:178:44 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | -| extensions.cs:178:43:178:44 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | -| extensions.cs:185:13:185:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:185:13:185:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:185:18:185:24 | call to operator - : B | semmle.label | call to operator - : B | -| extensions.cs:185:18:185:24 | call to operator - : B | semmle.label | call to operator - : B | -| extensions.cs:186:14:186:15 | access to local variable b3 | semmle.label | access to local variable b3 | -| extensions.cs:186:14:186:15 | access to local variable b3 | semmle.label | access to local variable b3 | -| extensions.cs:188:13:188:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | -| extensions.cs:188:13:188:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | -| extensions.cs:188:18:188:52 | call to operator - : B | semmle.label | call to operator - : B | -| extensions.cs:188:18:188:52 | call to operator - : B | semmle.label | call to operator - : B | -| extensions.cs:189:14:189:15 | access to local variable b4 | semmle.label | access to local variable b4 | -| extensions.cs:189:14:189:15 | access to local variable b4 | semmle.label | access to local variable b4 | -| extensions.cs:194:13:194:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:194:13:194:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:194:18:194:35 | access to property StaticProp1 : B | semmle.label | access to property StaticProp1 : B | -| extensions.cs:194:18:194:35 | access to property StaticProp1 : B | semmle.label | access to property StaticProp1 : B | -| extensions.cs:195:14:195:15 | access to local variable b1 | semmle.label | access to local variable b1 | -| extensions.cs:195:14:195:15 | access to local variable b1 | semmle.label | access to local variable b1 | -| extensions.cs:197:13:197:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:197:13:197:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:197:18:197:47 | call to extension accessor get_StaticProp1 : B | semmle.label | call to extension accessor get_StaticProp1 : B | -| extensions.cs:197:18:197:47 | call to extension accessor get_StaticProp1 : B | semmle.label | call to extension accessor get_StaticProp1 : B | -| extensions.cs:198:14:198:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:198:14:198:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:203:13:203:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:203:13:203:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:203:18:203:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:203:18:203:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:204:30:204:31 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:204:30:204:31 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:206:13:206:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:206:13:206:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:206:18:206:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:206:18:206:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:207:38:207:39 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:207:38:207:39 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:212:13:212:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:212:13:212:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:212:18:212:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:212:18:212:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:213:9:213:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:213:9:213:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:215:13:215:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:215:13:215:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:215:18:215:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:215:18:215:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:216:25:216:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:216:25:216:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:221:13:221:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:221:13:221:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:221:18:221:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:221:18:221:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:222:9:222:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:222:9:222:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:224:13:224:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:224:13:224:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:224:18:224:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:224:18:224:31 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:225:32:225:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:225:32:225:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:231:13:231:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:231:13:231:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:231:18:231:30 | call to method Source : B | semmle.label | call to method Source : B | -| extensions.cs:231:18:231:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | semmle.label | c [Return] : C [property Prop] : Object | +| extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | semmle.label | c [Return] : C [property Prop] : Object | +| extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | semmle.label | c1 : C [property Prop] : Object | +| extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | semmle.label | c1 : C [property Prop] : Object | +| extensions.cs:93:13:93:13 | [post] access to extension synthetic parameter c : C [property Prop] : Object | semmle.label | [post] access to extension synthetic parameter c : C [property Prop] : Object | +| extensions.cs:93:13:93:13 | [post] access to extension synthetic parameter c : C [property Prop] : Object | semmle.label | [post] access to extension synthetic parameter c : C [property Prop] : Object | +| extensions.cs:93:22:93:23 | access to parameter c1 : C [property Prop] : Object | semmle.label | access to parameter c1 : C [property Prop] : Object | +| extensions.cs:93:22:93:23 | access to parameter c1 : C [property Prop] : Object | semmle.label | access to parameter c1 : C [property Prop] : Object | +| extensions.cs:93:22:93:28 | access to property Prop : Object | semmle.label | access to property Prop : Object | +| extensions.cs:93:22:93:28 | access to property Prop : Object | semmle.label | access to property Prop : Object | +| extensions.cs:97:20:97:20 | t : B | semmle.label | t : B | +| extensions.cs:97:20:97:20 | t : B | semmle.label | t : B | +| extensions.cs:101:20:101:20 | access to extension synthetic parameter t | semmle.label | access to extension synthetic parameter t | +| extensions.cs:101:20:101:20 | access to extension synthetic parameter t | semmle.label | access to extension synthetic parameter t | +| extensions.cs:104:33:104:37 | other : B | semmle.label | other : B | +| extensions.cs:104:33:104:37 | other : B | semmle.label | other : B | +| extensions.cs:106:20:106:24 | access to parameter other : B | semmle.label | access to parameter other : B | +| extensions.cs:106:20:106:24 | access to parameter other : B | semmle.label | access to parameter other : B | +| extensions.cs:116:13:116:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:116:13:116:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:116:18:116:26 | access to property Prop1 : B | semmle.label | access to property Prop1 : B | +| extensions.cs:116:18:116:26 | access to property Prop1 : B | semmle.label | access to property Prop1 : B | +| extensions.cs:117:14:117:15 | access to local variable b1 | semmle.label | access to local variable b1 | +| extensions.cs:117:14:117:15 | access to local variable b1 | semmle.label | access to local variable b1 | +| extensions.cs:119:13:119:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:119:13:119:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:119:18:119:44 | call to extension accessor get_Prop1 : B | semmle.label | call to extension accessor get_Prop1 : B | +| extensions.cs:119:18:119:44 | call to extension accessor get_Prop1 : B | semmle.label | call to extension accessor get_Prop1 : B | +| extensions.cs:120:14:120:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:120:14:120:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:126:21:126:32 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:126:21:126:32 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:128:13:128:13 | access to local variable b : B | semmle.label | access to local variable b : B | +| extensions.cs:128:13:128:13 | access to local variable b : B | semmle.label | access to local variable b : B | +| extensions.cs:128:17:128:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:128:17:128:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:129:37:129:37 | access to local variable b : B | semmle.label | access to local variable b : B | +| extensions.cs:129:37:129:37 | access to local variable b : B | semmle.label | access to local variable b : B | +| extensions.cs:135:13:135:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:135:13:135:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:135:18:135:25 | call to method M1 : B | semmle.label | call to method M1 : B | +| extensions.cs:135:18:135:25 | call to method M1 : B | semmle.label | call to method M1 : B | +| extensions.cs:136:14:136:15 | access to local variable b1 | semmle.label | access to local variable b1 | +| extensions.cs:136:14:136:15 | access to local variable b1 | semmle.label | access to local variable b1 | +| extensions.cs:138:13:138:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:138:13:138:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:138:18:138:37 | call to method M1 : B | semmle.label | call to method M1 : B | +| extensions.cs:138:18:138:37 | call to method M1 : B | semmle.label | call to method M1 : B | +| extensions.cs:139:14:139:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:139:14:139:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:144:13:144:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:144:13:144:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:144:18:144:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:144:18:144:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:145:9:145:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:145:9:145:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:147:13:147:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:147:13:147:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:147:18:147:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:147:18:147:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:148:25:148:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:148:25:148:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:153:13:153:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:153:13:153:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:153:18:153:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:153:18:153:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:154:13:154:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:154:13:154:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:154:18:154:24 | call to method B1 : B | semmle.label | call to method B1 : B | +| extensions.cs:154:18:154:24 | call to method B1 : B | semmle.label | call to method B1 : B | +| extensions.cs:155:14:155:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:155:14:155:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:157:13:157:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:157:13:157:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:157:18:157:36 | call to method B1 : B | semmle.label | call to method B1 : B | +| extensions.cs:157:18:157:36 | call to method B1 : B | semmle.label | call to method B1 : B | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:158:14:158:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:158:14:158:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:163:13:163:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:163:13:163:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:163:18:163:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:163:18:163:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:164:18:164:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:164:18:164:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:166:13:166:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:166:13:166:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:166:18:166:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:166:18:166:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:167:41:167:42 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:167:41:167:42 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:172:13:172:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:172:13:172:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:172:18:172:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:172:18:172:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:173:9:173:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:173:9:173:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:175:13:175:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:175:13:175:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:175:18:175:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:175:18:175:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:176:32:176:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:176:32:176:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:181:13:181:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:181:13:181:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:181:18:181:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:181:18:181:29 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:183:18:183:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:183:18:183:19 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:185:13:185:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | +| extensions.cs:185:13:185:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | +| extensions.cs:185:18:185:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:185:18:185:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:186:43:186:44 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | +| extensions.cs:186:43:186:44 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | +| extensions.cs:193:13:193:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:193:13:193:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:193:18:193:24 | call to operator - : B | semmle.label | call to operator - : B | +| extensions.cs:193:18:193:24 | call to operator - : B | semmle.label | call to operator - : B | +| extensions.cs:194:14:194:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:194:14:194:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:196:13:196:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | +| extensions.cs:196:13:196:14 | access to local variable b4 : B | semmle.label | access to local variable b4 : B | +| extensions.cs:196:18:196:52 | call to operator - : B | semmle.label | call to operator - : B | +| extensions.cs:196:18:196:52 | call to operator - : B | semmle.label | call to operator - : B | +| extensions.cs:197:14:197:15 | access to local variable b4 | semmle.label | access to local variable b4 | +| extensions.cs:197:14:197:15 | access to local variable b4 | semmle.label | access to local variable b4 | +| extensions.cs:202:13:202:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:202:13:202:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:202:18:202:35 | access to property StaticProp1 : B | semmle.label | access to property StaticProp1 : B | +| extensions.cs:202:18:202:35 | access to property StaticProp1 : B | semmle.label | access to property StaticProp1 : B | +| extensions.cs:203:14:203:15 | access to local variable b1 | semmle.label | access to local variable b1 | +| extensions.cs:203:14:203:15 | access to local variable b1 | semmle.label | access to local variable b1 | +| extensions.cs:205:13:205:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:205:13:205:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:205:18:205:47 | call to extension accessor get_StaticProp1 : B | semmle.label | call to extension accessor get_StaticProp1 : B | +| extensions.cs:205:18:205:47 | call to extension accessor get_StaticProp1 : B | semmle.label | call to extension accessor get_StaticProp1 : B | +| extensions.cs:206:14:206:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:206:14:206:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:211:13:211:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:211:13:211:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:211:18:211:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:211:18:211:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:212:30:212:31 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:212:30:212:31 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:214:13:214:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:214:13:214:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:214:18:214:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:214:18:214:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:215:38:215:39 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:215:38:215:39 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:220:13:220:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:220:13:220:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:220:18:220:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:220:18:220:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:221:9:221:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:221:9:221:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:223:13:223:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:223:13:223:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:223:18:223:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:223:18:223:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:224:25:224:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:224:25:224:26 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:229:13:229:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:229:13:229:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:229:18:229:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:229:18:229:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:230:9:230:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:230:9:230:10 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | | extensions.cs:232:13:232:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | | extensions.cs:232:13:232:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | -| extensions.cs:232:18:232:34 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | -| extensions.cs:232:18:232:34 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:233:14:233:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:233:14:233:15 | access to local variable b2 | semmle.label | access to local variable b2 | -| extensions.cs:235:13:235:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:235:13:235:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | -| extensions.cs:235:18:235:48 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | -| extensions.cs:235:18:235:48 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | -| extensions.cs:236:14:236:15 | access to local variable b3 | semmle.label | access to local variable b3 | -| extensions.cs:236:14:236:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:232:18:232:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:232:18:232:31 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:233:32:233:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:233:32:233:33 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:239:13:239:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:239:13:239:14 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:239:18:239:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:239:18:239:30 | call to method Source : B | semmle.label | call to method Source : B | +| extensions.cs:240:13:240:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:240:13:240:14 | access to local variable b2 : B | semmle.label | access to local variable b2 : B | +| extensions.cs:240:18:240:34 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | +| extensions.cs:240:18:240:34 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:241:14:241:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:241:14:241:15 | access to local variable b2 | semmle.label | access to local variable b2 | +| extensions.cs:243:13:243:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:243:13:243:14 | access to local variable b3 : B | semmle.label | access to local variable b3 : B | +| extensions.cs:243:18:243:48 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | +| extensions.cs:243:18:243:48 | call to method GenericM2 : B | semmle.label | call to method GenericM2 : B | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | semmle.label | access to local variable b1 : B | +| extensions.cs:244:14:244:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:244:14:244:15 | access to local variable b3 | semmle.label | access to local variable b3 | +| extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | semmle.label | [post] access to local variable c1 : C [property Prop] : Object | +| extensions.cs:250:9:250:10 | [post] access to local variable c1 : C [property Prop] : Object | semmle.label | [post] access to local variable c1 : C [property Prop] : Object | +| extensions.cs:250:19:250:36 | call to method Source : Object | semmle.label | call to method Source : Object | +| extensions.cs:250:19:250:36 | call to method Source : Object | semmle.label | call to method Source : Object | +| extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | semmle.label | [post] access to local variable c2 : C [property Prop] : Object | +| extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | semmle.label | [post] access to local variable c2 : C [property Prop] : Object | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | semmle.label | access to local variable c1 : C [property Prop] : Object | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | semmle.label | access to local variable c1 : C [property Prop] : Object | +| extensions.cs:253:14:253:15 | access to local variable c2 : C [property Prop] : Object | semmle.label | access to local variable c2 : C [property Prop] : Object | +| extensions.cs:253:14:253:15 | access to local variable c2 : C [property Prop] : Object | semmle.label | access to local variable c2 : C [property Prop] : Object | +| extensions.cs:253:14:253:20 | access to property Prop | semmle.label | access to property Prop | +| extensions.cs:253:14:253:20 | access to property Prop | semmle.label | access to property Prop | +| extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | semmle.label | [post] access to local variable c3 : C [property Prop] : Object | +| extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | semmle.label | [post] access to local variable c3 : C [property Prop] : Object | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | semmle.label | access to local variable c1 : C [property Prop] : Object | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | semmle.label | access to local variable c1 : C [property Prop] : Object | +| extensions.cs:257:14:257:15 | access to local variable c3 : C [property Prop] : Object | semmle.label | access to local variable c3 : C [property Prop] : Object | +| extensions.cs:257:14:257:15 | access to local variable c3 : C [property Prop] : Object | semmle.label | access to local variable c3 : C [property Prop] : Object | +| extensions.cs:257:14:257:20 | access to property Prop | semmle.label | access to property Prop | +| extensions.cs:257:14:257:20 | access to property Prop | semmle.label | access to property Prop | subpaths -| extensions.cs:146:18:146:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:146:18:146:24 | call to method B1 : B | -| extensions.cs:146:18:146:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:146:18:146:24 | call to method B1 : B | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:149:18:149:36 | call to method B1 : B | -| extensions.cs:149:34:149:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:149:18:149:36 | call to method B1 : B | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | extensions.cs:98:20:98:24 | access to parameter other : B | extensions.cs:232:18:232:34 | call to method GenericM2 : B | -| extensions.cs:232:32:232:33 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | extensions.cs:98:20:98:24 | access to parameter other : B | extensions.cs:232:18:232:34 | call to method GenericM2 : B | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | extensions.cs:98:20:98:24 | access to parameter other : B | extensions.cs:235:18:235:48 | call to method GenericM2 : B | -| extensions.cs:235:46:235:47 | access to local variable b1 : B | extensions.cs:96:33:96:37 | other : B | extensions.cs:98:20:98:24 | access to parameter other : B | extensions.cs:235:18:235:48 | call to method GenericM2 : B | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:154:18:154:24 | call to method B1 : B | +| extensions.cs:154:18:154:19 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:154:18:154:24 | call to method B1 : B | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:157:18:157:36 | call to method B1 : B | +| extensions.cs:157:34:157:35 | access to local variable b1 : B | extensions.cs:76:17:76:17 | b : B | extensions.cs:80:20:80:20 | access to extension synthetic parameter b : B | extensions.cs:157:18:157:36 | call to method B1 : B | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | extensions.cs:106:20:106:24 | access to parameter other : B | extensions.cs:240:18:240:34 | call to method GenericM2 : B | +| extensions.cs:240:32:240:33 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | extensions.cs:106:20:106:24 | access to parameter other : B | extensions.cs:240:18:240:34 | call to method GenericM2 : B | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | extensions.cs:106:20:106:24 | access to parameter other : B | extensions.cs:243:18:243:48 | call to method GenericM2 : B | +| extensions.cs:243:46:243:47 | access to local variable b1 : B | extensions.cs:104:33:104:37 | other : B | extensions.cs:106:20:106:24 | access to parameter other : B | extensions.cs:243:18:243:48 | call to method GenericM2 : B | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | +| extensions.cs:252:15:252:16 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | extensions.cs:252:9:252:10 | [post] access to local variable c2 : C [property Prop] : Object | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | +| extensions.cs:256:54:256:55 | access to local variable c1 : C [property Prop] : Object | extensions.cs:91:35:91:36 | c1 : C [property Prop] : Object | extensions.cs:89:17:89:17 | c [Return] : C [property Prop] : Object | extensions.cs:256:50:256:51 | [post] access to local variable c3 : C [property Prop] : Object | testFailures #select -| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:118:21:118:32 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:118:21:118:32 | call to method Source : B | call to method Source : B | -| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:118:21:118:32 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:118:21:118:32 | call to method Source : B | call to method Source : B | -| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:120:17:120:30 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:120:17:120:30 | call to method Source : B | call to method Source : B | -| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:120:17:120:30 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:120:17:120:30 | call to method Source : B | call to method Source : B | -| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:155:18:155:29 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:155:18:155:29 | call to method Source : B | call to method Source : B | -| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:155:18:155:29 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:155:18:155:29 | call to method Source : B | call to method Source : B | -| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:158:18:158:31 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:158:18:158:31 | call to method Source : B | call to method Source : B | -| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:158:18:158:31 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:158:18:158:31 | call to method Source : B | call to method Source : B | -| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:164:18:164:29 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:164:18:164:29 | call to method Source : B | call to method Source : B | -| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:164:18:164:29 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:164:18:164:29 | call to method Source : B | call to method Source : B | -| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:167:18:167:31 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:167:18:167:31 | call to method Source : B | call to method Source : B | -| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:167:18:167:31 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:167:18:167:31 | call to method Source : B | call to method Source : B | -| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:203:18:203:30 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:203:18:203:30 | call to method Source : B | call to method Source : B | -| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:203:18:203:30 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:203:18:203:30 | call to method Source : B | call to method Source : B | -| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:206:18:206:31 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:206:18:206:31 | call to method Source : B | call to method Source : B | -| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:206:18:206:31 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:206:18:206:31 | call to method Source : B | call to method Source : B | -| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:136:18:136:29 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:136:18:136:29 | call to method Source : B | call to method Source : B | -| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:136:18:136:29 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:136:18:136:29 | call to method Source : B | call to method Source : B | -| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:139:18:139:31 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:139:18:139:31 | call to method Source : B | call to method Source : B | -| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:139:18:139:31 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:139:18:139:31 | call to method Source : B | call to method Source : B | -| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:173:18:173:29 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:173:18:173:29 | call to method Source : B | call to method Source : B | -| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:173:18:173:29 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:173:18:173:29 | call to method Source : B | call to method Source : B | -| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:177:18:177:31 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:177:18:177:31 | call to method Source : B | call to method Source : B | -| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:177:18:177:31 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:177:18:177:31 | call to method Source : B | call to method Source : B | -| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:212:18:212:30 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:212:18:212:30 | call to method Source : B | call to method Source : B | -| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:212:18:212:30 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:212:18:212:30 | call to method Source : B | call to method Source : B | -| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:215:18:215:31 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:215:18:215:31 | call to method Source : B | call to method Source : B | -| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:215:18:215:31 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:215:18:215:31 | call to method Source : B | call to method Source : B | -| extensions.cs:93:20:93:20 | access to extension synthetic parameter t | extensions.cs:221:18:221:30 | call to method Source : B | extensions.cs:93:20:93:20 | access to extension synthetic parameter t | $@ | extensions.cs:221:18:221:30 | call to method Source : B | call to method Source : B | -| extensions.cs:93:20:93:20 | access to extension synthetic parameter t | extensions.cs:221:18:221:30 | call to method Source : B | extensions.cs:93:20:93:20 | access to extension synthetic parameter t | $@ | extensions.cs:221:18:221:30 | call to method Source : B | call to method Source : B | -| extensions.cs:93:20:93:20 | access to extension synthetic parameter t | extensions.cs:224:18:224:31 | call to method Source : B | extensions.cs:93:20:93:20 | access to extension synthetic parameter t | $@ | extensions.cs:224:18:224:31 | call to method Source : B | call to method Source : B | -| extensions.cs:93:20:93:20 | access to extension synthetic parameter t | extensions.cs:224:18:224:31 | call to method Source : B | extensions.cs:93:20:93:20 | access to extension synthetic parameter t | $@ | extensions.cs:224:18:224:31 | call to method Source : B | call to method Source : B | -| extensions.cs:109:14:109:15 | access to local variable b1 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:109:14:109:15 | access to local variable b1 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | -| extensions.cs:109:14:109:15 | access to local variable b1 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:109:14:109:15 | access to local variable b1 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | -| extensions.cs:112:14:112:15 | access to local variable b2 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:112:14:112:15 | access to local variable b2 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | -| extensions.cs:112:14:112:15 | access to local variable b2 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:112:14:112:15 | access to local variable b2 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | -| extensions.cs:128:14:128:15 | access to local variable b1 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:128:14:128:15 | access to local variable b1 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | -| extensions.cs:128:14:128:15 | access to local variable b1 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:128:14:128:15 | access to local variable b1 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | -| extensions.cs:131:14:131:15 | access to local variable b2 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:131:14:131:15 | access to local variable b2 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | -| extensions.cs:131:14:131:15 | access to local variable b2 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:131:14:131:15 | access to local variable b2 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | -| extensions.cs:147:14:147:15 | access to local variable b2 | extensions.cs:145:18:145:29 | call to method Source : B | extensions.cs:147:14:147:15 | access to local variable b2 | $@ | extensions.cs:145:18:145:29 | call to method Source : B | call to method Source : B | -| extensions.cs:147:14:147:15 | access to local variable b2 | extensions.cs:145:18:145:29 | call to method Source : B | extensions.cs:147:14:147:15 | access to local variable b2 | $@ | extensions.cs:145:18:145:29 | call to method Source : B | call to method Source : B | -| extensions.cs:150:14:150:15 | access to local variable b3 | extensions.cs:145:18:145:29 | call to method Source : B | extensions.cs:150:14:150:15 | access to local variable b3 | $@ | extensions.cs:145:18:145:29 | call to method Source : B | call to method Source : B | -| extensions.cs:150:14:150:15 | access to local variable b3 | extensions.cs:145:18:145:29 | call to method Source : B | extensions.cs:150:14:150:15 | access to local variable b3 | $@ | extensions.cs:145:18:145:29 | call to method Source : B | call to method Source : B | -| extensions.cs:186:14:186:15 | access to local variable b3 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:186:14:186:15 | access to local variable b3 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | -| extensions.cs:186:14:186:15 | access to local variable b3 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:186:14:186:15 | access to local variable b3 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | -| extensions.cs:189:14:189:15 | access to local variable b4 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:189:14:189:15 | access to local variable b4 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | -| extensions.cs:189:14:189:15 | access to local variable b4 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:189:14:189:15 | access to local variable b4 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | -| extensions.cs:195:14:195:15 | access to local variable b1 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:195:14:195:15 | access to local variable b1 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | -| extensions.cs:195:14:195:15 | access to local variable b1 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:195:14:195:15 | access to local variable b1 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | -| extensions.cs:198:14:198:15 | access to local variable b2 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:198:14:198:15 | access to local variable b2 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | -| extensions.cs:198:14:198:15 | access to local variable b2 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:198:14:198:15 | access to local variable b2 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | -| extensions.cs:233:14:233:15 | access to local variable b2 | extensions.cs:231:18:231:30 | call to method Source : B | extensions.cs:233:14:233:15 | access to local variable b2 | $@ | extensions.cs:231:18:231:30 | call to method Source : B | call to method Source : B | -| extensions.cs:233:14:233:15 | access to local variable b2 | extensions.cs:231:18:231:30 | call to method Source : B | extensions.cs:233:14:233:15 | access to local variable b2 | $@ | extensions.cs:231:18:231:30 | call to method Source : B | call to method Source : B | -| extensions.cs:236:14:236:15 | access to local variable b3 | extensions.cs:231:18:231:30 | call to method Source : B | extensions.cs:236:14:236:15 | access to local variable b3 | $@ | extensions.cs:231:18:231:30 | call to method Source : B | call to method Source : B | -| extensions.cs:236:14:236:15 | access to local variable b3 | extensions.cs:231:18:231:30 | call to method Source : B | extensions.cs:236:14:236:15 | access to local variable b3 | $@ | extensions.cs:231:18:231:30 | call to method Source : B | call to method Source : B | +| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:126:21:126:32 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:126:21:126:32 | call to method Source : B | call to method Source : B | +| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:126:21:126:32 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:126:21:126:32 | call to method Source : B | call to method Source : B | +| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:128:17:128:30 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:128:17:128:30 | call to method Source : B | call to method Source : B | +| extensions.cs:15:24:15:28 | access to parameter value | extensions.cs:128:17:128:30 | call to method Source : B | extensions.cs:15:24:15:28 | access to parameter value | $@ | extensions.cs:128:17:128:30 | call to method Source : B | call to method Source : B | +| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:163:18:163:29 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:163:18:163:29 | call to method Source : B | call to method Source : B | +| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:163:18:163:29 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:163:18:163:29 | call to method Source : B | call to method Source : B | +| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:166:18:166:31 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:166:18:166:31 | call to method Source : B | call to method Source : B | +| extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | extensions.cs:166:18:166:31 | call to method Source : B | extensions.cs:23:24:23:26 | access to extension synthetic parameter obj | $@ | extensions.cs:166:18:166:31 | call to method Source : B | call to method Source : B | +| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:172:18:172:29 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:172:18:172:29 | call to method Source : B | call to method Source : B | +| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:172:18:172:29 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:172:18:172:29 | call to method Source : B | call to method Source : B | +| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:175:18:175:31 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:175:18:175:31 | call to method Source : B | call to method Source : B | +| extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | extensions.cs:175:18:175:31 | call to method Source : B | extensions.cs:28:24:28:26 | access to extension synthetic parameter obj | $@ | extensions.cs:175:18:175:31 | call to method Source : B | call to method Source : B | +| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:211:18:211:30 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:211:18:211:30 | call to method Source : B | call to method Source : B | +| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:211:18:211:30 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:211:18:211:30 | call to method Source : B | call to method Source : B | +| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:214:18:214:31 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:214:18:214:31 | call to method Source : B | call to method Source : B | +| extensions.cs:40:24:40:28 | access to parameter value | extensions.cs:214:18:214:31 | call to method Source : B | extensions.cs:40:24:40:28 | access to parameter value | $@ | extensions.cs:214:18:214:31 | call to method Source : B | call to method Source : B | +| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:144:18:144:29 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:144:18:144:29 | call to method Source : B | call to method Source : B | +| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:144:18:144:29 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:144:18:144:29 | call to method Source : B | call to method Source : B | +| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:147:18:147:31 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:147:18:147:31 | call to method Source : B | call to method Source : B | +| extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | extensions.cs:147:18:147:31 | call to method Source : B | extensions.cs:51:20:51:22 | access to extension synthetic parameter obj | $@ | extensions.cs:147:18:147:31 | call to method Source : B | call to method Source : B | +| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:181:18:181:29 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:181:18:181:29 | call to method Source : B | call to method Source : B | +| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:181:18:181:29 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:181:18:181:29 | call to method Source : B | call to method Source : B | +| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:185:18:185:31 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:185:18:185:31 | call to method Source : B | call to method Source : B | +| extensions.cs:61:20:61:20 | access to parameter a | extensions.cs:185:18:185:31 | call to method Source : B | extensions.cs:61:20:61:20 | access to parameter a | $@ | extensions.cs:185:18:185:31 | call to method Source : B | call to method Source : B | +| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:220:18:220:30 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:220:18:220:30 | call to method Source : B | call to method Source : B | +| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:220:18:220:30 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:220:18:220:30 | call to method Source : B | call to method Source : B | +| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:223:18:223:31 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:223:18:223:31 | call to method Source : B | call to method Source : B | +| extensions.cs:85:20:85:20 | access to extension synthetic parameter b | extensions.cs:223:18:223:31 | call to method Source : B | extensions.cs:85:20:85:20 | access to extension synthetic parameter b | $@ | extensions.cs:223:18:223:31 | call to method Source : B | call to method Source : B | +| extensions.cs:101:20:101:20 | access to extension synthetic parameter t | extensions.cs:229:18:229:30 | call to method Source : B | extensions.cs:101:20:101:20 | access to extension synthetic parameter t | $@ | extensions.cs:229:18:229:30 | call to method Source : B | call to method Source : B | +| extensions.cs:101:20:101:20 | access to extension synthetic parameter t | extensions.cs:229:18:229:30 | call to method Source : B | extensions.cs:101:20:101:20 | access to extension synthetic parameter t | $@ | extensions.cs:229:18:229:30 | call to method Source : B | call to method Source : B | +| extensions.cs:101:20:101:20 | access to extension synthetic parameter t | extensions.cs:232:18:232:31 | call to method Source : B | extensions.cs:101:20:101:20 | access to extension synthetic parameter t | $@ | extensions.cs:232:18:232:31 | call to method Source : B | call to method Source : B | +| extensions.cs:101:20:101:20 | access to extension synthetic parameter t | extensions.cs:232:18:232:31 | call to method Source : B | extensions.cs:101:20:101:20 | access to extension synthetic parameter t | $@ | extensions.cs:232:18:232:31 | call to method Source : B | call to method Source : B | +| extensions.cs:117:14:117:15 | access to local variable b1 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:117:14:117:15 | access to local variable b1 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | +| extensions.cs:117:14:117:15 | access to local variable b1 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:117:14:117:15 | access to local variable b1 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | +| extensions.cs:120:14:120:15 | access to local variable b2 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:120:14:120:15 | access to local variable b2 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | +| extensions.cs:120:14:120:15 | access to local variable b2 | extensions.cs:11:24:11:37 | call to method Source : B | extensions.cs:120:14:120:15 | access to local variable b2 | $@ | extensions.cs:11:24:11:37 | call to method Source : B | call to method Source : B | +| extensions.cs:136:14:136:15 | access to local variable b1 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:136:14:136:15 | access to local variable b1 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | +| extensions.cs:136:14:136:15 | access to local variable b1 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:136:14:136:15 | access to local variable b1 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | +| extensions.cs:139:14:139:15 | access to local variable b2 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:139:14:139:15 | access to local variable b2 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | +| extensions.cs:139:14:139:15 | access to local variable b2 | extensions.cs:46:20:46:33 | call to method Source : B | extensions.cs:139:14:139:15 | access to local variable b2 | $@ | extensions.cs:46:20:46:33 | call to method Source : B | call to method Source : B | +| extensions.cs:155:14:155:15 | access to local variable b2 | extensions.cs:153:18:153:29 | call to method Source : B | extensions.cs:155:14:155:15 | access to local variable b2 | $@ | extensions.cs:153:18:153:29 | call to method Source : B | call to method Source : B | +| extensions.cs:155:14:155:15 | access to local variable b2 | extensions.cs:153:18:153:29 | call to method Source : B | extensions.cs:155:14:155:15 | access to local variable b2 | $@ | extensions.cs:153:18:153:29 | call to method Source : B | call to method Source : B | +| extensions.cs:158:14:158:15 | access to local variable b3 | extensions.cs:153:18:153:29 | call to method Source : B | extensions.cs:158:14:158:15 | access to local variable b3 | $@ | extensions.cs:153:18:153:29 | call to method Source : B | call to method Source : B | +| extensions.cs:158:14:158:15 | access to local variable b3 | extensions.cs:153:18:153:29 | call to method Source : B | extensions.cs:158:14:158:15 | access to local variable b3 | $@ | extensions.cs:153:18:153:29 | call to method Source : B | call to method Source : B | +| extensions.cs:194:14:194:15 | access to local variable b3 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:194:14:194:15 | access to local variable b3 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | +| extensions.cs:194:14:194:15 | access to local variable b3 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:194:14:194:15 | access to local variable b3 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | +| extensions.cs:197:14:197:15 | access to local variable b4 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:197:14:197:15 | access to local variable b4 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | +| extensions.cs:197:14:197:15 | access to local variable b4 | extensions.cs:67:20:67:33 | call to method Source : B | extensions.cs:197:14:197:15 | access to local variable b4 | $@ | extensions.cs:67:20:67:33 | call to method Source : B | call to method Source : B | +| extensions.cs:203:14:203:15 | access to local variable b1 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:203:14:203:15 | access to local variable b1 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | +| extensions.cs:203:14:203:15 | access to local variable b1 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:203:14:203:15 | access to local variable b1 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | +| extensions.cs:206:14:206:15 | access to local variable b2 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:206:14:206:15 | access to local variable b2 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | +| extensions.cs:206:14:206:15 | access to local variable b2 | extensions.cs:36:24:36:38 | call to method Source : B | extensions.cs:206:14:206:15 | access to local variable b2 | $@ | extensions.cs:36:24:36:38 | call to method Source : B | call to method Source : B | +| extensions.cs:241:14:241:15 | access to local variable b2 | extensions.cs:239:18:239:30 | call to method Source : B | extensions.cs:241:14:241:15 | access to local variable b2 | $@ | extensions.cs:239:18:239:30 | call to method Source : B | call to method Source : B | +| extensions.cs:241:14:241:15 | access to local variable b2 | extensions.cs:239:18:239:30 | call to method Source : B | extensions.cs:241:14:241:15 | access to local variable b2 | $@ | extensions.cs:239:18:239:30 | call to method Source : B | call to method Source : B | +| extensions.cs:244:14:244:15 | access to local variable b3 | extensions.cs:239:18:239:30 | call to method Source : B | extensions.cs:244:14:244:15 | access to local variable b3 | $@ | extensions.cs:239:18:239:30 | call to method Source : B | call to method Source : B | +| extensions.cs:244:14:244:15 | access to local variable b3 | extensions.cs:239:18:239:30 | call to method Source : B | extensions.cs:244:14:244:15 | access to local variable b3 | $@ | extensions.cs:239:18:239:30 | call to method Source : B | call to method Source : B | +| extensions.cs:253:14:253:20 | access to property Prop | extensions.cs:250:19:250:36 | call to method Source : Object | extensions.cs:253:14:253:20 | access to property Prop | $@ | extensions.cs:250:19:250:36 | call to method Source : Object | call to method Source : Object | +| extensions.cs:253:14:253:20 | access to property Prop | extensions.cs:250:19:250:36 | call to method Source : Object | extensions.cs:253:14:253:20 | access to property Prop | $@ | extensions.cs:250:19:250:36 | call to method Source : Object | call to method Source : Object | +| extensions.cs:257:14:257:20 | access to property Prop | extensions.cs:250:19:250:36 | call to method Source : Object | extensions.cs:257:14:257:20 | access to property Prop | $@ | extensions.cs:250:19:250:36 | call to method Source : Object | call to method Source : Object | +| extensions.cs:257:14:257:20 | access to property Prop | extensions.cs:250:19:250:36 | call to method Source : Object | extensions.cs:257:14:257:20 | access to property Prop | $@ | extensions.cs:250:19:250:36 | call to method Source : Object | call to method Source : Object | diff --git a/csharp/ql/test/library-tests/dataflow/extensions/extensions.cs b/csharp/ql/test/library-tests/dataflow/extensions/extensions.cs index 0e1c2226683..cf4f9acb1b5 100644 --- a/csharp/ql/test/library-tests/dataflow/extensions/extensions.cs +++ b/csharp/ql/test/library-tests/dataflow/extensions/extensions.cs @@ -86,6 +86,14 @@ public static class MyExtensions } } + extension(C c) + { + public void operator *=(C c1) + { + c.Prop = c1.Prop; + } + } + extension(T t) where T : class { public void GenericM1() @@ -236,8 +244,26 @@ public class A Sink(b3); // $ hasValueFlow=14 } + public void Test15() + { + var c1 = new C(); + c1.Prop = Source(15); + var c2 = new C(); + c2 *= c1; + Sink(c2.Prop); // $ hasValueFlow=15 + + var c3 = new C(); + MyExtensions.op_MultiplicationAssignment(c3, c1); + Sink(c3.Prop); // $ hasValueFlow=15 + } + public static T Source(object source) => throw null; public static void Sink(object o) { } } public class B { } + +public class C +{ + public object Prop { get; set; } +} diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs index 176f95e4a89..e554f25f206 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs @@ -8,7 +8,7 @@ namespace Testing public class ViewModel { public string RequestId { get; set; } // Considered tainted. - public object RequestIdField; // Not considered tainted as it is a field. + public object RequestIdField; // Considered tainted. public string RequestIdOnlyGet { get; } // Not considered tainted as there is no setter. public string RequestIdPrivateSet { get; private set; } // Not considered tainted as it has a private setter. public static object RequestIdStatic { get; set; } // Not considered tainted as it is static. diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected index a7442a80839..d729eb939d2 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected @@ -1,5 +1,6 @@ remoteFlowSourceMembers | AspRemoteFlowSource.cs:10:23:10:31 | RequestId | +| AspRemoteFlowSource.cs:11:23:11:36 | RequestIdField | | AspRemoteFlowSource.cs:28:23:28:29 | Tainted | remoteFlowSources | AspRemoteFlowSource.cs:20:42:20:50 | viewModel | diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/remote/RemoteFlowSource.cs b/csharp/ql/test/library-tests/dataflow/flowsources/remote/RemoteFlowSource.cs index 5889183f525..d54a359aca0 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/remote/RemoteFlowSource.cs +++ b/csharp/ql/test/library-tests/dataflow/flowsources/remote/RemoteFlowSource.cs @@ -54,3 +54,59 @@ namespace RemoteFlowSource } } } + +namespace AspRemoteFlowSource +{ + using System.Web.Services; + using System.Collections.Generic; + + public class MySubData + { + public string SubDataProp { get; set; } + } + + public class ArrayElementData + { + public string ArrayElementDataProp { get; set; } + } + + public class ListElementData + { + public string ListElementDataProp { get; set; } + } + + public class MyData + { + public string DataField; + public string DataProp { get; set; } + public MySubData SubData { get; set; } + public ArrayElementData[] Elements { get; set; } + public List List; + } + + public class MyDataElement + { + public string Prop { get; set; } + } + + + public class MyService + { + [WebMethod] + public void MyMethod(MyData data) + { + Use(data.DataProp); + Use(data.SubData.SubDataProp); + Use(data.Elements[0].ArrayElementDataProp); + Use(data.List[0].ListElementDataProp); + } + + [WebMethod] + public void MyMethod2(MyDataElement[] data) + { + Use(data[0].Prop); + } + + public static void Use(object o) { } + } +} diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.expected b/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.expected index f5f541d73d5..242080e6bda 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.expected +++ b/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.expected @@ -1,3 +1,15 @@ +remoteFlowSourceMembers +| Controller.cs:6:19:6:25 | Tainted | +| RemoteFlowSource.cs:65:23:65:33 | SubDataProp | +| RemoteFlowSource.cs:70:23:70:42 | ArrayElementDataProp | +| RemoteFlowSource.cs:75:23:75:41 | ListElementDataProp | +| RemoteFlowSource.cs:80:23:80:31 | DataField | +| RemoteFlowSource.cs:81:23:81:30 | DataProp | +| RemoteFlowSource.cs:82:26:82:32 | SubData | +| RemoteFlowSource.cs:83:35:83:42 | Elements | +| RemoteFlowSource.cs:84:38:84:41 | List | +| RemoteFlowSource.cs:89:23:89:26 | Prop | +remoteFlowSources | Controller.cs:11:43:11:52 | sampleData | ASP.NET MVC action method parameter | | Controller.cs:11:62:11:66 | taint | ASP.NET MVC action method parameter | | Controller.cs:16:43:16:52 | sampleData | ASP.NET MVC action method parameter | @@ -10,3 +22,5 @@ | RemoteFlowSource.cs:45:17:45:23 | access to parameter request | ASP.NET query string | | RemoteFlowSource.cs:45:17:45:42 | access to property RawUrl | ASP.NET unvalidated request data | | RemoteFlowSource.cs:52:55:52:61 | [post] access to local variable segment | external | +| RemoteFlowSource.cs:96:37:96:40 | data | ASP.NET web service input | +| RemoteFlowSource.cs:105:47:105:50 | data | ASP.NET web service input | diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.ql b/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.ql index fdea5323d5c..f6d87eb9ff4 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.ql +++ b/csharp/ql/test/library-tests/dataflow/flowsources/remote/remoteFlowSource.ql @@ -1,5 +1,7 @@ import semmle.code.csharp.security.dataflow.flowsources.Remote -from RemoteFlowSource source -where source.getLocation().getFile().fromSource() -select source, source.getSourceType() +query predicate remoteFlowSourceMembers(TaintTracking::TaintedMember m) { m.fromSource() } + +query predicate remoteFlowSources(RemoteFlowSource source, string type) { + source.getLocation().getFile().fromSource() and type = source.getSourceType() +} diff --git a/csharp/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/csharp/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 29533a67083..8dcf5e1778c 100644 --- a/csharp/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/csharp/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -519,11 +519,11 @@ | LocalDataFlow.cs:367:32:367:33 | SSA param(b2) | LocalDataFlow.cs:374:17:374:18 | access to parameter b2 | | LocalDataFlow.cs:367:32:367:33 | b2 | LocalDataFlow.cs:367:32:367:33 | SSA param(b2) | | LocalDataFlow.cs:369:17:369:18 | "" | LocalDataFlow.cs:369:13:369:13 | access to local variable x | +| LocalDataFlow.cs:372:9:379:9 | [input] SSA phi(x) | LocalDataFlow.cs:382:15:382:15 | access to local variable x | | LocalDataFlow.cs:373:13:373:13 | access to local variable x | LocalDataFlow.cs:373:13:373:25 | SSA def(x) | -| LocalDataFlow.cs:373:13:373:25 | SSA def(x) | LocalDataFlow.cs:374:17:374:18 | [input] SSA phi(x) | +| LocalDataFlow.cs:373:13:373:25 | SSA def(x) | LocalDataFlow.cs:372:9:379:9 | [input] SSA phi(x) | | LocalDataFlow.cs:373:13:373:25 | SSA def(x) | LocalDataFlow.cs:376:35:376:35 | access to local variable x | | LocalDataFlow.cs:373:17:373:25 | "tainted" | LocalDataFlow.cs:373:13:373:13 | access to local variable x | -| LocalDataFlow.cs:374:17:374:18 | [input] SSA phi(x) | LocalDataFlow.cs:382:15:382:15 | access to local variable x | | LocalDataFlow.cs:381:13:381:13 | access to local variable x | LocalDataFlow.cs:381:13:381:29 | SSA def(x) | | LocalDataFlow.cs:381:13:381:29 | SSA def(x) | LocalDataFlow.cs:382:15:382:15 | access to local variable x | | LocalDataFlow.cs:381:17:381:29 | "not tainted" | LocalDataFlow.cs:381:13:381:13 | access to local variable x | @@ -557,56 +557,49 @@ | SSA.cs:22:16:22:23 | access to local variable ssaSink1 | SSA.cs:22:16:22:28 | SSA def(ssaSink1) | | SSA.cs:22:16:22:28 | SSA def(ssaSink1) | SSA.cs:25:15:25:22 | access to local variable ssaSink1 | | SSA.cs:22:27:22:28 | "" | SSA.cs:22:16:22:23 | access to local variable ssaSink1 | +| SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | +| SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | SSA.cs:37:24:37:31 | access to local variable ssaSink0 | | SSA.cs:23:13:23:22 | [post] access to parameter nonTainted | SSA.cs:29:13:29:22 | access to parameter nonTainted | | SSA.cs:23:13:23:22 | access to parameter nonTainted | SSA.cs:29:13:29:22 | access to parameter nonTainted | -| SSA.cs:23:13:23:33 | [input] SSA phi read(ssaSink0) | SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | +| SSA.cs:23:13:23:33 | [input] SSA phi read(ssaSink0) | SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | | SSA.cs:24:13:24:20 | access to local variable ssaSink1 | SSA.cs:24:13:24:31 | SSA def(ssaSink1) | | SSA.cs:24:13:24:31 | SSA def(ssaSink1) | SSA.cs:25:15:25:22 | access to local variable ssaSink1 | +| SSA.cs:24:24:24:31 | access to local variable ssaSink0 | SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | | SSA.cs:24:24:24:31 | access to local variable ssaSink0 | SSA.cs:24:13:24:20 | access to local variable ssaSink1 | -| SSA.cs:24:24:24:31 | access to local variable ssaSink0 | SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | -| SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | -| SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | SSA.cs:37:24:37:31 | access to local variable ssaSink0 | | SSA.cs:28:16:28:23 | access to local variable nonSink1 | SSA.cs:28:16:28:28 | SSA def(nonSink1) | | SSA.cs:28:16:28:28 | SSA def(nonSink1) | SSA.cs:31:15:31:22 | access to local variable nonSink1 | | SSA.cs:28:27:28:28 | "" | SSA.cs:28:16:28:23 | access to local variable nonSink1 | +| SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | SSA.cs:47:13:47:33 | [input] SSA phi read(nonSink0) | +| SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | SSA.cs:49:24:49:31 | access to local variable nonSink0 | | SSA.cs:29:13:29:22 | [post] access to parameter nonTainted | SSA.cs:35:13:35:22 | access to parameter nonTainted | | SSA.cs:29:13:29:22 | access to parameter nonTainted | SSA.cs:35:13:35:22 | access to parameter nonTainted | -| SSA.cs:29:13:29:33 | [input] SSA phi read(nonSink0) | SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | +| SSA.cs:29:13:29:33 | [input] SSA phi read(nonSink0) | SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | | SSA.cs:30:13:30:20 | access to local variable nonSink1 | SSA.cs:30:13:30:31 | SSA def(nonSink1) | | SSA.cs:30:13:30:31 | SSA def(nonSink1) | SSA.cs:31:15:31:22 | access to local variable nonSink1 | +| SSA.cs:30:24:30:31 | access to local variable nonSink0 | SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | | SSA.cs:30:24:30:31 | access to local variable nonSink0 | SSA.cs:30:13:30:20 | access to local variable nonSink1 | -| SSA.cs:30:24:30:31 | access to local variable nonSink0 | SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | -| SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | SSA.cs:47:13:47:33 | [input] SSA phi read(nonSink0) | -| SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | SSA.cs:49:24:49:31 | access to local variable nonSink0 | | SSA.cs:34:16:34:23 | access to local variable ssaSink2 | SSA.cs:34:16:34:28 | SSA def(ssaSink2) | | SSA.cs:34:16:34:28 | SSA def(ssaSink2) | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | | SSA.cs:34:27:34:28 | "" | SSA.cs:34:16:34:23 | access to local variable ssaSink2 | +| SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | SSA.cs:89:13:89:33 | [input] SSA phi read(ssaSink0) | +| SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | SSA.cs:91:24:91:31 | access to local variable ssaSink0 | | SSA.cs:35:13:35:22 | [post] access to parameter nonTainted | SSA.cs:35:13:35:33 | [input] SSA phi read(nonTainted) | | SSA.cs:35:13:35:22 | [post] access to parameter nonTainted | SSA.cs:38:17:38:26 | access to parameter nonTainted | | SSA.cs:35:13:35:22 | access to parameter nonTainted | SSA.cs:35:13:35:33 | [input] SSA phi read(nonTainted) | | SSA.cs:35:13:35:22 | access to parameter nonTainted | SSA.cs:38:17:38:26 | access to parameter nonTainted | | SSA.cs:35:13:35:33 | [input] SSA phi read(nonTainted) | SSA.cs:47:13:47:22 | access to parameter nonTainted | -| SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | +| SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | | SSA.cs:37:13:37:20 | access to local variable ssaSink2 | SSA.cs:37:13:37:31 | SSA def(ssaSink2) | | SSA.cs:37:13:37:31 | SSA def(ssaSink2) | SSA.cs:39:21:39:28 | access to local variable ssaSink2 | | SSA.cs:37:13:37:31 | SSA def(ssaSink2) | SSA.cs:41:21:41:28 | access to local variable ssaSink2 | +| SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | | SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:37:13:37:20 | access to local variable ssaSink2 | -| SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:39:17:39:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:41:17:41:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:38:17:38:26 | [post] access to parameter nonTainted | SSA.cs:39:17:39:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:38:17:38:26 | [post] access to parameter nonTainted | SSA.cs:41:17:41:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:38:17:38:26 | access to parameter nonTainted | SSA.cs:39:17:39:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:38:17:38:26 | access to parameter nonTainted | SSA.cs:41:17:41:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:39:17:39:29 | [input] SSA phi read(nonTainted) | SSA.cs:47:13:47:22 | access to parameter nonTainted | -| SSA.cs:39:17:39:29 | [input] SSA phi read(ssaSink0) | SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | +| SSA.cs:38:17:38:26 | [post] access to parameter nonTainted | SSA.cs:47:13:47:22 | access to parameter nonTainted | +| SSA.cs:38:17:38:26 | access to parameter nonTainted | SSA.cs:47:13:47:22 | access to parameter nonTainted | | SSA.cs:39:21:39:28 | [post] access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | | SSA.cs:39:21:39:28 | access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | -| SSA.cs:41:17:41:29 | [input] SSA phi read(nonTainted) | SSA.cs:47:13:47:22 | access to parameter nonTainted | -| SSA.cs:41:17:41:29 | [input] SSA phi read(ssaSink0) | SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | | SSA.cs:41:21:41:28 | [post] access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | | SSA.cs:41:21:41:28 | access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | -| SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | SSA.cs:89:13:89:33 | [input] SSA phi read(ssaSink0) | -| SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | SSA.cs:91:24:91:31 | access to local variable ssaSink0 | | SSA.cs:46:16:46:23 | access to local variable nonSink2 | SSA.cs:46:16:46:28 | SSA def(nonSink2) | | SSA.cs:46:16:46:28 | SSA def(nonSink2) | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:46:27:46:28 | "" | SSA.cs:46:16:46:23 | access to local variable nonSink2 | @@ -620,18 +613,11 @@ | SSA.cs:49:13:49:31 | SSA def(nonSink2) | SSA.cs:51:21:51:28 | access to local variable nonSink2 | | SSA.cs:49:13:49:31 | SSA def(nonSink2) | SSA.cs:53:21:53:28 | access to local variable nonSink2 | | SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:49:13:49:20 | access to local variable nonSink2 | -| SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:51:17:51:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:53:17:53:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:50:17:50:26 | [post] access to parameter nonTainted | SSA.cs:51:17:51:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:50:17:50:26 | [post] access to parameter nonTainted | SSA.cs:53:17:53:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:50:17:50:26 | access to parameter nonTainted | SSA.cs:51:17:51:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:50:17:50:26 | access to parameter nonTainted | SSA.cs:53:17:53:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:51:17:51:29 | [input] SSA phi read(nonSink0) | SSA.cs:63:23:63:30 | access to local variable nonSink0 | -| SSA.cs:51:17:51:29 | [input] SSA phi read(nonTainted) | SSA.cs:89:13:89:22 | access to parameter nonTainted | +| SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:63:23:63:30 | access to local variable nonSink0 | +| SSA.cs:50:17:50:26 | [post] access to parameter nonTainted | SSA.cs:89:13:89:22 | access to parameter nonTainted | +| SSA.cs:50:17:50:26 | access to parameter nonTainted | SSA.cs:89:13:89:22 | access to parameter nonTainted | | SSA.cs:51:21:51:28 | [post] access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:51:21:51:28 | access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | -| SSA.cs:53:17:53:29 | [input] SSA phi read(nonSink0) | SSA.cs:63:23:63:30 | access to local variable nonSink0 | -| SSA.cs:53:17:53:29 | [input] SSA phi read(nonTainted) | SSA.cs:89:13:89:22 | access to parameter nonTainted | | SSA.cs:53:21:53:28 | [post] access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:53:21:53:28 | access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:58:16:58:23 | access to local variable ssaSink3 | SSA.cs:58:16:58:33 | SSA def(ssaSink3) | @@ -733,18 +719,11 @@ | SSA.cs:91:13:91:31 | SSA def(ssaSink4) | SSA.cs:93:21:93:28 | access to local variable ssaSink4 | | SSA.cs:91:13:91:31 | SSA def(ssaSink4) | SSA.cs:95:21:95:28 | access to local variable ssaSink4 | | SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:91:13:91:20 | access to local variable ssaSink4 | -| SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:93:17:93:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:95:17:95:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:92:17:92:26 | [post] access to parameter nonTainted | SSA.cs:93:17:93:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:92:17:92:26 | [post] access to parameter nonTainted | SSA.cs:95:17:95:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:92:17:92:26 | access to parameter nonTainted | SSA.cs:93:17:93:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:92:17:92:26 | access to parameter nonTainted | SSA.cs:95:17:95:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:93:17:93:29 | [input] SSA phi read(nonTainted) | SSA.cs:102:13:102:22 | access to parameter nonTainted | -| SSA.cs:93:17:93:29 | [input] SSA phi read(ssaSink0) | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | +| SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | +| SSA.cs:92:17:92:26 | [post] access to parameter nonTainted | SSA.cs:102:13:102:22 | access to parameter nonTainted | +| SSA.cs:92:17:92:26 | access to parameter nonTainted | SSA.cs:102:13:102:22 | access to parameter nonTainted | | SSA.cs:93:21:93:28 | [post] access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | | SSA.cs:93:21:93:28 | access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | -| SSA.cs:95:17:95:29 | [input] SSA phi read(nonTainted) | SSA.cs:102:13:102:22 | access to parameter nonTainted | -| SSA.cs:95:17:95:29 | [input] SSA phi read(ssaSink0) | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | | SSA.cs:95:21:95:28 | [post] access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | | SSA.cs:95:21:95:28 | access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | | SSA.cs:97:23:97:30 | SSA def(ssaSink4) | SSA.cs:98:15:98:22 | access to local variable ssaSink4 | @@ -764,18 +743,11 @@ | SSA.cs:104:13:104:31 | SSA def(nonSink3) | SSA.cs:106:21:106:28 | access to local variable nonSink3 | | SSA.cs:104:13:104:31 | SSA def(nonSink3) | SSA.cs:108:21:108:28 | access to local variable nonSink3 | | SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:104:13:104:20 | access to local variable nonSink3 | -| SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:106:17:106:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:108:17:108:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:105:17:105:26 | [post] access to parameter nonTainted | SSA.cs:106:17:106:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:105:17:105:26 | [post] access to parameter nonTainted | SSA.cs:108:17:108:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:105:17:105:26 | access to parameter nonTainted | SSA.cs:106:17:106:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:105:17:105:26 | access to parameter nonTainted | SSA.cs:108:17:108:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:106:17:106:29 | [input] SSA phi read(nonSink0) | SSA.cs:130:39:130:46 | access to local variable nonSink0 | -| SSA.cs:106:17:106:29 | [input] SSA phi read(nonTainted) | SSA.cs:115:13:115:22 | access to parameter nonTainted | +| SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:130:39:130:46 | access to local variable nonSink0 | +| SSA.cs:105:17:105:26 | [post] access to parameter nonTainted | SSA.cs:115:13:115:22 | access to parameter nonTainted | +| SSA.cs:105:17:105:26 | access to parameter nonTainted | SSA.cs:115:13:115:22 | access to parameter nonTainted | | SSA.cs:106:21:106:28 | [post] access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | | SSA.cs:106:21:106:28 | access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | -| SSA.cs:108:17:108:29 | [input] SSA phi read(nonSink0) | SSA.cs:130:39:130:46 | access to local variable nonSink0 | -| SSA.cs:108:17:108:29 | [input] SSA phi read(nonTainted) | SSA.cs:115:13:115:22 | access to parameter nonTainted | | SSA.cs:108:21:108:28 | [post] access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | | SSA.cs:108:21:108:28 | access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | | SSA.cs:110:23:110:30 | SSA def(nonSink3) | SSA.cs:111:15:111:22 | access to local variable nonSink3 | @@ -811,18 +783,14 @@ | SSA.cs:117:13:117:43 | SSA def(this.S.SsaFieldSink1) | SSA.cs:119:21:119:40 | access to field SsaFieldSink1 | | SSA.cs:117:13:117:43 | SSA def(this.S.SsaFieldSink1) | SSA.cs:121:21:121:40 | access to field SsaFieldSink1 | | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | SSA.cs:117:13:117:32 | access to field SsaFieldSink1 | -| SSA.cs:118:17:118:26 | [post] access to parameter nonTainted | SSA.cs:119:17:119:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:118:17:118:26 | [post] access to parameter nonTainted | SSA.cs:121:17:121:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:118:17:118:26 | access to parameter nonTainted | SSA.cs:119:17:119:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:118:17:118:26 | access to parameter nonTainted | SSA.cs:121:17:121:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:119:17:119:41 | [input] SSA phi read(nonTainted) | SSA.cs:128:13:128:22 | access to parameter nonTainted | +| SSA.cs:118:17:118:26 | [post] access to parameter nonTainted | SSA.cs:128:13:128:22 | access to parameter nonTainted | +| SSA.cs:118:17:118:26 | access to parameter nonTainted | SSA.cs:128:13:128:22 | access to parameter nonTainted | | SSA.cs:119:21:119:24 | [post] this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:119:21:119:24 | this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:119:21:119:26 | [post] access to field S | SSA.cs:123:23:123:28 | access to field S | | SSA.cs:119:21:119:26 | access to field S | SSA.cs:123:23:123:28 | access to field S | | SSA.cs:119:21:119:40 | [post] access to field SsaFieldSink1 | SSA.cs:123:23:123:28 | SSA qualifier def(this.S.SsaFieldSink1) | | SSA.cs:119:21:119:40 | access to field SsaFieldSink1 | SSA.cs:123:23:123:28 | SSA qualifier def(this.S.SsaFieldSink1) | -| SSA.cs:121:17:121:41 | [input] SSA phi read(nonTainted) | SSA.cs:128:13:128:22 | access to parameter nonTainted | | SSA.cs:121:21:121:24 | [post] this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:121:21:121:24 | this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:121:21:121:26 | [post] access to field S | SSA.cs:123:23:123:28 | access to field S | @@ -890,18 +858,18 @@ | SSA.cs:146:13:146:13 | access to parameter t | SSA.cs:146:13:146:13 | (...) ... | | SSA.cs:146:13:146:13 | access to parameter t | SSA.cs:149:17:149:17 | access to parameter t | | SSA.cs:147:13:147:13 | access to parameter t | SSA.cs:147:13:147:26 | SSA def(t) | -| SSA.cs:147:13:147:26 | SSA def(t) | SSA.cs:144:17:144:26 | SSA phi(t) | +| SSA.cs:147:13:147:26 | SSA def(t) | SSA.cs:146:9:149:18 | SSA phi(t) | | SSA.cs:147:17:147:26 | default(...) | SSA.cs:147:13:147:13 | access to parameter t | | SSA.cs:149:13:149:13 | access to parameter t | SSA.cs:149:13:149:17 | SSA def(t) | -| SSA.cs:149:13:149:17 | SSA def(t) | SSA.cs:144:17:144:26 | SSA phi(t) | +| SSA.cs:149:13:149:17 | SSA def(t) | SSA.cs:146:9:149:18 | SSA phi(t) | | SSA.cs:149:17:149:17 | access to parameter t | SSA.cs:149:13:149:13 | access to parameter t | | SSA.cs:152:36:152:36 | SSA param(t) | SSA.cs:154:13:154:13 | access to parameter t | | SSA.cs:152:36:152:36 | t | SSA.cs:152:36:152:36 | SSA param(t) | | SSA.cs:154:13:154:13 | access to parameter t | SSA.cs:154:13:154:13 | (...) ... | | SSA.cs:154:13:154:13 | access to parameter t | SSA.cs:154:13:154:21 | [input] SSA phi(t) | | SSA.cs:154:13:154:13 | access to parameter t | SSA.cs:155:25:155:25 | access to parameter t | -| SSA.cs:154:13:154:21 | [input] SSA phi(t) | SSA.cs:152:17:152:28 | SSA phi(t) | -| SSA.cs:155:25:155:25 | SSA def(t) | SSA.cs:152:17:152:28 | SSA phi(t) | +| SSA.cs:154:13:154:21 | [input] SSA phi(t) | SSA.cs:154:9:155:27 | SSA phi(t) | +| SSA.cs:155:25:155:25 | SSA def(t) | SSA.cs:154:9:155:27 | SSA phi(t) | | SSA.cs:155:25:155:25 | access to parameter t | SSA.cs:155:25:155:25 | SSA def(t) | | SSA.cs:166:10:166:13 | this | SSA.cs:166:19:166:22 | this access | | SSA.cs:166:28:166:31 | null | SSA.cs:166:19:166:24 | access to field S | @@ -914,18 +882,18 @@ | SSA.cs:170:27:170:28 | "" | SSA.cs:170:16:170:23 | access to local variable ssaSink5 | | SSA.cs:171:13:171:13 | access to parameter i | SSA.cs:171:13:171:15 | SSA def(i) | | SSA.cs:171:13:171:15 | SSA def(i) | SSA.cs:174:20:174:20 | access to parameter i | +| SSA.cs:172:9:179:9 | [input] SSA phi(ssaSink5) | SSA.cs:180:15:180:22 | access to local variable ssaSink5 | | SSA.cs:173:13:173:20 | access to local variable ssaSink5 | SSA.cs:173:13:173:30 | SSA def(ssaSink5) | -| SSA.cs:173:13:173:30 | SSA def(ssaSink5) | SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | +| SSA.cs:173:13:173:30 | SSA def(ssaSink5) | SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | | SSA.cs:173:24:173:30 | access to parameter tainted | SSA.cs:173:13:173:20 | access to local variable ssaSink5 | -| SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | SSA.cs:174:20:174:26 | [input] SSA phi(ssaSink5) | -| SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | SSA.cs:176:21:176:28 | access to local variable ssaSink5 | +| SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | SSA.cs:172:9:179:9 | [input] SSA phi(ssaSink5) | +| SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | SSA.cs:176:21:176:28 | access to local variable ssaSink5 | | SSA.cs:174:20:174:20 | access to parameter i | SSA.cs:174:20:174:22 | SSA def(i) | | SSA.cs:174:20:174:22 | SSA def(i) | SSA.cs:174:20:174:20 | access to parameter i | -| SSA.cs:174:20:174:26 | [input] SSA phi(ssaSink5) | SSA.cs:180:15:180:22 | access to local variable ssaSink5 | | SSA.cs:176:21:176:28 | [post] access to local variable ssaSink5 | SSA.cs:177:21:177:28 | access to local variable ssaSink5 | | SSA.cs:176:21:176:28 | access to local variable ssaSink5 | SSA.cs:177:21:177:28 | access to local variable ssaSink5 | -| SSA.cs:177:21:177:28 | [post] access to local variable ssaSink5 | SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | -| SSA.cs:177:21:177:28 | access to local variable ssaSink5 | SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | +| SSA.cs:177:21:177:28 | [post] access to local variable ssaSink5 | SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | +| SSA.cs:177:21:177:28 | access to local variable ssaSink5 | SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | | Splitting.cs:1:7:1:15 | this | Splitting.cs:1:7:1:15 | this access | | Splitting.cs:3:18:3:18 | SSA param(b) | Splitting.cs:6:13:6:13 | access to parameter b | | Splitting.cs:3:18:3:18 | b | Splitting.cs:3:18:3:18 | SSA param(b) | @@ -937,10 +905,10 @@ | Splitting.cs:5:17:5:23 | access to parameter tainted | Splitting.cs:5:13:5:13 | access to local variable x | | Splitting.cs:6:13:6:13 | [input] SSA phi read(x) | Splitting.cs:12:15:12:15 | access to local variable x | | Splitting.cs:6:13:6:13 | access to parameter b | Splitting.cs:13:13:13:13 | access to parameter b | +| Splitting.cs:7:9:11:9 | [input] SSA phi read(x) | Splitting.cs:12:15:12:15 | access to local variable x | | Splitting.cs:8:19:8:19 | [post] access to local variable x | Splitting.cs:9:17:9:17 | access to local variable x | | Splitting.cs:8:19:8:19 | access to local variable x | Splitting.cs:9:17:9:17 | access to local variable x | -| Splitting.cs:9:17:9:17 | access to local variable x | Splitting.cs:9:17:9:25 | [input] SSA phi read(x) | -| Splitting.cs:9:17:9:25 | [input] SSA phi read(x) | Splitting.cs:12:15:12:15 | access to local variable x | +| Splitting.cs:9:17:9:17 | access to local variable x | Splitting.cs:7:9:11:9 | [input] SSA phi read(x) | | Splitting.cs:12:15:12:15 | [post] access to local variable x | Splitting.cs:14:19:14:19 | access to local variable x | | Splitting.cs:12:15:12:15 | access to local variable x | Splitting.cs:14:19:14:19 | access to local variable x | | Splitting.cs:17:18:17:18 | SSA param(b) | Splitting.cs:20:13:20:13 | access to parameter b | @@ -1117,1108 +1085,1105 @@ | UseUseExplosion.cs:23:13:23:17 | SSA def(x) | UseUseExplosion.cs:24:3182:24:3182 | access to local variable x | | UseUseExplosion.cs:23:13:23:17 | SSA def(x) | UseUseExplosion.cs:24:3197:24:3197 | access to local variable x | | UseUseExplosion.cs:23:17:23:17 | 0 | UseUseExplosion.cs:23:13:23:13 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1712:25:1712 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1727:25:1727 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1742:25:1742 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1757:25:1757 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1772:25:1772 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1787:25:1787 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1802:25:1802 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1817:25:1817 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1832:25:1832 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1847:25:1847 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1862:25:1862 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1877:25:1877 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1892:25:1892 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1907:25:1907 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1922:25:1922 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1937:25:1937 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1952:25:1952 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1967:25:1967 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1982:25:1982 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1997:25:1997 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2012:25:2012 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2027:25:2027 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2042:25:2042 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2057:25:2057 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2072:25:2072 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2087:25:2087 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2102:25:2102 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2117:25:2117 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2132:25:2132 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2147:25:2147 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2162:25:2162 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2177:25:2177 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2192:25:2192 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2207:25:2207 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2222:25:2222 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2237:25:2237 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2252:25:2252 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2267:25:2267 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2282:25:2282 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2297:25:2297 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2312:25:2312 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2327:25:2327 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2342:25:2342 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2357:25:2357 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2372:25:2372 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2387:25:2387 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2402:25:2402 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2417:25:2417 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2432:25:2432 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2447:25:2447 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2462:25:2462 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2477:25:2477 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2492:25:2492 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2507:25:2507 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2522:25:2522 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2537:25:2537 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2552:25:2552 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2567:25:2567 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2582:25:2582 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2597:25:2597 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2612:25:2612 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2627:25:2627 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2642:25:2642 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2657:25:2657 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2672:25:2672 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2687:25:2687 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2702:25:2702 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2717:25:2717 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2732:25:2732 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2747:25:2747 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2762:25:2762 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2777:25:2777 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2792:25:2792 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2807:25:2807 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2822:25:2822 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2837:25:2837 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2852:25:2852 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2867:25:2867 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2882:25:2882 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2897:25:2897 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2912:25:2912 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2927:25:2927 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2942:25:2942 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2957:25:2957 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2972:25:2972 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2987:25:2987 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3002:25:3002 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3017:25:3017 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3032:25:3032 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3047:25:3047 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3062:25:3062 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3077:25:3077 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3092:25:3092 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3107:25:3107 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3122:25:3122 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3137:25:3137 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3152:25:3152 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3167:25:3167 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3182:25:3182 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3197:25:3197 | access to local variable x | | UseUseExplosion.cs:24:13:24:16 | [post] this access | UseUseExplosion.cs:24:31:24:34 | this access | | UseUseExplosion.cs:24:13:24:16 | [post] this access | UseUseExplosion.cs:24:3193:24:3198 | this access | | UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:31:24:34 | access to property Prop | -| UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:3193:24:3198 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:3193:24:3199 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:13:24:16 | this access | UseUseExplosion.cs:24:31:24:34 | this access | | UseUseExplosion.cs:24:13:24:16 | this access | UseUseExplosion.cs:24:3193:24:3198 | this access | | UseUseExplosion.cs:24:31:24:34 | [post] this access | UseUseExplosion.cs:24:48:24:51 | this access | | UseUseExplosion.cs:24:31:24:34 | [post] this access | UseUseExplosion.cs:24:3178:24:3183 | this access | | UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:48:24:51 | access to property Prop | -| UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:3178:24:3183 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:3178:24:3184 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:31:24:34 | this access | UseUseExplosion.cs:24:48:24:51 | this access | | UseUseExplosion.cs:24:31:24:34 | this access | UseUseExplosion.cs:24:3178:24:3183 | this access | | UseUseExplosion.cs:24:48:24:51 | [post] this access | UseUseExplosion.cs:24:65:24:68 | this access | | UseUseExplosion.cs:24:48:24:51 | [post] this access | UseUseExplosion.cs:24:3163:24:3168 | this access | | UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:65:24:68 | access to property Prop | -| UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:3163:24:3168 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:3163:24:3169 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:48:24:51 | this access | UseUseExplosion.cs:24:65:24:68 | this access | | UseUseExplosion.cs:24:48:24:51 | this access | UseUseExplosion.cs:24:3163:24:3168 | this access | | UseUseExplosion.cs:24:65:24:68 | [post] this access | UseUseExplosion.cs:24:82:24:85 | this access | | UseUseExplosion.cs:24:65:24:68 | [post] this access | UseUseExplosion.cs:24:3148:24:3153 | this access | | UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:82:24:85 | access to property Prop | -| UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:3148:24:3153 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:3148:24:3154 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:65:24:68 | this access | UseUseExplosion.cs:24:82:24:85 | this access | | UseUseExplosion.cs:24:65:24:68 | this access | UseUseExplosion.cs:24:3148:24:3153 | this access | | UseUseExplosion.cs:24:82:24:85 | [post] this access | UseUseExplosion.cs:24:99:24:102 | this access | | UseUseExplosion.cs:24:82:24:85 | [post] this access | UseUseExplosion.cs:24:3133:24:3138 | this access | | UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:99:24:102 | access to property Prop | -| UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:3133:24:3138 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:3133:24:3139 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:82:24:85 | this access | UseUseExplosion.cs:24:99:24:102 | this access | | UseUseExplosion.cs:24:82:24:85 | this access | UseUseExplosion.cs:24:3133:24:3138 | this access | | UseUseExplosion.cs:24:99:24:102 | [post] this access | UseUseExplosion.cs:24:116:24:119 | this access | | UseUseExplosion.cs:24:99:24:102 | [post] this access | UseUseExplosion.cs:24:3118:24:3123 | this access | | UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:116:24:119 | access to property Prop | -| UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:3118:24:3123 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:3118:24:3124 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:99:24:102 | this access | UseUseExplosion.cs:24:116:24:119 | this access | | UseUseExplosion.cs:24:99:24:102 | this access | UseUseExplosion.cs:24:3118:24:3123 | this access | | UseUseExplosion.cs:24:116:24:119 | [post] this access | UseUseExplosion.cs:24:133:24:136 | this access | | UseUseExplosion.cs:24:116:24:119 | [post] this access | UseUseExplosion.cs:24:3103:24:3108 | this access | | UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:133:24:136 | access to property Prop | -| UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:3103:24:3108 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:3103:24:3109 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:116:24:119 | this access | UseUseExplosion.cs:24:133:24:136 | this access | | UseUseExplosion.cs:24:116:24:119 | this access | UseUseExplosion.cs:24:3103:24:3108 | this access | | UseUseExplosion.cs:24:133:24:136 | [post] this access | UseUseExplosion.cs:24:150:24:153 | this access | | UseUseExplosion.cs:24:133:24:136 | [post] this access | UseUseExplosion.cs:24:3088:24:3093 | this access | | UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:150:24:153 | access to property Prop | -| UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:3088:24:3093 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:3088:24:3094 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:133:24:136 | this access | UseUseExplosion.cs:24:150:24:153 | this access | | UseUseExplosion.cs:24:133:24:136 | this access | UseUseExplosion.cs:24:3088:24:3093 | this access | | UseUseExplosion.cs:24:150:24:153 | [post] this access | UseUseExplosion.cs:24:167:24:170 | this access | | UseUseExplosion.cs:24:150:24:153 | [post] this access | UseUseExplosion.cs:24:3073:24:3078 | this access | | UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:167:24:170 | access to property Prop | -| UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:3073:24:3078 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:3073:24:3079 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:150:24:153 | this access | UseUseExplosion.cs:24:167:24:170 | this access | | UseUseExplosion.cs:24:150:24:153 | this access | UseUseExplosion.cs:24:3073:24:3078 | this access | | UseUseExplosion.cs:24:167:24:170 | [post] this access | UseUseExplosion.cs:24:184:24:187 | this access | | UseUseExplosion.cs:24:167:24:170 | [post] this access | UseUseExplosion.cs:24:3058:24:3063 | this access | | UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:184:24:187 | access to property Prop | -| UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:3058:24:3063 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:3058:24:3064 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:167:24:170 | this access | UseUseExplosion.cs:24:184:24:187 | this access | | UseUseExplosion.cs:24:167:24:170 | this access | UseUseExplosion.cs:24:3058:24:3063 | this access | | UseUseExplosion.cs:24:184:24:187 | [post] this access | UseUseExplosion.cs:24:201:24:204 | this access | | UseUseExplosion.cs:24:184:24:187 | [post] this access | UseUseExplosion.cs:24:3043:24:3048 | this access | | UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:201:24:204 | access to property Prop | -| UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:3043:24:3048 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:3043:24:3049 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:184:24:187 | this access | UseUseExplosion.cs:24:201:24:204 | this access | | UseUseExplosion.cs:24:184:24:187 | this access | UseUseExplosion.cs:24:3043:24:3048 | this access | | UseUseExplosion.cs:24:201:24:204 | [post] this access | UseUseExplosion.cs:24:218:24:221 | this access | | UseUseExplosion.cs:24:201:24:204 | [post] this access | UseUseExplosion.cs:24:3028:24:3033 | this access | | UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:218:24:221 | access to property Prop | -| UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:3028:24:3033 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:3028:24:3034 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:201:24:204 | this access | UseUseExplosion.cs:24:218:24:221 | this access | | UseUseExplosion.cs:24:201:24:204 | this access | UseUseExplosion.cs:24:3028:24:3033 | this access | | UseUseExplosion.cs:24:218:24:221 | [post] this access | UseUseExplosion.cs:24:235:24:238 | this access | | UseUseExplosion.cs:24:218:24:221 | [post] this access | UseUseExplosion.cs:24:3013:24:3018 | this access | | UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:235:24:238 | access to property Prop | -| UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:3013:24:3018 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:3013:24:3019 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:218:24:221 | this access | UseUseExplosion.cs:24:235:24:238 | this access | | UseUseExplosion.cs:24:218:24:221 | this access | UseUseExplosion.cs:24:3013:24:3018 | this access | | UseUseExplosion.cs:24:235:24:238 | [post] this access | UseUseExplosion.cs:24:252:24:255 | this access | | UseUseExplosion.cs:24:235:24:238 | [post] this access | UseUseExplosion.cs:24:2998:24:3003 | this access | | UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:252:24:255 | access to property Prop | -| UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:2998:24:3003 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:2998:24:3004 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:235:24:238 | this access | UseUseExplosion.cs:24:252:24:255 | this access | | UseUseExplosion.cs:24:235:24:238 | this access | UseUseExplosion.cs:24:2998:24:3003 | this access | | UseUseExplosion.cs:24:252:24:255 | [post] this access | UseUseExplosion.cs:24:269:24:272 | this access | | UseUseExplosion.cs:24:252:24:255 | [post] this access | UseUseExplosion.cs:24:2983:24:2988 | this access | | UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:269:24:272 | access to property Prop | -| UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:2983:24:2988 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:2983:24:2989 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:252:24:255 | this access | UseUseExplosion.cs:24:269:24:272 | this access | | UseUseExplosion.cs:24:252:24:255 | this access | UseUseExplosion.cs:24:2983:24:2988 | this access | | UseUseExplosion.cs:24:269:24:272 | [post] this access | UseUseExplosion.cs:24:286:24:289 | this access | | UseUseExplosion.cs:24:269:24:272 | [post] this access | UseUseExplosion.cs:24:2968:24:2973 | this access | | UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:286:24:289 | access to property Prop | -| UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:2968:24:2973 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:2968:24:2974 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:269:24:272 | this access | UseUseExplosion.cs:24:286:24:289 | this access | | UseUseExplosion.cs:24:269:24:272 | this access | UseUseExplosion.cs:24:2968:24:2973 | this access | | UseUseExplosion.cs:24:286:24:289 | [post] this access | UseUseExplosion.cs:24:303:24:306 | this access | | UseUseExplosion.cs:24:286:24:289 | [post] this access | UseUseExplosion.cs:24:2953:24:2958 | this access | | UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:303:24:306 | access to property Prop | -| UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:2953:24:2958 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:2953:24:2959 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:286:24:289 | this access | UseUseExplosion.cs:24:303:24:306 | this access | | UseUseExplosion.cs:24:286:24:289 | this access | UseUseExplosion.cs:24:2953:24:2958 | this access | | UseUseExplosion.cs:24:303:24:306 | [post] this access | UseUseExplosion.cs:24:320:24:323 | this access | | UseUseExplosion.cs:24:303:24:306 | [post] this access | UseUseExplosion.cs:24:2938:24:2943 | this access | | UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:320:24:323 | access to property Prop | -| UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:2938:24:2943 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:2938:24:2944 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:303:24:306 | this access | UseUseExplosion.cs:24:320:24:323 | this access | | UseUseExplosion.cs:24:303:24:306 | this access | UseUseExplosion.cs:24:2938:24:2943 | this access | | UseUseExplosion.cs:24:320:24:323 | [post] this access | UseUseExplosion.cs:24:337:24:340 | this access | | UseUseExplosion.cs:24:320:24:323 | [post] this access | UseUseExplosion.cs:24:2923:24:2928 | this access | | UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:337:24:340 | access to property Prop | -| UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:2923:24:2928 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:2923:24:2929 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:320:24:323 | this access | UseUseExplosion.cs:24:337:24:340 | this access | | UseUseExplosion.cs:24:320:24:323 | this access | UseUseExplosion.cs:24:2923:24:2928 | this access | | UseUseExplosion.cs:24:337:24:340 | [post] this access | UseUseExplosion.cs:24:354:24:357 | this access | | UseUseExplosion.cs:24:337:24:340 | [post] this access | UseUseExplosion.cs:24:2908:24:2913 | this access | | UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:354:24:357 | access to property Prop | -| UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:2908:24:2913 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:2908:24:2914 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:337:24:340 | this access | UseUseExplosion.cs:24:354:24:357 | this access | | UseUseExplosion.cs:24:337:24:340 | this access | UseUseExplosion.cs:24:2908:24:2913 | this access | | UseUseExplosion.cs:24:354:24:357 | [post] this access | UseUseExplosion.cs:24:371:24:374 | this access | | UseUseExplosion.cs:24:354:24:357 | [post] this access | UseUseExplosion.cs:24:2893:24:2898 | this access | | UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:371:24:374 | access to property Prop | -| UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:2893:24:2898 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:2893:24:2899 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:354:24:357 | this access | UseUseExplosion.cs:24:371:24:374 | this access | | UseUseExplosion.cs:24:354:24:357 | this access | UseUseExplosion.cs:24:2893:24:2898 | this access | | UseUseExplosion.cs:24:371:24:374 | [post] this access | UseUseExplosion.cs:24:388:24:391 | this access | | UseUseExplosion.cs:24:371:24:374 | [post] this access | UseUseExplosion.cs:24:2878:24:2883 | this access | | UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:388:24:391 | access to property Prop | -| UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:2878:24:2883 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:2878:24:2884 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:371:24:374 | this access | UseUseExplosion.cs:24:388:24:391 | this access | | UseUseExplosion.cs:24:371:24:374 | this access | UseUseExplosion.cs:24:2878:24:2883 | this access | | UseUseExplosion.cs:24:388:24:391 | [post] this access | UseUseExplosion.cs:24:405:24:408 | this access | | UseUseExplosion.cs:24:388:24:391 | [post] this access | UseUseExplosion.cs:24:2863:24:2868 | this access | | UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:405:24:408 | access to property Prop | -| UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:2863:24:2868 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:2863:24:2869 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:388:24:391 | this access | UseUseExplosion.cs:24:405:24:408 | this access | | UseUseExplosion.cs:24:388:24:391 | this access | UseUseExplosion.cs:24:2863:24:2868 | this access | | UseUseExplosion.cs:24:405:24:408 | [post] this access | UseUseExplosion.cs:24:422:24:425 | this access | | UseUseExplosion.cs:24:405:24:408 | [post] this access | UseUseExplosion.cs:24:2848:24:2853 | this access | | UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:422:24:425 | access to property Prop | -| UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:2848:24:2853 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:2848:24:2854 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:405:24:408 | this access | UseUseExplosion.cs:24:422:24:425 | this access | | UseUseExplosion.cs:24:405:24:408 | this access | UseUseExplosion.cs:24:2848:24:2853 | this access | | UseUseExplosion.cs:24:422:24:425 | [post] this access | UseUseExplosion.cs:24:439:24:442 | this access | | UseUseExplosion.cs:24:422:24:425 | [post] this access | UseUseExplosion.cs:24:2833:24:2838 | this access | | UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:439:24:442 | access to property Prop | -| UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:2833:24:2838 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:2833:24:2839 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:422:24:425 | this access | UseUseExplosion.cs:24:439:24:442 | this access | | UseUseExplosion.cs:24:422:24:425 | this access | UseUseExplosion.cs:24:2833:24:2838 | this access | | UseUseExplosion.cs:24:439:24:442 | [post] this access | UseUseExplosion.cs:24:456:24:459 | this access | | UseUseExplosion.cs:24:439:24:442 | [post] this access | UseUseExplosion.cs:24:2818:24:2823 | this access | | UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:456:24:459 | access to property Prop | -| UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:2818:24:2823 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:2818:24:2824 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:439:24:442 | this access | UseUseExplosion.cs:24:456:24:459 | this access | | UseUseExplosion.cs:24:439:24:442 | this access | UseUseExplosion.cs:24:2818:24:2823 | this access | | UseUseExplosion.cs:24:456:24:459 | [post] this access | UseUseExplosion.cs:24:473:24:476 | this access | | UseUseExplosion.cs:24:456:24:459 | [post] this access | UseUseExplosion.cs:24:2803:24:2808 | this access | | UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:473:24:476 | access to property Prop | -| UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:2803:24:2808 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:2803:24:2809 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:456:24:459 | this access | UseUseExplosion.cs:24:473:24:476 | this access | | UseUseExplosion.cs:24:456:24:459 | this access | UseUseExplosion.cs:24:2803:24:2808 | this access | | UseUseExplosion.cs:24:473:24:476 | [post] this access | UseUseExplosion.cs:24:490:24:493 | this access | | UseUseExplosion.cs:24:473:24:476 | [post] this access | UseUseExplosion.cs:24:2788:24:2793 | this access | | UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:490:24:493 | access to property Prop | -| UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:2788:24:2793 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:2788:24:2794 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:473:24:476 | this access | UseUseExplosion.cs:24:490:24:493 | this access | | UseUseExplosion.cs:24:473:24:476 | this access | UseUseExplosion.cs:24:2788:24:2793 | this access | | UseUseExplosion.cs:24:490:24:493 | [post] this access | UseUseExplosion.cs:24:507:24:510 | this access | | UseUseExplosion.cs:24:490:24:493 | [post] this access | UseUseExplosion.cs:24:2773:24:2778 | this access | | UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:507:24:510 | access to property Prop | -| UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:2773:24:2778 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:2773:24:2779 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:490:24:493 | this access | UseUseExplosion.cs:24:507:24:510 | this access | | UseUseExplosion.cs:24:490:24:493 | this access | UseUseExplosion.cs:24:2773:24:2778 | this access | | UseUseExplosion.cs:24:507:24:510 | [post] this access | UseUseExplosion.cs:24:524:24:527 | this access | | UseUseExplosion.cs:24:507:24:510 | [post] this access | UseUseExplosion.cs:24:2758:24:2763 | this access | | UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:524:24:527 | access to property Prop | -| UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:2758:24:2763 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:2758:24:2764 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:507:24:510 | this access | UseUseExplosion.cs:24:524:24:527 | this access | | UseUseExplosion.cs:24:507:24:510 | this access | UseUseExplosion.cs:24:2758:24:2763 | this access | | UseUseExplosion.cs:24:524:24:527 | [post] this access | UseUseExplosion.cs:24:541:24:544 | this access | | UseUseExplosion.cs:24:524:24:527 | [post] this access | UseUseExplosion.cs:24:2743:24:2748 | this access | | UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:541:24:544 | access to property Prop | -| UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:2743:24:2748 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:2743:24:2749 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:524:24:527 | this access | UseUseExplosion.cs:24:541:24:544 | this access | | UseUseExplosion.cs:24:524:24:527 | this access | UseUseExplosion.cs:24:2743:24:2748 | this access | | UseUseExplosion.cs:24:541:24:544 | [post] this access | UseUseExplosion.cs:24:558:24:561 | this access | | UseUseExplosion.cs:24:541:24:544 | [post] this access | UseUseExplosion.cs:24:2728:24:2733 | this access | | UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:558:24:561 | access to property Prop | -| UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:2728:24:2733 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:2728:24:2734 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:541:24:544 | this access | UseUseExplosion.cs:24:558:24:561 | this access | | UseUseExplosion.cs:24:541:24:544 | this access | UseUseExplosion.cs:24:2728:24:2733 | this access | | UseUseExplosion.cs:24:558:24:561 | [post] this access | UseUseExplosion.cs:24:575:24:578 | this access | | UseUseExplosion.cs:24:558:24:561 | [post] this access | UseUseExplosion.cs:24:2713:24:2718 | this access | | UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:575:24:578 | access to property Prop | -| UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:2713:24:2718 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:2713:24:2719 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:558:24:561 | this access | UseUseExplosion.cs:24:575:24:578 | this access | | UseUseExplosion.cs:24:558:24:561 | this access | UseUseExplosion.cs:24:2713:24:2718 | this access | | UseUseExplosion.cs:24:575:24:578 | [post] this access | UseUseExplosion.cs:24:592:24:595 | this access | | UseUseExplosion.cs:24:575:24:578 | [post] this access | UseUseExplosion.cs:24:2698:24:2703 | this access | | UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:592:24:595 | access to property Prop | -| UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:2698:24:2703 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:2698:24:2704 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:575:24:578 | this access | UseUseExplosion.cs:24:592:24:595 | this access | | UseUseExplosion.cs:24:575:24:578 | this access | UseUseExplosion.cs:24:2698:24:2703 | this access | | UseUseExplosion.cs:24:592:24:595 | [post] this access | UseUseExplosion.cs:24:609:24:612 | this access | | UseUseExplosion.cs:24:592:24:595 | [post] this access | UseUseExplosion.cs:24:2683:24:2688 | this access | | UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:609:24:612 | access to property Prop | -| UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:2683:24:2688 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:2683:24:2689 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:592:24:595 | this access | UseUseExplosion.cs:24:609:24:612 | this access | | UseUseExplosion.cs:24:592:24:595 | this access | UseUseExplosion.cs:24:2683:24:2688 | this access | | UseUseExplosion.cs:24:609:24:612 | [post] this access | UseUseExplosion.cs:24:626:24:629 | this access | | UseUseExplosion.cs:24:609:24:612 | [post] this access | UseUseExplosion.cs:24:2668:24:2673 | this access | | UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:626:24:629 | access to property Prop | -| UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:2668:24:2673 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:2668:24:2674 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:609:24:612 | this access | UseUseExplosion.cs:24:626:24:629 | this access | | UseUseExplosion.cs:24:609:24:612 | this access | UseUseExplosion.cs:24:2668:24:2673 | this access | | UseUseExplosion.cs:24:626:24:629 | [post] this access | UseUseExplosion.cs:24:643:24:646 | this access | | UseUseExplosion.cs:24:626:24:629 | [post] this access | UseUseExplosion.cs:24:2653:24:2658 | this access | | UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:643:24:646 | access to property Prop | -| UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:2653:24:2658 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:2653:24:2659 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:626:24:629 | this access | UseUseExplosion.cs:24:643:24:646 | this access | | UseUseExplosion.cs:24:626:24:629 | this access | UseUseExplosion.cs:24:2653:24:2658 | this access | | UseUseExplosion.cs:24:643:24:646 | [post] this access | UseUseExplosion.cs:24:660:24:663 | this access | | UseUseExplosion.cs:24:643:24:646 | [post] this access | UseUseExplosion.cs:24:2638:24:2643 | this access | | UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:660:24:663 | access to property Prop | -| UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:2638:24:2643 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:2638:24:2644 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:643:24:646 | this access | UseUseExplosion.cs:24:660:24:663 | this access | | UseUseExplosion.cs:24:643:24:646 | this access | UseUseExplosion.cs:24:2638:24:2643 | this access | | UseUseExplosion.cs:24:660:24:663 | [post] this access | UseUseExplosion.cs:24:677:24:680 | this access | | UseUseExplosion.cs:24:660:24:663 | [post] this access | UseUseExplosion.cs:24:2623:24:2628 | this access | | UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:677:24:680 | access to property Prop | -| UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:2623:24:2628 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:2623:24:2629 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:660:24:663 | this access | UseUseExplosion.cs:24:677:24:680 | this access | | UseUseExplosion.cs:24:660:24:663 | this access | UseUseExplosion.cs:24:2623:24:2628 | this access | | UseUseExplosion.cs:24:677:24:680 | [post] this access | UseUseExplosion.cs:24:694:24:697 | this access | | UseUseExplosion.cs:24:677:24:680 | [post] this access | UseUseExplosion.cs:24:2608:24:2613 | this access | | UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:694:24:697 | access to property Prop | -| UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:2608:24:2613 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:2608:24:2614 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:677:24:680 | this access | UseUseExplosion.cs:24:694:24:697 | this access | | UseUseExplosion.cs:24:677:24:680 | this access | UseUseExplosion.cs:24:2608:24:2613 | this access | | UseUseExplosion.cs:24:694:24:697 | [post] this access | UseUseExplosion.cs:24:711:24:714 | this access | | UseUseExplosion.cs:24:694:24:697 | [post] this access | UseUseExplosion.cs:24:2593:24:2598 | this access | | UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:711:24:714 | access to property Prop | -| UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:2593:24:2598 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:2593:24:2599 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:694:24:697 | this access | UseUseExplosion.cs:24:711:24:714 | this access | | UseUseExplosion.cs:24:694:24:697 | this access | UseUseExplosion.cs:24:2593:24:2598 | this access | | UseUseExplosion.cs:24:711:24:714 | [post] this access | UseUseExplosion.cs:24:728:24:731 | this access | | UseUseExplosion.cs:24:711:24:714 | [post] this access | UseUseExplosion.cs:24:2578:24:2583 | this access | | UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:728:24:731 | access to property Prop | -| UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:2578:24:2583 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:2578:24:2584 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:711:24:714 | this access | UseUseExplosion.cs:24:728:24:731 | this access | | UseUseExplosion.cs:24:711:24:714 | this access | UseUseExplosion.cs:24:2578:24:2583 | this access | | UseUseExplosion.cs:24:728:24:731 | [post] this access | UseUseExplosion.cs:24:745:24:748 | this access | | UseUseExplosion.cs:24:728:24:731 | [post] this access | UseUseExplosion.cs:24:2563:24:2568 | this access | | UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:745:24:748 | access to property Prop | -| UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:2563:24:2568 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:2563:24:2569 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:728:24:731 | this access | UseUseExplosion.cs:24:745:24:748 | this access | | UseUseExplosion.cs:24:728:24:731 | this access | UseUseExplosion.cs:24:2563:24:2568 | this access | | UseUseExplosion.cs:24:745:24:748 | [post] this access | UseUseExplosion.cs:24:762:24:765 | this access | | UseUseExplosion.cs:24:745:24:748 | [post] this access | UseUseExplosion.cs:24:2548:24:2553 | this access | | UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:762:24:765 | access to property Prop | -| UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:2548:24:2553 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:2548:24:2554 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:745:24:748 | this access | UseUseExplosion.cs:24:762:24:765 | this access | | UseUseExplosion.cs:24:745:24:748 | this access | UseUseExplosion.cs:24:2548:24:2553 | this access | | UseUseExplosion.cs:24:762:24:765 | [post] this access | UseUseExplosion.cs:24:779:24:782 | this access | | UseUseExplosion.cs:24:762:24:765 | [post] this access | UseUseExplosion.cs:24:2533:24:2538 | this access | | UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:779:24:782 | access to property Prop | -| UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:2533:24:2538 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:2533:24:2539 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:762:24:765 | this access | UseUseExplosion.cs:24:779:24:782 | this access | | UseUseExplosion.cs:24:762:24:765 | this access | UseUseExplosion.cs:24:2533:24:2538 | this access | | UseUseExplosion.cs:24:779:24:782 | [post] this access | UseUseExplosion.cs:24:796:24:799 | this access | | UseUseExplosion.cs:24:779:24:782 | [post] this access | UseUseExplosion.cs:24:2518:24:2523 | this access | | UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:796:24:799 | access to property Prop | -| UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:2518:24:2523 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:2518:24:2524 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:779:24:782 | this access | UseUseExplosion.cs:24:796:24:799 | this access | | UseUseExplosion.cs:24:779:24:782 | this access | UseUseExplosion.cs:24:2518:24:2523 | this access | | UseUseExplosion.cs:24:796:24:799 | [post] this access | UseUseExplosion.cs:24:813:24:816 | this access | | UseUseExplosion.cs:24:796:24:799 | [post] this access | UseUseExplosion.cs:24:2503:24:2508 | this access | | UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:813:24:816 | access to property Prop | -| UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:2503:24:2508 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:2503:24:2509 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:796:24:799 | this access | UseUseExplosion.cs:24:813:24:816 | this access | | UseUseExplosion.cs:24:796:24:799 | this access | UseUseExplosion.cs:24:2503:24:2508 | this access | | UseUseExplosion.cs:24:813:24:816 | [post] this access | UseUseExplosion.cs:24:830:24:833 | this access | | UseUseExplosion.cs:24:813:24:816 | [post] this access | UseUseExplosion.cs:24:2488:24:2493 | this access | | UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:830:24:833 | access to property Prop | -| UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:2488:24:2493 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:2488:24:2494 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:813:24:816 | this access | UseUseExplosion.cs:24:830:24:833 | this access | | UseUseExplosion.cs:24:813:24:816 | this access | UseUseExplosion.cs:24:2488:24:2493 | this access | | UseUseExplosion.cs:24:830:24:833 | [post] this access | UseUseExplosion.cs:24:847:24:850 | this access | | UseUseExplosion.cs:24:830:24:833 | [post] this access | UseUseExplosion.cs:24:2473:24:2478 | this access | | UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:847:24:850 | access to property Prop | -| UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:2473:24:2478 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:2473:24:2479 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:830:24:833 | this access | UseUseExplosion.cs:24:847:24:850 | this access | | UseUseExplosion.cs:24:830:24:833 | this access | UseUseExplosion.cs:24:2473:24:2478 | this access | | UseUseExplosion.cs:24:847:24:850 | [post] this access | UseUseExplosion.cs:24:864:24:867 | this access | | UseUseExplosion.cs:24:847:24:850 | [post] this access | UseUseExplosion.cs:24:2458:24:2463 | this access | | UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:864:24:867 | access to property Prop | -| UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:2458:24:2463 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:2458:24:2464 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:847:24:850 | this access | UseUseExplosion.cs:24:864:24:867 | this access | | UseUseExplosion.cs:24:847:24:850 | this access | UseUseExplosion.cs:24:2458:24:2463 | this access | | UseUseExplosion.cs:24:864:24:867 | [post] this access | UseUseExplosion.cs:24:881:24:884 | this access | | UseUseExplosion.cs:24:864:24:867 | [post] this access | UseUseExplosion.cs:24:2443:24:2448 | this access | | UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:881:24:884 | access to property Prop | -| UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:2443:24:2448 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:2443:24:2449 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:864:24:867 | this access | UseUseExplosion.cs:24:881:24:884 | this access | | UseUseExplosion.cs:24:864:24:867 | this access | UseUseExplosion.cs:24:2443:24:2448 | this access | | UseUseExplosion.cs:24:881:24:884 | [post] this access | UseUseExplosion.cs:24:898:24:901 | this access | | UseUseExplosion.cs:24:881:24:884 | [post] this access | UseUseExplosion.cs:24:2428:24:2433 | this access | | UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:898:24:901 | access to property Prop | -| UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:2428:24:2433 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:2428:24:2434 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:881:24:884 | this access | UseUseExplosion.cs:24:898:24:901 | this access | | UseUseExplosion.cs:24:881:24:884 | this access | UseUseExplosion.cs:24:2428:24:2433 | this access | | UseUseExplosion.cs:24:898:24:901 | [post] this access | UseUseExplosion.cs:24:915:24:918 | this access | | UseUseExplosion.cs:24:898:24:901 | [post] this access | UseUseExplosion.cs:24:2413:24:2418 | this access | | UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:915:24:918 | access to property Prop | -| UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:2413:24:2418 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:2413:24:2419 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:898:24:901 | this access | UseUseExplosion.cs:24:915:24:918 | this access | | UseUseExplosion.cs:24:898:24:901 | this access | UseUseExplosion.cs:24:2413:24:2418 | this access | | UseUseExplosion.cs:24:915:24:918 | [post] this access | UseUseExplosion.cs:24:932:24:935 | this access | | UseUseExplosion.cs:24:915:24:918 | [post] this access | UseUseExplosion.cs:24:2398:24:2403 | this access | | UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:932:24:935 | access to property Prop | -| UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:2398:24:2403 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:2398:24:2404 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:915:24:918 | this access | UseUseExplosion.cs:24:932:24:935 | this access | | UseUseExplosion.cs:24:915:24:918 | this access | UseUseExplosion.cs:24:2398:24:2403 | this access | | UseUseExplosion.cs:24:932:24:935 | [post] this access | UseUseExplosion.cs:24:949:24:952 | this access | | UseUseExplosion.cs:24:932:24:935 | [post] this access | UseUseExplosion.cs:24:2383:24:2388 | this access | | UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:949:24:952 | access to property Prop | -| UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:2383:24:2388 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:2383:24:2389 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:932:24:935 | this access | UseUseExplosion.cs:24:949:24:952 | this access | | UseUseExplosion.cs:24:932:24:935 | this access | UseUseExplosion.cs:24:2383:24:2388 | this access | | UseUseExplosion.cs:24:949:24:952 | [post] this access | UseUseExplosion.cs:24:966:24:969 | this access | | UseUseExplosion.cs:24:949:24:952 | [post] this access | UseUseExplosion.cs:24:2368:24:2373 | this access | | UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:966:24:969 | access to property Prop | -| UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:2368:24:2373 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:2368:24:2374 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:949:24:952 | this access | UseUseExplosion.cs:24:966:24:969 | this access | | UseUseExplosion.cs:24:949:24:952 | this access | UseUseExplosion.cs:24:2368:24:2373 | this access | | UseUseExplosion.cs:24:966:24:969 | [post] this access | UseUseExplosion.cs:24:983:24:986 | this access | | UseUseExplosion.cs:24:966:24:969 | [post] this access | UseUseExplosion.cs:24:2353:24:2358 | this access | | UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:983:24:986 | access to property Prop | -| UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:2353:24:2358 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:2353:24:2359 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:966:24:969 | this access | UseUseExplosion.cs:24:983:24:986 | this access | | UseUseExplosion.cs:24:966:24:969 | this access | UseUseExplosion.cs:24:2353:24:2358 | this access | | UseUseExplosion.cs:24:983:24:986 | [post] this access | UseUseExplosion.cs:24:1000:24:1003 | this access | | UseUseExplosion.cs:24:983:24:986 | [post] this access | UseUseExplosion.cs:24:2338:24:2343 | this access | | UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | -| UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:2338:24:2343 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:2338:24:2344 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:983:24:986 | this access | UseUseExplosion.cs:24:1000:24:1003 | this access | | UseUseExplosion.cs:24:983:24:986 | this access | UseUseExplosion.cs:24:2338:24:2343 | this access | | UseUseExplosion.cs:24:1000:24:1003 | [post] this access | UseUseExplosion.cs:24:1017:24:1020 | this access | | UseUseExplosion.cs:24:1000:24:1003 | [post] this access | UseUseExplosion.cs:24:2323:24:2328 | this access | | UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | -| UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:2323:24:2328 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:2323:24:2329 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1000:24:1003 | this access | UseUseExplosion.cs:24:1017:24:1020 | this access | | UseUseExplosion.cs:24:1000:24:1003 | this access | UseUseExplosion.cs:24:2323:24:2328 | this access | | UseUseExplosion.cs:24:1017:24:1020 | [post] this access | UseUseExplosion.cs:24:1034:24:1037 | this access | | UseUseExplosion.cs:24:1017:24:1020 | [post] this access | UseUseExplosion.cs:24:2308:24:2313 | this access | | UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | -| UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:2308:24:2313 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:2308:24:2314 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1017:24:1020 | this access | UseUseExplosion.cs:24:1034:24:1037 | this access | | UseUseExplosion.cs:24:1017:24:1020 | this access | UseUseExplosion.cs:24:2308:24:2313 | this access | | UseUseExplosion.cs:24:1034:24:1037 | [post] this access | UseUseExplosion.cs:24:1051:24:1054 | this access | | UseUseExplosion.cs:24:1034:24:1037 | [post] this access | UseUseExplosion.cs:24:2293:24:2298 | this access | | UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | -| UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:2293:24:2298 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:2293:24:2299 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1034:24:1037 | this access | UseUseExplosion.cs:24:1051:24:1054 | this access | | UseUseExplosion.cs:24:1034:24:1037 | this access | UseUseExplosion.cs:24:2293:24:2298 | this access | | UseUseExplosion.cs:24:1051:24:1054 | [post] this access | UseUseExplosion.cs:24:1068:24:1071 | this access | | UseUseExplosion.cs:24:1051:24:1054 | [post] this access | UseUseExplosion.cs:24:2278:24:2283 | this access | | UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | -| UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:2278:24:2283 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:2278:24:2284 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1051:24:1054 | this access | UseUseExplosion.cs:24:1068:24:1071 | this access | | UseUseExplosion.cs:24:1051:24:1054 | this access | UseUseExplosion.cs:24:2278:24:2283 | this access | | UseUseExplosion.cs:24:1068:24:1071 | [post] this access | UseUseExplosion.cs:24:1085:24:1088 | this access | | UseUseExplosion.cs:24:1068:24:1071 | [post] this access | UseUseExplosion.cs:24:2263:24:2268 | this access | | UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | -| UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:2263:24:2268 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:2263:24:2269 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1068:24:1071 | this access | UseUseExplosion.cs:24:1085:24:1088 | this access | | UseUseExplosion.cs:24:1068:24:1071 | this access | UseUseExplosion.cs:24:2263:24:2268 | this access | | UseUseExplosion.cs:24:1085:24:1088 | [post] this access | UseUseExplosion.cs:24:1102:24:1105 | this access | | UseUseExplosion.cs:24:1085:24:1088 | [post] this access | UseUseExplosion.cs:24:2248:24:2253 | this access | | UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | -| UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:2248:24:2253 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:2248:24:2254 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1085:24:1088 | this access | UseUseExplosion.cs:24:1102:24:1105 | this access | | UseUseExplosion.cs:24:1085:24:1088 | this access | UseUseExplosion.cs:24:2248:24:2253 | this access | | UseUseExplosion.cs:24:1102:24:1105 | [post] this access | UseUseExplosion.cs:24:1119:24:1122 | this access | | UseUseExplosion.cs:24:1102:24:1105 | [post] this access | UseUseExplosion.cs:24:2233:24:2238 | this access | | UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | -| UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:2233:24:2238 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:2233:24:2239 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1102:24:1105 | this access | UseUseExplosion.cs:24:1119:24:1122 | this access | | UseUseExplosion.cs:24:1102:24:1105 | this access | UseUseExplosion.cs:24:2233:24:2238 | this access | | UseUseExplosion.cs:24:1119:24:1122 | [post] this access | UseUseExplosion.cs:24:1136:24:1139 | this access | | UseUseExplosion.cs:24:1119:24:1122 | [post] this access | UseUseExplosion.cs:24:2218:24:2223 | this access | | UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | -| UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:2218:24:2223 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:2218:24:2224 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1119:24:1122 | this access | UseUseExplosion.cs:24:1136:24:1139 | this access | | UseUseExplosion.cs:24:1119:24:1122 | this access | UseUseExplosion.cs:24:2218:24:2223 | this access | | UseUseExplosion.cs:24:1136:24:1139 | [post] this access | UseUseExplosion.cs:24:1153:24:1156 | this access | | UseUseExplosion.cs:24:1136:24:1139 | [post] this access | UseUseExplosion.cs:24:2203:24:2208 | this access | | UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | -| UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:2203:24:2208 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:2203:24:2209 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1136:24:1139 | this access | UseUseExplosion.cs:24:1153:24:1156 | this access | | UseUseExplosion.cs:24:1136:24:1139 | this access | UseUseExplosion.cs:24:2203:24:2208 | this access | | UseUseExplosion.cs:24:1153:24:1156 | [post] this access | UseUseExplosion.cs:24:1170:24:1173 | this access | | UseUseExplosion.cs:24:1153:24:1156 | [post] this access | UseUseExplosion.cs:24:2188:24:2193 | this access | | UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | -| UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:2188:24:2193 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:2188:24:2194 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1153:24:1156 | this access | UseUseExplosion.cs:24:1170:24:1173 | this access | | UseUseExplosion.cs:24:1153:24:1156 | this access | UseUseExplosion.cs:24:2188:24:2193 | this access | | UseUseExplosion.cs:24:1170:24:1173 | [post] this access | UseUseExplosion.cs:24:1187:24:1190 | this access | | UseUseExplosion.cs:24:1170:24:1173 | [post] this access | UseUseExplosion.cs:24:2173:24:2178 | this access | | UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | -| UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:2173:24:2178 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:2173:24:2179 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1170:24:1173 | this access | UseUseExplosion.cs:24:1187:24:1190 | this access | | UseUseExplosion.cs:24:1170:24:1173 | this access | UseUseExplosion.cs:24:2173:24:2178 | this access | | UseUseExplosion.cs:24:1187:24:1190 | [post] this access | UseUseExplosion.cs:24:1204:24:1207 | this access | | UseUseExplosion.cs:24:1187:24:1190 | [post] this access | UseUseExplosion.cs:24:2158:24:2163 | this access | | UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | -| UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:2158:24:2163 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:2158:24:2164 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1187:24:1190 | this access | UseUseExplosion.cs:24:1204:24:1207 | this access | | UseUseExplosion.cs:24:1187:24:1190 | this access | UseUseExplosion.cs:24:2158:24:2163 | this access | | UseUseExplosion.cs:24:1204:24:1207 | [post] this access | UseUseExplosion.cs:24:1221:24:1224 | this access | | UseUseExplosion.cs:24:1204:24:1207 | [post] this access | UseUseExplosion.cs:24:2143:24:2148 | this access | | UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | -| UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:2143:24:2148 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:2143:24:2149 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1204:24:1207 | this access | UseUseExplosion.cs:24:1221:24:1224 | this access | | UseUseExplosion.cs:24:1204:24:1207 | this access | UseUseExplosion.cs:24:2143:24:2148 | this access | | UseUseExplosion.cs:24:1221:24:1224 | [post] this access | UseUseExplosion.cs:24:1238:24:1241 | this access | | UseUseExplosion.cs:24:1221:24:1224 | [post] this access | UseUseExplosion.cs:24:2128:24:2133 | this access | | UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | -| UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:2128:24:2133 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:2128:24:2134 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1221:24:1224 | this access | UseUseExplosion.cs:24:1238:24:1241 | this access | | UseUseExplosion.cs:24:1221:24:1224 | this access | UseUseExplosion.cs:24:2128:24:2133 | this access | | UseUseExplosion.cs:24:1238:24:1241 | [post] this access | UseUseExplosion.cs:24:1255:24:1258 | this access | | UseUseExplosion.cs:24:1238:24:1241 | [post] this access | UseUseExplosion.cs:24:2113:24:2118 | this access | | UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | -| UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:2113:24:2118 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:2113:24:2119 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1238:24:1241 | this access | UseUseExplosion.cs:24:1255:24:1258 | this access | | UseUseExplosion.cs:24:1238:24:1241 | this access | UseUseExplosion.cs:24:2113:24:2118 | this access | | UseUseExplosion.cs:24:1255:24:1258 | [post] this access | UseUseExplosion.cs:24:1272:24:1275 | this access | | UseUseExplosion.cs:24:1255:24:1258 | [post] this access | UseUseExplosion.cs:24:2098:24:2103 | this access | | UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | -| UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:2098:24:2103 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:2098:24:2104 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1255:24:1258 | this access | UseUseExplosion.cs:24:1272:24:1275 | this access | | UseUseExplosion.cs:24:1255:24:1258 | this access | UseUseExplosion.cs:24:2098:24:2103 | this access | | UseUseExplosion.cs:24:1272:24:1275 | [post] this access | UseUseExplosion.cs:24:1289:24:1292 | this access | | UseUseExplosion.cs:24:1272:24:1275 | [post] this access | UseUseExplosion.cs:24:2083:24:2088 | this access | | UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | -| UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:2083:24:2088 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:2083:24:2089 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1272:24:1275 | this access | UseUseExplosion.cs:24:1289:24:1292 | this access | | UseUseExplosion.cs:24:1272:24:1275 | this access | UseUseExplosion.cs:24:2083:24:2088 | this access | | UseUseExplosion.cs:24:1289:24:1292 | [post] this access | UseUseExplosion.cs:24:1306:24:1309 | this access | | UseUseExplosion.cs:24:1289:24:1292 | [post] this access | UseUseExplosion.cs:24:2068:24:2073 | this access | | UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | -| UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:2068:24:2073 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:2068:24:2074 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1289:24:1292 | this access | UseUseExplosion.cs:24:1306:24:1309 | this access | | UseUseExplosion.cs:24:1289:24:1292 | this access | UseUseExplosion.cs:24:2068:24:2073 | this access | | UseUseExplosion.cs:24:1306:24:1309 | [post] this access | UseUseExplosion.cs:24:1323:24:1326 | this access | | UseUseExplosion.cs:24:1306:24:1309 | [post] this access | UseUseExplosion.cs:24:2053:24:2058 | this access | | UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | -| UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:2053:24:2058 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:2053:24:2059 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1306:24:1309 | this access | UseUseExplosion.cs:24:1323:24:1326 | this access | | UseUseExplosion.cs:24:1306:24:1309 | this access | UseUseExplosion.cs:24:2053:24:2058 | this access | | UseUseExplosion.cs:24:1323:24:1326 | [post] this access | UseUseExplosion.cs:24:1340:24:1343 | this access | | UseUseExplosion.cs:24:1323:24:1326 | [post] this access | UseUseExplosion.cs:24:2038:24:2043 | this access | | UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | -| UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:2038:24:2043 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:2038:24:2044 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1323:24:1326 | this access | UseUseExplosion.cs:24:1340:24:1343 | this access | | UseUseExplosion.cs:24:1323:24:1326 | this access | UseUseExplosion.cs:24:2038:24:2043 | this access | | UseUseExplosion.cs:24:1340:24:1343 | [post] this access | UseUseExplosion.cs:24:1357:24:1360 | this access | | UseUseExplosion.cs:24:1340:24:1343 | [post] this access | UseUseExplosion.cs:24:2023:24:2028 | this access | | UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | -| UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:2023:24:2028 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:2023:24:2029 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1340:24:1343 | this access | UseUseExplosion.cs:24:1357:24:1360 | this access | | UseUseExplosion.cs:24:1340:24:1343 | this access | UseUseExplosion.cs:24:2023:24:2028 | this access | | UseUseExplosion.cs:24:1357:24:1360 | [post] this access | UseUseExplosion.cs:24:1374:24:1377 | this access | | UseUseExplosion.cs:24:1357:24:1360 | [post] this access | UseUseExplosion.cs:24:2008:24:2013 | this access | | UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | -| UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:2008:24:2013 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:2008:24:2014 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1357:24:1360 | this access | UseUseExplosion.cs:24:1374:24:1377 | this access | | UseUseExplosion.cs:24:1357:24:1360 | this access | UseUseExplosion.cs:24:2008:24:2013 | this access | | UseUseExplosion.cs:24:1374:24:1377 | [post] this access | UseUseExplosion.cs:24:1391:24:1394 | this access | | UseUseExplosion.cs:24:1374:24:1377 | [post] this access | UseUseExplosion.cs:24:1993:24:1998 | this access | | UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | -| UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1993:24:1998 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1993:24:1999 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1374:24:1377 | this access | UseUseExplosion.cs:24:1391:24:1394 | this access | | UseUseExplosion.cs:24:1374:24:1377 | this access | UseUseExplosion.cs:24:1993:24:1998 | this access | | UseUseExplosion.cs:24:1391:24:1394 | [post] this access | UseUseExplosion.cs:24:1408:24:1411 | this access | | UseUseExplosion.cs:24:1391:24:1394 | [post] this access | UseUseExplosion.cs:24:1978:24:1983 | this access | | UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | -| UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1978:24:1983 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1978:24:1984 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1391:24:1394 | this access | UseUseExplosion.cs:24:1408:24:1411 | this access | | UseUseExplosion.cs:24:1391:24:1394 | this access | UseUseExplosion.cs:24:1978:24:1983 | this access | | UseUseExplosion.cs:24:1408:24:1411 | [post] this access | UseUseExplosion.cs:24:1425:24:1428 | this access | | UseUseExplosion.cs:24:1408:24:1411 | [post] this access | UseUseExplosion.cs:24:1963:24:1968 | this access | | UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | -| UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1963:24:1968 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1963:24:1969 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1408:24:1411 | this access | UseUseExplosion.cs:24:1425:24:1428 | this access | | UseUseExplosion.cs:24:1408:24:1411 | this access | UseUseExplosion.cs:24:1963:24:1968 | this access | | UseUseExplosion.cs:24:1425:24:1428 | [post] this access | UseUseExplosion.cs:24:1442:24:1445 | this access | | UseUseExplosion.cs:24:1425:24:1428 | [post] this access | UseUseExplosion.cs:24:1948:24:1953 | this access | | UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | -| UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1948:24:1953 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1948:24:1954 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1425:24:1428 | this access | UseUseExplosion.cs:24:1442:24:1445 | this access | | UseUseExplosion.cs:24:1425:24:1428 | this access | UseUseExplosion.cs:24:1948:24:1953 | this access | | UseUseExplosion.cs:24:1442:24:1445 | [post] this access | UseUseExplosion.cs:24:1459:24:1462 | this access | | UseUseExplosion.cs:24:1442:24:1445 | [post] this access | UseUseExplosion.cs:24:1933:24:1938 | this access | | UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | -| UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1933:24:1938 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1933:24:1939 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1442:24:1445 | this access | UseUseExplosion.cs:24:1459:24:1462 | this access | | UseUseExplosion.cs:24:1442:24:1445 | this access | UseUseExplosion.cs:24:1933:24:1938 | this access | | UseUseExplosion.cs:24:1459:24:1462 | [post] this access | UseUseExplosion.cs:24:1476:24:1479 | this access | | UseUseExplosion.cs:24:1459:24:1462 | [post] this access | UseUseExplosion.cs:24:1918:24:1923 | this access | | UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | -| UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1918:24:1923 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1918:24:1924 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1459:24:1462 | this access | UseUseExplosion.cs:24:1476:24:1479 | this access | | UseUseExplosion.cs:24:1459:24:1462 | this access | UseUseExplosion.cs:24:1918:24:1923 | this access | | UseUseExplosion.cs:24:1476:24:1479 | [post] this access | UseUseExplosion.cs:24:1493:24:1496 | this access | | UseUseExplosion.cs:24:1476:24:1479 | [post] this access | UseUseExplosion.cs:24:1903:24:1908 | this access | | UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | -| UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1903:24:1908 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1903:24:1909 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1476:24:1479 | this access | UseUseExplosion.cs:24:1493:24:1496 | this access | | UseUseExplosion.cs:24:1476:24:1479 | this access | UseUseExplosion.cs:24:1903:24:1908 | this access | | UseUseExplosion.cs:24:1493:24:1496 | [post] this access | UseUseExplosion.cs:24:1510:24:1513 | this access | | UseUseExplosion.cs:24:1493:24:1496 | [post] this access | UseUseExplosion.cs:24:1888:24:1893 | this access | | UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | -| UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1888:24:1893 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1888:24:1894 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1493:24:1496 | this access | UseUseExplosion.cs:24:1510:24:1513 | this access | | UseUseExplosion.cs:24:1493:24:1496 | this access | UseUseExplosion.cs:24:1888:24:1893 | this access | | UseUseExplosion.cs:24:1510:24:1513 | [post] this access | UseUseExplosion.cs:24:1527:24:1530 | this access | | UseUseExplosion.cs:24:1510:24:1513 | [post] this access | UseUseExplosion.cs:24:1873:24:1878 | this access | | UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | -| UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1873:24:1878 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1873:24:1879 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1510:24:1513 | this access | UseUseExplosion.cs:24:1527:24:1530 | this access | | UseUseExplosion.cs:24:1510:24:1513 | this access | UseUseExplosion.cs:24:1873:24:1878 | this access | | UseUseExplosion.cs:24:1527:24:1530 | [post] this access | UseUseExplosion.cs:24:1544:24:1547 | this access | | UseUseExplosion.cs:24:1527:24:1530 | [post] this access | UseUseExplosion.cs:24:1858:24:1863 | this access | | UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | -| UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1858:24:1863 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1858:24:1864 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1527:24:1530 | this access | UseUseExplosion.cs:24:1544:24:1547 | this access | | UseUseExplosion.cs:24:1527:24:1530 | this access | UseUseExplosion.cs:24:1858:24:1863 | this access | | UseUseExplosion.cs:24:1544:24:1547 | [post] this access | UseUseExplosion.cs:24:1561:24:1564 | this access | | UseUseExplosion.cs:24:1544:24:1547 | [post] this access | UseUseExplosion.cs:24:1843:24:1848 | this access | | UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | -| UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1843:24:1848 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1843:24:1849 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1544:24:1547 | this access | UseUseExplosion.cs:24:1561:24:1564 | this access | | UseUseExplosion.cs:24:1544:24:1547 | this access | UseUseExplosion.cs:24:1843:24:1848 | this access | | UseUseExplosion.cs:24:1561:24:1564 | [post] this access | UseUseExplosion.cs:24:1577:24:1580 | this access | | UseUseExplosion.cs:24:1561:24:1564 | [post] this access | UseUseExplosion.cs:24:1828:24:1833 | this access | | UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | -| UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1828:24:1833 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1828:24:1834 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1561:24:1564 | this access | UseUseExplosion.cs:24:1577:24:1580 | this access | | UseUseExplosion.cs:24:1561:24:1564 | this access | UseUseExplosion.cs:24:1828:24:1833 | this access | | UseUseExplosion.cs:24:1577:24:1580 | [post] this access | UseUseExplosion.cs:24:1593:24:1596 | this access | | UseUseExplosion.cs:24:1577:24:1580 | [post] this access | UseUseExplosion.cs:24:1813:24:1818 | this access | | UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | -| UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1813:24:1818 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1813:24:1819 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1577:24:1580 | this access | UseUseExplosion.cs:24:1593:24:1596 | this access | | UseUseExplosion.cs:24:1577:24:1580 | this access | UseUseExplosion.cs:24:1813:24:1818 | this access | | UseUseExplosion.cs:24:1593:24:1596 | [post] this access | UseUseExplosion.cs:24:1609:24:1612 | this access | | UseUseExplosion.cs:24:1593:24:1596 | [post] this access | UseUseExplosion.cs:24:1798:24:1803 | this access | | UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | -| UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1798:24:1803 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1798:24:1804 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1593:24:1596 | this access | UseUseExplosion.cs:24:1609:24:1612 | this access | | UseUseExplosion.cs:24:1593:24:1596 | this access | UseUseExplosion.cs:24:1798:24:1803 | this access | | UseUseExplosion.cs:24:1609:24:1612 | [post] this access | UseUseExplosion.cs:24:1625:24:1628 | this access | | UseUseExplosion.cs:24:1609:24:1612 | [post] this access | UseUseExplosion.cs:24:1783:24:1788 | this access | | UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | -| UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1783:24:1788 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1783:24:1789 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1609:24:1612 | this access | UseUseExplosion.cs:24:1625:24:1628 | this access | | UseUseExplosion.cs:24:1609:24:1612 | this access | UseUseExplosion.cs:24:1783:24:1788 | this access | | UseUseExplosion.cs:24:1625:24:1628 | [post] this access | UseUseExplosion.cs:24:1641:24:1644 | this access | | UseUseExplosion.cs:24:1625:24:1628 | [post] this access | UseUseExplosion.cs:24:1768:24:1773 | this access | | UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | -| UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1768:24:1773 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1768:24:1774 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1625:24:1628 | this access | UseUseExplosion.cs:24:1641:24:1644 | this access | | UseUseExplosion.cs:24:1625:24:1628 | this access | UseUseExplosion.cs:24:1768:24:1773 | this access | | UseUseExplosion.cs:24:1641:24:1644 | [post] this access | UseUseExplosion.cs:24:1657:24:1660 | this access | | UseUseExplosion.cs:24:1641:24:1644 | [post] this access | UseUseExplosion.cs:24:1753:24:1758 | this access | | UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | -| UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1753:24:1758 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1753:24:1759 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1641:24:1644 | this access | UseUseExplosion.cs:24:1657:24:1660 | this access | | UseUseExplosion.cs:24:1641:24:1644 | this access | UseUseExplosion.cs:24:1753:24:1758 | this access | | UseUseExplosion.cs:24:1657:24:1660 | [post] this access | UseUseExplosion.cs:24:1673:24:1676 | this access | | UseUseExplosion.cs:24:1657:24:1660 | [post] this access | UseUseExplosion.cs:24:1738:24:1743 | this access | | UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | -| UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1738:24:1743 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1738:24:1744 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1657:24:1660 | this access | UseUseExplosion.cs:24:1673:24:1676 | this access | | UseUseExplosion.cs:24:1657:24:1660 | this access | UseUseExplosion.cs:24:1738:24:1743 | this access | | UseUseExplosion.cs:24:1673:24:1676 | [post] this access | UseUseExplosion.cs:24:1689:24:1692 | this access | | UseUseExplosion.cs:24:1673:24:1676 | [post] this access | UseUseExplosion.cs:24:1723:24:1728 | this access | | UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | -| UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1723:24:1728 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1723:24:1729 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1673:24:1676 | this access | UseUseExplosion.cs:24:1689:24:1692 | this access | | UseUseExplosion.cs:24:1673:24:1676 | this access | UseUseExplosion.cs:24:1723:24:1728 | this access | | UseUseExplosion.cs:24:1689:24:1692 | [post] this access | UseUseExplosion.cs:24:1708:24:1713 | this access | | UseUseExplosion.cs:24:1689:24:1692 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(this.Prop) | -| UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:24:1708:24:1713 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:25:13:25:16 | access to property Prop | | UseUseExplosion.cs:24:1689:24:1692 | this access | UseUseExplosion.cs:24:1708:24:1713 | this access | | UseUseExplosion.cs:24:1689:24:1692 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | -| UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(x) | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1708:24:1713 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(x) | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1708:24:1713 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1708:24:1713 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1712:24:1712 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1723:24:1728 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1712:24:1712 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1723:24:1728 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1723:24:1728 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1727:24:1727 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1738:24:1743 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1723:24:1729 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1727:24:1727 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1738:24:1743 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1738:24:1743 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1742:24:1742 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1753:24:1758 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1738:24:1744 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1742:24:1742 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1753:24:1758 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1753:24:1758 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1757:24:1757 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1768:24:1773 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1753:24:1759 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1757:24:1757 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1768:24:1773 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1768:24:1773 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1772:24:1772 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1783:24:1788 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1768:24:1774 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1772:24:1772 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1783:24:1788 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1783:24:1788 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1787:24:1787 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1798:24:1803 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1783:24:1789 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1787:24:1787 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1798:24:1803 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1798:24:1803 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1802:24:1802 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1813:24:1818 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1798:24:1804 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1802:24:1802 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1813:24:1818 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1813:24:1818 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1817:24:1817 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1828:24:1833 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1813:24:1819 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1817:24:1817 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1828:24:1833 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1828:24:1833 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1832:24:1832 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1843:24:1848 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1828:24:1834 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1832:24:1832 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1843:24:1848 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1843:24:1848 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1847:24:1847 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1858:24:1863 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1843:24:1849 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1847:24:1847 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1858:24:1863 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1858:24:1863 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1862:24:1862 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1873:24:1878 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1858:24:1864 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1862:24:1862 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1873:24:1878 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1873:24:1878 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1877:24:1877 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1888:24:1893 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1873:24:1879 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1877:24:1877 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1888:24:1893 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1888:24:1893 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1892:24:1892 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1903:24:1908 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1888:24:1894 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1892:24:1892 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1903:24:1908 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1903:24:1908 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1907:24:1907 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1918:24:1923 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1903:24:1909 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1907:24:1907 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1918:24:1923 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1918:24:1923 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1922:24:1922 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1933:24:1938 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1918:24:1924 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1922:24:1922 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1933:24:1938 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1933:24:1938 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1937:24:1937 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1948:24:1953 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1933:24:1939 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1937:24:1937 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1948:24:1953 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1948:24:1953 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1952:24:1952 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1963:24:1968 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1948:24:1954 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1952:24:1952 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1963:24:1968 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1963:24:1968 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1967:24:1967 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1978:24:1983 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1963:24:1969 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1967:24:1967 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1978:24:1983 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1978:24:1983 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1982:24:1982 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1993:24:1998 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1978:24:1984 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1982:24:1982 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1993:24:1998 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1993:24:1998 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1997:24:1997 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2008:24:2013 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1993:24:1999 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1997:24:1997 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2008:24:2013 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2008:24:2013 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2012:24:2012 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2023:24:2028 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2008:24:2014 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2012:24:2012 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2023:24:2028 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2023:24:2028 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2027:24:2027 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2038:24:2043 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2023:24:2029 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2027:24:2027 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2038:24:2043 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2038:24:2043 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2042:24:2042 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2053:24:2058 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2038:24:2044 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2042:24:2042 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2053:24:2058 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2053:24:2058 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2057:24:2057 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2068:24:2073 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2053:24:2059 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2057:24:2057 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2068:24:2073 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2068:24:2073 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2072:24:2072 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2083:24:2088 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2068:24:2074 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2072:24:2072 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2083:24:2088 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2083:24:2088 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2087:24:2087 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2098:24:2103 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2083:24:2089 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2087:24:2087 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2098:24:2103 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2098:24:2103 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2102:24:2102 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2113:24:2118 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2098:24:2104 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2102:24:2102 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2113:24:2118 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2113:24:2118 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2117:24:2117 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2128:24:2133 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2113:24:2119 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2117:24:2117 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2128:24:2133 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2128:24:2133 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2132:24:2132 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2143:24:2148 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2128:24:2134 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2132:24:2132 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2143:24:2148 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2143:24:2148 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2147:24:2147 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2158:24:2163 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2143:24:2149 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2147:24:2147 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2158:24:2163 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2158:24:2163 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2162:24:2162 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2173:24:2178 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2158:24:2164 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2162:24:2162 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2173:24:2178 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2173:24:2178 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2177:24:2177 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2188:24:2193 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2173:24:2179 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2177:24:2177 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2188:24:2193 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2188:24:2193 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2192:24:2192 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2203:24:2208 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2188:24:2194 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2192:24:2192 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2203:24:2208 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2203:24:2208 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2207:24:2207 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2218:24:2223 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2203:24:2209 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2207:24:2207 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2218:24:2223 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2218:24:2223 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2222:24:2222 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2233:24:2238 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2218:24:2224 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2222:24:2222 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2233:24:2238 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2233:24:2238 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2237:24:2237 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2248:24:2253 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2233:24:2239 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2237:24:2237 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2248:24:2253 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2248:24:2253 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2252:24:2252 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2263:24:2268 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2248:24:2254 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2252:24:2252 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2263:24:2268 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2263:24:2268 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2267:24:2267 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2278:24:2283 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2263:24:2269 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2267:24:2267 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2278:24:2283 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2278:24:2283 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2282:24:2282 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2293:24:2298 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2278:24:2284 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2282:24:2282 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2293:24:2298 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2293:24:2298 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2297:24:2297 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2308:24:2313 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2293:24:2299 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2297:24:2297 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2308:24:2313 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2308:24:2313 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2312:24:2312 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2323:24:2328 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2308:24:2314 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2312:24:2312 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2323:24:2328 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2323:24:2328 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2327:24:2327 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2338:24:2343 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2323:24:2329 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2327:24:2327 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2338:24:2343 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2338:24:2343 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2342:24:2342 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2353:24:2358 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2338:24:2344 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2342:24:2342 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2353:24:2358 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2353:24:2358 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2357:24:2357 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2368:24:2373 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2353:24:2359 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2357:24:2357 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2368:24:2373 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2368:24:2373 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2372:24:2372 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2383:24:2388 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2368:24:2374 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2372:24:2372 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2383:24:2388 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2383:24:2388 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2387:24:2387 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2398:24:2403 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2383:24:2389 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2387:24:2387 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2398:24:2403 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2398:24:2403 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2402:24:2402 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2413:24:2418 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2398:24:2404 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2402:24:2402 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2413:24:2418 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2413:24:2418 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2417:24:2417 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2428:24:2433 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2413:24:2419 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2417:24:2417 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2428:24:2433 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2428:24:2433 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2432:24:2432 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2443:24:2448 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2428:24:2434 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2432:24:2432 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2443:24:2448 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2443:24:2448 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2447:24:2447 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2458:24:2463 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2443:24:2449 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2447:24:2447 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2458:24:2463 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2458:24:2463 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2462:24:2462 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2473:24:2478 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2458:24:2464 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2462:24:2462 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2473:24:2478 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2473:24:2478 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2477:24:2477 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2488:24:2493 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2473:24:2479 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2477:24:2477 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2488:24:2493 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2488:24:2493 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2492:24:2492 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2503:24:2508 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2488:24:2494 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2492:24:2492 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2503:24:2508 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2503:24:2508 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2507:24:2507 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2518:24:2523 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2503:24:2509 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2507:24:2507 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2518:24:2523 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2518:24:2523 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2522:24:2522 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2533:24:2538 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2518:24:2524 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2522:24:2522 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2533:24:2538 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2533:24:2538 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2537:24:2537 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2548:24:2553 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2533:24:2539 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2537:24:2537 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2548:24:2553 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2548:24:2553 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2552:24:2552 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2563:24:2568 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2548:24:2554 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2552:24:2552 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2563:24:2568 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2563:24:2568 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2567:24:2567 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2578:24:2583 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2563:24:2569 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2567:24:2567 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2578:24:2583 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2578:24:2583 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2582:24:2582 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2593:24:2598 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2578:24:2584 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2582:24:2582 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2593:24:2598 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2593:24:2598 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2597:24:2597 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2608:24:2613 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2593:24:2599 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2597:24:2597 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2608:24:2613 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2608:24:2613 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2612:24:2612 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2623:24:2628 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2608:24:2614 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2612:24:2612 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2623:24:2628 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2623:24:2628 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2627:24:2627 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2638:24:2643 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2623:24:2629 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2627:24:2627 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2638:24:2643 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2638:24:2643 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2642:24:2642 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2653:24:2658 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2638:24:2644 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2642:24:2642 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2653:24:2658 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2653:24:2658 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2657:24:2657 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2668:24:2673 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2653:24:2659 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2657:24:2657 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2668:24:2673 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2668:24:2673 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2672:24:2672 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2683:24:2688 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2668:24:2674 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2672:24:2672 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2683:24:2688 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2683:24:2688 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2687:24:2687 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2698:24:2703 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2683:24:2689 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2687:24:2687 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2698:24:2703 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2698:24:2703 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2702:24:2702 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2713:24:2718 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2698:24:2704 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2702:24:2702 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2713:24:2718 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2713:24:2718 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2717:24:2717 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2728:24:2733 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2713:24:2719 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2717:24:2717 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2728:24:2733 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2728:24:2733 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2732:24:2732 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2743:24:2748 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2728:24:2734 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2732:24:2732 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2743:24:2748 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2743:24:2748 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2747:24:2747 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2758:24:2763 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2743:24:2749 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2747:24:2747 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2758:24:2763 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2758:24:2763 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2762:24:2762 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2773:24:2778 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2758:24:2764 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2762:24:2762 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2773:24:2778 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2773:24:2778 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2777:24:2777 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2788:24:2793 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2773:24:2779 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2777:24:2777 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2788:24:2793 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2788:24:2793 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2792:24:2792 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2803:24:2808 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2788:24:2794 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2792:24:2792 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2803:24:2808 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2803:24:2808 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2807:24:2807 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2818:24:2823 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2803:24:2809 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2807:24:2807 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2818:24:2823 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2818:24:2823 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2822:24:2822 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2833:24:2838 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2818:24:2824 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2822:24:2822 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2833:24:2838 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2833:24:2838 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2837:24:2837 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2848:24:2853 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2833:24:2839 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2837:24:2837 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2848:24:2853 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2848:24:2853 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2852:24:2852 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2863:24:2868 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2848:24:2854 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2852:24:2852 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2863:24:2868 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2863:24:2868 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2867:24:2867 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2878:24:2883 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2863:24:2869 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2867:24:2867 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2878:24:2883 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2878:24:2883 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2882:24:2882 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2893:24:2898 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2878:24:2884 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2882:24:2882 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2893:24:2898 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2893:24:2898 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2897:24:2897 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2908:24:2913 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2893:24:2899 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2897:24:2897 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2908:24:2913 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2908:24:2913 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2912:24:2912 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2923:24:2928 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2908:24:2914 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2912:24:2912 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2923:24:2928 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2923:24:2928 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2927:24:2927 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2938:24:2943 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2923:24:2929 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2927:24:2927 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2938:24:2943 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2938:24:2943 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2942:24:2942 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2953:24:2958 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2938:24:2944 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2942:24:2942 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2953:24:2958 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2953:24:2958 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2957:24:2957 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2968:24:2973 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2953:24:2959 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2957:24:2957 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2968:24:2973 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2968:24:2973 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2972:24:2972 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2983:24:2988 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2968:24:2974 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2972:24:2972 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2983:24:2988 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2983:24:2988 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2987:24:2987 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2998:24:3003 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2983:24:2989 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2987:24:2987 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2998:24:3003 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2998:24:3003 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3002:24:3002 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3013:24:3018 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2998:24:3004 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3002:24:3002 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3013:24:3018 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3013:24:3018 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3017:24:3017 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3028:24:3033 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3013:24:3019 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3017:24:3017 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3028:24:3033 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3028:24:3033 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3032:24:3032 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3043:24:3048 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3028:24:3034 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3032:24:3032 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3043:24:3048 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3043:24:3048 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3047:24:3047 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3058:24:3063 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3043:24:3049 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3047:24:3047 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3058:24:3063 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3058:24:3063 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3062:24:3062 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3073:24:3078 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3058:24:3064 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3062:24:3062 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3073:24:3078 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3073:24:3078 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3077:24:3077 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3088:24:3093 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3073:24:3079 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3077:24:3077 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3088:24:3093 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3088:24:3093 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3092:24:3092 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3103:24:3108 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3088:24:3094 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3092:24:3092 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3103:24:3108 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3103:24:3108 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3107:24:3107 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3118:24:3123 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3103:24:3109 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3107:24:3107 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3118:24:3123 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3118:24:3123 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3122:24:3122 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3133:24:3138 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3118:24:3124 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3122:24:3122 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3133:24:3138 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3133:24:3138 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3137:24:3137 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3148:24:3153 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3133:24:3139 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3137:24:3137 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3148:24:3153 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3148:24:3153 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3152:24:3152 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3163:24:3168 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3148:24:3154 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3152:24:3152 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3163:24:3168 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3163:24:3168 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3167:24:3167 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3178:24:3183 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3163:24:3169 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3167:24:3167 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3178:24:3183 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3178:24:3183 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3182:24:3182 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3193:24:3198 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3178:24:3184 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3182:24:3182 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3193:24:3198 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3193:24:3198 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3197:24:3197 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1712:25:1712 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1727:25:1727 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1742:25:1742 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1757:25:1757 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1772:25:1772 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1787:25:1787 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1802:25:1802 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1817:25:1817 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1832:25:1832 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1847:25:1847 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1862:25:1862 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1877:25:1877 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1892:25:1892 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1907:25:1907 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1922:25:1922 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1937:25:1937 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1952:25:1952 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1967:25:1967 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1982:25:1982 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1997:25:1997 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2012:25:2012 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2027:25:2027 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2042:25:2042 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2057:25:2057 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2072:25:2072 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2087:25:2087 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2102:25:2102 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2117:25:2117 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2132:25:2132 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2147:25:2147 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2162:25:2162 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2177:25:2177 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2192:25:2192 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2207:25:2207 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2222:25:2222 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2237:25:2237 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2252:25:2252 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2267:25:2267 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2282:25:2282 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2297:25:2297 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2312:25:2312 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2327:25:2327 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2342:25:2342 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2357:25:2357 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2372:25:2372 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2387:25:2387 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2402:25:2402 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2417:25:2417 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2432:25:2432 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2447:25:2447 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2462:25:2462 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2477:25:2477 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2492:25:2492 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2507:25:2507 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2522:25:2522 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2537:25:2537 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2552:25:2552 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2567:25:2567 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2582:25:2582 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2597:25:2597 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2612:25:2612 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2627:25:2627 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2642:25:2642 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2657:25:2657 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2672:25:2672 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2687:25:2687 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2702:25:2702 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2717:25:2717 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2732:25:2732 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2747:25:2747 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2762:25:2762 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2777:25:2777 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2792:25:2792 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2807:25:2807 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2822:25:2822 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2837:25:2837 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2852:25:2852 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2867:25:2867 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2882:25:2882 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2897:25:2897 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2912:25:2912 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2927:25:2927 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2942:25:2942 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2957:25:2957 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2972:25:2972 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2987:25:2987 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3002:25:3002 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3017:25:3017 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3032:25:3032 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3047:25:3047 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3062:25:3062 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3077:25:3077 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3092:25:3092 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3107:25:3107 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3122:25:3122 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3137:25:3137 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3152:25:3152 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3167:25:3167 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3182:25:3182 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3197:25:3197 | access to local variable x | +| UseUseExplosion.cs:24:3193:24:3199 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3197:24:3197 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:25:13:25:16 | [post] this access | UseUseExplosion.cs:25:31:25:34 | this access | | UseUseExplosion.cs:25:13:25:16 | [post] this access | UseUseExplosion.cs:25:3193:25:3198 | this access | | UseUseExplosion.cs:25:13:25:16 | access to property Prop | UseUseExplosion.cs:25:31:25:34 | access to property Prop | diff --git a/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected b/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected index 4be5dcf1295..56621390ff3 100644 --- a/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected +++ b/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected @@ -631,11 +631,11 @@ | LocalDataFlow.cs:367:32:367:33 | SSA param(b2) | LocalDataFlow.cs:374:17:374:18 | access to parameter b2 | | LocalDataFlow.cs:367:32:367:33 | b2 | LocalDataFlow.cs:367:32:367:33 | SSA param(b2) | | LocalDataFlow.cs:369:17:369:18 | "" | LocalDataFlow.cs:369:13:369:13 | access to local variable x | +| LocalDataFlow.cs:372:9:379:9 | [input] SSA phi(x) | LocalDataFlow.cs:382:15:382:15 | access to local variable x | | LocalDataFlow.cs:373:13:373:13 | access to local variable x | LocalDataFlow.cs:373:13:373:25 | SSA def(x) | -| LocalDataFlow.cs:373:13:373:25 | SSA def(x) | LocalDataFlow.cs:374:17:374:18 | [input] SSA phi(x) | +| LocalDataFlow.cs:373:13:373:25 | SSA def(x) | LocalDataFlow.cs:372:9:379:9 | [input] SSA phi(x) | | LocalDataFlow.cs:373:13:373:25 | SSA def(x) | LocalDataFlow.cs:376:35:376:35 | access to local variable x | | LocalDataFlow.cs:373:17:373:25 | "tainted" | LocalDataFlow.cs:373:13:373:13 | access to local variable x | -| LocalDataFlow.cs:374:17:374:18 | [input] SSA phi(x) | LocalDataFlow.cs:382:15:382:15 | access to local variable x | | LocalDataFlow.cs:381:13:381:13 | access to local variable x | LocalDataFlow.cs:381:13:381:29 | SSA def(x) | | LocalDataFlow.cs:381:13:381:29 | SSA def(x) | LocalDataFlow.cs:382:15:382:15 | access to local variable x | | LocalDataFlow.cs:381:17:381:29 | "not tainted" | LocalDataFlow.cs:381:13:381:13 | access to local variable x | @@ -669,60 +669,53 @@ | SSA.cs:22:16:22:23 | access to local variable ssaSink1 | SSA.cs:22:16:22:28 | SSA def(ssaSink1) | | SSA.cs:22:16:22:28 | SSA def(ssaSink1) | SSA.cs:25:15:25:22 | access to local variable ssaSink1 | | SSA.cs:22:27:22:28 | "" | SSA.cs:22:16:22:23 | access to local variable ssaSink1 | +| SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | +| SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | SSA.cs:37:24:37:31 | access to local variable ssaSink0 | | SSA.cs:23:13:23:22 | [post] access to parameter nonTainted | SSA.cs:29:13:29:22 | access to parameter nonTainted | | SSA.cs:23:13:23:22 | access to parameter nonTainted | SSA.cs:29:13:29:22 | access to parameter nonTainted | | SSA.cs:23:13:23:29 | access to property Length | SSA.cs:23:13:23:33 | ... > ... | -| SSA.cs:23:13:23:33 | [input] SSA phi read(ssaSink0) | SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | +| SSA.cs:23:13:23:33 | [input] SSA phi read(ssaSink0) | SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | | SSA.cs:24:13:24:20 | access to local variable ssaSink1 | SSA.cs:24:13:24:31 | SSA def(ssaSink1) | | SSA.cs:24:13:24:31 | SSA def(ssaSink1) | SSA.cs:25:15:25:22 | access to local variable ssaSink1 | +| SSA.cs:24:24:24:31 | access to local variable ssaSink0 | SSA.cs:23:9:24:32 | SSA phi read(ssaSink0) | | SSA.cs:24:24:24:31 | access to local variable ssaSink0 | SSA.cs:24:13:24:20 | access to local variable ssaSink1 | -| SSA.cs:24:24:24:31 | access to local variable ssaSink0 | SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | -| SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | -| SSA.cs:25:9:25:24 | SSA phi read(ssaSink0) | SSA.cs:37:24:37:31 | access to local variable ssaSink0 | | SSA.cs:28:16:28:23 | access to local variable nonSink1 | SSA.cs:28:16:28:28 | SSA def(nonSink1) | | SSA.cs:28:16:28:28 | SSA def(nonSink1) | SSA.cs:31:15:31:22 | access to local variable nonSink1 | | SSA.cs:28:27:28:28 | "" | SSA.cs:28:16:28:23 | access to local variable nonSink1 | +| SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | SSA.cs:47:13:47:33 | [input] SSA phi read(nonSink0) | +| SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | SSA.cs:49:24:49:31 | access to local variable nonSink0 | | SSA.cs:29:13:29:22 | [post] access to parameter nonTainted | SSA.cs:35:13:35:22 | access to parameter nonTainted | | SSA.cs:29:13:29:22 | access to parameter nonTainted | SSA.cs:35:13:35:22 | access to parameter nonTainted | | SSA.cs:29:13:29:29 | access to property Length | SSA.cs:29:13:29:33 | ... > ... | -| SSA.cs:29:13:29:33 | [input] SSA phi read(nonSink0) | SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | +| SSA.cs:29:13:29:33 | [input] SSA phi read(nonSink0) | SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | | SSA.cs:30:13:30:20 | access to local variable nonSink1 | SSA.cs:30:13:30:31 | SSA def(nonSink1) | | SSA.cs:30:13:30:31 | SSA def(nonSink1) | SSA.cs:31:15:31:22 | access to local variable nonSink1 | +| SSA.cs:30:24:30:31 | access to local variable nonSink0 | SSA.cs:29:9:30:32 | SSA phi read(nonSink0) | | SSA.cs:30:24:30:31 | access to local variable nonSink0 | SSA.cs:30:13:30:20 | access to local variable nonSink1 | -| SSA.cs:30:24:30:31 | access to local variable nonSink0 | SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | -| SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | SSA.cs:47:13:47:33 | [input] SSA phi read(nonSink0) | -| SSA.cs:31:9:31:24 | SSA phi read(nonSink0) | SSA.cs:49:24:49:31 | access to local variable nonSink0 | | SSA.cs:34:16:34:23 | access to local variable ssaSink2 | SSA.cs:34:16:34:28 | SSA def(ssaSink2) | | SSA.cs:34:16:34:28 | SSA def(ssaSink2) | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | | SSA.cs:34:27:34:28 | "" | SSA.cs:34:16:34:23 | access to local variable ssaSink2 | +| SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | SSA.cs:89:13:89:33 | [input] SSA phi read(ssaSink0) | +| SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | SSA.cs:91:24:91:31 | access to local variable ssaSink0 | | SSA.cs:35:13:35:22 | [post] access to parameter nonTainted | SSA.cs:35:13:35:33 | [input] SSA phi read(nonTainted) | | SSA.cs:35:13:35:22 | [post] access to parameter nonTainted | SSA.cs:38:17:38:26 | access to parameter nonTainted | | SSA.cs:35:13:35:22 | access to parameter nonTainted | SSA.cs:35:13:35:33 | [input] SSA phi read(nonTainted) | | SSA.cs:35:13:35:22 | access to parameter nonTainted | SSA.cs:38:17:38:26 | access to parameter nonTainted | | SSA.cs:35:13:35:29 | access to property Length | SSA.cs:35:13:35:33 | ... > ... | | SSA.cs:35:13:35:33 | [input] SSA phi read(nonTainted) | SSA.cs:47:13:47:22 | access to parameter nonTainted | -| SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | +| SSA.cs:35:13:35:33 | [input] SSA phi read(ssaSink0) | SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | | SSA.cs:37:13:37:20 | access to local variable ssaSink2 | SSA.cs:37:13:37:31 | SSA def(ssaSink2) | | SSA.cs:37:13:37:31 | SSA def(ssaSink2) | SSA.cs:39:21:39:28 | access to local variable ssaSink2 | | SSA.cs:37:13:37:31 | SSA def(ssaSink2) | SSA.cs:41:21:41:28 | access to local variable ssaSink2 | +| SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:35:9:42:9 | SSA phi read(ssaSink0) | | SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:37:13:37:20 | access to local variable ssaSink2 | -| SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:39:17:39:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:37:24:37:31 | access to local variable ssaSink0 | SSA.cs:41:17:41:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:38:17:38:26 | [post] access to parameter nonTainted | SSA.cs:39:17:39:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:38:17:38:26 | [post] access to parameter nonTainted | SSA.cs:41:17:41:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:38:17:38:26 | access to parameter nonTainted | SSA.cs:39:17:39:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:38:17:38:26 | access to parameter nonTainted | SSA.cs:41:17:41:29 | [input] SSA phi read(nonTainted) | +| SSA.cs:38:17:38:26 | [post] access to parameter nonTainted | SSA.cs:47:13:47:22 | access to parameter nonTainted | +| SSA.cs:38:17:38:26 | access to parameter nonTainted | SSA.cs:47:13:47:22 | access to parameter nonTainted | | SSA.cs:38:17:38:33 | access to property Length | SSA.cs:38:17:38:37 | ... > ... | -| SSA.cs:39:17:39:29 | [input] SSA phi read(nonTainted) | SSA.cs:47:13:47:22 | access to parameter nonTainted | -| SSA.cs:39:17:39:29 | [input] SSA phi read(ssaSink0) | SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | | SSA.cs:39:21:39:28 | [post] access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | | SSA.cs:39:21:39:28 | access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | -| SSA.cs:41:17:41:29 | [input] SSA phi read(nonTainted) | SSA.cs:47:13:47:22 | access to parameter nonTainted | -| SSA.cs:41:17:41:29 | [input] SSA phi read(ssaSink0) | SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | | SSA.cs:41:21:41:28 | [post] access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | | SSA.cs:41:21:41:28 | access to local variable ssaSink2 | SSA.cs:43:15:43:22 | access to local variable ssaSink2 | -| SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | SSA.cs:89:13:89:33 | [input] SSA phi read(ssaSink0) | -| SSA.cs:43:9:43:24 | SSA phi read(ssaSink0) | SSA.cs:91:24:91:31 | access to local variable ssaSink0 | | SSA.cs:46:16:46:23 | access to local variable nonSink2 | SSA.cs:46:16:46:28 | SSA def(nonSink2) | | SSA.cs:46:16:46:28 | SSA def(nonSink2) | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:46:27:46:28 | "" | SSA.cs:46:16:46:23 | access to local variable nonSink2 | @@ -737,19 +730,12 @@ | SSA.cs:49:13:49:31 | SSA def(nonSink2) | SSA.cs:51:21:51:28 | access to local variable nonSink2 | | SSA.cs:49:13:49:31 | SSA def(nonSink2) | SSA.cs:53:21:53:28 | access to local variable nonSink2 | | SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:49:13:49:20 | access to local variable nonSink2 | -| SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:51:17:51:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:53:17:53:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:50:17:50:26 | [post] access to parameter nonTainted | SSA.cs:51:17:51:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:50:17:50:26 | [post] access to parameter nonTainted | SSA.cs:53:17:53:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:50:17:50:26 | access to parameter nonTainted | SSA.cs:51:17:51:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:50:17:50:26 | access to parameter nonTainted | SSA.cs:53:17:53:29 | [input] SSA phi read(nonTainted) | +| SSA.cs:49:24:49:31 | access to local variable nonSink0 | SSA.cs:63:23:63:30 | access to local variable nonSink0 | +| SSA.cs:50:17:50:26 | [post] access to parameter nonTainted | SSA.cs:89:13:89:22 | access to parameter nonTainted | +| SSA.cs:50:17:50:26 | access to parameter nonTainted | SSA.cs:89:13:89:22 | access to parameter nonTainted | | SSA.cs:50:17:50:33 | access to property Length | SSA.cs:50:17:50:37 | ... > ... | -| SSA.cs:51:17:51:29 | [input] SSA phi read(nonSink0) | SSA.cs:63:23:63:30 | access to local variable nonSink0 | -| SSA.cs:51:17:51:29 | [input] SSA phi read(nonTainted) | SSA.cs:89:13:89:22 | access to parameter nonTainted | | SSA.cs:51:21:51:28 | [post] access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:51:21:51:28 | access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | -| SSA.cs:53:17:53:29 | [input] SSA phi read(nonSink0) | SSA.cs:63:23:63:30 | access to local variable nonSink0 | -| SSA.cs:53:17:53:29 | [input] SSA phi read(nonTainted) | SSA.cs:89:13:89:22 | access to parameter nonTainted | | SSA.cs:53:21:53:28 | [post] access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:53:21:53:28 | access to local variable nonSink2 | SSA.cs:55:15:55:22 | access to local variable nonSink2 | | SSA.cs:58:16:58:23 | access to local variable ssaSink3 | SSA.cs:58:16:58:33 | SSA def(ssaSink3) | @@ -852,19 +838,12 @@ | SSA.cs:91:13:91:31 | SSA def(ssaSink4) | SSA.cs:93:21:93:28 | access to local variable ssaSink4 | | SSA.cs:91:13:91:31 | SSA def(ssaSink4) | SSA.cs:95:21:95:28 | access to local variable ssaSink4 | | SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:91:13:91:20 | access to local variable ssaSink4 | -| SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:93:17:93:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:95:17:95:29 | [input] SSA phi read(ssaSink0) | -| SSA.cs:92:17:92:26 | [post] access to parameter nonTainted | SSA.cs:93:17:93:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:92:17:92:26 | [post] access to parameter nonTainted | SSA.cs:95:17:95:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:92:17:92:26 | access to parameter nonTainted | SSA.cs:93:17:93:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:92:17:92:26 | access to parameter nonTainted | SSA.cs:95:17:95:29 | [input] SSA phi read(nonTainted) | +| SSA.cs:91:24:91:31 | access to local variable ssaSink0 | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | +| SSA.cs:92:17:92:26 | [post] access to parameter nonTainted | SSA.cs:102:13:102:22 | access to parameter nonTainted | +| SSA.cs:92:17:92:26 | access to parameter nonTainted | SSA.cs:102:13:102:22 | access to parameter nonTainted | | SSA.cs:92:17:92:33 | access to property Length | SSA.cs:92:17:92:37 | ... > ... | -| SSA.cs:93:17:93:29 | [input] SSA phi read(nonTainted) | SSA.cs:102:13:102:22 | access to parameter nonTainted | -| SSA.cs:93:17:93:29 | [input] SSA phi read(ssaSink0) | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | | SSA.cs:93:21:93:28 | [post] access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | | SSA.cs:93:21:93:28 | access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | -| SSA.cs:95:17:95:29 | [input] SSA phi read(nonTainted) | SSA.cs:102:13:102:22 | access to parameter nonTainted | -| SSA.cs:95:17:95:29 | [input] SSA phi read(ssaSink0) | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | | SSA.cs:95:21:95:28 | [post] access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | | SSA.cs:95:21:95:28 | access to local variable ssaSink4 | SSA.cs:97:23:97:30 | access to local variable ssaSink4 | | SSA.cs:97:23:97:30 | SSA def(ssaSink4) | SSA.cs:98:15:98:22 | access to local variable ssaSink4 | @@ -885,19 +864,12 @@ | SSA.cs:104:13:104:31 | SSA def(nonSink3) | SSA.cs:106:21:106:28 | access to local variable nonSink3 | | SSA.cs:104:13:104:31 | SSA def(nonSink3) | SSA.cs:108:21:108:28 | access to local variable nonSink3 | | SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:104:13:104:20 | access to local variable nonSink3 | -| SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:106:17:106:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:108:17:108:29 | [input] SSA phi read(nonSink0) | -| SSA.cs:105:17:105:26 | [post] access to parameter nonTainted | SSA.cs:106:17:106:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:105:17:105:26 | [post] access to parameter nonTainted | SSA.cs:108:17:108:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:105:17:105:26 | access to parameter nonTainted | SSA.cs:106:17:106:29 | [input] SSA phi read(nonTainted) | -| SSA.cs:105:17:105:26 | access to parameter nonTainted | SSA.cs:108:17:108:29 | [input] SSA phi read(nonTainted) | +| SSA.cs:104:24:104:31 | access to local variable nonSink0 | SSA.cs:130:39:130:46 | access to local variable nonSink0 | +| SSA.cs:105:17:105:26 | [post] access to parameter nonTainted | SSA.cs:115:13:115:22 | access to parameter nonTainted | +| SSA.cs:105:17:105:26 | access to parameter nonTainted | SSA.cs:115:13:115:22 | access to parameter nonTainted | | SSA.cs:105:17:105:33 | access to property Length | SSA.cs:105:17:105:37 | ... > ... | -| SSA.cs:106:17:106:29 | [input] SSA phi read(nonSink0) | SSA.cs:130:39:130:46 | access to local variable nonSink0 | -| SSA.cs:106:17:106:29 | [input] SSA phi read(nonTainted) | SSA.cs:115:13:115:22 | access to parameter nonTainted | | SSA.cs:106:21:106:28 | [post] access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | | SSA.cs:106:21:106:28 | access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | -| SSA.cs:108:17:108:29 | [input] SSA phi read(nonSink0) | SSA.cs:130:39:130:46 | access to local variable nonSink0 | -| SSA.cs:108:17:108:29 | [input] SSA phi read(nonTainted) | SSA.cs:115:13:115:22 | access to parameter nonTainted | | SSA.cs:108:21:108:28 | [post] access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | | SSA.cs:108:21:108:28 | access to local variable nonSink3 | SSA.cs:110:23:110:30 | access to local variable nonSink3 | | SSA.cs:110:23:110:30 | SSA def(nonSink3) | SSA.cs:111:15:111:22 | access to local variable nonSink3 | @@ -934,19 +906,15 @@ | SSA.cs:117:13:117:43 | SSA def(this.S.SsaFieldSink1) | SSA.cs:119:21:119:40 | access to field SsaFieldSink1 | | SSA.cs:117:13:117:43 | SSA def(this.S.SsaFieldSink1) | SSA.cs:121:21:121:40 | access to field SsaFieldSink1 | | SSA.cs:117:36:117:43 | access to local variable ssaSink0 | SSA.cs:117:13:117:32 | access to field SsaFieldSink1 | -| SSA.cs:118:17:118:26 | [post] access to parameter nonTainted | SSA.cs:119:17:119:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:118:17:118:26 | [post] access to parameter nonTainted | SSA.cs:121:17:121:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:118:17:118:26 | access to parameter nonTainted | SSA.cs:119:17:119:41 | [input] SSA phi read(nonTainted) | -| SSA.cs:118:17:118:26 | access to parameter nonTainted | SSA.cs:121:17:121:41 | [input] SSA phi read(nonTainted) | +| SSA.cs:118:17:118:26 | [post] access to parameter nonTainted | SSA.cs:128:13:128:22 | access to parameter nonTainted | +| SSA.cs:118:17:118:26 | access to parameter nonTainted | SSA.cs:128:13:128:22 | access to parameter nonTainted | | SSA.cs:118:17:118:33 | access to property Length | SSA.cs:118:17:118:37 | ... > ... | -| SSA.cs:119:17:119:41 | [input] SSA phi read(nonTainted) | SSA.cs:128:13:128:22 | access to parameter nonTainted | | SSA.cs:119:21:119:24 | [post] this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:119:21:119:24 | this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:119:21:119:26 | [post] access to field S | SSA.cs:123:23:123:28 | access to field S | | SSA.cs:119:21:119:26 | access to field S | SSA.cs:123:23:123:28 | access to field S | | SSA.cs:119:21:119:40 | [post] access to field SsaFieldSink1 | SSA.cs:123:23:123:28 | SSA qualifier def(this.S.SsaFieldSink1) | | SSA.cs:119:21:119:40 | access to field SsaFieldSink1 | SSA.cs:123:23:123:28 | SSA qualifier def(this.S.SsaFieldSink1) | -| SSA.cs:121:17:121:41 | [input] SSA phi read(nonTainted) | SSA.cs:128:13:128:22 | access to parameter nonTainted | | SSA.cs:121:21:121:24 | [post] this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:121:21:121:24 | this access | SSA.cs:123:23:123:26 | this access | | SSA.cs:121:21:121:26 | [post] access to field S | SSA.cs:123:23:123:28 | access to field S | @@ -1017,10 +985,10 @@ | SSA.cs:146:13:146:13 | access to parameter t | SSA.cs:146:13:146:13 | (...) ... | | SSA.cs:146:13:146:13 | access to parameter t | SSA.cs:149:17:149:17 | access to parameter t | | SSA.cs:147:13:147:13 | access to parameter t | SSA.cs:147:13:147:26 | SSA def(t) | -| SSA.cs:147:13:147:26 | SSA def(t) | SSA.cs:144:17:144:26 | SSA phi(t) | +| SSA.cs:147:13:147:26 | SSA def(t) | SSA.cs:146:9:149:18 | SSA phi(t) | | SSA.cs:147:17:147:26 | default(...) | SSA.cs:147:13:147:13 | access to parameter t | | SSA.cs:149:13:149:13 | access to parameter t | SSA.cs:149:13:149:17 | SSA def(t) | -| SSA.cs:149:13:149:17 | SSA def(t) | SSA.cs:144:17:144:26 | SSA phi(t) | +| SSA.cs:149:13:149:17 | SSA def(t) | SSA.cs:146:9:149:18 | SSA phi(t) | | SSA.cs:149:17:149:17 | access to parameter t | SSA.cs:149:13:149:13 | access to parameter t | | SSA.cs:152:36:152:36 | SSA param(t) | SSA.cs:154:13:154:13 | access to parameter t | | SSA.cs:152:36:152:36 | t | SSA.cs:152:36:152:36 | SSA param(t) | @@ -1028,8 +996,8 @@ | SSA.cs:154:13:154:13 | access to parameter t | SSA.cs:154:13:154:13 | (...) ... | | SSA.cs:154:13:154:13 | access to parameter t | SSA.cs:154:13:154:21 | [input] SSA phi(t) | | SSA.cs:154:13:154:13 | access to parameter t | SSA.cs:155:25:155:25 | access to parameter t | -| SSA.cs:154:13:154:21 | [input] SSA phi(t) | SSA.cs:152:17:152:28 | SSA phi(t) | -| SSA.cs:155:25:155:25 | SSA def(t) | SSA.cs:152:17:152:28 | SSA phi(t) | +| SSA.cs:154:13:154:21 | [input] SSA phi(t) | SSA.cs:154:9:155:27 | SSA phi(t) | +| SSA.cs:155:25:155:25 | SSA def(t) | SSA.cs:154:9:155:27 | SSA phi(t) | | SSA.cs:155:25:155:25 | access to parameter t | SSA.cs:155:25:155:25 | SSA def(t) | | SSA.cs:166:10:166:13 | this | SSA.cs:166:19:166:22 | this access | | SSA.cs:166:28:166:31 | null | SSA.cs:166:19:166:24 | access to field S | @@ -1043,19 +1011,19 @@ | SSA.cs:171:13:171:13 | access to parameter i | SSA.cs:171:13:171:15 | SSA def(i) | | SSA.cs:171:13:171:15 | ...-- | SSA.cs:171:13:171:19 | ... > ... | | SSA.cs:171:13:171:15 | SSA def(i) | SSA.cs:174:20:174:20 | access to parameter i | +| SSA.cs:172:9:179:9 | [input] SSA phi(ssaSink5) | SSA.cs:180:15:180:22 | access to local variable ssaSink5 | | SSA.cs:173:13:173:20 | access to local variable ssaSink5 | SSA.cs:173:13:173:30 | SSA def(ssaSink5) | -| SSA.cs:173:13:173:30 | SSA def(ssaSink5) | SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | +| SSA.cs:173:13:173:30 | SSA def(ssaSink5) | SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | | SSA.cs:173:24:173:30 | access to parameter tainted | SSA.cs:173:13:173:20 | access to local variable ssaSink5 | -| SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | SSA.cs:174:20:174:26 | [input] SSA phi(ssaSink5) | -| SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | SSA.cs:176:21:176:28 | access to local variable ssaSink5 | +| SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | SSA.cs:172:9:179:9 | [input] SSA phi(ssaSink5) | +| SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | SSA.cs:176:21:176:28 | access to local variable ssaSink5 | | SSA.cs:174:20:174:20 | access to parameter i | SSA.cs:174:20:174:22 | SSA def(i) | | SSA.cs:174:20:174:22 | ...-- | SSA.cs:174:20:174:26 | ... > ... | | SSA.cs:174:20:174:22 | SSA def(i) | SSA.cs:174:20:174:20 | access to parameter i | -| SSA.cs:174:20:174:26 | [input] SSA phi(ssaSink5) | SSA.cs:180:15:180:22 | access to local variable ssaSink5 | | SSA.cs:176:21:176:28 | [post] access to local variable ssaSink5 | SSA.cs:177:21:177:28 | access to local variable ssaSink5 | | SSA.cs:176:21:176:28 | access to local variable ssaSink5 | SSA.cs:177:21:177:28 | access to local variable ssaSink5 | -| SSA.cs:177:21:177:28 | [post] access to local variable ssaSink5 | SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | -| SSA.cs:177:21:177:28 | access to local variable ssaSink5 | SSA.cs:174:20:174:20 | SSA phi read(ssaSink5) | +| SSA.cs:177:21:177:28 | [post] access to local variable ssaSink5 | SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | +| SSA.cs:177:21:177:28 | access to local variable ssaSink5 | SSA.cs:174:13:178:13 | SSA phi read(ssaSink5) | | Splitting.cs:1:7:1:15 | this | Splitting.cs:1:7:1:15 | this access | | Splitting.cs:3:18:3:18 | SSA param(b) | Splitting.cs:6:13:6:13 | access to parameter b | | Splitting.cs:3:18:3:18 | b | Splitting.cs:3:18:3:18 | SSA param(b) | @@ -1067,11 +1035,11 @@ | Splitting.cs:5:17:5:23 | access to parameter tainted | Splitting.cs:5:13:5:13 | access to local variable x | | Splitting.cs:6:13:6:13 | [input] SSA phi read(x) | Splitting.cs:12:15:12:15 | access to local variable x | | Splitting.cs:6:13:6:13 | access to parameter b | Splitting.cs:13:13:13:13 | access to parameter b | +| Splitting.cs:7:9:11:9 | [input] SSA phi read(x) | Splitting.cs:12:15:12:15 | access to local variable x | | Splitting.cs:8:19:8:19 | [post] access to local variable x | Splitting.cs:9:17:9:17 | access to local variable x | | Splitting.cs:8:19:8:19 | access to local variable x | Splitting.cs:9:17:9:17 | access to local variable x | +| Splitting.cs:9:17:9:17 | access to local variable x | Splitting.cs:7:9:11:9 | [input] SSA phi read(x) | | Splitting.cs:9:17:9:17 | access to local variable x | Splitting.cs:9:17:9:25 | ... == ... | -| Splitting.cs:9:17:9:17 | access to local variable x | Splitting.cs:9:17:9:25 | [input] SSA phi read(x) | -| Splitting.cs:9:17:9:25 | [input] SSA phi read(x) | Splitting.cs:12:15:12:15 | access to local variable x | | Splitting.cs:12:15:12:15 | [post] access to local variable x | Splitting.cs:14:19:14:19 | access to local variable x | | Splitting.cs:12:15:12:15 | access to local variable x | Splitting.cs:14:19:14:19 | access to local variable x | | Splitting.cs:17:18:17:18 | SSA param(b) | Splitting.cs:20:13:20:13 | access to parameter b | @@ -1260,1208 +1228,1205 @@ | UseUseExplosion.cs:23:13:23:17 | SSA def(x) | UseUseExplosion.cs:24:3182:24:3182 | access to local variable x | | UseUseExplosion.cs:23:13:23:17 | SSA def(x) | UseUseExplosion.cs:24:3197:24:3197 | access to local variable x | | UseUseExplosion.cs:23:17:23:17 | 0 | UseUseExplosion.cs:23:13:23:13 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1712:25:1712 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1727:25:1727 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1742:25:1742 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1757:25:1757 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1772:25:1772 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1787:25:1787 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1802:25:1802 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1817:25:1817 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1832:25:1832 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1847:25:1847 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1862:25:1862 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1877:25:1877 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1892:25:1892 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1907:25:1907 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1922:25:1922 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1937:25:1937 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1952:25:1952 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1967:25:1967 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1982:25:1982 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1997:25:1997 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2012:25:2012 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2027:25:2027 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2042:25:2042 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2057:25:2057 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2072:25:2072 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2087:25:2087 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2102:25:2102 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2117:25:2117 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2132:25:2132 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2147:25:2147 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2162:25:2162 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2177:25:2177 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2192:25:2192 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2207:25:2207 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2222:25:2222 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2237:25:2237 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2252:25:2252 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2267:25:2267 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2282:25:2282 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2297:25:2297 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2312:25:2312 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2327:25:2327 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2342:25:2342 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2357:25:2357 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2372:25:2372 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2387:25:2387 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2402:25:2402 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2417:25:2417 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2432:25:2432 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2447:25:2447 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2462:25:2462 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2477:25:2477 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2492:25:2492 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2507:25:2507 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2522:25:2522 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2537:25:2537 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2552:25:2552 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2567:25:2567 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2582:25:2582 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2597:25:2597 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2612:25:2612 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2627:25:2627 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2642:25:2642 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2657:25:2657 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2672:25:2672 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2687:25:2687 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2702:25:2702 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2717:25:2717 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2732:25:2732 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2747:25:2747 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2762:25:2762 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2777:25:2777 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2792:25:2792 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2807:25:2807 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2822:25:2822 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2837:25:2837 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2852:25:2852 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2867:25:2867 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2882:25:2882 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2897:25:2897 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2912:25:2912 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2927:25:2927 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2942:25:2942 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2957:25:2957 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2972:25:2972 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2987:25:2987 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3002:25:3002 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3017:25:3017 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3032:25:3032 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3047:25:3047 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3062:25:3062 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3077:25:3077 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3092:25:3092 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3107:25:3107 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3122:25:3122 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3137:25:3137 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3152:25:3152 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3167:25:3167 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3182:25:3182 | access to local variable x | +| UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3197:25:3197 | access to local variable x | | UseUseExplosion.cs:24:13:24:16 | [post] this access | UseUseExplosion.cs:24:31:24:34 | this access | | UseUseExplosion.cs:24:13:24:16 | [post] this access | UseUseExplosion.cs:24:3193:24:3198 | this access | | UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:13:24:22 | ... > ... | | UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:31:24:34 | access to property Prop | -| UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:3193:24:3198 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:13:24:16 | access to property Prop | UseUseExplosion.cs:24:3193:24:3199 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:13:24:16 | this access | UseUseExplosion.cs:24:31:24:34 | this access | | UseUseExplosion.cs:24:13:24:16 | this access | UseUseExplosion.cs:24:3193:24:3198 | this access | | UseUseExplosion.cs:24:31:24:34 | [post] this access | UseUseExplosion.cs:24:48:24:51 | this access | | UseUseExplosion.cs:24:31:24:34 | [post] this access | UseUseExplosion.cs:24:3178:24:3183 | this access | | UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:31:24:39 | ... > ... | | UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:48:24:51 | access to property Prop | -| UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:3178:24:3183 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:31:24:34 | access to property Prop | UseUseExplosion.cs:24:3178:24:3184 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:31:24:34 | this access | UseUseExplosion.cs:24:48:24:51 | this access | | UseUseExplosion.cs:24:31:24:34 | this access | UseUseExplosion.cs:24:3178:24:3183 | this access | | UseUseExplosion.cs:24:48:24:51 | [post] this access | UseUseExplosion.cs:24:65:24:68 | this access | | UseUseExplosion.cs:24:48:24:51 | [post] this access | UseUseExplosion.cs:24:3163:24:3168 | this access | | UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:48:24:56 | ... > ... | | UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:65:24:68 | access to property Prop | -| UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:3163:24:3168 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:48:24:51 | access to property Prop | UseUseExplosion.cs:24:3163:24:3169 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:48:24:51 | this access | UseUseExplosion.cs:24:65:24:68 | this access | | UseUseExplosion.cs:24:48:24:51 | this access | UseUseExplosion.cs:24:3163:24:3168 | this access | | UseUseExplosion.cs:24:65:24:68 | [post] this access | UseUseExplosion.cs:24:82:24:85 | this access | | UseUseExplosion.cs:24:65:24:68 | [post] this access | UseUseExplosion.cs:24:3148:24:3153 | this access | | UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:65:24:73 | ... > ... | | UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:82:24:85 | access to property Prop | -| UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:3148:24:3153 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:65:24:68 | access to property Prop | UseUseExplosion.cs:24:3148:24:3154 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:65:24:68 | this access | UseUseExplosion.cs:24:82:24:85 | this access | | UseUseExplosion.cs:24:65:24:68 | this access | UseUseExplosion.cs:24:3148:24:3153 | this access | | UseUseExplosion.cs:24:82:24:85 | [post] this access | UseUseExplosion.cs:24:99:24:102 | this access | | UseUseExplosion.cs:24:82:24:85 | [post] this access | UseUseExplosion.cs:24:3133:24:3138 | this access | | UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:82:24:90 | ... > ... | | UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:99:24:102 | access to property Prop | -| UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:3133:24:3138 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:82:24:85 | access to property Prop | UseUseExplosion.cs:24:3133:24:3139 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:82:24:85 | this access | UseUseExplosion.cs:24:99:24:102 | this access | | UseUseExplosion.cs:24:82:24:85 | this access | UseUseExplosion.cs:24:3133:24:3138 | this access | | UseUseExplosion.cs:24:99:24:102 | [post] this access | UseUseExplosion.cs:24:116:24:119 | this access | | UseUseExplosion.cs:24:99:24:102 | [post] this access | UseUseExplosion.cs:24:3118:24:3123 | this access | | UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:99:24:107 | ... > ... | | UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:116:24:119 | access to property Prop | -| UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:3118:24:3123 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:99:24:102 | access to property Prop | UseUseExplosion.cs:24:3118:24:3124 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:99:24:102 | this access | UseUseExplosion.cs:24:116:24:119 | this access | | UseUseExplosion.cs:24:99:24:102 | this access | UseUseExplosion.cs:24:3118:24:3123 | this access | | UseUseExplosion.cs:24:116:24:119 | [post] this access | UseUseExplosion.cs:24:133:24:136 | this access | | UseUseExplosion.cs:24:116:24:119 | [post] this access | UseUseExplosion.cs:24:3103:24:3108 | this access | | UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:116:24:124 | ... > ... | | UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:133:24:136 | access to property Prop | -| UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:3103:24:3108 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:116:24:119 | access to property Prop | UseUseExplosion.cs:24:3103:24:3109 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:116:24:119 | this access | UseUseExplosion.cs:24:133:24:136 | this access | | UseUseExplosion.cs:24:116:24:119 | this access | UseUseExplosion.cs:24:3103:24:3108 | this access | | UseUseExplosion.cs:24:133:24:136 | [post] this access | UseUseExplosion.cs:24:150:24:153 | this access | | UseUseExplosion.cs:24:133:24:136 | [post] this access | UseUseExplosion.cs:24:3088:24:3093 | this access | | UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:133:24:141 | ... > ... | | UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:150:24:153 | access to property Prop | -| UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:3088:24:3093 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:133:24:136 | access to property Prop | UseUseExplosion.cs:24:3088:24:3094 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:133:24:136 | this access | UseUseExplosion.cs:24:150:24:153 | this access | | UseUseExplosion.cs:24:133:24:136 | this access | UseUseExplosion.cs:24:3088:24:3093 | this access | | UseUseExplosion.cs:24:150:24:153 | [post] this access | UseUseExplosion.cs:24:167:24:170 | this access | | UseUseExplosion.cs:24:150:24:153 | [post] this access | UseUseExplosion.cs:24:3073:24:3078 | this access | | UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:150:24:158 | ... > ... | | UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:167:24:170 | access to property Prop | -| UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:3073:24:3078 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:150:24:153 | access to property Prop | UseUseExplosion.cs:24:3073:24:3079 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:150:24:153 | this access | UseUseExplosion.cs:24:167:24:170 | this access | | UseUseExplosion.cs:24:150:24:153 | this access | UseUseExplosion.cs:24:3073:24:3078 | this access | | UseUseExplosion.cs:24:167:24:170 | [post] this access | UseUseExplosion.cs:24:184:24:187 | this access | | UseUseExplosion.cs:24:167:24:170 | [post] this access | UseUseExplosion.cs:24:3058:24:3063 | this access | | UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:167:24:175 | ... > ... | | UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:184:24:187 | access to property Prop | -| UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:3058:24:3063 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:167:24:170 | access to property Prop | UseUseExplosion.cs:24:3058:24:3064 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:167:24:170 | this access | UseUseExplosion.cs:24:184:24:187 | this access | | UseUseExplosion.cs:24:167:24:170 | this access | UseUseExplosion.cs:24:3058:24:3063 | this access | | UseUseExplosion.cs:24:184:24:187 | [post] this access | UseUseExplosion.cs:24:201:24:204 | this access | | UseUseExplosion.cs:24:184:24:187 | [post] this access | UseUseExplosion.cs:24:3043:24:3048 | this access | | UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:184:24:192 | ... > ... | | UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:201:24:204 | access to property Prop | -| UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:3043:24:3048 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:184:24:187 | access to property Prop | UseUseExplosion.cs:24:3043:24:3049 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:184:24:187 | this access | UseUseExplosion.cs:24:201:24:204 | this access | | UseUseExplosion.cs:24:184:24:187 | this access | UseUseExplosion.cs:24:3043:24:3048 | this access | | UseUseExplosion.cs:24:201:24:204 | [post] this access | UseUseExplosion.cs:24:218:24:221 | this access | | UseUseExplosion.cs:24:201:24:204 | [post] this access | UseUseExplosion.cs:24:3028:24:3033 | this access | | UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:201:24:209 | ... > ... | | UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:218:24:221 | access to property Prop | -| UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:3028:24:3033 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:201:24:204 | access to property Prop | UseUseExplosion.cs:24:3028:24:3034 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:201:24:204 | this access | UseUseExplosion.cs:24:218:24:221 | this access | | UseUseExplosion.cs:24:201:24:204 | this access | UseUseExplosion.cs:24:3028:24:3033 | this access | | UseUseExplosion.cs:24:218:24:221 | [post] this access | UseUseExplosion.cs:24:235:24:238 | this access | | UseUseExplosion.cs:24:218:24:221 | [post] this access | UseUseExplosion.cs:24:3013:24:3018 | this access | | UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:218:24:226 | ... > ... | | UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:235:24:238 | access to property Prop | -| UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:3013:24:3018 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:218:24:221 | access to property Prop | UseUseExplosion.cs:24:3013:24:3019 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:218:24:221 | this access | UseUseExplosion.cs:24:235:24:238 | this access | | UseUseExplosion.cs:24:218:24:221 | this access | UseUseExplosion.cs:24:3013:24:3018 | this access | | UseUseExplosion.cs:24:235:24:238 | [post] this access | UseUseExplosion.cs:24:252:24:255 | this access | | UseUseExplosion.cs:24:235:24:238 | [post] this access | UseUseExplosion.cs:24:2998:24:3003 | this access | | UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:235:24:243 | ... > ... | | UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:252:24:255 | access to property Prop | -| UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:2998:24:3003 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:235:24:238 | access to property Prop | UseUseExplosion.cs:24:2998:24:3004 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:235:24:238 | this access | UseUseExplosion.cs:24:252:24:255 | this access | | UseUseExplosion.cs:24:235:24:238 | this access | UseUseExplosion.cs:24:2998:24:3003 | this access | | UseUseExplosion.cs:24:252:24:255 | [post] this access | UseUseExplosion.cs:24:269:24:272 | this access | | UseUseExplosion.cs:24:252:24:255 | [post] this access | UseUseExplosion.cs:24:2983:24:2988 | this access | | UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:252:24:260 | ... > ... | | UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:269:24:272 | access to property Prop | -| UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:2983:24:2988 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:252:24:255 | access to property Prop | UseUseExplosion.cs:24:2983:24:2989 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:252:24:255 | this access | UseUseExplosion.cs:24:269:24:272 | this access | | UseUseExplosion.cs:24:252:24:255 | this access | UseUseExplosion.cs:24:2983:24:2988 | this access | | UseUseExplosion.cs:24:269:24:272 | [post] this access | UseUseExplosion.cs:24:286:24:289 | this access | | UseUseExplosion.cs:24:269:24:272 | [post] this access | UseUseExplosion.cs:24:2968:24:2973 | this access | | UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:269:24:277 | ... > ... | | UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:286:24:289 | access to property Prop | -| UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:2968:24:2973 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:269:24:272 | access to property Prop | UseUseExplosion.cs:24:2968:24:2974 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:269:24:272 | this access | UseUseExplosion.cs:24:286:24:289 | this access | | UseUseExplosion.cs:24:269:24:272 | this access | UseUseExplosion.cs:24:2968:24:2973 | this access | | UseUseExplosion.cs:24:286:24:289 | [post] this access | UseUseExplosion.cs:24:303:24:306 | this access | | UseUseExplosion.cs:24:286:24:289 | [post] this access | UseUseExplosion.cs:24:2953:24:2958 | this access | | UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:286:24:294 | ... > ... | | UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:303:24:306 | access to property Prop | -| UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:2953:24:2958 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:286:24:289 | access to property Prop | UseUseExplosion.cs:24:2953:24:2959 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:286:24:289 | this access | UseUseExplosion.cs:24:303:24:306 | this access | | UseUseExplosion.cs:24:286:24:289 | this access | UseUseExplosion.cs:24:2953:24:2958 | this access | | UseUseExplosion.cs:24:303:24:306 | [post] this access | UseUseExplosion.cs:24:320:24:323 | this access | | UseUseExplosion.cs:24:303:24:306 | [post] this access | UseUseExplosion.cs:24:2938:24:2943 | this access | | UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:303:24:311 | ... > ... | | UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:320:24:323 | access to property Prop | -| UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:2938:24:2943 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:303:24:306 | access to property Prop | UseUseExplosion.cs:24:2938:24:2944 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:303:24:306 | this access | UseUseExplosion.cs:24:320:24:323 | this access | | UseUseExplosion.cs:24:303:24:306 | this access | UseUseExplosion.cs:24:2938:24:2943 | this access | | UseUseExplosion.cs:24:320:24:323 | [post] this access | UseUseExplosion.cs:24:337:24:340 | this access | | UseUseExplosion.cs:24:320:24:323 | [post] this access | UseUseExplosion.cs:24:2923:24:2928 | this access | | UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:320:24:328 | ... > ... | | UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:337:24:340 | access to property Prop | -| UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:2923:24:2928 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:320:24:323 | access to property Prop | UseUseExplosion.cs:24:2923:24:2929 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:320:24:323 | this access | UseUseExplosion.cs:24:337:24:340 | this access | | UseUseExplosion.cs:24:320:24:323 | this access | UseUseExplosion.cs:24:2923:24:2928 | this access | | UseUseExplosion.cs:24:337:24:340 | [post] this access | UseUseExplosion.cs:24:354:24:357 | this access | | UseUseExplosion.cs:24:337:24:340 | [post] this access | UseUseExplosion.cs:24:2908:24:2913 | this access | | UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:337:24:345 | ... > ... | | UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:354:24:357 | access to property Prop | -| UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:2908:24:2913 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:337:24:340 | access to property Prop | UseUseExplosion.cs:24:2908:24:2914 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:337:24:340 | this access | UseUseExplosion.cs:24:354:24:357 | this access | | UseUseExplosion.cs:24:337:24:340 | this access | UseUseExplosion.cs:24:2908:24:2913 | this access | | UseUseExplosion.cs:24:354:24:357 | [post] this access | UseUseExplosion.cs:24:371:24:374 | this access | | UseUseExplosion.cs:24:354:24:357 | [post] this access | UseUseExplosion.cs:24:2893:24:2898 | this access | | UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:354:24:362 | ... > ... | | UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:371:24:374 | access to property Prop | -| UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:2893:24:2898 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:354:24:357 | access to property Prop | UseUseExplosion.cs:24:2893:24:2899 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:354:24:357 | this access | UseUseExplosion.cs:24:371:24:374 | this access | | UseUseExplosion.cs:24:354:24:357 | this access | UseUseExplosion.cs:24:2893:24:2898 | this access | | UseUseExplosion.cs:24:371:24:374 | [post] this access | UseUseExplosion.cs:24:388:24:391 | this access | | UseUseExplosion.cs:24:371:24:374 | [post] this access | UseUseExplosion.cs:24:2878:24:2883 | this access | | UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:371:24:379 | ... > ... | | UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:388:24:391 | access to property Prop | -| UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:2878:24:2883 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:371:24:374 | access to property Prop | UseUseExplosion.cs:24:2878:24:2884 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:371:24:374 | this access | UseUseExplosion.cs:24:388:24:391 | this access | | UseUseExplosion.cs:24:371:24:374 | this access | UseUseExplosion.cs:24:2878:24:2883 | this access | | UseUseExplosion.cs:24:388:24:391 | [post] this access | UseUseExplosion.cs:24:405:24:408 | this access | | UseUseExplosion.cs:24:388:24:391 | [post] this access | UseUseExplosion.cs:24:2863:24:2868 | this access | | UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:388:24:396 | ... > ... | | UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:405:24:408 | access to property Prop | -| UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:2863:24:2868 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:388:24:391 | access to property Prop | UseUseExplosion.cs:24:2863:24:2869 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:388:24:391 | this access | UseUseExplosion.cs:24:405:24:408 | this access | | UseUseExplosion.cs:24:388:24:391 | this access | UseUseExplosion.cs:24:2863:24:2868 | this access | | UseUseExplosion.cs:24:405:24:408 | [post] this access | UseUseExplosion.cs:24:422:24:425 | this access | | UseUseExplosion.cs:24:405:24:408 | [post] this access | UseUseExplosion.cs:24:2848:24:2853 | this access | | UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:405:24:413 | ... > ... | | UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:422:24:425 | access to property Prop | -| UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:2848:24:2853 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:405:24:408 | access to property Prop | UseUseExplosion.cs:24:2848:24:2854 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:405:24:408 | this access | UseUseExplosion.cs:24:422:24:425 | this access | | UseUseExplosion.cs:24:405:24:408 | this access | UseUseExplosion.cs:24:2848:24:2853 | this access | | UseUseExplosion.cs:24:422:24:425 | [post] this access | UseUseExplosion.cs:24:439:24:442 | this access | | UseUseExplosion.cs:24:422:24:425 | [post] this access | UseUseExplosion.cs:24:2833:24:2838 | this access | | UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:422:24:430 | ... > ... | | UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:439:24:442 | access to property Prop | -| UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:2833:24:2838 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:422:24:425 | access to property Prop | UseUseExplosion.cs:24:2833:24:2839 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:422:24:425 | this access | UseUseExplosion.cs:24:439:24:442 | this access | | UseUseExplosion.cs:24:422:24:425 | this access | UseUseExplosion.cs:24:2833:24:2838 | this access | | UseUseExplosion.cs:24:439:24:442 | [post] this access | UseUseExplosion.cs:24:456:24:459 | this access | | UseUseExplosion.cs:24:439:24:442 | [post] this access | UseUseExplosion.cs:24:2818:24:2823 | this access | | UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:439:24:447 | ... > ... | | UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:456:24:459 | access to property Prop | -| UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:2818:24:2823 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:439:24:442 | access to property Prop | UseUseExplosion.cs:24:2818:24:2824 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:439:24:442 | this access | UseUseExplosion.cs:24:456:24:459 | this access | | UseUseExplosion.cs:24:439:24:442 | this access | UseUseExplosion.cs:24:2818:24:2823 | this access | | UseUseExplosion.cs:24:456:24:459 | [post] this access | UseUseExplosion.cs:24:473:24:476 | this access | | UseUseExplosion.cs:24:456:24:459 | [post] this access | UseUseExplosion.cs:24:2803:24:2808 | this access | | UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:456:24:464 | ... > ... | | UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:473:24:476 | access to property Prop | -| UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:2803:24:2808 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:456:24:459 | access to property Prop | UseUseExplosion.cs:24:2803:24:2809 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:456:24:459 | this access | UseUseExplosion.cs:24:473:24:476 | this access | | UseUseExplosion.cs:24:456:24:459 | this access | UseUseExplosion.cs:24:2803:24:2808 | this access | | UseUseExplosion.cs:24:473:24:476 | [post] this access | UseUseExplosion.cs:24:490:24:493 | this access | | UseUseExplosion.cs:24:473:24:476 | [post] this access | UseUseExplosion.cs:24:2788:24:2793 | this access | | UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:473:24:481 | ... > ... | | UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:490:24:493 | access to property Prop | -| UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:2788:24:2793 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:473:24:476 | access to property Prop | UseUseExplosion.cs:24:2788:24:2794 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:473:24:476 | this access | UseUseExplosion.cs:24:490:24:493 | this access | | UseUseExplosion.cs:24:473:24:476 | this access | UseUseExplosion.cs:24:2788:24:2793 | this access | | UseUseExplosion.cs:24:490:24:493 | [post] this access | UseUseExplosion.cs:24:507:24:510 | this access | | UseUseExplosion.cs:24:490:24:493 | [post] this access | UseUseExplosion.cs:24:2773:24:2778 | this access | | UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:490:24:498 | ... > ... | | UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:507:24:510 | access to property Prop | -| UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:2773:24:2778 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:490:24:493 | access to property Prop | UseUseExplosion.cs:24:2773:24:2779 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:490:24:493 | this access | UseUseExplosion.cs:24:507:24:510 | this access | | UseUseExplosion.cs:24:490:24:493 | this access | UseUseExplosion.cs:24:2773:24:2778 | this access | | UseUseExplosion.cs:24:507:24:510 | [post] this access | UseUseExplosion.cs:24:524:24:527 | this access | | UseUseExplosion.cs:24:507:24:510 | [post] this access | UseUseExplosion.cs:24:2758:24:2763 | this access | | UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:507:24:515 | ... > ... | | UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:524:24:527 | access to property Prop | -| UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:2758:24:2763 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:507:24:510 | access to property Prop | UseUseExplosion.cs:24:2758:24:2764 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:507:24:510 | this access | UseUseExplosion.cs:24:524:24:527 | this access | | UseUseExplosion.cs:24:507:24:510 | this access | UseUseExplosion.cs:24:2758:24:2763 | this access | | UseUseExplosion.cs:24:524:24:527 | [post] this access | UseUseExplosion.cs:24:541:24:544 | this access | | UseUseExplosion.cs:24:524:24:527 | [post] this access | UseUseExplosion.cs:24:2743:24:2748 | this access | | UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:524:24:532 | ... > ... | | UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:541:24:544 | access to property Prop | -| UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:2743:24:2748 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:524:24:527 | access to property Prop | UseUseExplosion.cs:24:2743:24:2749 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:524:24:527 | this access | UseUseExplosion.cs:24:541:24:544 | this access | | UseUseExplosion.cs:24:524:24:527 | this access | UseUseExplosion.cs:24:2743:24:2748 | this access | | UseUseExplosion.cs:24:541:24:544 | [post] this access | UseUseExplosion.cs:24:558:24:561 | this access | | UseUseExplosion.cs:24:541:24:544 | [post] this access | UseUseExplosion.cs:24:2728:24:2733 | this access | | UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:541:24:549 | ... > ... | | UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:558:24:561 | access to property Prop | -| UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:2728:24:2733 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:541:24:544 | access to property Prop | UseUseExplosion.cs:24:2728:24:2734 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:541:24:544 | this access | UseUseExplosion.cs:24:558:24:561 | this access | | UseUseExplosion.cs:24:541:24:544 | this access | UseUseExplosion.cs:24:2728:24:2733 | this access | | UseUseExplosion.cs:24:558:24:561 | [post] this access | UseUseExplosion.cs:24:575:24:578 | this access | | UseUseExplosion.cs:24:558:24:561 | [post] this access | UseUseExplosion.cs:24:2713:24:2718 | this access | | UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:558:24:566 | ... > ... | | UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:575:24:578 | access to property Prop | -| UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:2713:24:2718 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:558:24:561 | access to property Prop | UseUseExplosion.cs:24:2713:24:2719 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:558:24:561 | this access | UseUseExplosion.cs:24:575:24:578 | this access | | UseUseExplosion.cs:24:558:24:561 | this access | UseUseExplosion.cs:24:2713:24:2718 | this access | | UseUseExplosion.cs:24:575:24:578 | [post] this access | UseUseExplosion.cs:24:592:24:595 | this access | | UseUseExplosion.cs:24:575:24:578 | [post] this access | UseUseExplosion.cs:24:2698:24:2703 | this access | | UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:575:24:583 | ... > ... | | UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:592:24:595 | access to property Prop | -| UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:2698:24:2703 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:575:24:578 | access to property Prop | UseUseExplosion.cs:24:2698:24:2704 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:575:24:578 | this access | UseUseExplosion.cs:24:592:24:595 | this access | | UseUseExplosion.cs:24:575:24:578 | this access | UseUseExplosion.cs:24:2698:24:2703 | this access | | UseUseExplosion.cs:24:592:24:595 | [post] this access | UseUseExplosion.cs:24:609:24:612 | this access | | UseUseExplosion.cs:24:592:24:595 | [post] this access | UseUseExplosion.cs:24:2683:24:2688 | this access | | UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:592:24:600 | ... > ... | | UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:609:24:612 | access to property Prop | -| UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:2683:24:2688 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:592:24:595 | access to property Prop | UseUseExplosion.cs:24:2683:24:2689 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:592:24:595 | this access | UseUseExplosion.cs:24:609:24:612 | this access | | UseUseExplosion.cs:24:592:24:595 | this access | UseUseExplosion.cs:24:2683:24:2688 | this access | | UseUseExplosion.cs:24:609:24:612 | [post] this access | UseUseExplosion.cs:24:626:24:629 | this access | | UseUseExplosion.cs:24:609:24:612 | [post] this access | UseUseExplosion.cs:24:2668:24:2673 | this access | | UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:609:24:617 | ... > ... | | UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:626:24:629 | access to property Prop | -| UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:2668:24:2673 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:609:24:612 | access to property Prop | UseUseExplosion.cs:24:2668:24:2674 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:609:24:612 | this access | UseUseExplosion.cs:24:626:24:629 | this access | | UseUseExplosion.cs:24:609:24:612 | this access | UseUseExplosion.cs:24:2668:24:2673 | this access | | UseUseExplosion.cs:24:626:24:629 | [post] this access | UseUseExplosion.cs:24:643:24:646 | this access | | UseUseExplosion.cs:24:626:24:629 | [post] this access | UseUseExplosion.cs:24:2653:24:2658 | this access | | UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:626:24:634 | ... > ... | | UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:643:24:646 | access to property Prop | -| UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:2653:24:2658 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:626:24:629 | access to property Prop | UseUseExplosion.cs:24:2653:24:2659 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:626:24:629 | this access | UseUseExplosion.cs:24:643:24:646 | this access | | UseUseExplosion.cs:24:626:24:629 | this access | UseUseExplosion.cs:24:2653:24:2658 | this access | | UseUseExplosion.cs:24:643:24:646 | [post] this access | UseUseExplosion.cs:24:660:24:663 | this access | | UseUseExplosion.cs:24:643:24:646 | [post] this access | UseUseExplosion.cs:24:2638:24:2643 | this access | | UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:643:24:651 | ... > ... | | UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:660:24:663 | access to property Prop | -| UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:2638:24:2643 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:643:24:646 | access to property Prop | UseUseExplosion.cs:24:2638:24:2644 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:643:24:646 | this access | UseUseExplosion.cs:24:660:24:663 | this access | | UseUseExplosion.cs:24:643:24:646 | this access | UseUseExplosion.cs:24:2638:24:2643 | this access | | UseUseExplosion.cs:24:660:24:663 | [post] this access | UseUseExplosion.cs:24:677:24:680 | this access | | UseUseExplosion.cs:24:660:24:663 | [post] this access | UseUseExplosion.cs:24:2623:24:2628 | this access | | UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:660:24:668 | ... > ... | | UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:677:24:680 | access to property Prop | -| UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:2623:24:2628 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:660:24:663 | access to property Prop | UseUseExplosion.cs:24:2623:24:2629 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:660:24:663 | this access | UseUseExplosion.cs:24:677:24:680 | this access | | UseUseExplosion.cs:24:660:24:663 | this access | UseUseExplosion.cs:24:2623:24:2628 | this access | | UseUseExplosion.cs:24:677:24:680 | [post] this access | UseUseExplosion.cs:24:694:24:697 | this access | | UseUseExplosion.cs:24:677:24:680 | [post] this access | UseUseExplosion.cs:24:2608:24:2613 | this access | | UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:677:24:685 | ... > ... | | UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:694:24:697 | access to property Prop | -| UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:2608:24:2613 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:677:24:680 | access to property Prop | UseUseExplosion.cs:24:2608:24:2614 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:677:24:680 | this access | UseUseExplosion.cs:24:694:24:697 | this access | | UseUseExplosion.cs:24:677:24:680 | this access | UseUseExplosion.cs:24:2608:24:2613 | this access | | UseUseExplosion.cs:24:694:24:697 | [post] this access | UseUseExplosion.cs:24:711:24:714 | this access | | UseUseExplosion.cs:24:694:24:697 | [post] this access | UseUseExplosion.cs:24:2593:24:2598 | this access | | UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:694:24:702 | ... > ... | | UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:711:24:714 | access to property Prop | -| UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:2593:24:2598 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:694:24:697 | access to property Prop | UseUseExplosion.cs:24:2593:24:2599 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:694:24:697 | this access | UseUseExplosion.cs:24:711:24:714 | this access | | UseUseExplosion.cs:24:694:24:697 | this access | UseUseExplosion.cs:24:2593:24:2598 | this access | | UseUseExplosion.cs:24:711:24:714 | [post] this access | UseUseExplosion.cs:24:728:24:731 | this access | | UseUseExplosion.cs:24:711:24:714 | [post] this access | UseUseExplosion.cs:24:2578:24:2583 | this access | | UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:711:24:719 | ... > ... | | UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:728:24:731 | access to property Prop | -| UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:2578:24:2583 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:711:24:714 | access to property Prop | UseUseExplosion.cs:24:2578:24:2584 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:711:24:714 | this access | UseUseExplosion.cs:24:728:24:731 | this access | | UseUseExplosion.cs:24:711:24:714 | this access | UseUseExplosion.cs:24:2578:24:2583 | this access | | UseUseExplosion.cs:24:728:24:731 | [post] this access | UseUseExplosion.cs:24:745:24:748 | this access | | UseUseExplosion.cs:24:728:24:731 | [post] this access | UseUseExplosion.cs:24:2563:24:2568 | this access | | UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:728:24:736 | ... > ... | | UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:745:24:748 | access to property Prop | -| UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:2563:24:2568 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:728:24:731 | access to property Prop | UseUseExplosion.cs:24:2563:24:2569 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:728:24:731 | this access | UseUseExplosion.cs:24:745:24:748 | this access | | UseUseExplosion.cs:24:728:24:731 | this access | UseUseExplosion.cs:24:2563:24:2568 | this access | | UseUseExplosion.cs:24:745:24:748 | [post] this access | UseUseExplosion.cs:24:762:24:765 | this access | | UseUseExplosion.cs:24:745:24:748 | [post] this access | UseUseExplosion.cs:24:2548:24:2553 | this access | | UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:745:24:753 | ... > ... | | UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:762:24:765 | access to property Prop | -| UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:2548:24:2553 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:745:24:748 | access to property Prop | UseUseExplosion.cs:24:2548:24:2554 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:745:24:748 | this access | UseUseExplosion.cs:24:762:24:765 | this access | | UseUseExplosion.cs:24:745:24:748 | this access | UseUseExplosion.cs:24:2548:24:2553 | this access | | UseUseExplosion.cs:24:762:24:765 | [post] this access | UseUseExplosion.cs:24:779:24:782 | this access | | UseUseExplosion.cs:24:762:24:765 | [post] this access | UseUseExplosion.cs:24:2533:24:2538 | this access | | UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:762:24:770 | ... > ... | | UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:779:24:782 | access to property Prop | -| UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:2533:24:2538 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:762:24:765 | access to property Prop | UseUseExplosion.cs:24:2533:24:2539 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:762:24:765 | this access | UseUseExplosion.cs:24:779:24:782 | this access | | UseUseExplosion.cs:24:762:24:765 | this access | UseUseExplosion.cs:24:2533:24:2538 | this access | | UseUseExplosion.cs:24:779:24:782 | [post] this access | UseUseExplosion.cs:24:796:24:799 | this access | | UseUseExplosion.cs:24:779:24:782 | [post] this access | UseUseExplosion.cs:24:2518:24:2523 | this access | | UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:779:24:787 | ... > ... | | UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:796:24:799 | access to property Prop | -| UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:2518:24:2523 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:779:24:782 | access to property Prop | UseUseExplosion.cs:24:2518:24:2524 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:779:24:782 | this access | UseUseExplosion.cs:24:796:24:799 | this access | | UseUseExplosion.cs:24:779:24:782 | this access | UseUseExplosion.cs:24:2518:24:2523 | this access | | UseUseExplosion.cs:24:796:24:799 | [post] this access | UseUseExplosion.cs:24:813:24:816 | this access | | UseUseExplosion.cs:24:796:24:799 | [post] this access | UseUseExplosion.cs:24:2503:24:2508 | this access | | UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:796:24:804 | ... > ... | | UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:813:24:816 | access to property Prop | -| UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:2503:24:2508 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:796:24:799 | access to property Prop | UseUseExplosion.cs:24:2503:24:2509 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:796:24:799 | this access | UseUseExplosion.cs:24:813:24:816 | this access | | UseUseExplosion.cs:24:796:24:799 | this access | UseUseExplosion.cs:24:2503:24:2508 | this access | | UseUseExplosion.cs:24:813:24:816 | [post] this access | UseUseExplosion.cs:24:830:24:833 | this access | | UseUseExplosion.cs:24:813:24:816 | [post] this access | UseUseExplosion.cs:24:2488:24:2493 | this access | | UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:813:24:821 | ... > ... | | UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:830:24:833 | access to property Prop | -| UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:2488:24:2493 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:813:24:816 | access to property Prop | UseUseExplosion.cs:24:2488:24:2494 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:813:24:816 | this access | UseUseExplosion.cs:24:830:24:833 | this access | | UseUseExplosion.cs:24:813:24:816 | this access | UseUseExplosion.cs:24:2488:24:2493 | this access | | UseUseExplosion.cs:24:830:24:833 | [post] this access | UseUseExplosion.cs:24:847:24:850 | this access | | UseUseExplosion.cs:24:830:24:833 | [post] this access | UseUseExplosion.cs:24:2473:24:2478 | this access | | UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:830:24:838 | ... > ... | | UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:847:24:850 | access to property Prop | -| UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:2473:24:2478 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:830:24:833 | access to property Prop | UseUseExplosion.cs:24:2473:24:2479 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:830:24:833 | this access | UseUseExplosion.cs:24:847:24:850 | this access | | UseUseExplosion.cs:24:830:24:833 | this access | UseUseExplosion.cs:24:2473:24:2478 | this access | | UseUseExplosion.cs:24:847:24:850 | [post] this access | UseUseExplosion.cs:24:864:24:867 | this access | | UseUseExplosion.cs:24:847:24:850 | [post] this access | UseUseExplosion.cs:24:2458:24:2463 | this access | | UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:847:24:855 | ... > ... | | UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:864:24:867 | access to property Prop | -| UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:2458:24:2463 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:847:24:850 | access to property Prop | UseUseExplosion.cs:24:2458:24:2464 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:847:24:850 | this access | UseUseExplosion.cs:24:864:24:867 | this access | | UseUseExplosion.cs:24:847:24:850 | this access | UseUseExplosion.cs:24:2458:24:2463 | this access | | UseUseExplosion.cs:24:864:24:867 | [post] this access | UseUseExplosion.cs:24:881:24:884 | this access | | UseUseExplosion.cs:24:864:24:867 | [post] this access | UseUseExplosion.cs:24:2443:24:2448 | this access | | UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:864:24:872 | ... > ... | | UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:881:24:884 | access to property Prop | -| UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:2443:24:2448 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:864:24:867 | access to property Prop | UseUseExplosion.cs:24:2443:24:2449 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:864:24:867 | this access | UseUseExplosion.cs:24:881:24:884 | this access | | UseUseExplosion.cs:24:864:24:867 | this access | UseUseExplosion.cs:24:2443:24:2448 | this access | | UseUseExplosion.cs:24:881:24:884 | [post] this access | UseUseExplosion.cs:24:898:24:901 | this access | | UseUseExplosion.cs:24:881:24:884 | [post] this access | UseUseExplosion.cs:24:2428:24:2433 | this access | | UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:881:24:889 | ... > ... | | UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:898:24:901 | access to property Prop | -| UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:2428:24:2433 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:881:24:884 | access to property Prop | UseUseExplosion.cs:24:2428:24:2434 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:881:24:884 | this access | UseUseExplosion.cs:24:898:24:901 | this access | | UseUseExplosion.cs:24:881:24:884 | this access | UseUseExplosion.cs:24:2428:24:2433 | this access | | UseUseExplosion.cs:24:898:24:901 | [post] this access | UseUseExplosion.cs:24:915:24:918 | this access | | UseUseExplosion.cs:24:898:24:901 | [post] this access | UseUseExplosion.cs:24:2413:24:2418 | this access | | UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:898:24:906 | ... > ... | | UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:915:24:918 | access to property Prop | -| UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:2413:24:2418 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:898:24:901 | access to property Prop | UseUseExplosion.cs:24:2413:24:2419 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:898:24:901 | this access | UseUseExplosion.cs:24:915:24:918 | this access | | UseUseExplosion.cs:24:898:24:901 | this access | UseUseExplosion.cs:24:2413:24:2418 | this access | | UseUseExplosion.cs:24:915:24:918 | [post] this access | UseUseExplosion.cs:24:932:24:935 | this access | | UseUseExplosion.cs:24:915:24:918 | [post] this access | UseUseExplosion.cs:24:2398:24:2403 | this access | | UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:915:24:923 | ... > ... | | UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:932:24:935 | access to property Prop | -| UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:2398:24:2403 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:915:24:918 | access to property Prop | UseUseExplosion.cs:24:2398:24:2404 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:915:24:918 | this access | UseUseExplosion.cs:24:932:24:935 | this access | | UseUseExplosion.cs:24:915:24:918 | this access | UseUseExplosion.cs:24:2398:24:2403 | this access | | UseUseExplosion.cs:24:932:24:935 | [post] this access | UseUseExplosion.cs:24:949:24:952 | this access | | UseUseExplosion.cs:24:932:24:935 | [post] this access | UseUseExplosion.cs:24:2383:24:2388 | this access | | UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:932:24:940 | ... > ... | | UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:949:24:952 | access to property Prop | -| UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:2383:24:2388 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:932:24:935 | access to property Prop | UseUseExplosion.cs:24:2383:24:2389 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:932:24:935 | this access | UseUseExplosion.cs:24:949:24:952 | this access | | UseUseExplosion.cs:24:932:24:935 | this access | UseUseExplosion.cs:24:2383:24:2388 | this access | | UseUseExplosion.cs:24:949:24:952 | [post] this access | UseUseExplosion.cs:24:966:24:969 | this access | | UseUseExplosion.cs:24:949:24:952 | [post] this access | UseUseExplosion.cs:24:2368:24:2373 | this access | | UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:949:24:957 | ... > ... | | UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:966:24:969 | access to property Prop | -| UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:2368:24:2373 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:949:24:952 | access to property Prop | UseUseExplosion.cs:24:2368:24:2374 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:949:24:952 | this access | UseUseExplosion.cs:24:966:24:969 | this access | | UseUseExplosion.cs:24:949:24:952 | this access | UseUseExplosion.cs:24:2368:24:2373 | this access | | UseUseExplosion.cs:24:966:24:969 | [post] this access | UseUseExplosion.cs:24:983:24:986 | this access | | UseUseExplosion.cs:24:966:24:969 | [post] this access | UseUseExplosion.cs:24:2353:24:2358 | this access | | UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:966:24:974 | ... > ... | | UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:983:24:986 | access to property Prop | -| UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:2353:24:2358 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:966:24:969 | access to property Prop | UseUseExplosion.cs:24:2353:24:2359 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:966:24:969 | this access | UseUseExplosion.cs:24:983:24:986 | this access | | UseUseExplosion.cs:24:966:24:969 | this access | UseUseExplosion.cs:24:2353:24:2358 | this access | | UseUseExplosion.cs:24:983:24:986 | [post] this access | UseUseExplosion.cs:24:1000:24:1003 | this access | | UseUseExplosion.cs:24:983:24:986 | [post] this access | UseUseExplosion.cs:24:2338:24:2343 | this access | | UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:983:24:991 | ... > ... | | UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | -| UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:2338:24:2343 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:983:24:986 | access to property Prop | UseUseExplosion.cs:24:2338:24:2344 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:983:24:986 | this access | UseUseExplosion.cs:24:1000:24:1003 | this access | | UseUseExplosion.cs:24:983:24:986 | this access | UseUseExplosion.cs:24:2338:24:2343 | this access | | UseUseExplosion.cs:24:1000:24:1003 | [post] this access | UseUseExplosion.cs:24:1017:24:1020 | this access | | UseUseExplosion.cs:24:1000:24:1003 | [post] this access | UseUseExplosion.cs:24:2323:24:2328 | this access | | UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:1000:24:1008 | ... > ... | | UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | -| UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:2323:24:2328 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1000:24:1003 | access to property Prop | UseUseExplosion.cs:24:2323:24:2329 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1000:24:1003 | this access | UseUseExplosion.cs:24:1017:24:1020 | this access | | UseUseExplosion.cs:24:1000:24:1003 | this access | UseUseExplosion.cs:24:2323:24:2328 | this access | | UseUseExplosion.cs:24:1017:24:1020 | [post] this access | UseUseExplosion.cs:24:1034:24:1037 | this access | | UseUseExplosion.cs:24:1017:24:1020 | [post] this access | UseUseExplosion.cs:24:2308:24:2313 | this access | | UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:1017:24:1025 | ... > ... | | UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | -| UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:2308:24:2313 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1017:24:1020 | access to property Prop | UseUseExplosion.cs:24:2308:24:2314 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1017:24:1020 | this access | UseUseExplosion.cs:24:1034:24:1037 | this access | | UseUseExplosion.cs:24:1017:24:1020 | this access | UseUseExplosion.cs:24:2308:24:2313 | this access | | UseUseExplosion.cs:24:1034:24:1037 | [post] this access | UseUseExplosion.cs:24:1051:24:1054 | this access | | UseUseExplosion.cs:24:1034:24:1037 | [post] this access | UseUseExplosion.cs:24:2293:24:2298 | this access | | UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:1034:24:1042 | ... > ... | | UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | -| UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:2293:24:2298 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1034:24:1037 | access to property Prop | UseUseExplosion.cs:24:2293:24:2299 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1034:24:1037 | this access | UseUseExplosion.cs:24:1051:24:1054 | this access | | UseUseExplosion.cs:24:1034:24:1037 | this access | UseUseExplosion.cs:24:2293:24:2298 | this access | | UseUseExplosion.cs:24:1051:24:1054 | [post] this access | UseUseExplosion.cs:24:1068:24:1071 | this access | | UseUseExplosion.cs:24:1051:24:1054 | [post] this access | UseUseExplosion.cs:24:2278:24:2283 | this access | | UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:1051:24:1059 | ... > ... | | UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | -| UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:2278:24:2283 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1051:24:1054 | access to property Prop | UseUseExplosion.cs:24:2278:24:2284 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1051:24:1054 | this access | UseUseExplosion.cs:24:1068:24:1071 | this access | | UseUseExplosion.cs:24:1051:24:1054 | this access | UseUseExplosion.cs:24:2278:24:2283 | this access | | UseUseExplosion.cs:24:1068:24:1071 | [post] this access | UseUseExplosion.cs:24:1085:24:1088 | this access | | UseUseExplosion.cs:24:1068:24:1071 | [post] this access | UseUseExplosion.cs:24:2263:24:2268 | this access | | UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:1068:24:1076 | ... > ... | | UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | -| UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:2263:24:2268 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1068:24:1071 | access to property Prop | UseUseExplosion.cs:24:2263:24:2269 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1068:24:1071 | this access | UseUseExplosion.cs:24:1085:24:1088 | this access | | UseUseExplosion.cs:24:1068:24:1071 | this access | UseUseExplosion.cs:24:2263:24:2268 | this access | | UseUseExplosion.cs:24:1085:24:1088 | [post] this access | UseUseExplosion.cs:24:1102:24:1105 | this access | | UseUseExplosion.cs:24:1085:24:1088 | [post] this access | UseUseExplosion.cs:24:2248:24:2253 | this access | | UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:1085:24:1093 | ... > ... | | UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | -| UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:2248:24:2253 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1085:24:1088 | access to property Prop | UseUseExplosion.cs:24:2248:24:2254 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1085:24:1088 | this access | UseUseExplosion.cs:24:1102:24:1105 | this access | | UseUseExplosion.cs:24:1085:24:1088 | this access | UseUseExplosion.cs:24:2248:24:2253 | this access | | UseUseExplosion.cs:24:1102:24:1105 | [post] this access | UseUseExplosion.cs:24:1119:24:1122 | this access | | UseUseExplosion.cs:24:1102:24:1105 | [post] this access | UseUseExplosion.cs:24:2233:24:2238 | this access | | UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:1102:24:1110 | ... > ... | | UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | -| UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:2233:24:2238 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1102:24:1105 | access to property Prop | UseUseExplosion.cs:24:2233:24:2239 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1102:24:1105 | this access | UseUseExplosion.cs:24:1119:24:1122 | this access | | UseUseExplosion.cs:24:1102:24:1105 | this access | UseUseExplosion.cs:24:2233:24:2238 | this access | | UseUseExplosion.cs:24:1119:24:1122 | [post] this access | UseUseExplosion.cs:24:1136:24:1139 | this access | | UseUseExplosion.cs:24:1119:24:1122 | [post] this access | UseUseExplosion.cs:24:2218:24:2223 | this access | | UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:1119:24:1127 | ... > ... | | UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | -| UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:2218:24:2223 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1119:24:1122 | access to property Prop | UseUseExplosion.cs:24:2218:24:2224 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1119:24:1122 | this access | UseUseExplosion.cs:24:1136:24:1139 | this access | | UseUseExplosion.cs:24:1119:24:1122 | this access | UseUseExplosion.cs:24:2218:24:2223 | this access | | UseUseExplosion.cs:24:1136:24:1139 | [post] this access | UseUseExplosion.cs:24:1153:24:1156 | this access | | UseUseExplosion.cs:24:1136:24:1139 | [post] this access | UseUseExplosion.cs:24:2203:24:2208 | this access | | UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:1136:24:1144 | ... > ... | | UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | -| UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:2203:24:2208 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1136:24:1139 | access to property Prop | UseUseExplosion.cs:24:2203:24:2209 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1136:24:1139 | this access | UseUseExplosion.cs:24:1153:24:1156 | this access | | UseUseExplosion.cs:24:1136:24:1139 | this access | UseUseExplosion.cs:24:2203:24:2208 | this access | | UseUseExplosion.cs:24:1153:24:1156 | [post] this access | UseUseExplosion.cs:24:1170:24:1173 | this access | | UseUseExplosion.cs:24:1153:24:1156 | [post] this access | UseUseExplosion.cs:24:2188:24:2193 | this access | | UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:1153:24:1161 | ... > ... | | UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | -| UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:2188:24:2193 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1153:24:1156 | access to property Prop | UseUseExplosion.cs:24:2188:24:2194 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1153:24:1156 | this access | UseUseExplosion.cs:24:1170:24:1173 | this access | | UseUseExplosion.cs:24:1153:24:1156 | this access | UseUseExplosion.cs:24:2188:24:2193 | this access | | UseUseExplosion.cs:24:1170:24:1173 | [post] this access | UseUseExplosion.cs:24:1187:24:1190 | this access | | UseUseExplosion.cs:24:1170:24:1173 | [post] this access | UseUseExplosion.cs:24:2173:24:2178 | this access | | UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:1170:24:1178 | ... > ... | | UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | -| UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:2173:24:2178 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1170:24:1173 | access to property Prop | UseUseExplosion.cs:24:2173:24:2179 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1170:24:1173 | this access | UseUseExplosion.cs:24:1187:24:1190 | this access | | UseUseExplosion.cs:24:1170:24:1173 | this access | UseUseExplosion.cs:24:2173:24:2178 | this access | | UseUseExplosion.cs:24:1187:24:1190 | [post] this access | UseUseExplosion.cs:24:1204:24:1207 | this access | | UseUseExplosion.cs:24:1187:24:1190 | [post] this access | UseUseExplosion.cs:24:2158:24:2163 | this access | | UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:1187:24:1195 | ... > ... | | UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | -| UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:2158:24:2163 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1187:24:1190 | access to property Prop | UseUseExplosion.cs:24:2158:24:2164 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1187:24:1190 | this access | UseUseExplosion.cs:24:1204:24:1207 | this access | | UseUseExplosion.cs:24:1187:24:1190 | this access | UseUseExplosion.cs:24:2158:24:2163 | this access | | UseUseExplosion.cs:24:1204:24:1207 | [post] this access | UseUseExplosion.cs:24:1221:24:1224 | this access | | UseUseExplosion.cs:24:1204:24:1207 | [post] this access | UseUseExplosion.cs:24:2143:24:2148 | this access | | UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:1204:24:1212 | ... > ... | | UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | -| UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:2143:24:2148 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1204:24:1207 | access to property Prop | UseUseExplosion.cs:24:2143:24:2149 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1204:24:1207 | this access | UseUseExplosion.cs:24:1221:24:1224 | this access | | UseUseExplosion.cs:24:1204:24:1207 | this access | UseUseExplosion.cs:24:2143:24:2148 | this access | | UseUseExplosion.cs:24:1221:24:1224 | [post] this access | UseUseExplosion.cs:24:1238:24:1241 | this access | | UseUseExplosion.cs:24:1221:24:1224 | [post] this access | UseUseExplosion.cs:24:2128:24:2133 | this access | | UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:1221:24:1229 | ... > ... | | UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | -| UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:2128:24:2133 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1221:24:1224 | access to property Prop | UseUseExplosion.cs:24:2128:24:2134 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1221:24:1224 | this access | UseUseExplosion.cs:24:1238:24:1241 | this access | | UseUseExplosion.cs:24:1221:24:1224 | this access | UseUseExplosion.cs:24:2128:24:2133 | this access | | UseUseExplosion.cs:24:1238:24:1241 | [post] this access | UseUseExplosion.cs:24:1255:24:1258 | this access | | UseUseExplosion.cs:24:1238:24:1241 | [post] this access | UseUseExplosion.cs:24:2113:24:2118 | this access | | UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:1238:24:1246 | ... > ... | | UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | -| UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:2113:24:2118 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1238:24:1241 | access to property Prop | UseUseExplosion.cs:24:2113:24:2119 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1238:24:1241 | this access | UseUseExplosion.cs:24:1255:24:1258 | this access | | UseUseExplosion.cs:24:1238:24:1241 | this access | UseUseExplosion.cs:24:2113:24:2118 | this access | | UseUseExplosion.cs:24:1255:24:1258 | [post] this access | UseUseExplosion.cs:24:1272:24:1275 | this access | | UseUseExplosion.cs:24:1255:24:1258 | [post] this access | UseUseExplosion.cs:24:2098:24:2103 | this access | | UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:1255:24:1263 | ... > ... | | UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | -| UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:2098:24:2103 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1255:24:1258 | access to property Prop | UseUseExplosion.cs:24:2098:24:2104 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1255:24:1258 | this access | UseUseExplosion.cs:24:1272:24:1275 | this access | | UseUseExplosion.cs:24:1255:24:1258 | this access | UseUseExplosion.cs:24:2098:24:2103 | this access | | UseUseExplosion.cs:24:1272:24:1275 | [post] this access | UseUseExplosion.cs:24:1289:24:1292 | this access | | UseUseExplosion.cs:24:1272:24:1275 | [post] this access | UseUseExplosion.cs:24:2083:24:2088 | this access | | UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:1272:24:1280 | ... > ... | | UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | -| UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:2083:24:2088 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1272:24:1275 | access to property Prop | UseUseExplosion.cs:24:2083:24:2089 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1272:24:1275 | this access | UseUseExplosion.cs:24:1289:24:1292 | this access | | UseUseExplosion.cs:24:1272:24:1275 | this access | UseUseExplosion.cs:24:2083:24:2088 | this access | | UseUseExplosion.cs:24:1289:24:1292 | [post] this access | UseUseExplosion.cs:24:1306:24:1309 | this access | | UseUseExplosion.cs:24:1289:24:1292 | [post] this access | UseUseExplosion.cs:24:2068:24:2073 | this access | | UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:1289:24:1297 | ... > ... | | UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | -| UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:2068:24:2073 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1289:24:1292 | access to property Prop | UseUseExplosion.cs:24:2068:24:2074 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1289:24:1292 | this access | UseUseExplosion.cs:24:1306:24:1309 | this access | | UseUseExplosion.cs:24:1289:24:1292 | this access | UseUseExplosion.cs:24:2068:24:2073 | this access | | UseUseExplosion.cs:24:1306:24:1309 | [post] this access | UseUseExplosion.cs:24:1323:24:1326 | this access | | UseUseExplosion.cs:24:1306:24:1309 | [post] this access | UseUseExplosion.cs:24:2053:24:2058 | this access | | UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:1306:24:1314 | ... > ... | | UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | -| UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:2053:24:2058 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1306:24:1309 | access to property Prop | UseUseExplosion.cs:24:2053:24:2059 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1306:24:1309 | this access | UseUseExplosion.cs:24:1323:24:1326 | this access | | UseUseExplosion.cs:24:1306:24:1309 | this access | UseUseExplosion.cs:24:2053:24:2058 | this access | | UseUseExplosion.cs:24:1323:24:1326 | [post] this access | UseUseExplosion.cs:24:1340:24:1343 | this access | | UseUseExplosion.cs:24:1323:24:1326 | [post] this access | UseUseExplosion.cs:24:2038:24:2043 | this access | | UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:1323:24:1331 | ... > ... | | UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | -| UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:2038:24:2043 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1323:24:1326 | access to property Prop | UseUseExplosion.cs:24:2038:24:2044 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1323:24:1326 | this access | UseUseExplosion.cs:24:1340:24:1343 | this access | | UseUseExplosion.cs:24:1323:24:1326 | this access | UseUseExplosion.cs:24:2038:24:2043 | this access | | UseUseExplosion.cs:24:1340:24:1343 | [post] this access | UseUseExplosion.cs:24:1357:24:1360 | this access | | UseUseExplosion.cs:24:1340:24:1343 | [post] this access | UseUseExplosion.cs:24:2023:24:2028 | this access | | UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:1340:24:1348 | ... > ... | | UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | -| UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:2023:24:2028 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1340:24:1343 | access to property Prop | UseUseExplosion.cs:24:2023:24:2029 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1340:24:1343 | this access | UseUseExplosion.cs:24:1357:24:1360 | this access | | UseUseExplosion.cs:24:1340:24:1343 | this access | UseUseExplosion.cs:24:2023:24:2028 | this access | | UseUseExplosion.cs:24:1357:24:1360 | [post] this access | UseUseExplosion.cs:24:1374:24:1377 | this access | | UseUseExplosion.cs:24:1357:24:1360 | [post] this access | UseUseExplosion.cs:24:2008:24:2013 | this access | | UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:1357:24:1365 | ... > ... | | UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | -| UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:2008:24:2013 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1357:24:1360 | access to property Prop | UseUseExplosion.cs:24:2008:24:2014 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1357:24:1360 | this access | UseUseExplosion.cs:24:1374:24:1377 | this access | | UseUseExplosion.cs:24:1357:24:1360 | this access | UseUseExplosion.cs:24:2008:24:2013 | this access | | UseUseExplosion.cs:24:1374:24:1377 | [post] this access | UseUseExplosion.cs:24:1391:24:1394 | this access | | UseUseExplosion.cs:24:1374:24:1377 | [post] this access | UseUseExplosion.cs:24:1993:24:1998 | this access | | UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1374:24:1382 | ... > ... | | UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | -| UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1993:24:1998 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1374:24:1377 | access to property Prop | UseUseExplosion.cs:24:1993:24:1999 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1374:24:1377 | this access | UseUseExplosion.cs:24:1391:24:1394 | this access | | UseUseExplosion.cs:24:1374:24:1377 | this access | UseUseExplosion.cs:24:1993:24:1998 | this access | | UseUseExplosion.cs:24:1391:24:1394 | [post] this access | UseUseExplosion.cs:24:1408:24:1411 | this access | | UseUseExplosion.cs:24:1391:24:1394 | [post] this access | UseUseExplosion.cs:24:1978:24:1983 | this access | | UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1391:24:1399 | ... > ... | | UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | -| UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1978:24:1983 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1391:24:1394 | access to property Prop | UseUseExplosion.cs:24:1978:24:1984 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1391:24:1394 | this access | UseUseExplosion.cs:24:1408:24:1411 | this access | | UseUseExplosion.cs:24:1391:24:1394 | this access | UseUseExplosion.cs:24:1978:24:1983 | this access | | UseUseExplosion.cs:24:1408:24:1411 | [post] this access | UseUseExplosion.cs:24:1425:24:1428 | this access | | UseUseExplosion.cs:24:1408:24:1411 | [post] this access | UseUseExplosion.cs:24:1963:24:1968 | this access | | UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1408:24:1416 | ... > ... | | UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | -| UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1963:24:1968 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1408:24:1411 | access to property Prop | UseUseExplosion.cs:24:1963:24:1969 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1408:24:1411 | this access | UseUseExplosion.cs:24:1425:24:1428 | this access | | UseUseExplosion.cs:24:1408:24:1411 | this access | UseUseExplosion.cs:24:1963:24:1968 | this access | | UseUseExplosion.cs:24:1425:24:1428 | [post] this access | UseUseExplosion.cs:24:1442:24:1445 | this access | | UseUseExplosion.cs:24:1425:24:1428 | [post] this access | UseUseExplosion.cs:24:1948:24:1953 | this access | | UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1425:24:1433 | ... > ... | | UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | -| UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1948:24:1953 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1425:24:1428 | access to property Prop | UseUseExplosion.cs:24:1948:24:1954 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1425:24:1428 | this access | UseUseExplosion.cs:24:1442:24:1445 | this access | | UseUseExplosion.cs:24:1425:24:1428 | this access | UseUseExplosion.cs:24:1948:24:1953 | this access | | UseUseExplosion.cs:24:1442:24:1445 | [post] this access | UseUseExplosion.cs:24:1459:24:1462 | this access | | UseUseExplosion.cs:24:1442:24:1445 | [post] this access | UseUseExplosion.cs:24:1933:24:1938 | this access | | UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1442:24:1450 | ... > ... | | UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | -| UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1933:24:1938 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1442:24:1445 | access to property Prop | UseUseExplosion.cs:24:1933:24:1939 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1442:24:1445 | this access | UseUseExplosion.cs:24:1459:24:1462 | this access | | UseUseExplosion.cs:24:1442:24:1445 | this access | UseUseExplosion.cs:24:1933:24:1938 | this access | | UseUseExplosion.cs:24:1459:24:1462 | [post] this access | UseUseExplosion.cs:24:1476:24:1479 | this access | | UseUseExplosion.cs:24:1459:24:1462 | [post] this access | UseUseExplosion.cs:24:1918:24:1923 | this access | | UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1459:24:1467 | ... > ... | | UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | -| UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1918:24:1923 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1459:24:1462 | access to property Prop | UseUseExplosion.cs:24:1918:24:1924 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1459:24:1462 | this access | UseUseExplosion.cs:24:1476:24:1479 | this access | | UseUseExplosion.cs:24:1459:24:1462 | this access | UseUseExplosion.cs:24:1918:24:1923 | this access | | UseUseExplosion.cs:24:1476:24:1479 | [post] this access | UseUseExplosion.cs:24:1493:24:1496 | this access | | UseUseExplosion.cs:24:1476:24:1479 | [post] this access | UseUseExplosion.cs:24:1903:24:1908 | this access | | UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1476:24:1484 | ... > ... | | UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | -| UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1903:24:1908 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1476:24:1479 | access to property Prop | UseUseExplosion.cs:24:1903:24:1909 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1476:24:1479 | this access | UseUseExplosion.cs:24:1493:24:1496 | this access | | UseUseExplosion.cs:24:1476:24:1479 | this access | UseUseExplosion.cs:24:1903:24:1908 | this access | | UseUseExplosion.cs:24:1493:24:1496 | [post] this access | UseUseExplosion.cs:24:1510:24:1513 | this access | | UseUseExplosion.cs:24:1493:24:1496 | [post] this access | UseUseExplosion.cs:24:1888:24:1893 | this access | | UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1493:24:1501 | ... > ... | | UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | -| UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1888:24:1893 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1493:24:1496 | access to property Prop | UseUseExplosion.cs:24:1888:24:1894 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1493:24:1496 | this access | UseUseExplosion.cs:24:1510:24:1513 | this access | | UseUseExplosion.cs:24:1493:24:1496 | this access | UseUseExplosion.cs:24:1888:24:1893 | this access | | UseUseExplosion.cs:24:1510:24:1513 | [post] this access | UseUseExplosion.cs:24:1527:24:1530 | this access | | UseUseExplosion.cs:24:1510:24:1513 | [post] this access | UseUseExplosion.cs:24:1873:24:1878 | this access | | UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1510:24:1518 | ... > ... | | UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | -| UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1873:24:1878 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1510:24:1513 | access to property Prop | UseUseExplosion.cs:24:1873:24:1879 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1510:24:1513 | this access | UseUseExplosion.cs:24:1527:24:1530 | this access | | UseUseExplosion.cs:24:1510:24:1513 | this access | UseUseExplosion.cs:24:1873:24:1878 | this access | | UseUseExplosion.cs:24:1527:24:1530 | [post] this access | UseUseExplosion.cs:24:1544:24:1547 | this access | | UseUseExplosion.cs:24:1527:24:1530 | [post] this access | UseUseExplosion.cs:24:1858:24:1863 | this access | | UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1527:24:1535 | ... > ... | | UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | -| UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1858:24:1863 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1527:24:1530 | access to property Prop | UseUseExplosion.cs:24:1858:24:1864 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1527:24:1530 | this access | UseUseExplosion.cs:24:1544:24:1547 | this access | | UseUseExplosion.cs:24:1527:24:1530 | this access | UseUseExplosion.cs:24:1858:24:1863 | this access | | UseUseExplosion.cs:24:1544:24:1547 | [post] this access | UseUseExplosion.cs:24:1561:24:1564 | this access | | UseUseExplosion.cs:24:1544:24:1547 | [post] this access | UseUseExplosion.cs:24:1843:24:1848 | this access | | UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1544:24:1552 | ... > ... | | UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | -| UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1843:24:1848 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1544:24:1547 | access to property Prop | UseUseExplosion.cs:24:1843:24:1849 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1544:24:1547 | this access | UseUseExplosion.cs:24:1561:24:1564 | this access | | UseUseExplosion.cs:24:1544:24:1547 | this access | UseUseExplosion.cs:24:1843:24:1848 | this access | | UseUseExplosion.cs:24:1561:24:1564 | [post] this access | UseUseExplosion.cs:24:1577:24:1580 | this access | | UseUseExplosion.cs:24:1561:24:1564 | [post] this access | UseUseExplosion.cs:24:1828:24:1833 | this access | | UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1561:24:1568 | ... > ... | | UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | -| UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1828:24:1833 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1561:24:1564 | access to property Prop | UseUseExplosion.cs:24:1828:24:1834 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1561:24:1564 | this access | UseUseExplosion.cs:24:1577:24:1580 | this access | | UseUseExplosion.cs:24:1561:24:1564 | this access | UseUseExplosion.cs:24:1828:24:1833 | this access | | UseUseExplosion.cs:24:1577:24:1580 | [post] this access | UseUseExplosion.cs:24:1593:24:1596 | this access | | UseUseExplosion.cs:24:1577:24:1580 | [post] this access | UseUseExplosion.cs:24:1813:24:1818 | this access | | UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1577:24:1584 | ... > ... | | UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | -| UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1813:24:1818 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1577:24:1580 | access to property Prop | UseUseExplosion.cs:24:1813:24:1819 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1577:24:1580 | this access | UseUseExplosion.cs:24:1593:24:1596 | this access | | UseUseExplosion.cs:24:1577:24:1580 | this access | UseUseExplosion.cs:24:1813:24:1818 | this access | | UseUseExplosion.cs:24:1593:24:1596 | [post] this access | UseUseExplosion.cs:24:1609:24:1612 | this access | | UseUseExplosion.cs:24:1593:24:1596 | [post] this access | UseUseExplosion.cs:24:1798:24:1803 | this access | | UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1593:24:1600 | ... > ... | | UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | -| UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1798:24:1803 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1593:24:1596 | access to property Prop | UseUseExplosion.cs:24:1798:24:1804 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1593:24:1596 | this access | UseUseExplosion.cs:24:1609:24:1612 | this access | | UseUseExplosion.cs:24:1593:24:1596 | this access | UseUseExplosion.cs:24:1798:24:1803 | this access | | UseUseExplosion.cs:24:1609:24:1612 | [post] this access | UseUseExplosion.cs:24:1625:24:1628 | this access | | UseUseExplosion.cs:24:1609:24:1612 | [post] this access | UseUseExplosion.cs:24:1783:24:1788 | this access | | UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1609:24:1616 | ... > ... | | UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | -| UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1783:24:1788 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1609:24:1612 | access to property Prop | UseUseExplosion.cs:24:1783:24:1789 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1609:24:1612 | this access | UseUseExplosion.cs:24:1625:24:1628 | this access | | UseUseExplosion.cs:24:1609:24:1612 | this access | UseUseExplosion.cs:24:1783:24:1788 | this access | | UseUseExplosion.cs:24:1625:24:1628 | [post] this access | UseUseExplosion.cs:24:1641:24:1644 | this access | | UseUseExplosion.cs:24:1625:24:1628 | [post] this access | UseUseExplosion.cs:24:1768:24:1773 | this access | | UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1625:24:1632 | ... > ... | | UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | -| UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1768:24:1773 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1625:24:1628 | access to property Prop | UseUseExplosion.cs:24:1768:24:1774 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1625:24:1628 | this access | UseUseExplosion.cs:24:1641:24:1644 | this access | | UseUseExplosion.cs:24:1625:24:1628 | this access | UseUseExplosion.cs:24:1768:24:1773 | this access | | UseUseExplosion.cs:24:1641:24:1644 | [post] this access | UseUseExplosion.cs:24:1657:24:1660 | this access | | UseUseExplosion.cs:24:1641:24:1644 | [post] this access | UseUseExplosion.cs:24:1753:24:1758 | this access | | UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1641:24:1648 | ... > ... | | UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | -| UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1753:24:1758 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1641:24:1644 | access to property Prop | UseUseExplosion.cs:24:1753:24:1759 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1641:24:1644 | this access | UseUseExplosion.cs:24:1657:24:1660 | this access | | UseUseExplosion.cs:24:1641:24:1644 | this access | UseUseExplosion.cs:24:1753:24:1758 | this access | | UseUseExplosion.cs:24:1657:24:1660 | [post] this access | UseUseExplosion.cs:24:1673:24:1676 | this access | | UseUseExplosion.cs:24:1657:24:1660 | [post] this access | UseUseExplosion.cs:24:1738:24:1743 | this access | | UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1657:24:1664 | ... > ... | | UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | -| UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1738:24:1743 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1657:24:1660 | access to property Prop | UseUseExplosion.cs:24:1738:24:1744 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1657:24:1660 | this access | UseUseExplosion.cs:24:1673:24:1676 | this access | | UseUseExplosion.cs:24:1657:24:1660 | this access | UseUseExplosion.cs:24:1738:24:1743 | this access | | UseUseExplosion.cs:24:1673:24:1676 | [post] this access | UseUseExplosion.cs:24:1689:24:1692 | this access | | UseUseExplosion.cs:24:1673:24:1676 | [post] this access | UseUseExplosion.cs:24:1723:24:1728 | this access | | UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1673:24:1680 | ... > ... | | UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | -| UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1723:24:1728 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1673:24:1676 | access to property Prop | UseUseExplosion.cs:24:1723:24:1729 | [input] SSA phi read(this.Prop) | | UseUseExplosion.cs:24:1673:24:1676 | this access | UseUseExplosion.cs:24:1689:24:1692 | this access | | UseUseExplosion.cs:24:1673:24:1676 | this access | UseUseExplosion.cs:24:1723:24:1728 | this access | | UseUseExplosion.cs:24:1689:24:1692 | [post] this access | UseUseExplosion.cs:24:1708:24:1713 | this access | | UseUseExplosion.cs:24:1689:24:1692 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:24:1689:24:1696 | ... > ... | -| UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(this.Prop) | -| UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:24:1708:24:1713 | [input] SSA phi read(this.Prop) | +| UseUseExplosion.cs:24:1689:24:1692 | access to property Prop | UseUseExplosion.cs:25:13:25:16 | access to property Prop | | UseUseExplosion.cs:24:1689:24:1692 | this access | UseUseExplosion.cs:24:1708:24:1713 | this access | | UseUseExplosion.cs:24:1689:24:1692 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | -| UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(x) | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1708:24:1713 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1699:24:1701 | [input] SSA phi read(x) | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1708:24:1713 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1708:24:1713 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1712:24:1712 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1723:24:1728 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1712:24:1712 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1723:24:1728 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1723:24:1728 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1727:24:1727 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1738:24:1743 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1723:24:1729 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1727:24:1727 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1738:24:1743 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1738:24:1743 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1742:24:1742 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1753:24:1758 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1738:24:1744 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1742:24:1742 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1753:24:1758 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1753:24:1758 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1757:24:1757 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1768:24:1773 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1753:24:1759 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1757:24:1757 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1768:24:1773 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1768:24:1773 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1772:24:1772 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1783:24:1788 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1768:24:1774 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1772:24:1772 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1783:24:1788 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1783:24:1788 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1787:24:1787 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1798:24:1803 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1783:24:1789 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1787:24:1787 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1798:24:1803 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1798:24:1803 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1802:24:1802 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1813:24:1818 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1798:24:1804 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1802:24:1802 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1813:24:1818 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1813:24:1818 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1817:24:1817 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1828:24:1833 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1813:24:1819 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1817:24:1817 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1828:24:1833 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1828:24:1833 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1832:24:1832 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1843:24:1848 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1828:24:1834 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1832:24:1832 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1843:24:1848 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1843:24:1848 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1847:24:1847 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1858:24:1863 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1843:24:1849 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1847:24:1847 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1858:24:1863 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1858:24:1863 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1862:24:1862 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1873:24:1878 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1858:24:1864 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1862:24:1862 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1873:24:1878 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1873:24:1878 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1877:24:1877 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1888:24:1893 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1873:24:1879 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1877:24:1877 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1888:24:1893 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1888:24:1893 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1892:24:1892 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1903:24:1908 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1888:24:1894 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1892:24:1892 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1903:24:1908 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1903:24:1908 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1907:24:1907 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1918:24:1923 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1903:24:1909 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1907:24:1907 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1918:24:1923 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1918:24:1923 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1922:24:1922 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1933:24:1938 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1918:24:1924 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1922:24:1922 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1933:24:1938 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1933:24:1938 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1937:24:1937 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1948:24:1953 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1933:24:1939 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1937:24:1937 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1948:24:1953 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1948:24:1953 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1952:24:1952 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1963:24:1968 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1948:24:1954 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1952:24:1952 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1963:24:1968 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1963:24:1968 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1967:24:1967 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1978:24:1983 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1963:24:1969 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1967:24:1967 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1978:24:1983 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1978:24:1983 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1982:24:1982 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:1993:24:1998 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1978:24:1984 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1982:24:1982 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:1993:24:1998 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:1993:24:1998 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:1997:24:1997 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2008:24:2013 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1993:24:1999 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:1997:24:1997 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2008:24:2013 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2008:24:2013 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2012:24:2012 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2023:24:2028 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2008:24:2014 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2012:24:2012 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2023:24:2028 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2023:24:2028 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2027:24:2027 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2038:24:2043 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2023:24:2029 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2027:24:2027 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2038:24:2043 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2038:24:2043 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2042:24:2042 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2053:24:2058 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2038:24:2044 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2042:24:2042 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2053:24:2058 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2053:24:2058 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2057:24:2057 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2068:24:2073 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2053:24:2059 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2057:24:2057 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2068:24:2073 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2068:24:2073 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2072:24:2072 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2083:24:2088 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2068:24:2074 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2072:24:2072 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2083:24:2088 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2083:24:2088 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2087:24:2087 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2098:24:2103 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2083:24:2089 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2087:24:2087 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2098:24:2103 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2098:24:2103 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2102:24:2102 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2113:24:2118 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2098:24:2104 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2102:24:2102 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2113:24:2118 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2113:24:2118 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2117:24:2117 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2128:24:2133 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2113:24:2119 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2117:24:2117 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2128:24:2133 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2128:24:2133 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2132:24:2132 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2143:24:2148 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2128:24:2134 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2132:24:2132 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2143:24:2148 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2143:24:2148 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2147:24:2147 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2158:24:2163 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2143:24:2149 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2147:24:2147 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2158:24:2163 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2158:24:2163 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2162:24:2162 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2173:24:2178 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2158:24:2164 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2162:24:2162 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2173:24:2178 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2173:24:2178 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2177:24:2177 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2188:24:2193 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2173:24:2179 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2177:24:2177 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2188:24:2193 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2188:24:2193 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2192:24:2192 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2203:24:2208 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2188:24:2194 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2192:24:2192 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2203:24:2208 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2203:24:2208 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2207:24:2207 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2218:24:2223 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2203:24:2209 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2207:24:2207 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2218:24:2223 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2218:24:2223 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2222:24:2222 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2233:24:2238 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2218:24:2224 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2222:24:2222 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2233:24:2238 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2233:24:2238 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2237:24:2237 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2248:24:2253 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2233:24:2239 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2237:24:2237 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2248:24:2253 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2248:24:2253 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2252:24:2252 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2263:24:2268 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2248:24:2254 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2252:24:2252 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2263:24:2268 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2263:24:2268 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2267:24:2267 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2278:24:2283 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2263:24:2269 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2267:24:2267 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2278:24:2283 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2278:24:2283 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2282:24:2282 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2293:24:2298 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2278:24:2284 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2282:24:2282 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2293:24:2298 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2293:24:2298 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2297:24:2297 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2308:24:2313 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2293:24:2299 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2297:24:2297 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2308:24:2313 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2308:24:2313 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2312:24:2312 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2323:24:2328 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2308:24:2314 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2312:24:2312 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2323:24:2328 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2323:24:2328 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2327:24:2327 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2338:24:2343 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2323:24:2329 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2327:24:2327 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2338:24:2343 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2338:24:2343 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2342:24:2342 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2353:24:2358 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2338:24:2344 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2342:24:2342 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2353:24:2358 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2353:24:2358 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2357:24:2357 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2368:24:2373 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2353:24:2359 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2357:24:2357 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2368:24:2373 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2368:24:2373 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2372:24:2372 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2383:24:2388 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2368:24:2374 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2372:24:2372 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2383:24:2388 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2383:24:2388 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2387:24:2387 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2398:24:2403 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2383:24:2389 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2387:24:2387 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2398:24:2403 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2398:24:2403 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2402:24:2402 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2413:24:2418 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2398:24:2404 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2402:24:2402 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2413:24:2418 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2413:24:2418 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2417:24:2417 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2428:24:2433 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2413:24:2419 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2417:24:2417 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2428:24:2433 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2428:24:2433 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2432:24:2432 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2443:24:2448 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2428:24:2434 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2432:24:2432 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2443:24:2448 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2443:24:2448 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2447:24:2447 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2458:24:2463 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2443:24:2449 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2447:24:2447 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2458:24:2463 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2458:24:2463 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2462:24:2462 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2473:24:2478 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2458:24:2464 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2462:24:2462 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2473:24:2478 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2473:24:2478 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2477:24:2477 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2488:24:2493 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2473:24:2479 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2477:24:2477 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2488:24:2493 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2488:24:2493 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2492:24:2492 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2503:24:2508 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2488:24:2494 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2492:24:2492 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2503:24:2508 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2503:24:2508 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2507:24:2507 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2518:24:2523 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2503:24:2509 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2507:24:2507 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2518:24:2523 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2518:24:2523 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2522:24:2522 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2533:24:2538 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2518:24:2524 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2522:24:2522 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2533:24:2538 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2533:24:2538 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2537:24:2537 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2548:24:2553 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2533:24:2539 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2537:24:2537 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2548:24:2553 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2548:24:2553 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2552:24:2552 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2563:24:2568 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2548:24:2554 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2552:24:2552 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2563:24:2568 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2563:24:2568 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2567:24:2567 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2578:24:2583 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2563:24:2569 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2567:24:2567 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2578:24:2583 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2578:24:2583 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2582:24:2582 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2593:24:2598 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2578:24:2584 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2582:24:2582 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2593:24:2598 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2593:24:2598 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2597:24:2597 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2608:24:2613 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2593:24:2599 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2597:24:2597 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2608:24:2613 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2608:24:2613 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2612:24:2612 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2623:24:2628 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2608:24:2614 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2612:24:2612 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2623:24:2628 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2623:24:2628 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2627:24:2627 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2638:24:2643 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2623:24:2629 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2627:24:2627 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2638:24:2643 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2638:24:2643 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2642:24:2642 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2653:24:2658 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2638:24:2644 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2642:24:2642 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2653:24:2658 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2653:24:2658 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2657:24:2657 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2668:24:2673 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2653:24:2659 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2657:24:2657 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2668:24:2673 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2668:24:2673 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2672:24:2672 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2683:24:2688 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2668:24:2674 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2672:24:2672 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2683:24:2688 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2683:24:2688 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2687:24:2687 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2698:24:2703 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2683:24:2689 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2687:24:2687 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2698:24:2703 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2698:24:2703 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2702:24:2702 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2713:24:2718 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2698:24:2704 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2702:24:2702 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2713:24:2718 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2713:24:2718 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2717:24:2717 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2728:24:2733 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2713:24:2719 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2717:24:2717 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2728:24:2733 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2728:24:2733 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2732:24:2732 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2743:24:2748 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2728:24:2734 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2732:24:2732 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2743:24:2748 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2743:24:2748 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2747:24:2747 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2758:24:2763 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2743:24:2749 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2747:24:2747 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2758:24:2763 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2758:24:2763 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2762:24:2762 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2773:24:2778 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2758:24:2764 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2762:24:2762 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2773:24:2778 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2773:24:2778 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2777:24:2777 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2788:24:2793 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2773:24:2779 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2777:24:2777 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2788:24:2793 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2788:24:2793 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2792:24:2792 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2803:24:2808 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2788:24:2794 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2792:24:2792 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2803:24:2808 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2803:24:2808 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2807:24:2807 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2818:24:2823 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2803:24:2809 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2807:24:2807 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2818:24:2823 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2818:24:2823 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2822:24:2822 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2833:24:2838 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2818:24:2824 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2822:24:2822 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2833:24:2838 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2833:24:2838 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2837:24:2837 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2848:24:2853 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2833:24:2839 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2837:24:2837 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2848:24:2853 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2848:24:2853 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2852:24:2852 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2863:24:2868 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2848:24:2854 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2852:24:2852 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2863:24:2868 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2863:24:2868 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2867:24:2867 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2878:24:2883 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2863:24:2869 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2867:24:2867 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2878:24:2883 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2878:24:2883 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2882:24:2882 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2893:24:2898 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2878:24:2884 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2882:24:2882 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2893:24:2898 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2893:24:2898 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2897:24:2897 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2908:24:2913 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2893:24:2899 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2897:24:2897 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2908:24:2913 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2908:24:2913 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2912:24:2912 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2923:24:2928 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2908:24:2914 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2912:24:2912 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2923:24:2928 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2923:24:2928 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2927:24:2927 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2938:24:2943 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2923:24:2929 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2927:24:2927 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2938:24:2943 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2938:24:2943 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2942:24:2942 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2953:24:2958 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2938:24:2944 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2942:24:2942 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2953:24:2958 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2953:24:2958 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2957:24:2957 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2968:24:2973 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2953:24:2959 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2957:24:2957 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2968:24:2973 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2968:24:2973 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2972:24:2972 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2983:24:2988 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2968:24:2974 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2972:24:2972 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2983:24:2988 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2983:24:2988 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:2987:24:2987 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:2998:24:3003 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2983:24:2989 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2987:24:2987 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:2998:24:3003 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:2998:24:3003 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3002:24:3002 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3013:24:3018 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:2998:24:3004 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3002:24:3002 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3013:24:3018 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3013:24:3018 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3017:24:3017 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3028:24:3033 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3013:24:3019 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3017:24:3017 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3028:24:3033 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3028:24:3033 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3032:24:3032 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3043:24:3048 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3028:24:3034 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3032:24:3032 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3043:24:3048 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3043:24:3048 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3047:24:3047 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3058:24:3063 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3043:24:3049 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3047:24:3047 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3058:24:3063 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3058:24:3063 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3062:24:3062 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3073:24:3078 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3058:24:3064 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3062:24:3062 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3073:24:3078 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3073:24:3078 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3077:24:3077 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3088:24:3093 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3073:24:3079 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3077:24:3077 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3088:24:3093 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3088:24:3093 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3092:24:3092 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3103:24:3108 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3088:24:3094 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3092:24:3092 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3103:24:3108 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3103:24:3108 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3107:24:3107 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3118:24:3123 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3103:24:3109 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3107:24:3107 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3118:24:3123 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3118:24:3123 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3122:24:3122 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3133:24:3138 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3118:24:3124 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3122:24:3122 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3133:24:3138 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3133:24:3138 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3137:24:3137 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3148:24:3153 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3133:24:3139 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3137:24:3137 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3148:24:3153 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3148:24:3153 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3152:24:3152 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3163:24:3168 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3148:24:3154 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3152:24:3152 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3163:24:3168 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3163:24:3168 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3167:24:3167 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3178:24:3183 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3163:24:3169 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3167:24:3167 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3178:24:3183 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3178:24:3183 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3182:24:3182 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:24:3193:24:3198 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3178:24:3184 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3182:24:3182 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:24:3193:24:3198 | [post] this access | UseUseExplosion.cs:25:13:25:16 | this access | | UseUseExplosion.cs:24:3193:24:3198 | this access | UseUseExplosion.cs:25:13:25:16 | this access | -| UseUseExplosion.cs:24:3197:24:3197 | access to local variable x | UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1712:25:1712 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1727:25:1727 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1742:25:1742 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1757:25:1757 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1772:25:1772 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1787:25:1787 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1802:25:1802 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1817:25:1817 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1832:25:1832 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1847:25:1847 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1862:25:1862 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1877:25:1877 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1892:25:1892 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1907:25:1907 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1922:25:1922 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1937:25:1937 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1952:25:1952 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1967:25:1967 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1982:25:1982 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:1997:25:1997 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2012:25:2012 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2027:25:2027 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2042:25:2042 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2057:25:2057 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2072:25:2072 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2087:25:2087 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2102:25:2102 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2117:25:2117 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2132:25:2132 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2147:25:2147 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2162:25:2162 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2177:25:2177 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2192:25:2192 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2207:25:2207 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2222:25:2222 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2237:25:2237 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2252:25:2252 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2267:25:2267 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2282:25:2282 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2297:25:2297 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2312:25:2312 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2327:25:2327 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2342:25:2342 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2357:25:2357 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2372:25:2372 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2387:25:2387 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2402:25:2402 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2417:25:2417 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2432:25:2432 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2447:25:2447 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2462:25:2462 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2477:25:2477 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2492:25:2492 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2507:25:2507 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2522:25:2522 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2537:25:2537 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2552:25:2552 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2567:25:2567 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2582:25:2582 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2597:25:2597 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2612:25:2612 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2627:25:2627 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2642:25:2642 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2657:25:2657 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2672:25:2672 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2687:25:2687 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2702:25:2702 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2717:25:2717 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2732:25:2732 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2747:25:2747 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2762:25:2762 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2777:25:2777 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2792:25:2792 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2807:25:2807 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2822:25:2822 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2837:25:2837 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2852:25:2852 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2867:25:2867 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2882:25:2882 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2897:25:2897 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2912:25:2912 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2927:25:2927 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2942:25:2942 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2957:25:2957 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2972:25:2972 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:2987:25:2987 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3002:25:3002 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3017:25:3017 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3032:25:3032 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3047:25:3047 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3062:25:3062 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3077:25:3077 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3092:25:3092 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3107:25:3107 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3122:25:3122 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3137:25:3137 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3152:25:3152 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3167:25:3167 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3182:25:3182 | access to local variable x | -| UseUseExplosion.cs:25:9:25:3199 | SSA phi read(x) | UseUseExplosion.cs:25:3197:25:3197 | access to local variable x | +| UseUseExplosion.cs:24:3193:24:3199 | [input] SSA phi read(this.Prop) | UseUseExplosion.cs:25:13:25:16 | access to property Prop | +| UseUseExplosion.cs:24:3197:24:3197 | access to local variable x | UseUseExplosion.cs:24:9:24:3199 | SSA phi read(x) | | UseUseExplosion.cs:25:13:25:16 | [post] this access | UseUseExplosion.cs:25:31:25:34 | this access | | UseUseExplosion.cs:25:13:25:16 | [post] this access | UseUseExplosion.cs:25:3193:25:3198 | this access | | UseUseExplosion.cs:25:13:25:16 | access to property Prop | UseUseExplosion.cs:25:13:25:22 | ... > ... | diff --git a/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.expected b/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.expected index bc1f2cad5c7..3e285f8d7bb 100644 --- a/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.expected +++ b/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.expected @@ -1,7 +1,3 @@ -| ModulusAnalysis.cs:6:15:6:21 | ... = ... | 0 | 42 | 0 | -| ModulusAnalysis.cs:6:20:6:21 | 42 | 0 | 42 | 0 | -| ModulusAnalysis.cs:7:15:7:21 | ... = ... | 0 | 43 | 0 | -| ModulusAnalysis.cs:7:20:7:21 | 43 | 0 | 43 | 0 | | ModulusAnalysis.cs:11:18:11:18 | access to parameter i | SSA param(i) | 0 | 0 | | ModulusAnalysis.cs:11:18:11:22 | ... + ... | SSA param(i) | 3 | 0 | | ModulusAnalysis.cs:11:22:11:22 | 3 | 0 | 3 | 0 | diff --git a/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.ql b/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.ql index 02ffbc535ce..7a2dff9c92e 100644 --- a/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.ql +++ b/csharp/ql/test/library-tests/dataflow/modulusanalysis/ModulusAnalysis.ql @@ -3,7 +3,7 @@ import semmle.code.csharp.dataflow.internal.rangeanalysis.RangeUtils import semmle.code.csharp.dataflow.ModulusAnalysis import semmle.code.csharp.dataflow.Bound -from ControlFlow::Nodes::ExprNode e, Bound b, int delta, int mod +from ControlFlowNodes::ExprNode e, Bound b, int delta, int mod where not e.getExpr().fromLibrary() and exprModulus(e, b, delta, mod) diff --git a/csharp/ql/test/library-tests/dataflow/operators/Operator.cs b/csharp/ql/test/library-tests/dataflow/operators/Operator.cs index 946a3b676cf..5db1a82b9a4 100644 --- a/csharp/ql/test/library-tests/dataflow/operators/Operator.cs +++ b/csharp/ql/test/library-tests/dataflow/operators/Operator.cs @@ -84,4 +84,39 @@ public class Operators var y = Source(12); M6Aux(x, y); } -} \ No newline at end of file +} + +public class CompoundAssignmentOperators +{ + static void Sink(object o) { } + static T Source(object source) => throw null; + + public class C + { + public object Field { get; private set; } + + public C() + { + Field = new object(); + } + + public C(object o) + { + Field = o; + } + + public void operator +=(C x) + { + Field = x.Field; + } + } + + public void M1() + { + var tainted = Source(1); + var x = new C(); + var y = new C(tainted); + x += y; + Sink(x.Field); // $ hasValueFlow=1 + } +} diff --git a/csharp/ql/test/library-tests/dataflow/operators/operatorFlow.expected b/csharp/ql/test/library-tests/dataflow/operators/operatorFlow.expected index f395930fb8b..8fd12f1c2a8 100644 --- a/csharp/ql/test/library-tests/dataflow/operators/operatorFlow.expected +++ b/csharp/ql/test/library-tests/dataflow/operators/operatorFlow.expected @@ -96,6 +96,40 @@ edges | Operator.cs:84:17:84:29 | call to method Source : C | Operator.cs:84:13:84:13 | access to local variable y : C | provenance | | | Operator.cs:85:18:85:18 | access to local variable y : C | Operator.cs:75:33:75:33 | y : C | provenance | | | Operator.cs:85:18:85:18 | access to local variable y : C | Operator.cs:75:33:75:33 | y : C | provenance | | +| Operator.cs:103:25:103:25 | o : Object | Operator.cs:105:21:105:21 | access to parameter o : Object | provenance | | +| Operator.cs:103:25:103:25 | o : Object | Operator.cs:105:21:105:21 | access to parameter o : Object | provenance | | +| Operator.cs:105:13:105:17 | [post] this access : C [property Field] : Object | Operator.cs:103:16:103:16 | this [Return] : C [property Field] : Object | provenance | | +| Operator.cs:105:13:105:17 | [post] this access : C [property Field] : Object | Operator.cs:103:16:103:16 | this [Return] : C [property Field] : Object | provenance | | +| Operator.cs:105:21:105:21 | access to parameter o : Object | Operator.cs:105:13:105:17 | [post] this access : C [property Field] : Object | provenance | | +| Operator.cs:105:21:105:21 | access to parameter o : Object | Operator.cs:105:13:105:17 | [post] this access : C [property Field] : Object | provenance | | +| Operator.cs:108:35:108:35 | x : C [property Field] : Object | Operator.cs:110:21:110:21 | access to parameter x : C [property Field] : Object | provenance | | +| Operator.cs:108:35:108:35 | x : C [property Field] : Object | Operator.cs:110:21:110:21 | access to parameter x : C [property Field] : Object | provenance | | +| Operator.cs:110:13:110:17 | [post] this access : C [property Field] : Object | Operator.cs:108:30:108:31 | this [Return] : C [property Field] : Object | provenance | | +| Operator.cs:110:13:110:17 | [post] this access : C [property Field] : Object | Operator.cs:108:30:108:31 | this [Return] : C [property Field] : Object | provenance | | +| Operator.cs:110:21:110:21 | access to parameter x : C [property Field] : Object | Operator.cs:110:21:110:27 | access to property Field : Object | provenance | | +| Operator.cs:110:21:110:21 | access to parameter x : C [property Field] : Object | Operator.cs:110:21:110:27 | access to property Field : Object | provenance | | +| Operator.cs:110:21:110:27 | access to property Field : Object | Operator.cs:110:13:110:17 | [post] this access : C [property Field] : Object | provenance | | +| Operator.cs:110:21:110:27 | access to property Field : Object | Operator.cs:110:13:110:17 | [post] this access : C [property Field] : Object | provenance | | +| Operator.cs:116:13:116:19 | access to local variable tainted : Object | Operator.cs:118:23:118:29 | access to local variable tainted : Object | provenance | | +| Operator.cs:116:13:116:19 | access to local variable tainted : Object | Operator.cs:118:23:118:29 | access to local variable tainted : Object | provenance | | +| Operator.cs:116:23:116:39 | call to method Source : Object | Operator.cs:116:13:116:19 | access to local variable tainted : Object | provenance | | +| Operator.cs:116:23:116:39 | call to method Source : Object | Operator.cs:116:13:116:19 | access to local variable tainted : Object | provenance | | +| Operator.cs:118:13:118:13 | access to local variable y : C [property Field] : Object | Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | provenance | | +| Operator.cs:118:13:118:13 | access to local variable y : C [property Field] : Object | Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | provenance | | +| Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | Operator.cs:118:13:118:13 | access to local variable y : C [property Field] : Object | provenance | | +| Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | Operator.cs:118:13:118:13 | access to local variable y : C [property Field] : Object | provenance | | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | Operator.cs:103:25:103:25 | o : Object | provenance | | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | Operator.cs:103:25:103:25 | o : Object | provenance | | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | provenance | | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | provenance | | +| Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | Operator.cs:120:14:120:14 | access to local variable x : C [property Field] : Object | provenance | | +| Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | Operator.cs:120:14:120:14 | access to local variable x : C [property Field] : Object | provenance | | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | Operator.cs:108:35:108:35 | x : C [property Field] : Object | provenance | | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | Operator.cs:108:35:108:35 | x : C [property Field] : Object | provenance | | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | provenance | | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | provenance | | +| Operator.cs:120:14:120:14 | access to local variable x : C [property Field] : Object | Operator.cs:120:14:120:20 | access to property Field | provenance | | +| Operator.cs:120:14:120:14 | access to local variable x : C [property Field] : Object | Operator.cs:120:14:120:20 | access to property Field | provenance | | nodes | Operator.cs:9:39:9:39 | x : C | semmle.label | x : C | | Operator.cs:9:39:9:39 | x : C | semmle.label | x : C | @@ -205,6 +239,42 @@ nodes | Operator.cs:84:17:84:29 | call to method Source : C | semmle.label | call to method Source : C | | Operator.cs:85:18:85:18 | access to local variable y : C | semmle.label | access to local variable y : C | | Operator.cs:85:18:85:18 | access to local variable y : C | semmle.label | access to local variable y : C | +| Operator.cs:103:16:103:16 | this [Return] : C [property Field] : Object | semmle.label | this [Return] : C [property Field] : Object | +| Operator.cs:103:16:103:16 | this [Return] : C [property Field] : Object | semmle.label | this [Return] : C [property Field] : Object | +| Operator.cs:103:25:103:25 | o : Object | semmle.label | o : Object | +| Operator.cs:103:25:103:25 | o : Object | semmle.label | o : Object | +| Operator.cs:105:13:105:17 | [post] this access : C [property Field] : Object | semmle.label | [post] this access : C [property Field] : Object | +| Operator.cs:105:13:105:17 | [post] this access : C [property Field] : Object | semmle.label | [post] this access : C [property Field] : Object | +| Operator.cs:105:21:105:21 | access to parameter o : Object | semmle.label | access to parameter o : Object | +| Operator.cs:105:21:105:21 | access to parameter o : Object | semmle.label | access to parameter o : Object | +| Operator.cs:108:30:108:31 | this [Return] : C [property Field] : Object | semmle.label | this [Return] : C [property Field] : Object | +| Operator.cs:108:30:108:31 | this [Return] : C [property Field] : Object | semmle.label | this [Return] : C [property Field] : Object | +| Operator.cs:108:35:108:35 | x : C [property Field] : Object | semmle.label | x : C [property Field] : Object | +| Operator.cs:108:35:108:35 | x : C [property Field] : Object | semmle.label | x : C [property Field] : Object | +| Operator.cs:110:13:110:17 | [post] this access : C [property Field] : Object | semmle.label | [post] this access : C [property Field] : Object | +| Operator.cs:110:13:110:17 | [post] this access : C [property Field] : Object | semmle.label | [post] this access : C [property Field] : Object | +| Operator.cs:110:21:110:21 | access to parameter x : C [property Field] : Object | semmle.label | access to parameter x : C [property Field] : Object | +| Operator.cs:110:21:110:21 | access to parameter x : C [property Field] : Object | semmle.label | access to parameter x : C [property Field] : Object | +| Operator.cs:110:21:110:27 | access to property Field : Object | semmle.label | access to property Field : Object | +| Operator.cs:110:21:110:27 | access to property Field : Object | semmle.label | access to property Field : Object | +| Operator.cs:116:13:116:19 | access to local variable tainted : Object | semmle.label | access to local variable tainted : Object | +| Operator.cs:116:13:116:19 | access to local variable tainted : Object | semmle.label | access to local variable tainted : Object | +| Operator.cs:116:23:116:39 | call to method Source : Object | semmle.label | call to method Source : Object | +| Operator.cs:116:23:116:39 | call to method Source : Object | semmle.label | call to method Source : Object | +| Operator.cs:118:13:118:13 | access to local variable y : C [property Field] : Object | semmle.label | access to local variable y : C [property Field] : Object | +| Operator.cs:118:13:118:13 | access to local variable y : C [property Field] : Object | semmle.label | access to local variable y : C [property Field] : Object | +| Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | semmle.label | object creation of type C : C [property Field] : Object | +| Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | semmle.label | object creation of type C : C [property Field] : Object | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | semmle.label | access to local variable tainted : Object | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | semmle.label | access to local variable tainted : Object | +| Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | semmle.label | [post] access to local variable x : C [property Field] : Object | +| Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | semmle.label | [post] access to local variable x : C [property Field] : Object | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | semmle.label | access to local variable y : C [property Field] : Object | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | semmle.label | access to local variable y : C [property Field] : Object | +| Operator.cs:120:14:120:14 | access to local variable x : C [property Field] : Object | semmle.label | access to local variable x : C [property Field] : Object | +| Operator.cs:120:14:120:14 | access to local variable x : C [property Field] : Object | semmle.label | access to local variable x : C [property Field] : Object | +| Operator.cs:120:14:120:20 | access to property Field | semmle.label | access to property Field | +| Operator.cs:120:14:120:20 | access to property Field | semmle.label | access to property Field | subpaths | Operator.cs:29:17:29:17 | access to local variable x : C | Operator.cs:16:38:16:38 | x : C | Operator.cs:16:49:16:49 | access to parameter x : C | Operator.cs:29:17:29:21 | call to operator + : C | | Operator.cs:29:17:29:17 | access to local variable x : C | Operator.cs:16:38:16:38 | x : C | Operator.cs:16:49:16:49 | access to parameter x : C | Operator.cs:29:17:29:21 | call to operator + : C | @@ -218,6 +288,10 @@ subpaths | Operator.cs:64:21:64:21 | access to parameter y : C | Operator.cs:21:43:21:43 | y : C | Operator.cs:21:49:21:49 | access to parameter y : C | Operator.cs:64:17:64:21 | call to operator / : C | | Operator.cs:77:29:77:29 | access to parameter y : C | Operator.cs:22:51:22:51 | y : C | Operator.cs:22:57:22:57 | access to parameter y : C | Operator.cs:77:25:77:29 | call to operator checked / : C | | Operator.cs:77:29:77:29 | access to parameter y : C | Operator.cs:22:51:22:51 | y : C | Operator.cs:22:57:22:57 | access to parameter y : C | Operator.cs:77:25:77:29 | call to operator checked / : C | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | Operator.cs:103:25:103:25 | o : Object | Operator.cs:103:16:103:16 | this [Return] : C [property Field] : Object | Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | +| Operator.cs:118:23:118:29 | access to local variable tainted : Object | Operator.cs:103:25:103:25 | o : Object | Operator.cs:103:16:103:16 | this [Return] : C [property Field] : Object | Operator.cs:118:17:118:30 | object creation of type C : C [property Field] : Object | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | Operator.cs:108:35:108:35 | x : C [property Field] : Object | Operator.cs:108:30:108:31 | this [Return] : C [property Field] : Object | Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | +| Operator.cs:119:14:119:14 | access to local variable y : C [property Field] : Object | Operator.cs:108:35:108:35 | x : C [property Field] : Object | Operator.cs:108:30:108:31 | this [Return] : C [property Field] : Object | Operator.cs:119:9:119:9 | [post] access to local variable x : C [property Field] : Object | testFailures #select | Operator.cs:30:14:30:14 | access to local variable z | Operator.cs:27:17:27:28 | call to method Source : C | Operator.cs:30:14:30:14 | access to local variable z | $@ | Operator.cs:27:17:27:28 | call to method Source : C | call to method Source : C | @@ -232,3 +306,5 @@ testFailures | Operator.cs:65:14:65:14 | (...) ... | Operator.cs:71:17:71:29 | call to method Source : C | Operator.cs:65:14:65:14 | (...) ... | $@ | Operator.cs:71:17:71:29 | call to method Source : C | call to method Source : C | | Operator.cs:78:14:78:14 | (...) ... | Operator.cs:84:17:84:29 | call to method Source : C | Operator.cs:78:14:78:14 | (...) ... | $@ | Operator.cs:84:17:84:29 | call to method Source : C | call to method Source : C | | Operator.cs:78:14:78:14 | (...) ... | Operator.cs:84:17:84:29 | call to method Source : C | Operator.cs:78:14:78:14 | (...) ... | $@ | Operator.cs:84:17:84:29 | call to method Source : C | call to method Source : C | +| Operator.cs:120:14:120:20 | access to property Field | Operator.cs:116:23:116:39 | call to method Source : Object | Operator.cs:120:14:120:20 | access to property Field | $@ | Operator.cs:116:23:116:39 | call to method Source : Object | call to method Source : Object | +| Operator.cs:120:14:120:20 | access to property Field | Operator.cs:116:23:116:39 | call to method Source : Object | Operator.cs:120:14:120:20 | access to property Field | $@ | Operator.cs:116:23:116:39 | call to method Source : Object | call to method Source : Object | diff --git a/csharp/ql/test/library-tests/dataflow/signanalysis/MissingSign.ql b/csharp/ql/test/library-tests/dataflow/signanalysis/MissingSign.ql index 70f9af36494..b78bc4c784a 100644 --- a/csharp/ql/test/library-tests/dataflow/signanalysis/MissingSign.ql +++ b/csharp/ql/test/library-tests/dataflow/signanalysis/MissingSign.ql @@ -1,7 +1,7 @@ import csharp import semmle.code.csharp.dataflow.internal.rangeanalysis.SignAnalysisCommon -from ControlFlow::Nodes::ExprNode e +from ControlFlowNodes::ExprNode e where not exists(exprSign(e)) and not e.getExpr() instanceof TypeAccess and diff --git a/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected b/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected index 4dce60d9c2d..ae15c963f5e 100644 --- a/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected +++ b/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected @@ -88,6 +88,7 @@ | SignAnalysis.cs:108:13:108:21 | Decimal de = ... | strictlyPositive | | SignAnalysis.cs:108:18:108:21 | 4.2 | strictlyPositive | | SignAnalysis.cs:109:34:109:35 | access to local variable de | strictlyPositive | +| SignAnalysis.cs:110:13:110:13 | access to local variable c | positive | | SignAnalysis.cs:110:13:110:19 | Char c = ... | strictlyPositive | | SignAnalysis.cs:110:17:110:19 | a | strictlyPositive | | SignAnalysis.cs:111:34:111:34 | access to local variable c | strictlyPositive | @@ -161,6 +162,8 @@ | SignAnalysis.cs:306:21:306:22 | -... | strictlyNegative | | SignAnalysis.cs:306:22:306:22 | 1 | strictlyPositive | | SignAnalysis.cs:309:38:309:38 | access to local variable x | strictlyNegative | +| SignAnalysis.cs:315:13:315:15 | access to local variable min | positive | +| SignAnalysis.cs:316:13:316:15 | access to local variable max | positive | | SignAnalysis.cs:316:13:316:31 | Char max = ... | strictlyPositive | | SignAnalysis.cs:316:19:316:31 | access to constant MaxValue | strictlyPositive | | SignAnalysis.cs:317:13:317:23 | Int32 c = ... | strictlyPositive | @@ -195,6 +198,7 @@ | SignAnalysis.cs:357:13:357:13 | access to parameter i | positive | | SignAnalysis.cs:359:38:359:38 | access to parameter i | strictlyPositive | | SignAnalysis.cs:371:38:371:38 | access to local variable y | strictlyNegative | +| SignAnalysis.cs:377:16:377:17 | access to local variable dp | positive | | SignAnalysis.cs:377:16:377:22 | Single* dp = ... | positive | | SignAnalysis.cs:377:21:377:22 | &... | positive | | SignAnalysis.cs:378:18:378:19 | access to local variable dp | positive | @@ -213,14 +217,12 @@ | SignAnalysis.cs:414:13:414:13 | access to local variable i | strictlyPositive | | SignAnalysis.cs:415:31:415:31 | access to local variable i | strictlyPositive | | SignAnalysis.cs:424:31:424:31 | access to local variable x | strictlyNegative | -| SignAnalysis.cs:428:19:428:19 | access to constant A | strictlyPositive | -| SignAnalysis.cs:428:19:428:24 | ... = ... | strictlyPositive | -| SignAnalysis.cs:428:23:428:24 | 12 | strictlyPositive | | SignAnalysis.cs:434:38:434:38 | access to local variable i | strictlyNegative | | SignAnalysis.cs:440:23:440:25 | access to parameter src | positive | | SignAnalysis.cs:440:29:440:31 | access to parameter dst | positive | | SignAnalysis.cs:443:38:443:38 | access to local variable x | strictlyNegative | | SignAnalysis.cs:446:31:446:32 | 10 | strictlyPositive | +| SignAnalysis.cs:448:22:448:23 | access to local variable to | positive | | SignAnalysis.cs:448:22:448:29 | Byte* to = ... | positive | | SignAnalysis.cs:448:27:448:29 | (...) ... | positive | | SignAnalysis.cs:450:38:450:44 | (...) ... | positive | @@ -232,6 +234,7 @@ | SignAnalysis.cs:457:18:457:27 | call to method Unsigned | positive | | SignAnalysis.cs:458:13:458:13 | access to local variable l | positive | | SignAnalysis.cs:460:38:460:38 | access to local variable l | strictlyPositive | +| SignAnalysis.cs:463:14:463:14 | access to local variable x | positive | | SignAnalysis.cs:463:14:463:24 | UInt32 x = ... | positive | | SignAnalysis.cs:463:18:463:24 | (...) ... | positive | | SignAnalysis.cs:464:9:464:9 | access to local variable x | positive | diff --git a/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.ql b/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.ql index 650d0f6bed4..4bdfd5082a8 100644 --- a/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.ql +++ b/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.ql @@ -1,7 +1,7 @@ import csharp import semmle.code.csharp.dataflow.SignAnalysis -string getASignString(ControlFlow::Nodes::ExprNode e) { +string getASignString(ControlFlowNodes::ExprNode e) { positive(e) and not strictlyPositive(e) and result = "positive" @@ -17,6 +17,6 @@ string getASignString(ControlFlow::Nodes::ExprNode e) { result = "strictlyNegative" } -from ControlFlow::Nodes::ExprNode e +from ControlFlowNodes::ExprNode e where not e.getExpr().fromLibrary() select e, strictconcat(string s | s = getASignString(e) | s, " ") diff --git a/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.expected b/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.expected index 1506d03ab34..43bfd33106a 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.expected @@ -1 +1 @@ -| 15203 | 1037851 | +| 15203 | 1547800 | diff --git a/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.ql b/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.ql index bb10b7c9ffa..94218ca6c7e 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.ql +++ b/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.ql @@ -3,6 +3,5 @@ import csharp from int uses, int live where uses = strictcount(Ssa::ExplicitDefinition ssa, AssignableRead read | read = ssa.getARead()) and - live = - strictcount(Ssa::ExplicitDefinition ssa, ControlFlow::BasicBlock bb | ssa.isLiveAtEndOfBlock(bb)) + live = strictcount(Ssa::ExplicitDefinition ssa, BasicBlock bb | ssa.isLiveAtEndOfBlock(bb)) select uses, live diff --git a/csharp/ql/test/library-tests/dataflow/ssa/BaseSsaConsistency.ql b/csharp/ql/test/library-tests/dataflow/ssa/BaseSsaConsistency.ql index 86e13215b0c..4748f516114 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/BaseSsaConsistency.ql +++ b/csharp/ql/test/library-tests/dataflow/ssa/BaseSsaConsistency.ql @@ -1,7 +1,9 @@ import csharp import semmle.code.csharp.dataflow.internal.BaseSSA -from AssignableRead ar, BaseSsa::Definition ssaDef, AssignableDefinition def, LocalScopeVariable v +from + AssignableRead ar, BaseSsa::SsaExplicitWrite ssaDef, AssignableDefinition def, + LocalScopeVariable v where ar = ssaDef.getARead() and def = ssaDef.getDefinition() and @@ -9,5 +11,9 @@ where not exists(Ssa::ExplicitDefinition edef | edef.getADefinition() = def and edef.getARead() = ar + ) and + not exists(Ssa::ImplicitParameterDefinition edef | + edef.getParameter() = def.(AssignableDefinitions::ImplicitParameterDefinition).getParameter() and + edef.getARead() = ar ) select ar, def diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SSAPhi.expected b/csharp/ql/test/library-tests/dataflow/ssa/SSAPhi.expected index e69a5cbe088..1acf66efd96 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SSAPhi.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa/SSAPhi.expected @@ -1,59 +1,60 @@ -| DefUse.cs:3:26:3:26 | w | DefUse.cs:23:9:23:15 | SSA phi(w) | DefUse.cs:3:26:3:26 | SSA param(w) | -| DefUse.cs:3:26:3:26 | w | DefUse.cs:23:9:23:15 | SSA phi(w) | DefUse.cs:19:13:19:18 | SSA def(w) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:23:9:23:15 | SSA phi(y) | DefUse.cs:13:13:13:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:23:9:23:15 | SSA phi(y) | DefUse.cs:18:13:18:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:42:9:42:15 | SSA phi(y) | DefUse.cs:28:13:28:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:42:9:42:15 | SSA phi(y) | DefUse.cs:39:13:39:18 | SSA def(y) | -| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA phi(x1) | DefUse.cs:79:13:79:18 | SSA def(x1) | -| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA phi(x1) | DefUse.cs:80:30:80:31 | SSA def(x1) | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:97:13:97:18 | SSA def(x5) | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:101:13:101:23 | SSA def(x5) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:11:13:11:30 | SSA def(this.Field) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:13:13:13:23 | SSA call def(this.Field) | -| Example.cs:18:16:18:16 | p | Example.cs:25:9:25:15 | SSA phi(p) | Example.cs:18:16:18:16 | SSA param(p) | -| Example.cs:18:16:18:16 | p | Example.cs:25:9:25:15 | SSA phi(p) | Example.cs:23:13:23:17 | SSA def(p) | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:19:9:19:13 | SSA call def(this.xs) | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:22:13:22:17 | SSA call def(this.xs) | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:30:13:30:28 | SSA def(f) | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:49:13:49:28 | SSA def(f) | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:45:9:45:25 | SSA def(f.xs) | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | -| OutRef.cs:39:35:39:35 | j | OutRef.cs:39:10:39:17 | SSA phi(j) | OutRef.cs:39:35:39:35 | SSA param(j) | -| OutRef.cs:39:35:39:35 | j | OutRef.cs:39:10:39:17 | SSA phi(j) | OutRef.cs:42:13:42:17 | SSA def(j) | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:19:9:19:13 | SSA call def(this.xs) | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:22:13:22:17 | SSA call def(this.xs) | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:30:13:30:32 | SSA def(f) | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:49:13:49:32 | SSA def(f) | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:45:9:45:25 | SSA def(f.xs) | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | -| Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:16 | SSA phi(i) | Properties.cs:61:23:61:23 | SSA param(i) | -| Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:16 | SSA phi(i) | Properties.cs:63:16:63:18 | SSA def(i) | -| Test.cs:5:15:5:20 | param1 | Test.cs:25:16:25:16 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:25:16:25:16 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:33:9:33:19 | SSA phi(param1) | Test.cs:25:16:25:16 | SSA phi(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:33:9:33:19 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:33:9:33:19 | SSA phi(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:41:13:41:23 | SSA def(param1) | -| Test.cs:7:9:7:13 | this.field | Test.cs:24:9:24:15 | SSA phi(this.field) | Test.cs:7:9:7:17 | SSA def(this.field) | -| Test.cs:7:9:7:13 | this.field | Test.cs:24:9:24:15 | SSA phi(this.field) | Test.cs:21:13:21:22 | SSA def(this.field) | -| Test.cs:8:13:8:13 | x | Test.cs:24:9:24:15 | SSA phi(x) | Test.cs:8:13:8:17 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:24:9:24:15 | SSA phi(x) | Test.cs:14:17:14:19 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:24:9:24:15 | SSA phi(x) | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:36:13:36:18 | SSA def(x) | -| Test.cs:9:13:9:13 | y | Test.cs:24:9:24:15 | SSA phi(y) | Test.cs:14:13:14:19 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:24:9:24:15 | SSA phi(y) | Test.cs:20:13:20:18 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:24:9:24:15 | SSA phi(y) | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:31:13:31:18 | SSA def(y) | -| Test.cs:10:13:10:13 | z | Test.cs:24:9:24:15 | SSA phi(z) | Test.cs:15:13:15:17 | SSA def(z) | -| Test.cs:10:13:10:13 | z | Test.cs:24:9:24:15 | SSA phi(z) | Test.cs:22:13:22:17 | SSA def(z) | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:18:34:22 | SSA def(i) | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:33:34:35 | SSA def(i) | -| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:50:13:50:20 | SSA def(out) | -| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:54:13:54:20 | SSA def(out) | -| Test.cs:78:13:78:13 | x | Test.cs:113:9:116:9 | SSA phi(x) | Test.cs:78:13:78:17 | SSA def(x) | -| Test.cs:78:13:78:13 | x | Test.cs:113:9:116:9 | SSA phi(x) | Test.cs:108:13:108:17 | SSA def(x) | +| DefUse.cs:3:26:3:26 | w | DefUse.cs:11:9:21:9 | SSA phi(w) | DefUse.cs:3:26:3:26 | SSA param(w) | +| DefUse.cs:3:26:3:26 | w | DefUse.cs:11:9:21:9 | SSA phi(w) | DefUse.cs:19:13:19:18 | SSA def(w) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:11:9:21:9 | SSA phi(y) | DefUse.cs:13:13:13:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:11:9:21:9 | SSA phi(y) | DefUse.cs:18:13:18:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:37:9:40:9 | SSA phi(y) | DefUse.cs:28:13:28:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:37:9:40:9 | SSA phi(y) | DefUse.cs:39:13:39:18 | SSA def(y) | +| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:9:80:51 | SSA phi(x1) | DefUse.cs:79:13:79:18 | SSA def(x1) | +| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:9:80:51 | SSA phi(x1) | DefUse.cs:80:30:80:31 | SSA def(x1) | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:97:13:97:18 | SSA def(x5) | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:101:13:101:23 | SSA def(x5) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:11:13:11:30 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:12:14:13:24 | SSA phi(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:12:14:13:24 | SSA phi(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:12:14:13:24 | SSA phi(this.Field) | Example.cs:13:13:13:23 | SSA call def(this.Field) | +| Example.cs:18:16:18:16 | p | Example.cs:20:9:24:9 | SSA phi(p) | Example.cs:18:16:18:16 | SSA param(p) | +| Example.cs:18:16:18:16 | p | Example.cs:20:9:24:9 | SSA phi(p) | Example.cs:23:13:23:17 | SSA def(p) | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | Fields.cs:19:9:19:13 | SSA call def(this.xs) | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | Fields.cs:22:13:22:17 | SSA call def(this.xs) | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | Fields.cs:30:13:30:28 | SSA def(f) | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | Fields.cs:49:13:49:28 | SSA def(f) | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | Fields.cs:45:9:45:25 | SSA def(f.xs) | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | +| OutRef.cs:39:35:39:35 | j | OutRef.cs:41:9:42:18 | SSA phi(j) | OutRef.cs:39:35:39:35 | SSA param(j) | +| OutRef.cs:39:35:39:35 | j | OutRef.cs:41:9:42:18 | SSA phi(j) | OutRef.cs:42:13:42:17 | SSA def(j) | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | Properties.cs:19:9:19:13 | SSA call def(this.xs) | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | Properties.cs:22:13:22:17 | SSA call def(this.xs) | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | Properties.cs:30:13:30:32 | SSA def(f) | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | Properties.cs:49:13:49:32 | SSA def(f) | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | Properties.cs:45:9:45:25 | SSA def(f.xs) | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | +| Properties.cs:61:23:61:23 | i | Properties.cs:63:9:66:9 | SSA phi(i) | Properties.cs:61:23:61:23 | SSA param(i) | +| Properties.cs:61:23:61:23 | i | Properties.cs:63:9:66:9 | SSA phi(i) | Properties.cs:63:16:63:18 | SSA def(i) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:25:9:32:9 | SSA phi(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:25:9:32:9 | SSA phi(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:41:13:41:23 | SSA def(param1) | +| Test.cs:7:9:7:13 | this.field | Test.cs:11:9:23:9 | SSA phi(this.field) | Test.cs:7:9:7:17 | SSA def(this.field) | +| Test.cs:7:9:7:13 | this.field | Test.cs:11:9:23:9 | SSA phi(this.field) | Test.cs:21:13:21:22 | SSA def(this.field) | +| Test.cs:8:13:8:13 | x | Test.cs:11:9:23:9 | SSA phi(x) | Test.cs:8:13:8:17 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:11:9:23:9 | SSA phi(x) | Test.cs:14:17:14:19 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:11:9:23:9 | SSA phi(x) | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:36:13:36:18 | SSA def(x) | +| Test.cs:9:13:9:13 | y | Test.cs:11:9:23:9 | SSA phi(y) | Test.cs:14:13:14:19 | SSA def(y) | +| Test.cs:9:13:9:13 | y | Test.cs:11:9:23:9 | SSA phi(y) | Test.cs:20:13:20:18 | SSA def(y) | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:11:9:23:9 | SSA phi(y) | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:31:13:31:18 | SSA def(y) | +| Test.cs:10:13:10:13 | z | Test.cs:11:9:23:9 | SSA phi(z) | Test.cs:15:13:15:17 | SSA def(z) | +| Test.cs:10:13:10:13 | z | Test.cs:11:9:23:9 | SSA phi(z) | Test.cs:22:13:22:17 | SSA def(z) | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:34:18:34:22 | SSA def(i) | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:34:33:34:35 | SSA def(i) | +| Test.cs:46:29:46:32 | out | Test.cs:48:9:55:9 | SSA phi(out) | Test.cs:50:13:50:20 | SSA def(out) | +| Test.cs:46:29:46:32 | out | Test.cs:48:9:55:9 | SSA phi(out) | Test.cs:54:13:54:20 | SSA def(out) | +| Test.cs:78:13:78:13 | x | Test.cs:102:9:110:9 | SSA phi(x) | Test.cs:78:13:78:17 | SSA def(x) | +| Test.cs:78:13:78:13 | x | Test.cs:102:9:110:9 | SSA phi(x) | Test.cs:108:13:108:17 | SSA def(x) | diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.expected b/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.expected index 6fdda8812ab..ec1f230cf88 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.expected @@ -1,35 +1,41 @@ phiReadNode -| DefUse.cs:80:30:80:31 | SSA phi read(this.Field2) | DefUse.cs:63:9:63:14 | this.Field2 | -| Fields.cs:63:16:63:28 | SSA phi read(this.LoopField) | Fields.cs:65:24:65:32 | this.LoopField | -| Patterns.cs:20:9:38:9 | SSA phi read(o) | Patterns.cs:7:16:7:16 | o | -| Properties.cs:63:16:63:16 | SSA phi read(this.LoopProp) | Properties.cs:65:24:65:31 | this.LoopProp | -| Test.cs:25:16:25:16 | SSA phi read(x) | Test.cs:8:13:8:13 | x | +| DefUse.cs:80:9:80:51 | SSA phi read(this.Field2) | DefUse.cs:63:9:63:14 | this.Field2 | +| Fields.cs:63:9:66:9 | SSA phi read(this.LoopField) | Fields.cs:65:24:65:32 | this.LoopField | +| Patterns.cs:8:9:18:9 | SSA phi read(o) | Patterns.cs:7:16:7:16 | o | +| Patterns.cs:12:14:18:9 | SSA phi read(o) | Patterns.cs:7:16:7:16 | o | +| Properties.cs:63:9:66:9 | SSA phi read(this.LoopProp) | Properties.cs:65:24:65:31 | this.LoopProp | +| Test.cs:25:9:32:9 | SSA phi read(x) | Test.cs:8:13:8:13 | x | +| Test.cs:80:9:87:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | +| Test.cs:84:14:87:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | | Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | -| Test.cs:99:9:99:15 | SSA phi read(x) | Test.cs:78:13:78:13 | x | +| Test.cs:94:14:97:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | phiReadNodeFirstRead -| DefUse.cs:80:30:80:31 | SSA phi read(this.Field2) | DefUse.cs:63:9:63:14 | this.Field2 | DefUse.cs:80:37:80:42 | access to field Field2 | -| Fields.cs:63:16:63:28 | SSA phi read(this.LoopField) | Fields.cs:65:24:65:32 | this.LoopField | Fields.cs:65:24:65:32 | access to field LoopField | -| Patterns.cs:20:9:38:9 | SSA phi read(o) | Patterns.cs:7:16:7:16 | o | Patterns.cs:20:17:20:17 | access to local variable o | -| Properties.cs:63:16:63:16 | SSA phi read(this.LoopProp) | Properties.cs:65:24:65:31 | this.LoopProp | Properties.cs:65:24:65:31 | access to property LoopProp | -| Test.cs:25:16:25:16 | SSA phi read(x) | Test.cs:8:13:8:13 | x | Test.cs:25:16:25:16 | access to local variable x | -| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | Test.cs:92:17:92:17 | access to local variable x | -| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | Test.cs:96:17:96:17 | access to local variable x | -| Test.cs:99:9:99:15 | SSA phi read(x) | Test.cs:78:13:78:13 | x | Test.cs:99:13:99:13 | access to local variable x | +| DefUse.cs:80:9:80:51 | SSA phi read(this.Field2) | DefUse.cs:63:9:63:14 | this.Field2 | DefUse.cs:80:37:80:42 | access to field Field2 | +| Fields.cs:63:9:66:9 | SSA phi read(this.LoopField) | Fields.cs:65:24:65:32 | this.LoopField | Fields.cs:65:24:65:32 | access to field LoopField | +| Patterns.cs:8:9:18:9 | SSA phi read(o) | Patterns.cs:7:16:7:16 | o | Patterns.cs:20:17:20:17 | access to local variable o | +| Properties.cs:63:9:66:9 | SSA phi read(this.LoopProp) | Properties.cs:65:24:65:31 | this.LoopProp | Properties.cs:65:24:65:31 | access to property LoopProp | +| Test.cs:25:9:32:9 | SSA phi read(x) | Test.cs:8:13:8:13 | x | Test.cs:25:16:25:16 | access to local variable x | +| Test.cs:80:9:87:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | Test.cs:92:17:92:17 | access to local variable x | +| Test.cs:80:9:87:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | Test.cs:96:17:96:17 | access to local variable x | +| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:78:13:78:13 | x | Test.cs:99:13:99:13 | access to local variable x | phiReadInput -| DefUse.cs:80:30:80:31 | SSA phi read(this.Field2) | DefUse.cs:64:13:64:18 | SSA read(this.Field2) | -| DefUse.cs:80:30:80:31 | SSA phi read(this.Field2) | DefUse.cs:80:37:80:42 | SSA read(this.Field2) | -| Fields.cs:63:16:63:28 | SSA phi read(this.LoopField) | Fields.cs:61:17:61:17 | SSA entry def(this.LoopField) | -| Fields.cs:63:16:63:28 | SSA phi read(this.LoopField) | Fields.cs:65:24:65:32 | SSA read(this.LoopField) | -| Patterns.cs:20:9:38:9 | SSA phi read(o) | Patterns.cs:8:13:8:13 | SSA read(o) | -| Patterns.cs:20:9:38:9 | SSA phi read(o) | Patterns.cs:12:18:12:18 | SSA read(o) | -| Patterns.cs:20:9:38:9 | SSA phi read(o) | Patterns.cs:16:18:16:18 | SSA read(o) | -| Properties.cs:63:16:63:16 | SSA phi read(this.LoopProp) | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | -| Properties.cs:63:16:63:16 | SSA phi read(this.LoopProp) | Properties.cs:65:24:65:31 | SSA read(this.LoopProp) | -| Test.cs:25:16:25:16 | SSA phi read(x) | Test.cs:24:9:24:15 | SSA phi(x) | -| Test.cs:25:16:25:16 | SSA phi read(x) | Test.cs:25:16:25:16 | SSA read(x) | -| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:78:13:78:17 | SSA def(x) | -| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:82:17:82:17 | SSA read(x) | -| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:86:17:86:17 | SSA read(x) | -| Test.cs:99:9:99:15 | SSA phi read(x) | Test.cs:90:9:97:9 | SSA phi read(x) | -| Test.cs:99:9:99:15 | SSA phi read(x) | Test.cs:92:17:92:17 | SSA read(x) | -| Test.cs:99:9:99:15 | SSA phi read(x) | Test.cs:96:17:96:17 | SSA read(x) | +| DefUse.cs:80:9:80:51 | SSA phi read(this.Field2) | DefUse.cs:64:13:64:18 | SSA read(this.Field2) | +| DefUse.cs:80:9:80:51 | SSA phi read(this.Field2) | DefUse.cs:80:37:80:42 | SSA read(this.Field2) | +| Fields.cs:63:9:66:9 | SSA phi read(this.LoopField) | Fields.cs:61:17:61:17 | SSA entry def(this.LoopField) | +| Fields.cs:63:9:66:9 | SSA phi read(this.LoopField) | Fields.cs:65:24:65:32 | SSA read(this.LoopField) | +| Patterns.cs:8:9:18:9 | SSA phi read(o) | Patterns.cs:8:13:8:13 | SSA read(o) | +| Patterns.cs:8:9:18:9 | SSA phi read(o) | Patterns.cs:12:14:18:9 | SSA phi read(o) | +| Patterns.cs:12:14:18:9 | SSA phi read(o) | Patterns.cs:12:18:12:18 | SSA read(o) | +| Patterns.cs:12:14:18:9 | SSA phi read(o) | Patterns.cs:16:18:16:18 | SSA read(o) | +| Properties.cs:63:9:66:9 | SSA phi read(this.LoopProp) | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | +| Properties.cs:63:9:66:9 | SSA phi read(this.LoopProp) | Properties.cs:65:24:65:31 | SSA read(this.LoopProp) | +| Test.cs:25:9:32:9 | SSA phi read(x) | Test.cs:11:9:23:9 | SSA phi(x) | +| Test.cs:25:9:32:9 | SSA phi read(x) | Test.cs:25:16:25:16 | SSA read(x) | +| Test.cs:80:9:87:9 | SSA phi read(x) | Test.cs:82:17:82:17 | SSA read(x) | +| Test.cs:80:9:87:9 | SSA phi read(x) | Test.cs:84:14:87:9 | SSA phi read(x) | +| Test.cs:84:14:87:9 | SSA phi read(x) | Test.cs:78:13:78:17 | SSA def(x) | +| Test.cs:84:14:87:9 | SSA phi read(x) | Test.cs:86:17:86:17 | SSA read(x) | +| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:92:17:92:17 | SSA read(x) | +| Test.cs:90:9:97:9 | SSA phi read(x) | Test.cs:94:14:97:9 | SSA phi read(x) | +| Test.cs:94:14:97:9 | SSA phi read(x) | Test.cs:80:9:87:9 | SSA phi read(x) | +| Test.cs:94:14:97:9 | SSA phi read(x) | Test.cs:96:17:96:17 | SSA read(x) | diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.ql b/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.ql index baa59bc5b67..28cdb3a5af2 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.ql +++ b/csharp/ql/test/library-tests/dataflow/ssa/SSAPhiRead.ql @@ -6,8 +6,8 @@ query predicate phiReadNode(RefTest::Ref phi, Ssa::SourceVariable v) { phi.isPhiRead() and phi.getSourceVariable() = v } -query predicate phiReadNodeFirstRead(RefTest::Ref phi, Ssa::SourceVariable v, ControlFlow::Node read) { - exists(RefTest::Ref r, ControlFlow::BasicBlock bb, int i | +query predicate phiReadNodeFirstRead(RefTest::Ref phi, Ssa::SourceVariable v, ControlFlowNode read) { + exists(RefTest::Ref r, BasicBlock bb, int i | phi.isPhiRead() and RefTest::adjacentRefRead(phi, r) and r.accessAt(bb, i, v) and diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SsaDef.expected b/csharp/ql/test/library-tests/dataflow/ssa/SsaDef.expected index 3f117d6412e..9fe8df76f18 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SsaDef.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa/SsaDef.expected @@ -46,17 +46,17 @@ | Consistency.cs:56:17:56:17 | k | Consistency.cs:57:9:57:13 | SSA def(k) | | Consistency.cs:56:17:56:17 | k | Consistency.cs:58:9:58:13 | SSA def(k) | | DefUse.cs:3:26:3:26 | w | DefUse.cs:3:26:3:26 | SSA param(w) | +| DefUse.cs:3:26:3:26 | w | DefUse.cs:11:9:21:9 | SSA phi(w) | | DefUse.cs:3:26:3:26 | w | DefUse.cs:19:13:19:18 | SSA def(w) | -| DefUse.cs:3:26:3:26 | w | DefUse.cs:23:9:23:15 | SSA phi(w) | | DefUse.cs:3:26:3:26 | w | DefUse.cs:29:13:29:18 | SSA def(w) | | DefUse.cs:5:13:5:13 | x | DefUse.cs:5:13:5:17 | SSA def(x) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:6:14:6:19 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:11:9:21:9 | SSA phi(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:13:13:13:18 | SSA def(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:18:13:18:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:23:9:23:15 | SSA phi(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:28:13:28:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:37:9:40:9 | SSA phi(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:39:13:39:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:42:9:42:15 | SSA phi(y) | | DefUse.cs:44:13:44:13 | z | DefUse.cs:44:13:44:17 | SSA def(z) | | DefUse.cs:44:13:44:13 | z | DefUse.cs:47:23:47:23 | SSA def(z) | | DefUse.cs:44:13:44:13 | z | DefUse.cs:50:23:50:23 | SSA def(z) | @@ -66,15 +66,15 @@ | DefUse.cs:66:9:66:14 | this.Field3 | DefUse.cs:66:9:66:18 | SSA def(this.Field3) | | DefUse.cs:67:19:67:20 | tc | DefUse.cs:67:19:67:27 | SSA def(tc) | | DefUse.cs:79:13:79:14 | x1 | DefUse.cs:79:13:79:18 | SSA def(x1) | +| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:9:80:51 | SSA phi(x1) | | DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA def(x1) | -| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA phi(x1) | | DefUse.cs:83:13:83:14 | x2 | DefUse.cs:83:13:83:18 | SSA def(x2) | | DefUse.cs:83:13:83:14 | x2 | DefUse.cs:85:15:85:16 | SSA def(x2) | | DefUse.cs:89:13:89:14 | x3 | DefUse.cs:89:13:89:18 | SSA def(x3) | | DefUse.cs:89:13:89:14 | x3 | DefUse.cs:92:15:92:16 | SSA def(x3) | | DefUse.cs:90:13:90:14 | x4 | DefUse.cs:93:15:93:16 | SSA def(x4) | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:97:13:97:18 | SSA def(x5) | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:101:13:101:23 | SSA def(x5) | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:104:9:104:15 | SSA def(x5) | | DefUse.cs:114:42:114:42 | i | DefUse.cs:114:47:114:52 | SSA def(i) | @@ -95,28 +95,29 @@ | DefUse.cs:188:13:188:18 | this.Field5 | DefUse.cs:188:13:188:22 | SSA def(this.Field5) | | Example.cs:6:23:6:23 | i | Example.cs:6:23:6:23 | SSA param(i) | | Example.cs:8:9:8:18 | this.Field | Example.cs:8:9:8:22 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | | Example.cs:8:9:8:18 | this.Field | Example.cs:11:13:11:30 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:12:14:13:24 | SSA phi(this.Field) | | Example.cs:8:9:8:18 | this.Field | Example.cs:13:13:13:23 | SSA call def(this.Field) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | | Example.cs:18:16:18:16 | p | Example.cs:18:16:18:16 | SSA param(p) | +| Example.cs:18:16:18:16 | p | Example.cs:20:9:24:9 | SSA phi(p) | | Example.cs:18:16:18:16 | p | Example.cs:23:13:23:17 | SSA def(p) | -| Example.cs:18:16:18:16 | p | Example.cs:25:9:25:15 | SSA phi(p) | | Example.cs:18:24:18:24 | b | Example.cs:18:24:18:24 | SSA param(b) | | Fields.cs:18:15:18:15 | x | Fields.cs:20:9:20:14 | SSA def(x) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:19:9:19:13 | SSA call def(this.xs) | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:22:13:22:17 | SSA call def(this.xs) | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:24:9:24:23 | SSA def(this.xs) | | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | | Fields.cs:30:13:30:13 | f | Fields.cs:49:13:49:28 | SSA def(f) | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:30:13:30:28 | SSA qualifier def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:34:9:34:16 | SSA call def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:38:9:38:13 | SSA call def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:45:9:45:25 | SSA def(f.xs) | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | | Fields.cs:32:15:32:15 | z | Fields.cs:47:9:47:14 | SSA def(z) | | Fields.cs:32:19:32:20 | this.xs | Fields.cs:28:17:28:17 | SSA entry def(this.xs) | | Fields.cs:32:19:32:20 | this.xs | Fields.cs:34:9:34:16 | SSA call def(this.xs) | @@ -126,8 +127,8 @@ | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:30:17:30:28 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:34:9:34:16 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:51:9:51:20 | SSA call def(Fields.stat) | | Fields.cs:65:24:65:32 | this.LoopField | Fields.cs:61:17:61:17 | SSA entry def(this.LoopField) | | Fields.cs:71:17:71:35 | this.SingleAccessedField | Fields.cs:61:17:61:17 | SSA entry def(this.SingleAccessedField) | @@ -179,8 +180,8 @@ | OutRef.cs:34:27:34:27 | i | OutRef.cs:36:9:36:13 | SSA def(i) | | OutRef.cs:34:38:34:38 | j | OutRef.cs:34:38:34:38 | SSA param(j) | | OutRef.cs:39:24:39:24 | b | OutRef.cs:39:24:39:24 | SSA param(b) | -| OutRef.cs:39:35:39:35 | j | OutRef.cs:39:10:39:17 | SSA phi(j) | | OutRef.cs:39:35:39:35 | j | OutRef.cs:39:35:39:35 | SSA param(j) | +| OutRef.cs:39:35:39:35 | j | OutRef.cs:41:9:42:18 | SSA phi(j) | | OutRef.cs:39:35:39:35 | j | OutRef.cs:42:13:42:17 | SSA def(j) | | Patterns.cs:7:16:7:16 | o | Patterns.cs:7:16:7:23 | SSA def(o) | | Patterns.cs:8:22:8:23 | i1 | Patterns.cs:8:18:8:23 | SSA def(i1) | @@ -191,18 +192,18 @@ | Properties.cs:18:15:18:15 | x | Properties.cs:20:9:20:14 | SSA def(x) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:19:9:19:13 | SSA call def(this.xs) | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:22:13:22:17 | SSA call def(this.xs) | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:24:9:24:23 | SSA def(this.xs) | | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | | Properties.cs:30:13:30:13 | f | Properties.cs:49:13:49:32 | SSA def(f) | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:30:13:30:32 | SSA qualifier def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:34:9:34:16 | SSA call def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:38:9:38:13 | SSA call def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:45:9:45:25 | SSA def(f.xs) | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | | Properties.cs:32:15:32:15 | z | Properties.cs:47:9:47:14 | SSA def(z) | | Properties.cs:32:19:32:20 | this.xs | Properties.cs:28:17:28:17 | SSA entry def(this.xs) | | Properties.cs:32:19:32:20 | this.xs | Properties.cs:34:9:34:16 | SSA call def(this.xs) | @@ -212,11 +213,11 @@ | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:30:17:30:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | | Properties.cs:61:23:61:23 | i | Properties.cs:61:23:61:23 | SSA param(i) | -| Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:16 | SSA phi(i) | +| Properties.cs:61:23:61:23 | i | Properties.cs:63:9:66:9 | SSA phi(i) | | Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:18 | SSA def(i) | | Properties.cs:65:24:65:31 | this.LoopProp | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | | Properties.cs:67:21:67:38 | this.SingleAccessedProp | Properties.cs:61:17:61:17 | SSA entry def(this.SingleAccessedProp) | @@ -242,38 +243,38 @@ | Properties.cs:115:21:115:39 | this.Props.Props.xs | Properties.cs:108:10:108:10 | SSA qualifier def(this.Props.Props.xs) | | Properties.cs:115:21:115:39 | this.Props.Props.xs | Properties.cs:113:9:113:22 | SSA qualifier def(this.Props.Props.xs) | | Test.cs:5:15:5:20 | param1 | Test.cs:5:15:5:20 | SSA param(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:25:16:25:16 | SSA phi(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | | Test.cs:5:15:5:20 | param1 | Test.cs:27:17:27:24 | SSA def(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:33:9:33:19 | SSA phi(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | | Test.cs:5:15:5:20 | param1 | Test.cs:41:13:41:23 | SSA def(param1) | | Test.cs:5:67:5:72 | param2 | Test.cs:5:67:5:72 | SSA param(param2) | | Test.cs:7:9:7:13 | this.field | Test.cs:7:9:7:17 | SSA def(this.field) | +| Test.cs:7:9:7:13 | this.field | Test.cs:11:9:23:9 | SSA phi(this.field) | | Test.cs:7:9:7:13 | this.field | Test.cs:21:13:21:22 | SSA def(this.field) | -| Test.cs:7:9:7:13 | this.field | Test.cs:24:9:24:15 | SSA phi(this.field) | | Test.cs:8:13:8:13 | x | Test.cs:8:13:8:17 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:11:9:23:9 | SSA phi(x) | | Test.cs:8:13:8:13 | x | Test.cs:13:13:13:15 | SSA def(x) | | Test.cs:8:13:8:13 | x | Test.cs:14:17:14:19 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:24:9:24:15 | SSA phi(x) | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | | Test.cs:8:13:8:13 | x | Test.cs:36:13:36:18 | SSA def(x) | +| Test.cs:9:13:9:13 | y | Test.cs:11:9:23:9 | SSA phi(y) | | Test.cs:9:13:9:13 | y | Test.cs:14:13:14:19 | SSA def(y) | | Test.cs:9:13:9:13 | y | Test.cs:19:13:19:17 | SSA def(y) | | Test.cs:9:13:9:13 | y | Test.cs:20:13:20:18 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:24:9:24:15 | SSA phi(y) | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | | Test.cs:9:13:9:13 | y | Test.cs:31:13:31:18 | SSA def(y) | +| Test.cs:10:13:10:13 | z | Test.cs:11:9:23:9 | SSA phi(z) | | Test.cs:10:13:10:13 | z | Test.cs:15:13:15:17 | SSA def(z) | | Test.cs:10:13:10:13 | z | Test.cs:22:13:22:17 | SSA def(z) | -| Test.cs:10:13:10:13 | z | Test.cs:24:9:24:15 | SSA phi(z) | | Test.cs:34:18:34:18 | i | Test.cs:34:18:34:22 | SSA def(i) | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | | Test.cs:34:18:34:18 | i | Test.cs:34:33:34:35 | SSA def(i) | | Test.cs:39:22:39:22 | w | Test.cs:39:22:39:22 | SSA def(w) | | Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | +| Test.cs:46:29:46:32 | out | Test.cs:48:9:55:9 | SSA phi(out) | | Test.cs:46:29:46:32 | out | Test.cs:50:13:50:20 | SSA def(out) | | Test.cs:46:29:46:32 | out | Test.cs:54:13:54:20 | SSA def(out) | -| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | | Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) | @@ -285,8 +286,8 @@ | Test.cs:76:60:76:61 | b5 | Test.cs:76:60:76:61 | SSA param(b5) | | Test.cs:76:69:76:70 | b6 | Test.cs:76:69:76:70 | SSA param(b6) | | Test.cs:78:13:78:13 | x | Test.cs:78:13:78:17 | SSA def(x) | +| Test.cs:78:13:78:13 | x | Test.cs:102:9:110:9 | SSA phi(x) | | Test.cs:78:13:78:13 | x | Test.cs:108:13:108:17 | SSA def(x) | -| Test.cs:78:13:78:13 | x | Test.cs:113:9:116:9 | SSA phi(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:23:9:23:37 | SSA def(x) | diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SsaDefElement.expected b/csharp/ql/test/library-tests/dataflow/ssa/SsaDefElement.expected index 923d62a96ec..874b9aecfb5 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SsaDefElement.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa/SsaDefElement.expected @@ -51,12 +51,9 @@ | DefUse.cs:13:13:13:18 | SSA def(y) | DefUse.cs:13:13:13:18 | ... = ... | | DefUse.cs:18:13:18:18 | SSA def(y) | DefUse.cs:18:13:18:18 | ... = ... | | DefUse.cs:19:13:19:18 | SSA def(w) | DefUse.cs:19:13:19:18 | ... = ... | -| DefUse.cs:23:9:23:15 | SSA phi(w) | DefUse.cs:23:9:23:15 | ...; | -| DefUse.cs:23:9:23:15 | SSA phi(y) | DefUse.cs:23:9:23:15 | ...; | | DefUse.cs:28:13:28:18 | SSA def(y) | DefUse.cs:28:13:28:18 | ... = ... | | DefUse.cs:29:13:29:18 | SSA def(w) | DefUse.cs:29:13:29:18 | ... = ... | | DefUse.cs:39:13:39:18 | SSA def(y) | DefUse.cs:39:13:39:18 | ... = ... | -| DefUse.cs:42:9:42:15 | SSA phi(y) | DefUse.cs:42:9:42:15 | ...; | | DefUse.cs:44:13:44:17 | SSA def(z) | DefUse.cs:44:13:44:17 | Int32 z = ... | | DefUse.cs:47:23:47:23 | SSA def(z) | DefUse.cs:47:9:47:24 | call to method outMethod | | DefUse.cs:50:23:50:23 | SSA def(z) | DefUse.cs:50:9:50:24 | call to method refMethod | @@ -67,14 +64,12 @@ | DefUse.cs:67:19:67:27 | SSA def(tc) | DefUse.cs:67:19:67:27 | TestClass tc = ... | | DefUse.cs:79:13:79:18 | SSA def(x1) | DefUse.cs:79:13:79:18 | Int32 x1 = ... | | DefUse.cs:80:30:80:31 | SSA def(x1) | DefUse.cs:80:16:80:32 | call to method refMethod | -| DefUse.cs:80:30:80:31 | SSA phi(x1) | DefUse.cs:80:30:80:31 | access to local variable x1 | | DefUse.cs:83:13:83:18 | SSA def(x2) | DefUse.cs:83:13:83:18 | Int32 x2 = ... | | DefUse.cs:85:15:85:16 | SSA def(x2) | DefUse.cs:84:9:86:17 | call to method refOutMethod | | DefUse.cs:89:13:89:18 | SSA def(x3) | DefUse.cs:89:13:89:18 | Int32 x3 = ... | | DefUse.cs:92:15:92:16 | SSA def(x3) | DefUse.cs:91:9:93:17 | call to method refOutMethod | | DefUse.cs:93:15:93:16 | SSA def(x4) | DefUse.cs:91:9:93:17 | call to method refOutMethod | | DefUse.cs:97:13:97:18 | SSA def(x5) | DefUse.cs:97:13:97:18 | Int32 x5 = ... | -| DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:98:16:98:17 | access to local variable x5 | | DefUse.cs:101:13:101:23 | SSA def(x5) | DefUse.cs:101:13:101:23 | ... = ... | | DefUse.cs:104:9:104:15 | SSA def(x5) | DefUse.cs:104:9:104:15 | ... += ... | | DefUse.cs:114:47:114:52 | SSA def(i) | DefUse.cs:114:47:114:52 | ... = ... | @@ -97,16 +92,13 @@ | Example.cs:8:9:8:22 | SSA def(this.Field) | Example.cs:8:9:8:22 | ... = ... | | Example.cs:11:13:11:30 | SSA def(this.Field) | Example.cs:11:13:11:30 | ... = ... | | Example.cs:13:13:13:23 | SSA call def(this.Field) | Example.cs:13:13:13:23 | call to method SetField | -| Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:14:9:14:24 | ...; | | Example.cs:18:16:18:16 | SSA param(p) | Example.cs:18:16:18:16 | p | | Example.cs:18:24:18:24 | SSA param(b) | Example.cs:18:24:18:24 | b | | Example.cs:23:13:23:17 | SSA def(p) | Example.cs:23:13:23:17 | ... = ... | -| Example.cs:25:9:25:15 | SSA phi(p) | Example.cs:25:9:25:15 | ...; | | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | Fields.cs:16:17:16:17 | F | | Fields.cs:19:9:19:13 | SSA call def(this.xs) | Fields.cs:19:9:19:13 | call to method Upd | | Fields.cs:20:9:20:14 | SSA def(x) | Fields.cs:20:9:20:14 | ... = ... | | Fields.cs:22:13:22:17 | SSA call def(this.xs) | Fields.cs:22:13:22:17 | call to method Upd | -| Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:23:9:23:20 | ...; | | Fields.cs:24:9:24:23 | SSA def(this.xs) | Fields.cs:24:9:24:23 | ... = ... | | Fields.cs:28:17:28:17 | SSA entry def(Fields.stat) | Fields.cs:28:17:28:17 | G | | Fields.cs:28:17:28:17 | SSA entry def(this.xs) | Fields.cs:28:17:28:17 | G | @@ -125,9 +117,6 @@ | Fields.cs:49:13:49:28 | SSA def(f) | Fields.cs:49:13:49:28 | ... = ... | | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | Fields.cs:49:13:49:28 | ... = ... | | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | Fields.cs:49:17:49:28 | object creation of type Fields | -| Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:50:9:50:17 | ...; | -| Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:50:9:50:17 | ...; | -| Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:50:9:50:17 | ...; | | Fields.cs:51:9:51:20 | SSA call def(Fields.stat) | Fields.cs:51:9:51:20 | object creation of type Fields | | Fields.cs:61:17:61:17 | SSA entry def(this.LoopField) | Fields.cs:61:17:61:17 | H | | Fields.cs:61:17:61:17 | SSA entry def(this.SingleAccessedField) | Fields.cs:61:17:61:17 | H | @@ -189,7 +178,6 @@ | Properties.cs:19:9:19:13 | SSA call def(this.xs) | Properties.cs:19:9:19:13 | call to method Upd | | Properties.cs:20:9:20:14 | SSA def(x) | Properties.cs:20:9:20:14 | ... = ... | | Properties.cs:22:13:22:17 | SSA call def(this.xs) | Properties.cs:22:13:22:17 | call to method Upd | -| Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:23:9:23:20 | ...; | | Properties.cs:24:9:24:23 | SSA def(this.xs) | Properties.cs:24:9:24:23 | ... = ... | | Properties.cs:28:17:28:17 | SSA entry def(Properties.stat) | Properties.cs:28:17:28:17 | G | | Properties.cs:28:17:28:17 | SSA entry def(this.xs) | Properties.cs:28:17:28:17 | G | @@ -208,14 +196,10 @@ | Properties.cs:49:13:49:32 | SSA def(f) | Properties.cs:49:13:49:32 | ... = ... | | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | Properties.cs:49:13:49:32 | ... = ... | | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | Properties.cs:49:17:49:32 | object creation of type Properties | -| Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:50:9:50:17 | ...; | -| Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:50:9:50:17 | ...; | -| Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:50:9:50:17 | ...; | | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:51:9:51:24 | object creation of type Properties | | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | Properties.cs:61:17:61:17 | H | | Properties.cs:61:17:61:17 | SSA entry def(this.SingleAccessedProp) | Properties.cs:61:17:61:17 | H | | Properties.cs:61:23:61:23 | SSA param(i) | Properties.cs:61:23:61:23 | i | -| Properties.cs:63:16:63:16 | SSA phi(i) | Properties.cs:63:16:63:16 | access to parameter i | | Properties.cs:63:16:63:18 | SSA def(i) | Properties.cs:63:16:63:18 | ...-- | | Properties.cs:70:17:70:17 | SSA entry def(this.SingleAccessedProp) | Properties.cs:70:17:70:17 | I | | Properties.cs:73:13:73:32 | SSA def(f) | Properties.cs:73:13:73:32 | Properties f = ... | @@ -248,28 +232,18 @@ | Test.cs:20:13:20:18 | SSA def(y) | Test.cs:20:13:20:18 | ... += ... | | Test.cs:21:13:21:22 | SSA def(this.field) | Test.cs:21:13:21:22 | ... = ... | | Test.cs:22:13:22:17 | SSA def(z) | Test.cs:22:13:22:17 | ... = ... | -| Test.cs:24:9:24:15 | SSA phi(this.field) | Test.cs:24:9:24:15 | ...; | -| Test.cs:24:9:24:15 | SSA phi(x) | Test.cs:24:9:24:15 | ...; | -| Test.cs:24:9:24:15 | SSA phi(y) | Test.cs:24:9:24:15 | ...; | -| Test.cs:24:9:24:15 | SSA phi(z) | Test.cs:24:9:24:15 | ...; | -| Test.cs:25:16:25:16 | SSA phi(param1) | Test.cs:25:16:25:16 | access to local variable x | -| Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:25:16:25:16 | access to local variable x | | Test.cs:27:17:27:24 | SSA def(param1) | Test.cs:27:17:27:24 | ...++ | | Test.cs:31:13:31:18 | SSA def(y) | Test.cs:31:13:31:18 | ... -= ... | -| Test.cs:33:9:33:19 | SSA phi(param1) | Test.cs:33:9:33:19 | ...; | | Test.cs:34:18:34:22 | SSA def(i) | Test.cs:34:18:34:22 | Int32 i = ... | -| Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:25:34:25 | access to local variable i | -| Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:34:25:34:25 | access to local variable i | | Test.cs:34:33:34:35 | SSA def(i) | Test.cs:34:33:34:35 | ...++ | | Test.cs:36:13:36:18 | SSA def(x) | Test.cs:36:13:36:18 | ... += ... | -| Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:39:9:42:9 | foreach (... ... in ...) ... | | Test.cs:39:22:39:22 | SSA def(w) | Test.cs:39:22:39:22 | Int32 w | +| Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:39:22:39:22 | Int32 w | | Test.cs:41:13:41:23 | SSA def(param1) | Test.cs:41:13:41:23 | ... += ... | | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:46:10:46:10 | g | | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:46:16:46:18 | in | | Test.cs:50:13:50:20 | SSA def(out) | Test.cs:50:13:50:20 | ... = ... | | Test.cs:54:13:54:20 | SSA def(out) | Test.cs:54:13:54:20 | ... = ... | -| Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:56:9:56:19 | ...; | | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | ... = ... | | Test.cs:62:16:62:16 | SSA param(x) | Test.cs:62:16:62:16 | x | | Test.cs:68:45:68:45 | SSA def(e) | Test.cs:68:45:68:45 | DivideByZeroException e | @@ -281,7 +255,6 @@ | Test.cs:76:69:76:70 | SSA param(b6) | Test.cs:76:69:76:70 | b6 | | Test.cs:78:13:78:17 | SSA def(x) | Test.cs:78:13:78:17 | Int32 x = ... | | Test.cs:108:13:108:17 | SSA def(x) | Test.cs:108:13:108:17 | ... = ... | -| Test.cs:113:9:116:9 | SSA phi(x) | Test.cs:113:9:116:9 | if (...) ... | | Tuples.cs:10:9:10:54 | SSA def(b) | Tuples.cs:10:9:10:54 | ... = ... | | Tuples.cs:10:9:10:54 | SSA def(s) | Tuples.cs:10:9:10:54 | ... = ... | | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:10:9:10:54 | ... = ... | diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SsaRead.expected b/csharp/ql/test/library-tests/dataflow/ssa/SsaRead.expected index 46aba07eb37..625ce3c79a3 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SsaRead.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa/SsaRead.expected @@ -48,8 +48,8 @@ | Consistency.cs:51:20:51:20 | a | Consistency.cs:51:20:51:20 | SSA param(a) | Consistency.cs:55:36:55:36 | access to parameter a | | Consistency.cs:51:20:51:20 | a | Consistency.cs:51:20:51:20 | SSA param(a) | Consistency.cs:56:36:56:36 | access to parameter a | | DefUse.cs:3:26:3:26 | w | DefUse.cs:3:26:3:26 | SSA param(w) | DefUse.cs:9:13:9:13 | access to parameter w | +| DefUse.cs:3:26:3:26 | w | DefUse.cs:11:9:21:9 | SSA phi(w) | DefUse.cs:24:13:24:13 | access to parameter w | | DefUse.cs:3:26:3:26 | w | DefUse.cs:19:13:19:18 | SSA def(w) | DefUse.cs:20:17:20:17 | access to parameter w | -| DefUse.cs:3:26:3:26 | w | DefUse.cs:23:9:23:15 | SSA phi(w) | DefUse.cs:24:13:24:13 | access to parameter w | | DefUse.cs:3:26:3:26 | w | DefUse.cs:29:13:29:18 | SSA def(w) | DefUse.cs:35:13:35:13 | access to parameter w | | DefUse.cs:3:26:3:26 | w | DefUse.cs:29:13:29:18 | SSA def(w) | DefUse.cs:53:17:53:17 | access to parameter w | | DefUse.cs:5:13:5:13 | x | DefUse.cs:5:13:5:17 | SSA def(x) | DefUse.cs:11:13:11:13 | access to local variable x | @@ -58,10 +58,10 @@ | DefUse.cs:5:13:5:13 | x | DefUse.cs:5:13:5:17 | SSA def(x) | DefUse.cs:44:17:44:17 | access to local variable x | | DefUse.cs:5:13:5:13 | x | DefUse.cs:5:13:5:17 | SSA def(x) | DefUse.cs:56:16:56:16 | access to local variable x | | DefUse.cs:6:14:6:14 | y | DefUse.cs:6:14:6:19 | SSA def(y) | DefUse.cs:8:13:8:13 | access to local variable y | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:11:9:21:9 | SSA phi(y) | DefUse.cs:23:13:23:13 | access to local variable y | | DefUse.cs:6:14:6:14 | y | DefUse.cs:13:13:13:18 | SSA def(y) | DefUse.cs:14:17:14:17 | access to local variable y | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:23:9:23:15 | SSA phi(y) | DefUse.cs:23:13:23:13 | access to local variable y | | DefUse.cs:6:14:6:14 | y | DefUse.cs:28:13:28:18 | SSA def(y) | DefUse.cs:34:13:34:13 | access to local variable y | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:42:9:42:15 | SSA phi(y) | DefUse.cs:42:13:42:13 | access to local variable y | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:37:9:40:9 | SSA phi(y) | DefUse.cs:42:13:42:13 | access to local variable y | | DefUse.cs:44:13:44:13 | z | DefUse.cs:44:13:44:17 | SSA def(z) | DefUse.cs:45:13:45:13 | access to local variable z | | DefUse.cs:44:13:44:13 | z | DefUse.cs:47:23:47:23 | SSA def(z) | DefUse.cs:48:13:48:13 | access to local variable z | | DefUse.cs:44:13:44:13 | z | DefUse.cs:47:23:47:23 | SSA def(z) | DefUse.cs:50:23:50:23 | access to local variable z | @@ -72,17 +72,17 @@ | DefUse.cs:63:9:63:14 | this.Field2 | DefUse.cs:63:9:63:18 | SSA def(this.Field2) | DefUse.cs:80:37:80:42 | access to field Field2 | | DefUse.cs:66:9:66:14 | this.Field3 | DefUse.cs:66:9:66:18 | SSA def(this.Field3) | DefUse.cs:69:13:69:18 | access to field Field3 | | DefUse.cs:67:19:67:20 | tc | DefUse.cs:67:19:67:27 | SSA def(tc) | DefUse.cs:68:9:68:10 | access to local variable tc | +| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:9:80:51 | SSA phi(x1) | DefUse.cs:80:30:80:31 | access to local variable x1 | | DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA def(x1) | DefUse.cs:81:13:81:14 | access to local variable x1 | -| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA phi(x1) | DefUse.cs:80:30:80:31 | access to local variable x1 | | DefUse.cs:83:13:83:14 | x2 | DefUse.cs:83:13:83:18 | SSA def(x2) | DefUse.cs:85:15:85:16 | access to local variable x2 | | DefUse.cs:83:13:83:14 | x2 | DefUse.cs:85:15:85:16 | SSA def(x2) | DefUse.cs:87:13:87:14 | access to local variable x2 | | DefUse.cs:89:13:89:14 | x3 | DefUse.cs:89:13:89:18 | SSA def(x3) | DefUse.cs:92:15:92:16 | access to local variable x3 | | DefUse.cs:89:13:89:14 | x3 | DefUse.cs:92:15:92:16 | SSA def(x3) | DefUse.cs:94:13:94:14 | access to local variable x3 | | DefUse.cs:90:13:90:14 | x4 | DefUse.cs:93:15:93:16 | SSA def(x4) | DefUse.cs:95:13:95:14 | access to local variable x4 | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:98:16:98:17 | access to local variable x5 | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:100:17:100:18 | access to local variable x5 | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:101:18:101:19 | access to local variable x5 | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:104:9:104:10 | access to local variable x5 | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:98:16:98:17 | access to local variable x5 | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:100:17:100:18 | access to local variable x5 | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:101:18:101:19 | access to local variable x5 | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:104:9:104:10 | access to local variable x5 | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:104:9:104:15 | SSA def(x5) | DefUse.cs:105:13:105:14 | access to local variable x5 | | DefUse.cs:118:45:118:45 | i | DefUse.cs:118:45:118:45 | SSA param(i) | DefUse.cs:118:65:118:65 | access to parameter i | | DefUse.cs:128:19:128:19 | i | DefUse.cs:128:19:128:19 | SSA param(i) | DefUse.cs:129:19:129:19 | access to parameter i | @@ -104,15 +104,15 @@ | Example.cs:6:23:6:23 | i | Example.cs:6:23:6:23 | SSA param(i) | Example.cs:11:26:11:26 | access to parameter i | | Example.cs:6:23:6:23 | i | Example.cs:6:23:6:23 | SSA param(i) | Example.cs:12:18:12:18 | access to parameter i | | Example.cs:8:9:8:18 | this.Field | Example.cs:8:9:8:22 | SSA def(this.Field) | Example.cs:9:13:9:22 | access to field Field | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:14:13:14:22 | access to field Field | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:15:13:15:22 | access to field Field | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:14:13:14:22 | access to field Field | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:15:13:15:22 | access to field Field | | Example.cs:18:16:18:16 | p | Example.cs:18:16:18:16 | SSA param(p) | Example.cs:22:17:22:17 | access to parameter p | -| Example.cs:18:16:18:16 | p | Example.cs:25:9:25:15 | SSA phi(p) | Example.cs:25:13:25:13 | access to parameter p | +| Example.cs:18:16:18:16 | p | Example.cs:20:9:24:9 | SSA phi(p) | Example.cs:25:13:25:13 | access to parameter p | | Example.cs:18:24:18:24 | b | Example.cs:18:24:18:24 | SSA param(b) | Example.cs:20:13:20:13 | access to parameter b | | Fields.cs:18:15:18:15 | x | Fields.cs:20:9:20:14 | SSA def(x) | Fields.cs:21:13:21:13 | access to local variable x | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | Fields.cs:18:19:18:20 | access to field xs | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:19:9:19:13 | SSA call def(this.xs) | Fields.cs:20:13:20:14 | access to field xs | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:23:13:23:19 | access to field xs | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | Fields.cs:23:13:23:19 | access to field xs | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:24:9:24:23 | SSA def(this.xs) | Fields.cs:25:13:25:14 | access to field xs | | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | Fields.cs:31:19:31:19 | access to local variable f | | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | Fields.cs:35:13:35:13 | access to local variable f | @@ -121,15 +121,15 @@ | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | Fields.cs:43:13:43:13 | access to local variable f | | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | Fields.cs:45:9:45:9 | access to local variable f | | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | Fields.cs:46:13:46:13 | access to local variable f | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:50:13:50:13 | access to local variable f | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:52:13:52:13 | access to local variable f | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | Fields.cs:50:13:50:13 | access to local variable f | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | Fields.cs:52:13:52:13 | access to local variable f | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:30:13:30:28 | SSA qualifier def(f.xs) | Fields.cs:31:19:31:22 | access to field xs | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:34:9:34:16 | SSA call def(f.xs) | Fields.cs:35:13:35:16 | access to field xs | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:38:9:38:13 | SSA call def(f.xs) | Fields.cs:39:13:39:16 | access to field xs | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:38:9:38:13 | SSA call def(f.xs) | Fields.cs:43:13:43:16 | access to field xs | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:45:9:45:25 | SSA def(f.xs) | Fields.cs:46:13:46:16 | access to field xs | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:50:13:50:16 | access to field xs | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:52:13:52:16 | access to field xs | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | Fields.cs:50:13:50:16 | access to field xs | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | Fields.cs:52:13:52:16 | access to field xs | | Fields.cs:32:15:32:15 | z | Fields.cs:47:9:47:14 | SSA def(z) | Fields.cs:48:13:48:13 | access to local variable z | | Fields.cs:32:19:32:20 | this.xs | Fields.cs:28:17:28:17 | SSA entry def(this.xs) | Fields.cs:32:19:32:20 | access to field xs | | Fields.cs:32:19:32:20 | this.xs | Fields.cs:34:9:34:16 | SSA call def(this.xs) | Fields.cs:36:13:36:14 | access to field xs | @@ -227,7 +227,7 @@ | Properties.cs:18:15:18:15 | x | Properties.cs:20:9:20:14 | SSA def(x) | Properties.cs:21:13:21:13 | access to local variable x | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | Properties.cs:18:19:18:20 | access to property xs | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:19:9:19:13 | SSA call def(this.xs) | Properties.cs:20:13:20:14 | access to property xs | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:23:13:23:19 | access to property xs | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | Properties.cs:23:13:23:19 | access to property xs | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:24:9:24:23 | SSA def(this.xs) | Properties.cs:25:13:25:14 | access to property xs | | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | Properties.cs:31:19:31:19 | access to local variable f | | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | Properties.cs:35:13:35:13 | access to local variable f | @@ -236,15 +236,15 @@ | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | Properties.cs:43:13:43:13 | access to local variable f | | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | Properties.cs:45:9:45:9 | access to local variable f | | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | Properties.cs:46:13:46:13 | access to local variable f | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:50:13:50:13 | access to local variable f | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:52:13:52:13 | access to local variable f | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | Properties.cs:50:13:50:13 | access to local variable f | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | Properties.cs:52:13:52:13 | access to local variable f | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:30:13:30:32 | SSA qualifier def(f.xs) | Properties.cs:31:19:31:22 | access to property xs | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:34:9:34:16 | SSA call def(f.xs) | Properties.cs:35:13:35:16 | access to property xs | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:38:9:38:13 | SSA call def(f.xs) | Properties.cs:39:13:39:16 | access to property xs | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:38:9:38:13 | SSA call def(f.xs) | Properties.cs:43:13:43:16 | access to property xs | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:45:9:45:25 | SSA def(f.xs) | Properties.cs:46:13:46:16 | access to property xs | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:50:13:50:16 | access to property xs | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:52:13:52:16 | access to property xs | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | Properties.cs:50:13:50:16 | access to property xs | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | Properties.cs:52:13:52:16 | access to property xs | | Properties.cs:32:15:32:15 | z | Properties.cs:47:9:47:14 | SSA def(z) | Properties.cs:48:13:48:13 | access to local variable z | | Properties.cs:32:19:32:20 | this.xs | Properties.cs:28:17:28:17 | SSA entry def(this.xs) | Properties.cs:32:19:32:20 | access to property xs | | Properties.cs:32:19:32:20 | this.xs | Properties.cs:34:9:34:16 | SSA call def(this.xs) | Properties.cs:36:13:36:14 | access to property xs | @@ -256,7 +256,7 @@ | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | Properties.cs:37:13:37:16 | access to property stat | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | Properties.cs:41:13:41:16 | access to property stat | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:54:13:54:16 | access to property stat | -| Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:16 | SSA phi(i) | Properties.cs:63:16:63:16 | access to parameter i | +| Properties.cs:61:23:61:23 | i | Properties.cs:63:9:66:9 | SSA phi(i) | Properties.cs:63:16:63:16 | access to parameter i | | Properties.cs:65:24:65:31 | this.LoopProp | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | Properties.cs:65:24:65:31 | access to property LoopProp | | Properties.cs:67:21:67:38 | this.SingleAccessedProp | Properties.cs:61:17:61:17 | SSA entry def(this.SingleAccessedProp) | Properties.cs:67:21:67:38 | access to property SingleAccessedProp | | Properties.cs:72:20:72:37 | this.SingleAccessedProp | Properties.cs:70:17:70:17 | SSA entry def(this.SingleAccessedProp) | Properties.cs:72:20:72:37 | access to property SingleAccessedProp | @@ -288,23 +288,23 @@ | Properties.cs:115:21:115:39 | this.Props.Props.xs | Properties.cs:113:9:113:22 | SSA qualifier def(this.Props.Props.xs) | Properties.cs:115:21:115:39 | access to property xs | | Properties.cs:115:21:115:39 | this.Props.Props.xs | Properties.cs:113:9:113:22 | SSA qualifier def(this.Props.Props.xs) | Properties.cs:116:17:116:35 | access to property xs | | Test.cs:5:15:5:20 | param1 | Test.cs:5:15:5:20 | SSA param(param1) | Test.cs:11:13:11:18 | access to parameter param1 | -| Test.cs:5:15:5:20 | param1 | Test.cs:25:16:25:16 | SSA phi(param1) | Test.cs:27:17:27:22 | access to parameter param1 | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:41:13:41:18 | access to parameter param1 | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:27:17:27:22 | access to parameter param1 | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:41:13:41:18 | access to parameter param1 | | Test.cs:5:67:5:72 | param2 | Test.cs:5:67:5:72 | SSA param(param2) | Test.cs:39:27:39:32 | access to parameter param2 | -| Test.cs:7:9:7:13 | this.field | Test.cs:24:9:24:15 | SSA phi(this.field) | Test.cs:33:13:33:17 | access to field field | +| Test.cs:7:9:7:13 | this.field | Test.cs:11:9:23:9 | SSA phi(this.field) | Test.cs:33:13:33:17 | access to field field | | Test.cs:8:13:8:13 | x | Test.cs:8:13:8:17 | SSA def(x) | Test.cs:13:13:13:13 | access to local variable x | +| Test.cs:8:13:8:13 | x | Test.cs:11:9:23:9 | SSA phi(x) | Test.cs:25:16:25:16 | access to local variable x | | Test.cs:8:13:8:13 | x | Test.cs:13:13:13:15 | SSA def(x) | Test.cs:14:19:14:19 | access to local variable x | -| Test.cs:8:13:8:13 | x | Test.cs:24:9:24:15 | SSA phi(x) | Test.cs:25:16:25:16 | access to local variable x | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:36:13:36:13 | access to local variable x | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:43:16:43:16 | access to local variable x | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:36:13:36:13 | access to local variable x | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:43:16:43:16 | access to local variable x | | Test.cs:9:13:9:13 | y | Test.cs:19:13:19:17 | SSA def(y) | Test.cs:20:13:20:13 | access to local variable y | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:25:20:25:20 | access to local variable y | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:31:13:31:13 | access to local variable y | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:43:20:43:20 | access to local variable y | -| Test.cs:10:13:10:13 | z | Test.cs:24:9:24:15 | SSA phi(z) | Test.cs:24:13:24:13 | access to local variable z | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:25:34:25 | access to local variable i | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:33:34:33 | access to local variable i | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:36:18:36:18 | access to local variable i | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:25:20:25:20 | access to local variable y | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:31:13:31:13 | access to local variable y | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:43:20:43:20 | access to local variable y | +| Test.cs:10:13:10:13 | z | Test.cs:11:9:23:9 | SSA phi(z) | Test.cs:24:13:24:13 | access to local variable z | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:34:25:34:25 | access to local variable i | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:34:33:34:33 | access to local variable i | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:36:18:36:18 | access to local variable i | | Test.cs:39:22:39:22 | w | Test.cs:39:22:39:22 | SSA def(w) | Test.cs:41:23:41:23 | access to local variable w | | Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:48:13:48:15 | access to parameter in | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:56:13:56:17 | access to field field | @@ -323,8 +323,8 @@ | Test.cs:78:13:78:13 | x | Test.cs:78:13:78:17 | SSA def(x) | Test.cs:96:17:96:17 | access to local variable x | | Test.cs:78:13:78:13 | x | Test.cs:78:13:78:17 | SSA def(x) | Test.cs:99:13:99:13 | access to local variable x | | Test.cs:78:13:78:13 | x | Test.cs:78:13:78:17 | SSA def(x) | Test.cs:104:17:104:17 | access to local variable x | +| Test.cs:78:13:78:13 | x | Test.cs:102:9:110:9 | SSA phi(x) | Test.cs:115:17:115:17 | access to local variable x | | Test.cs:78:13:78:13 | x | Test.cs:108:13:108:17 | SSA def(x) | Test.cs:109:17:109:17 | access to local variable x | -| Test.cs:78:13:78:13 | x | Test.cs:113:9:116:9 | SSA phi(x) | Test.cs:115:17:115:17 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:11:13:11:13 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:15:13:15:13 | access to local variable x | | Tuples.cs:10:14:10:14 | x | Tuples.cs:23:9:23:37 | SSA def(x) | Tuples.cs:24:13:24:13 | access to local variable x | diff --git a/csharp/ql/test/library-tests/dataflow/ssa/SsaUltimateDef.expected b/csharp/ql/test/library-tests/dataflow/ssa/SsaUltimateDef.expected index d6dfac1475a..75ad81d4ef1 100644 --- a/csharp/ql/test/library-tests/dataflow/ssa/SsaUltimateDef.expected +++ b/csharp/ql/test/library-tests/dataflow/ssa/SsaUltimateDef.expected @@ -46,20 +46,20 @@ | Consistency.cs:56:17:56:17 | k | Consistency.cs:57:9:57:13 | SSA def(k) | Consistency.cs:57:9:57:13 | SSA def(k) | | Consistency.cs:56:17:56:17 | k | Consistency.cs:58:9:58:13 | SSA def(k) | Consistency.cs:58:9:58:13 | SSA def(k) | | DefUse.cs:3:26:3:26 | w | DefUse.cs:3:26:3:26 | SSA param(w) | DefUse.cs:3:26:3:26 | SSA param(w) | +| DefUse.cs:3:26:3:26 | w | DefUse.cs:11:9:21:9 | SSA phi(w) | DefUse.cs:3:26:3:26 | SSA param(w) | +| DefUse.cs:3:26:3:26 | w | DefUse.cs:11:9:21:9 | SSA phi(w) | DefUse.cs:19:13:19:18 | SSA def(w) | | DefUse.cs:3:26:3:26 | w | DefUse.cs:19:13:19:18 | SSA def(w) | DefUse.cs:19:13:19:18 | SSA def(w) | -| DefUse.cs:3:26:3:26 | w | DefUse.cs:23:9:23:15 | SSA phi(w) | DefUse.cs:3:26:3:26 | SSA param(w) | -| DefUse.cs:3:26:3:26 | w | DefUse.cs:23:9:23:15 | SSA phi(w) | DefUse.cs:19:13:19:18 | SSA def(w) | | DefUse.cs:3:26:3:26 | w | DefUse.cs:29:13:29:18 | SSA def(w) | DefUse.cs:29:13:29:18 | SSA def(w) | | DefUse.cs:5:13:5:13 | x | DefUse.cs:5:13:5:17 | SSA def(x) | DefUse.cs:5:13:5:17 | SSA def(x) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:6:14:6:19 | SSA def(y) | DefUse.cs:6:14:6:19 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:11:9:21:9 | SSA phi(y) | DefUse.cs:13:13:13:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:11:9:21:9 | SSA phi(y) | DefUse.cs:18:13:18:18 | SSA def(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:13:13:13:18 | SSA def(y) | DefUse.cs:13:13:13:18 | SSA def(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:18:13:18:18 | SSA def(y) | DefUse.cs:18:13:18:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:23:9:23:15 | SSA phi(y) | DefUse.cs:13:13:13:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:23:9:23:15 | SSA phi(y) | DefUse.cs:18:13:18:18 | SSA def(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:28:13:28:18 | SSA def(y) | DefUse.cs:28:13:28:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:37:9:40:9 | SSA phi(y) | DefUse.cs:28:13:28:18 | SSA def(y) | +| DefUse.cs:6:14:6:14 | y | DefUse.cs:37:9:40:9 | SSA phi(y) | DefUse.cs:39:13:39:18 | SSA def(y) | | DefUse.cs:6:14:6:14 | y | DefUse.cs:39:13:39:18 | SSA def(y) | DefUse.cs:39:13:39:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:42:9:42:15 | SSA phi(y) | DefUse.cs:28:13:28:18 | SSA def(y) | -| DefUse.cs:6:14:6:14 | y | DefUse.cs:42:9:42:15 | SSA phi(y) | DefUse.cs:39:13:39:18 | SSA def(y) | | DefUse.cs:44:13:44:13 | z | DefUse.cs:44:13:44:17 | SSA def(z) | DefUse.cs:44:13:44:17 | SSA def(z) | | DefUse.cs:44:13:44:13 | z | DefUse.cs:47:23:47:23 | SSA def(z) | DefUse.cs:47:23:47:23 | SSA def(z) | | DefUse.cs:44:13:44:13 | z | DefUse.cs:50:23:50:23 | SSA def(z) | DefUse.cs:50:23:50:23 | SSA def(z) | @@ -69,17 +69,17 @@ | DefUse.cs:66:9:66:14 | this.Field3 | DefUse.cs:66:9:66:18 | SSA def(this.Field3) | DefUse.cs:66:9:66:18 | SSA def(this.Field3) | | DefUse.cs:67:19:67:20 | tc | DefUse.cs:67:19:67:27 | SSA def(tc) | DefUse.cs:67:19:67:27 | SSA def(tc) | | DefUse.cs:79:13:79:14 | x1 | DefUse.cs:79:13:79:18 | SSA def(x1) | DefUse.cs:79:13:79:18 | SSA def(x1) | +| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:9:80:51 | SSA phi(x1) | DefUse.cs:79:13:79:18 | SSA def(x1) | +| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:9:80:51 | SSA phi(x1) | DefUse.cs:80:30:80:31 | SSA def(x1) | | DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA def(x1) | DefUse.cs:80:30:80:31 | SSA def(x1) | -| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA phi(x1) | DefUse.cs:79:13:79:18 | SSA def(x1) | -| DefUse.cs:79:13:79:14 | x1 | DefUse.cs:80:30:80:31 | SSA phi(x1) | DefUse.cs:80:30:80:31 | SSA def(x1) | | DefUse.cs:83:13:83:14 | x2 | DefUse.cs:83:13:83:18 | SSA def(x2) | DefUse.cs:83:13:83:18 | SSA def(x2) | | DefUse.cs:83:13:83:14 | x2 | DefUse.cs:85:15:85:16 | SSA def(x2) | DefUse.cs:85:15:85:16 | SSA def(x2) | | DefUse.cs:89:13:89:14 | x3 | DefUse.cs:89:13:89:18 | SSA def(x3) | DefUse.cs:89:13:89:18 | SSA def(x3) | | DefUse.cs:89:13:89:14 | x3 | DefUse.cs:92:15:92:16 | SSA def(x3) | DefUse.cs:92:15:92:16 | SSA def(x3) | | DefUse.cs:90:13:90:14 | x4 | DefUse.cs:93:15:93:16 | SSA def(x4) | DefUse.cs:93:15:93:16 | SSA def(x4) | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:97:13:97:18 | SSA def(x5) | DefUse.cs:97:13:97:18 | SSA def(x5) | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:97:13:97:18 | SSA def(x5) | -| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:16:98:17 | SSA phi(x5) | DefUse.cs:101:13:101:23 | SSA def(x5) | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:97:13:97:18 | SSA def(x5) | +| DefUse.cs:97:13:97:14 | x5 | DefUse.cs:98:9:102:9 | SSA phi(x5) | DefUse.cs:101:13:101:23 | SSA def(x5) | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:101:13:101:23 | SSA def(x5) | DefUse.cs:101:13:101:23 | SSA def(x5) | | DefUse.cs:97:13:97:14 | x5 | DefUse.cs:104:9:104:15 | SSA def(x5) | DefUse.cs:104:9:104:15 | SSA def(x5) | | DefUse.cs:114:42:114:42 | i | DefUse.cs:114:47:114:52 | SSA def(i) | DefUse.cs:114:47:114:52 | SSA def(i) | @@ -101,32 +101,34 @@ | DefUse.cs:188:13:188:18 | this.Field5 | DefUse.cs:188:13:188:22 | SSA def(this.Field5) | DefUse.cs:188:13:188:22 | SSA def(this.Field5) | | Example.cs:6:23:6:23 | i | Example.cs:6:23:6:23 | SSA param(i) | Example.cs:6:23:6:23 | SSA param(i) | | Example.cs:8:9:8:18 | this.Field | Example.cs:8:9:8:22 | SSA def(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:11:13:11:30 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:10:9:13:24 | SSA phi(this.Field) | Example.cs:13:13:13:23 | SSA call def(this.Field) | | Example.cs:8:9:8:18 | this.Field | Example.cs:11:13:11:30 | SSA def(this.Field) | Example.cs:11:13:11:30 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:12:14:13:24 | SSA phi(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | +| Example.cs:8:9:8:18 | this.Field | Example.cs:12:14:13:24 | SSA phi(this.Field) | Example.cs:13:13:13:23 | SSA call def(this.Field) | | Example.cs:8:9:8:18 | this.Field | Example.cs:13:13:13:23 | SSA call def(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | | Example.cs:8:9:8:18 | this.Field | Example.cs:13:13:13:23 | SSA call def(this.Field) | Example.cs:13:13:13:23 | SSA call def(this.Field) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:8:9:8:22 | SSA def(this.Field) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:11:13:11:30 | SSA def(this.Field) | -| Example.cs:8:9:8:18 | this.Field | Example.cs:14:9:14:24 | SSA phi(this.Field) | Example.cs:13:13:13:23 | SSA call def(this.Field) | | Example.cs:18:16:18:16 | p | Example.cs:18:16:18:16 | SSA param(p) | Example.cs:18:16:18:16 | SSA param(p) | +| Example.cs:18:16:18:16 | p | Example.cs:20:9:24:9 | SSA phi(p) | Example.cs:18:16:18:16 | SSA param(p) | +| Example.cs:18:16:18:16 | p | Example.cs:20:9:24:9 | SSA phi(p) | Example.cs:23:13:23:17 | SSA def(p) | | Example.cs:18:16:18:16 | p | Example.cs:23:13:23:17 | SSA def(p) | Example.cs:23:13:23:17 | SSA def(p) | -| Example.cs:18:16:18:16 | p | Example.cs:25:9:25:15 | SSA phi(p) | Example.cs:18:16:18:16 | SSA param(p) | -| Example.cs:18:16:18:16 | p | Example.cs:25:9:25:15 | SSA phi(p) | Example.cs:23:13:23:17 | SSA def(p) | | Example.cs:18:24:18:24 | b | Example.cs:18:24:18:24 | SSA param(b) | Example.cs:18:24:18:24 | SSA param(b) | | Fields.cs:18:15:18:15 | x | Fields.cs:20:9:20:14 | SSA def(x) | Fields.cs:20:9:20:14 | SSA def(x) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:19:9:19:13 | SSA call def(this.xs) | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:19:9:19:13 | SSA call def(this.xs) | Fields.cs:19:9:19:13 | SSA call def(this.xs) | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | Fields.cs:19:9:19:13 | SSA call def(this.xs) | +| Fields.cs:18:19:18:20 | this.xs | Fields.cs:21:9:22:18 | SSA phi(this.xs) | Fields.cs:22:13:22:17 | SSA call def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:22:13:22:17 | SSA call def(this.xs) | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:22:13:22:17 | SSA call def(this.xs) | Fields.cs:19:9:19:13 | SSA call def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:22:13:22:17 | SSA call def(this.xs) | Fields.cs:22:13:22:17 | SSA call def(this.xs) | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:16:17:16:17 | SSA entry def(this.xs) | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:19:9:19:13 | SSA call def(this.xs) | -| Fields.cs:18:19:18:20 | this.xs | Fields.cs:23:9:23:20 | SSA phi(this.xs) | Fields.cs:22:13:22:17 | SSA call def(this.xs) | | Fields.cs:18:19:18:20 | this.xs | Fields.cs:24:9:24:23 | SSA def(this.xs) | Fields.cs:24:9:24:23 | SSA def(this.xs) | | Fields.cs:30:13:30:13 | f | Fields.cs:30:13:30:28 | SSA def(f) | Fields.cs:30:13:30:28 | SSA def(f) | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | Fields.cs:30:13:30:28 | SSA def(f) | +| Fields.cs:30:13:30:13 | f | Fields.cs:48:9:49:29 | SSA phi(f) | Fields.cs:49:13:49:28 | SSA def(f) | | Fields.cs:30:13:30:13 | f | Fields.cs:49:13:49:28 | SSA def(f) | Fields.cs:49:13:49:28 | SSA def(f) | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:30:13:30:28 | SSA def(f) | -| Fields.cs:30:13:30:13 | f | Fields.cs:50:9:50:17 | SSA phi(f) | Fields.cs:49:13:49:28 | SSA def(f) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:30:13:30:28 | SSA qualifier def(f.xs) | Fields.cs:30:13:30:28 | SSA qualifier def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:34:9:34:16 | SSA call def(f.xs) | Fields.cs:30:13:30:28 | SSA qualifier def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:34:9:34:16 | SSA call def(f.xs) | Fields.cs:34:9:34:16 | SSA call def(f.xs) | @@ -134,9 +136,9 @@ | Fields.cs:31:19:31:22 | f.xs | Fields.cs:38:9:38:13 | SSA call def(f.xs) | Fields.cs:34:9:34:16 | SSA call def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:38:9:38:13 | SSA call def(f.xs) | Fields.cs:38:9:38:13 | SSA call def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:45:9:45:25 | SSA def(f.xs) | Fields.cs:45:9:45:25 | SSA def(f.xs) | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | Fields.cs:45:9:45:25 | SSA def(f.xs) | +| Fields.cs:31:19:31:22 | f.xs | Fields.cs:48:9:49:29 | SSA phi(f.xs) | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | | Fields.cs:31:19:31:22 | f.xs | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:45:9:45:25 | SSA def(f.xs) | -| Fields.cs:31:19:31:22 | f.xs | Fields.cs:50:9:50:17 | SSA phi(f.xs) | Fields.cs:49:13:49:28 | SSA qualifier def(f.xs) | | Fields.cs:32:15:32:15 | z | Fields.cs:47:9:47:14 | SSA def(z) | Fields.cs:47:9:47:14 | SSA def(z) | | Fields.cs:32:19:32:20 | this.xs | Fields.cs:28:17:28:17 | SSA entry def(this.xs) | Fields.cs:28:17:28:17 | SSA entry def(this.xs) | | Fields.cs:32:19:32:20 | this.xs | Fields.cs:34:9:34:16 | SSA call def(this.xs) | Fields.cs:28:17:28:17 | SSA entry def(this.xs) | @@ -155,16 +157,16 @@ | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | Fields.cs:30:17:30:28 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | Fields.cs:34:9:34:16 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:28:17:28:17 | SSA entry def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:30:17:30:28 | SSA call def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:34:9:34:16 | SSA call def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | +| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:48:9:49:29 | SSA phi(Fields.stat) | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | Fields.cs:28:17:28:17 | SSA entry def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | Fields.cs:30:17:30:28 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | Fields.cs:34:9:34:16 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:28:17:28:17 | SSA entry def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:30:17:30:28 | SSA call def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:34:9:34:16 | SSA call def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:38:9:38:13 | SSA call def(Fields.stat) | -| Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:50:9:50:17 | SSA phi(Fields.stat) | Fields.cs:49:17:49:28 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:51:9:51:20 | SSA call def(Fields.stat) | Fields.cs:28:17:28:17 | SSA entry def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:51:9:51:20 | SSA call def(Fields.stat) | Fields.cs:30:17:30:28 | SSA call def(Fields.stat) | | Fields.cs:33:19:33:22 | Fields.stat | Fields.cs:51:9:51:20 | SSA call def(Fields.stat) | Fields.cs:34:9:34:16 | SSA call def(Fields.stat) | @@ -227,9 +229,9 @@ | OutRef.cs:34:27:34:27 | i | OutRef.cs:36:9:36:13 | SSA def(i) | OutRef.cs:36:9:36:13 | SSA def(i) | | OutRef.cs:34:38:34:38 | j | OutRef.cs:34:38:34:38 | SSA param(j) | OutRef.cs:34:38:34:38 | SSA param(j) | | OutRef.cs:39:24:39:24 | b | OutRef.cs:39:24:39:24 | SSA param(b) | OutRef.cs:39:24:39:24 | SSA param(b) | -| OutRef.cs:39:35:39:35 | j | OutRef.cs:39:10:39:17 | SSA phi(j) | OutRef.cs:39:35:39:35 | SSA param(j) | -| OutRef.cs:39:35:39:35 | j | OutRef.cs:39:10:39:17 | SSA phi(j) | OutRef.cs:42:13:42:17 | SSA def(j) | | OutRef.cs:39:35:39:35 | j | OutRef.cs:39:35:39:35 | SSA param(j) | OutRef.cs:39:35:39:35 | SSA param(j) | +| OutRef.cs:39:35:39:35 | j | OutRef.cs:41:9:42:18 | SSA phi(j) | OutRef.cs:39:35:39:35 | SSA param(j) | +| OutRef.cs:39:35:39:35 | j | OutRef.cs:41:9:42:18 | SSA phi(j) | OutRef.cs:42:13:42:17 | SSA def(j) | | OutRef.cs:39:35:39:35 | j | OutRef.cs:42:13:42:17 | SSA def(j) | OutRef.cs:42:13:42:17 | SSA def(j) | | Patterns.cs:7:16:7:16 | o | Patterns.cs:7:16:7:23 | SSA def(o) | Patterns.cs:7:16:7:23 | SSA def(o) | | Patterns.cs:8:22:8:23 | i1 | Patterns.cs:8:18:8:23 | SSA def(i1) | Patterns.cs:8:18:8:23 | SSA def(i1) | @@ -241,17 +243,17 @@ | Properties.cs:18:19:18:20 | this.xs | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:19:9:19:13 | SSA call def(this.xs) | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:19:9:19:13 | SSA call def(this.xs) | Properties.cs:19:9:19:13 | SSA call def(this.xs) | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | Properties.cs:19:9:19:13 | SSA call def(this.xs) | +| Properties.cs:18:19:18:20 | this.xs | Properties.cs:21:9:22:18 | SSA phi(this.xs) | Properties.cs:22:13:22:17 | SSA call def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:22:13:22:17 | SSA call def(this.xs) | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:22:13:22:17 | SSA call def(this.xs) | Properties.cs:19:9:19:13 | SSA call def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:22:13:22:17 | SSA call def(this.xs) | Properties.cs:22:13:22:17 | SSA call def(this.xs) | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:16:17:16:17 | SSA entry def(this.xs) | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:19:9:19:13 | SSA call def(this.xs) | -| Properties.cs:18:19:18:20 | this.xs | Properties.cs:23:9:23:20 | SSA phi(this.xs) | Properties.cs:22:13:22:17 | SSA call def(this.xs) | | Properties.cs:18:19:18:20 | this.xs | Properties.cs:24:9:24:23 | SSA def(this.xs) | Properties.cs:24:9:24:23 | SSA def(this.xs) | | Properties.cs:30:13:30:13 | f | Properties.cs:30:13:30:32 | SSA def(f) | Properties.cs:30:13:30:32 | SSA def(f) | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | Properties.cs:30:13:30:32 | SSA def(f) | +| Properties.cs:30:13:30:13 | f | Properties.cs:48:9:49:33 | SSA phi(f) | Properties.cs:49:13:49:32 | SSA def(f) | | Properties.cs:30:13:30:13 | f | Properties.cs:49:13:49:32 | SSA def(f) | Properties.cs:49:13:49:32 | SSA def(f) | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:30:13:30:32 | SSA def(f) | -| Properties.cs:30:13:30:13 | f | Properties.cs:50:9:50:17 | SSA phi(f) | Properties.cs:49:13:49:32 | SSA def(f) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:30:13:30:32 | SSA qualifier def(f.xs) | Properties.cs:30:13:30:32 | SSA qualifier def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:34:9:34:16 | SSA call def(f.xs) | Properties.cs:30:13:30:32 | SSA qualifier def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:34:9:34:16 | SSA call def(f.xs) | Properties.cs:34:9:34:16 | SSA call def(f.xs) | @@ -259,9 +261,9 @@ | Properties.cs:31:19:31:22 | f.xs | Properties.cs:38:9:38:13 | SSA call def(f.xs) | Properties.cs:34:9:34:16 | SSA call def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:38:9:38:13 | SSA call def(f.xs) | Properties.cs:38:9:38:13 | SSA call def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:45:9:45:25 | SSA def(f.xs) | Properties.cs:45:9:45:25 | SSA def(f.xs) | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | Properties.cs:45:9:45:25 | SSA def(f.xs) | +| Properties.cs:31:19:31:22 | f.xs | Properties.cs:48:9:49:33 | SSA phi(f.xs) | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | | Properties.cs:31:19:31:22 | f.xs | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:45:9:45:25 | SSA def(f.xs) | -| Properties.cs:31:19:31:22 | f.xs | Properties.cs:50:9:50:17 | SSA phi(f.xs) | Properties.cs:49:13:49:32 | SSA qualifier def(f.xs) | | Properties.cs:32:15:32:15 | z | Properties.cs:47:9:47:14 | SSA def(z) | Properties.cs:47:9:47:14 | SSA def(z) | | Properties.cs:32:19:32:20 | this.xs | Properties.cs:28:17:28:17 | SSA entry def(this.xs) | Properties.cs:28:17:28:17 | SSA entry def(this.xs) | | Properties.cs:32:19:32:20 | this.xs | Properties.cs:34:9:34:16 | SSA call def(this.xs) | Properties.cs:28:17:28:17 | SSA entry def(this.xs) | @@ -280,16 +282,16 @@ | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | Properties.cs:30:17:30:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:28:17:28:17 | SSA entry def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:30:17:30:32 | SSA call def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | +| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:48:9:49:33 | SSA phi(Properties.stat) | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | Properties.cs:28:17:28:17 | SSA entry def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | Properties.cs:30:17:30:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:28:17:28:17 | SSA entry def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:30:17:30:32 | SSA call def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:38:9:38:13 | SSA call def(Properties.stat) | -| Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:50:9:50:17 | SSA phi(Properties.stat) | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:28:17:28:17 | SSA entry def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:30:17:30:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:34:9:34:16 | SSA call def(Properties.stat) | @@ -297,8 +299,8 @@ | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:49:17:49:32 | SSA call def(Properties.stat) | | Properties.cs:33:19:33:22 | Properties.stat | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | Properties.cs:51:9:51:24 | SSA call def(Properties.stat) | | Properties.cs:61:23:61:23 | i | Properties.cs:61:23:61:23 | SSA param(i) | Properties.cs:61:23:61:23 | SSA param(i) | -| Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:16 | SSA phi(i) | Properties.cs:61:23:61:23 | SSA param(i) | -| Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:16 | SSA phi(i) | Properties.cs:63:16:63:18 | SSA def(i) | +| Properties.cs:61:23:61:23 | i | Properties.cs:63:9:66:9 | SSA phi(i) | Properties.cs:61:23:61:23 | SSA param(i) | +| Properties.cs:61:23:61:23 | i | Properties.cs:63:9:66:9 | SSA phi(i) | Properties.cs:63:16:63:18 | SSA def(i) | | Properties.cs:61:23:61:23 | i | Properties.cs:63:16:63:18 | SSA def(i) | Properties.cs:63:16:63:18 | SSA def(i) | | Properties.cs:65:24:65:31 | this.LoopProp | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | Properties.cs:61:17:61:17 | SSA entry def(this.LoopProp) | | Properties.cs:67:21:67:38 | this.SingleAccessedProp | Properties.cs:61:17:61:17 | SSA entry def(this.SingleAccessedProp) | Properties.cs:61:17:61:17 | SSA entry def(this.SingleAccessedProp) | @@ -329,52 +331,52 @@ | Properties.cs:115:21:115:39 | this.Props.Props.xs | Properties.cs:113:9:113:22 | SSA qualifier def(this.Props.Props.xs) | Properties.cs:108:10:108:10 | SSA qualifier def(this.Props.Props.xs) | | Properties.cs:115:21:115:39 | this.Props.Props.xs | Properties.cs:113:9:113:22 | SSA qualifier def(this.Props.Props.xs) | Properties.cs:113:9:113:22 | SSA qualifier def(this.Props.Props.xs) | | Test.cs:5:15:5:20 | param1 | Test.cs:5:15:5:20 | SSA param(param1) | Test.cs:5:15:5:20 | SSA param(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:25:16:25:16 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:25:16:25:16 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:25:9:32:9 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | | Test.cs:5:15:5:20 | param1 | Test.cs:27:17:27:24 | SSA def(param1) | Test.cs:27:17:27:24 | SSA def(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:33:9:33:19 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:33:9:33:19 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | -| Test.cs:5:15:5:20 | param1 | Test.cs:39:9:42:9 | SSA phi(param1) | Test.cs:41:13:41:23 | SSA def(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:5:15:5:20 | SSA param(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:27:17:27:24 | SSA def(param1) | +| Test.cs:5:15:5:20 | param1 | Test.cs:39:22:39:22 | SSA phi(param1) | Test.cs:41:13:41:23 | SSA def(param1) | | Test.cs:5:15:5:20 | param1 | Test.cs:41:13:41:23 | SSA def(param1) | Test.cs:41:13:41:23 | SSA def(param1) | | Test.cs:5:67:5:72 | param2 | Test.cs:5:67:5:72 | SSA param(param2) | Test.cs:5:67:5:72 | SSA param(param2) | | Test.cs:7:9:7:13 | this.field | Test.cs:7:9:7:17 | SSA def(this.field) | Test.cs:7:9:7:17 | SSA def(this.field) | +| Test.cs:7:9:7:13 | this.field | Test.cs:11:9:23:9 | SSA phi(this.field) | Test.cs:7:9:7:17 | SSA def(this.field) | +| Test.cs:7:9:7:13 | this.field | Test.cs:11:9:23:9 | SSA phi(this.field) | Test.cs:21:13:21:22 | SSA def(this.field) | | Test.cs:7:9:7:13 | this.field | Test.cs:21:13:21:22 | SSA def(this.field) | Test.cs:21:13:21:22 | SSA def(this.field) | -| Test.cs:7:9:7:13 | this.field | Test.cs:24:9:24:15 | SSA phi(this.field) | Test.cs:7:9:7:17 | SSA def(this.field) | -| Test.cs:7:9:7:13 | this.field | Test.cs:24:9:24:15 | SSA phi(this.field) | Test.cs:21:13:21:22 | SSA def(this.field) | | Test.cs:8:13:8:13 | x | Test.cs:8:13:8:17 | SSA def(x) | Test.cs:8:13:8:17 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:11:9:23:9 | SSA phi(x) | Test.cs:8:13:8:17 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:11:9:23:9 | SSA phi(x) | Test.cs:14:17:14:19 | SSA def(x) | | Test.cs:8:13:8:13 | x | Test.cs:13:13:13:15 | SSA def(x) | Test.cs:13:13:13:15 | SSA def(x) | | Test.cs:8:13:8:13 | x | Test.cs:14:17:14:19 | SSA def(x) | Test.cs:14:17:14:19 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:24:9:24:15 | SSA phi(x) | Test.cs:8:13:8:17 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:24:9:24:15 | SSA phi(x) | Test.cs:14:17:14:19 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:8:13:8:17 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:14:17:14:19 | SSA def(x) | -| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:25 | SSA phi(x) | Test.cs:36:13:36:18 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:8:13:8:17 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:14:17:14:19 | SSA def(x) | +| Test.cs:8:13:8:13 | x | Test.cs:34:25:34:30 | SSA phi(x) | Test.cs:36:13:36:18 | SSA def(x) | | Test.cs:8:13:8:13 | x | Test.cs:36:13:36:18 | SSA def(x) | Test.cs:36:13:36:18 | SSA def(x) | +| Test.cs:9:13:9:13 | y | Test.cs:11:9:23:9 | SSA phi(y) | Test.cs:14:13:14:19 | SSA def(y) | +| Test.cs:9:13:9:13 | y | Test.cs:11:9:23:9 | SSA phi(y) | Test.cs:20:13:20:18 | SSA def(y) | | Test.cs:9:13:9:13 | y | Test.cs:14:13:14:19 | SSA def(y) | Test.cs:14:13:14:19 | SSA def(y) | | Test.cs:9:13:9:13 | y | Test.cs:19:13:19:17 | SSA def(y) | Test.cs:19:13:19:17 | SSA def(y) | | Test.cs:9:13:9:13 | y | Test.cs:20:13:20:18 | SSA def(y) | Test.cs:20:13:20:18 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:24:9:24:15 | SSA phi(y) | Test.cs:14:13:14:19 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:24:9:24:15 | SSA phi(y) | Test.cs:20:13:20:18 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:14:13:14:19 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:20:13:20:18 | SSA def(y) | -| Test.cs:9:13:9:13 | y | Test.cs:25:16:25:16 | SSA phi(y) | Test.cs:31:13:31:18 | SSA def(y) | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:14:13:14:19 | SSA def(y) | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:20:13:20:18 | SSA def(y) | +| Test.cs:9:13:9:13 | y | Test.cs:25:9:32:9 | SSA phi(y) | Test.cs:31:13:31:18 | SSA def(y) | | Test.cs:9:13:9:13 | y | Test.cs:31:13:31:18 | SSA def(y) | Test.cs:31:13:31:18 | SSA def(y) | +| Test.cs:10:13:10:13 | z | Test.cs:11:9:23:9 | SSA phi(z) | Test.cs:15:13:15:17 | SSA def(z) | +| Test.cs:10:13:10:13 | z | Test.cs:11:9:23:9 | SSA phi(z) | Test.cs:22:13:22:17 | SSA def(z) | | Test.cs:10:13:10:13 | z | Test.cs:15:13:15:17 | SSA def(z) | Test.cs:15:13:15:17 | SSA def(z) | | Test.cs:10:13:10:13 | z | Test.cs:22:13:22:17 | SSA def(z) | Test.cs:22:13:22:17 | SSA def(z) | -| Test.cs:10:13:10:13 | z | Test.cs:24:9:24:15 | SSA phi(z) | Test.cs:15:13:15:17 | SSA def(z) | -| Test.cs:10:13:10:13 | z | Test.cs:24:9:24:15 | SSA phi(z) | Test.cs:22:13:22:17 | SSA def(z) | | Test.cs:34:18:34:18 | i | Test.cs:34:18:34:22 | SSA def(i) | Test.cs:34:18:34:22 | SSA def(i) | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:18:34:22 | SSA def(i) | -| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:25 | SSA phi(i) | Test.cs:34:33:34:35 | SSA def(i) | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:34:18:34:22 | SSA def(i) | +| Test.cs:34:18:34:18 | i | Test.cs:34:25:34:30 | SSA phi(i) | Test.cs:34:33:34:35 | SSA def(i) | | Test.cs:34:18:34:18 | i | Test.cs:34:33:34:35 | SSA def(i) | Test.cs:34:33:34:35 | SSA def(i) | | Test.cs:39:22:39:22 | w | Test.cs:39:22:39:22 | SSA def(w) | Test.cs:39:22:39:22 | SSA def(w) | | Test.cs:46:16:46:18 | in | Test.cs:46:16:46:18 | SSA param(in) | Test.cs:46:16:46:18 | SSA param(in) | +| Test.cs:46:29:46:32 | out | Test.cs:48:9:55:9 | SSA phi(out) | Test.cs:50:13:50:20 | SSA def(out) | +| Test.cs:46:29:46:32 | out | Test.cs:48:9:55:9 | SSA phi(out) | Test.cs:54:13:54:20 | SSA def(out) | | Test.cs:46:29:46:32 | out | Test.cs:50:13:50:20 | SSA def(out) | Test.cs:50:13:50:20 | SSA def(out) | | Test.cs:46:29:46:32 | out | Test.cs:54:13:54:20 | SSA def(out) | Test.cs:54:13:54:20 | SSA def(out) | -| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:50:13:50:20 | SSA def(out) | -| Test.cs:46:29:46:32 | out | Test.cs:56:9:56:19 | SSA phi(out) | Test.cs:54:13:54:20 | SSA def(out) | | Test.cs:56:13:56:17 | this.field | Test.cs:46:10:46:10 | SSA entry def(this.field) | Test.cs:46:10:46:10 | SSA entry def(this.field) | | Test.cs:56:13:56:17 | this.field | Test.cs:57:9:57:17 | SSA def(this.field) | Test.cs:57:9:57:17 | SSA def(this.field) | | Test.cs:62:16:62:16 | x | Test.cs:62:16:62:16 | SSA param(x) | Test.cs:62:16:62:16 | SSA param(x) | @@ -386,9 +388,9 @@ | Test.cs:76:60:76:61 | b5 | Test.cs:76:60:76:61 | SSA param(b5) | Test.cs:76:60:76:61 | SSA param(b5) | | Test.cs:76:69:76:70 | b6 | Test.cs:76:69:76:70 | SSA param(b6) | Test.cs:76:69:76:70 | SSA param(b6) | | Test.cs:78:13:78:13 | x | Test.cs:78:13:78:17 | SSA def(x) | Test.cs:78:13:78:17 | SSA def(x) | +| Test.cs:78:13:78:13 | x | Test.cs:102:9:110:9 | SSA phi(x) | Test.cs:78:13:78:17 | SSA def(x) | +| Test.cs:78:13:78:13 | x | Test.cs:102:9:110:9 | SSA phi(x) | Test.cs:108:13:108:17 | SSA def(x) | | Test.cs:78:13:78:13 | x | Test.cs:108:13:108:17 | SSA def(x) | Test.cs:108:13:108:17 | SSA def(x) | -| Test.cs:78:13:78:13 | x | Test.cs:113:9:116:9 | SSA phi(x) | Test.cs:78:13:78:17 | SSA def(x) | -| Test.cs:78:13:78:13 | x | Test.cs:113:9:116:9 | SSA phi(x) | Test.cs:108:13:108:17 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:10:9:10:54 | SSA def(x) | Tuples.cs:10:9:10:54 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:14:9:14:32 | SSA def(x) | Tuples.cs:14:9:14:32 | SSA def(x) | | Tuples.cs:10:14:10:14 | x | Tuples.cs:23:9:23:37 | SSA def(x) | Tuples.cs:23:9:23:37 | SSA def(x) | diff --git a/csharp/ql/test/library-tests/goto/Goto1.expected b/csharp/ql/test/library-tests/goto/Goto1.expected index 137c1b7241c..e649e3a07de 100644 --- a/csharp/ql/test/library-tests/goto/Goto1.expected +++ b/csharp/ql/test/library-tests/goto/Goto1.expected @@ -1,51 +1,79 @@ -| goto.cs:2:7:2:10 | call to constructor Object | goto.cs:2:7:2:10 | {...} | semmle.label | successor | -| goto.cs:2:7:2:10 | call to method | goto.cs:2:7:2:10 | call to constructor Object | semmle.label | successor | -| goto.cs:2:7:2:10 | enter Goto | goto.cs:2:7:2:10 | this access | semmle.label | successor | -| goto.cs:2:7:2:10 | exit Goto (normal) | goto.cs:2:7:2:10 | exit Goto | semmle.label | successor | +| goto.cs:2:7:2:10 | After call to constructor Object | goto.cs:2:7:2:10 | {...} | semmle.label | successor | +| goto.cs:2:7:2:10 | After call to method | goto.cs:2:7:2:10 | Before call to constructor Object | semmle.label | successor | +| goto.cs:2:7:2:10 | Before call to constructor Object | goto.cs:2:7:2:10 | call to constructor Object | semmle.label | successor | +| goto.cs:2:7:2:10 | Before call to method | goto.cs:2:7:2:10 | this access | semmle.label | successor | +| goto.cs:2:7:2:10 | Entry | goto.cs:2:7:2:10 | Before call to method | semmle.label | successor | +| goto.cs:2:7:2:10 | Normal Exit | goto.cs:2:7:2:10 | Exit | semmle.label | successor | +| goto.cs:2:7:2:10 | call to constructor Object | goto.cs:2:7:2:10 | After call to constructor Object | semmle.label | successor | +| goto.cs:2:7:2:10 | call to method | goto.cs:2:7:2:10 | After call to method | semmle.label | successor | | goto.cs:2:7:2:10 | this access | goto.cs:2:7:2:10 | call to method | semmle.label | successor | -| goto.cs:2:7:2:10 | {...} | goto.cs:2:7:2:10 | exit Goto (normal) | semmle.label | successor | -| goto.cs:4:17:4:20 | enter Main | goto.cs:5:5:20:5 | {...} | semmle.label | successor | -| goto.cs:4:17:4:20 | exit Main (normal) | goto.cs:4:17:4:20 | exit Main | semmle.label | successor | +| goto.cs:2:7:2:10 | {...} | goto.cs:2:7:2:10 | Normal Exit | semmle.label | successor | +| goto.cs:4:17:4:20 | Entry | goto.cs:5:5:20:5 | {...} | semmle.label | successor | +| goto.cs:4:17:4:20 | Normal Exit | goto.cs:4:17:4:20 | Exit | semmle.label | successor | +| goto.cs:5:5:20:5 | After {...} | goto.cs:4:17:4:20 | Normal Exit | semmle.label | successor | | goto.cs:5:5:20:5 | {...} | goto.cs:6:9:8:9 | {...} | semmle.label | successor | | goto.cs:6:9:8:9 | {...} | goto.cs:7:13:7:14 | s1: | semmle.label | successor | -| goto.cs:7:13:7:14 | s1: | goto.cs:7:17:7:24 | goto ...; | semmle.label | successor | +| goto.cs:7:13:7:14 | s1: | goto.cs:7:17:7:24 | Before goto ...; | semmle.label | successor | +| goto.cs:7:17:7:24 | Before goto ...; | goto.cs:7:17:7:24 | goto ...; | semmle.label | successor | | goto.cs:7:17:7:24 | goto ...; | goto.cs:9:9:9:10 | s2: | semmle.label | goto | | goto.cs:9:9:9:10 | s2: | goto.cs:9:13:9:27 | ... ...; | semmle.label | successor | -| goto.cs:9:13:9:27 | ... ...; | goto.cs:9:24:9:26 | "5" | semmle.label | successor | -| goto.cs:9:20:9:26 | String s = ... | goto.cs:10:9:18:9 | switch (...) {...} | semmle.label | successor | +| goto.cs:9:13:9:27 | ... ...; | goto.cs:9:20:9:26 | Before String s = ... | semmle.label | successor | +| goto.cs:9:13:9:27 | After ... ...; | goto.cs:10:9:18:9 | switch (...) {...} | semmle.label | successor | +| goto.cs:9:20:9:20 | access to local variable s | goto.cs:9:24:9:26 | "5" | semmle.label | successor | +| goto.cs:9:20:9:26 | After String s = ... | goto.cs:9:13:9:27 | After ... ...; | semmle.label | successor | +| goto.cs:9:20:9:26 | Before String s = ... | goto.cs:9:20:9:20 | access to local variable s | semmle.label | successor | +| goto.cs:9:20:9:26 | String s = ... | goto.cs:9:20:9:26 | After String s = ... | semmle.label | successor | | goto.cs:9:24:9:26 | "5" | goto.cs:9:20:9:26 | String s = ... | semmle.label | successor | +| goto.cs:10:9:18:9 | After switch (...) {...} | goto.cs:19:9:19:10 | s9: | semmle.label | successor | | goto.cs:10:9:18:9 | switch (...) {...} | goto.cs:10:17:10:17 | access to local variable s | semmle.label | successor | | goto.cs:10:17:10:17 | access to local variable s | goto.cs:12:13:12:22 | case ...: | semmle.label | successor | -| goto.cs:12:13:12:22 | case ...: | goto.cs:12:18:12:21 | null | semmle.label | successor | -| goto.cs:12:18:12:21 | null | goto.cs:12:24:12:25 | s3: | semmle.label | match | -| goto.cs:12:18:12:21 | null | goto.cs:13:13:13:21 | case ...: | semmle.label | no-match | -| goto.cs:12:24:12:25 | s3: | goto.cs:12:38:12:40 | "1" | semmle.label | successor | -| goto.cs:12:28:12:41 | goto case ...; | goto.cs:13:13:13:21 | case ...: | semmle.label | goto | +| goto.cs:12:13:12:22 | After case ...: [match] | goto.cs:12:18:12:21 | null | semmle.label | successor | +| goto.cs:12:13:12:22 | After case ...: [no-match] | goto.cs:13:13:13:21 | case ...: | semmle.label | successor | +| goto.cs:12:13:12:22 | case ...: | goto.cs:12:13:12:22 | After case ...: [match] | semmle.label | match | +| goto.cs:12:13:12:22 | case ...: | goto.cs:12:13:12:22 | After case ...: [no-match] | semmle.label | no-match | +| goto.cs:12:18:12:21 | null | goto.cs:12:24:12:25 | s3: | semmle.label | successor | +| goto.cs:12:24:12:25 | s3: | goto.cs:12:28:12:41 | Before goto case ...; | semmle.label | successor | +| goto.cs:12:28:12:41 | Before goto case ...; | goto.cs:12:38:12:40 | "1" | semmle.label | successor | +| goto.cs:12:28:12:41 | goto case ...; | goto.cs:13:13:13:21 | After case ...: [match] | semmle.label | goto | | goto.cs:12:38:12:40 | "1" | goto.cs:12:28:12:41 | goto case ...; | semmle.label | successor | -| goto.cs:13:13:13:21 | case ...: | goto.cs:13:18:13:20 | "1" | semmle.label | successor | -| goto.cs:13:18:13:20 | "1" | goto.cs:13:23:13:24 | s4: | semmle.label | match | -| goto.cs:13:18:13:20 | "1" | goto.cs:14:13:14:21 | case ...: | semmle.label | no-match | -| goto.cs:13:23:13:24 | s4: | goto.cs:13:37:13:39 | "2" | semmle.label | successor | -| goto.cs:13:27:13:40 | goto case ...; | goto.cs:14:13:14:21 | case ...: | semmle.label | goto | +| goto.cs:13:13:13:21 | After case ...: [match] | goto.cs:13:18:13:20 | "1" | semmle.label | successor | +| goto.cs:13:13:13:21 | After case ...: [no-match] | goto.cs:14:13:14:21 | case ...: | semmle.label | successor | +| goto.cs:13:13:13:21 | case ...: | goto.cs:13:13:13:21 | After case ...: [match] | semmle.label | match | +| goto.cs:13:13:13:21 | case ...: | goto.cs:13:13:13:21 | After case ...: [no-match] | semmle.label | no-match | +| goto.cs:13:18:13:20 | "1" | goto.cs:13:23:13:24 | s4: | semmle.label | successor | +| goto.cs:13:23:13:24 | s4: | goto.cs:13:27:13:40 | Before goto case ...; | semmle.label | successor | +| goto.cs:13:27:13:40 | Before goto case ...; | goto.cs:13:37:13:39 | "2" | semmle.label | successor | +| goto.cs:13:27:13:40 | goto case ...; | goto.cs:14:13:14:21 | After case ...: [match] | semmle.label | goto | | goto.cs:13:37:13:39 | "2" | goto.cs:13:27:13:40 | goto case ...; | semmle.label | successor | -| goto.cs:14:13:14:21 | case ...: | goto.cs:14:18:14:20 | "2" | semmle.label | successor | -| goto.cs:14:18:14:20 | "2" | goto.cs:14:23:14:24 | s5: | semmle.label | match | -| goto.cs:14:18:14:20 | "2" | goto.cs:15:13:15:21 | case ...: | semmle.label | no-match | -| goto.cs:14:23:14:24 | s5: | goto.cs:14:27:14:34 | goto ...; | semmle.label | successor | +| goto.cs:14:13:14:21 | After case ...: [match] | goto.cs:14:18:14:20 | "2" | semmle.label | successor | +| goto.cs:14:13:14:21 | After case ...: [no-match] | goto.cs:15:13:15:21 | case ...: | semmle.label | successor | +| goto.cs:14:13:14:21 | case ...: | goto.cs:14:13:14:21 | After case ...: [match] | semmle.label | match | +| goto.cs:14:13:14:21 | case ...: | goto.cs:14:13:14:21 | After case ...: [no-match] | semmle.label | no-match | +| goto.cs:14:18:14:20 | "2" | goto.cs:14:23:14:24 | s5: | semmle.label | successor | +| goto.cs:14:23:14:24 | s5: | goto.cs:14:27:14:34 | Before goto ...; | semmle.label | successor | +| goto.cs:14:27:14:34 | Before goto ...; | goto.cs:14:27:14:34 | goto ...; | semmle.label | successor | | goto.cs:14:27:14:34 | goto ...; | goto.cs:9:9:9:10 | s2: | semmle.label | goto | -| goto.cs:15:13:15:21 | case ...: | goto.cs:15:18:15:20 | "3" | semmle.label | successor | -| goto.cs:15:18:15:20 | "3" | goto.cs:15:23:15:24 | s6: | semmle.label | match | -| goto.cs:15:18:15:20 | "3" | goto.cs:16:13:16:21 | case ...: | semmle.label | no-match | -| goto.cs:15:23:15:24 | s6: | goto.cs:15:27:15:39 | goto default; | semmle.label | successor | -| goto.cs:15:27:15:39 | goto default; | goto.cs:17:13:17:20 | default: | semmle.label | goto | -| goto.cs:16:13:16:21 | case ...: | goto.cs:16:18:16:20 | "4" | semmle.label | successor | -| goto.cs:16:18:16:20 | "4" | goto.cs:16:23:16:24 | s7: | semmle.label | match | -| goto.cs:16:18:16:20 | "4" | goto.cs:17:13:17:20 | default: | semmle.label | no-match | -| goto.cs:16:23:16:24 | s7: | goto.cs:16:27:16:32 | break; | semmle.label | successor | -| goto.cs:16:27:16:32 | break; | goto.cs:19:9:19:10 | s9: | semmle.label | break | -| goto.cs:17:13:17:20 | default: | goto.cs:17:22:17:23 | s8: | semmle.label | successor | -| goto.cs:17:22:17:23 | s8: | goto.cs:17:36:17:39 | null | semmle.label | successor | -| goto.cs:17:26:17:40 | goto case ...; | goto.cs:12:13:12:22 | case ...: | semmle.label | goto | +| goto.cs:15:13:15:21 | After case ...: [match] | goto.cs:15:18:15:20 | "3" | semmle.label | successor | +| goto.cs:15:13:15:21 | After case ...: [no-match] | goto.cs:16:13:16:21 | case ...: | semmle.label | successor | +| goto.cs:15:13:15:21 | case ...: | goto.cs:15:13:15:21 | After case ...: [match] | semmle.label | match | +| goto.cs:15:13:15:21 | case ...: | goto.cs:15:13:15:21 | After case ...: [no-match] | semmle.label | no-match | +| goto.cs:15:18:15:20 | "3" | goto.cs:15:23:15:24 | s6: | semmle.label | successor | +| goto.cs:15:23:15:24 | s6: | goto.cs:15:27:15:39 | Before goto default; | semmle.label | successor | +| goto.cs:15:27:15:39 | Before goto default; | goto.cs:15:27:15:39 | goto default; | semmle.label | successor | +| goto.cs:15:27:15:39 | goto default; | goto.cs:17:13:17:20 | After default: [match] | semmle.label | goto | +| goto.cs:16:13:16:21 | After case ...: [match] | goto.cs:16:18:16:20 | "4" | semmle.label | successor | +| goto.cs:16:13:16:21 | After case ...: [no-match] | goto.cs:17:13:17:20 | default: | semmle.label | successor | +| goto.cs:16:13:16:21 | case ...: | goto.cs:16:13:16:21 | After case ...: [match] | semmle.label | match | +| goto.cs:16:13:16:21 | case ...: | goto.cs:16:13:16:21 | After case ...: [no-match] | semmle.label | no-match | +| goto.cs:16:18:16:20 | "4" | goto.cs:16:23:16:24 | s7: | semmle.label | successor | +| goto.cs:16:23:16:24 | s7: | goto.cs:16:27:16:32 | Before break; | semmle.label | successor | +| goto.cs:16:27:16:32 | Before break; | goto.cs:16:27:16:32 | break; | semmle.label | successor | +| goto.cs:16:27:16:32 | break; | goto.cs:10:9:18:9 | After switch (...) {...} | semmle.label | break | +| goto.cs:17:13:17:20 | After default: [match] | goto.cs:17:22:17:23 | s8: | semmle.label | successor | +| goto.cs:17:13:17:20 | default: | goto.cs:17:13:17:20 | After default: [match] | semmle.label | match | +| goto.cs:17:22:17:23 | s8: | goto.cs:17:26:17:40 | Before goto case ...; | semmle.label | successor | +| goto.cs:17:26:17:40 | Before goto case ...; | goto.cs:17:36:17:39 | null | semmle.label | successor | +| goto.cs:17:26:17:40 | goto case ...; | goto.cs:12:13:12:22 | After case ...: [match] | semmle.label | goto | | goto.cs:17:36:17:39 | null | goto.cs:17:26:17:40 | goto case ...; | semmle.label | successor | | goto.cs:19:9:19:10 | s9: | goto.cs:19:12:19:12 | ; | semmle.label | successor | -| goto.cs:19:12:19:12 | ; | goto.cs:4:17:4:20 | exit Main (normal) | semmle.label | successor | +| goto.cs:19:12:19:12 | ; | goto.cs:5:5:20:5 | After {...} | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/goto/Goto1.ql b/csharp/ql/test/library-tests/goto/Goto1.ql index 1a90e6eb1fb..11639e28bcb 100644 --- a/csharp/ql/test/library-tests/goto/Goto1.ql +++ b/csharp/ql/test/library-tests/goto/Goto1.ql @@ -1,8 +1,8 @@ import csharp -query predicate edges(ControlFlow::Node node, ControlFlow::Node successor, string attr, string val) { +query predicate edges(ControlFlowNode node, ControlFlowNode successor, string attr, string val) { not node.getAstNode().fromLibrary() and - exists(ControlFlow::SuccessorType t | successor = node.getASuccessorByType(t) | + exists(ControlFlow::SuccessorType t | successor = node.getASuccessor(t) | attr = "semmle.label" and val = t.toString() ) diff --git a/csharp/ql/test/library-tests/obinit/ObInit.expected b/csharp/ql/test/library-tests/obinit/ObInit.expected index 3d2c7df895f..2b89fa6670e 100644 --- a/csharp/ql/test/library-tests/obinit/ObInit.expected +++ b/csharp/ql/test/library-tests/obinit/ObInit.expected @@ -6,22 +6,59 @@ call | obinit.cs:9:16:9:16 | call to method | obinit.cs:2:18:2:18 | | obinit.cs:9:16:9:16 | A | | obinit.cs:15:16:15:16 | call to method | obinit.cs:14:18:14:18 | | obinit.cs:15:16:15:16 | B | cfg -| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | access to field x | obinit.cs:3:13:3:17 | ... = ... | normal | 2 | -| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | this access | obinit.cs:3:17:3:17 | 1 | normal | 0 | -| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:17 | ... = ... | obinit.cs:5:23:5:23 | this access | normal | 3 | -| obinit.cs:2:18:2:18 | | obinit.cs:3:17:3:17 | 1 | obinit.cs:3:13:3:13 | access to field x | normal | 1 | -| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | access to field s | obinit.cs:5:23:5:34 | ... = ... | normal | 6 | -| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | this access | obinit.cs:5:27:5:34 | "source" | normal | 4 | -| obinit.cs:2:18:2:18 | | obinit.cs:5:27:5:34 | "source" | obinit.cs:5:23:5:23 | access to field s | normal | 5 | -| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | call to constructor Object | obinit.cs:7:20:7:22 | {...} | normal | 2 | -| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | call to method | obinit.cs:7:16:7:16 | call to constructor Object | normal | 1 | -| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | this access | obinit.cs:7:16:7:16 | call to method | normal | 0 | -| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | call to constructor Object | obinit.cs:9:25:9:27 | {...} | normal | 2 | -| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | call to method | obinit.cs:9:16:9:16 | call to constructor Object | normal | 1 | -| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | this access | obinit.cs:9:16:9:16 | call to method | normal | 0 | -| obinit.cs:11:16:11:16 | A | obinit.cs:11:34:11:37 | call to constructor A | obinit.cs:11:42:11:44 | {...} | normal | 1 | -| obinit.cs:11:16:11:16 | A | obinit.cs:11:39:11:39 | access to parameter y | obinit.cs:11:34:11:37 | call to constructor A | normal | 0 | -| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | call to method | obinit.cs:15:27:15:28 | 10 | normal | 1 | -| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | this access | obinit.cs:15:16:15:16 | call to method | normal | 0 | -| obinit.cs:15:16:15:16 | B | obinit.cs:15:22:15:25 | call to constructor A | obinit.cs:15:31:15:33 | {...} | normal | 3 | -| obinit.cs:15:16:15:16 | B | obinit.cs:15:27:15:28 | 10 | obinit.cs:15:22:15:25 | call to constructor A | normal | 2 | +| obinit.cs:2:18:2:18 | | obinit.cs:2:18:2:18 | Entry | obinit.cs:3:13:3:17 | Before ... = ... | successor | 0 | +| obinit.cs:2:18:2:18 | | obinit.cs:2:18:2:18 | Normal Exit | obinit.cs:2:18:2:18 | Exit | successor | 17 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | After access to field x | obinit.cs:3:17:3:17 | 1 | successor | 5 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | Before access to field x | obinit.cs:3:13:3:13 | this access | successor | 2 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | access to field x | obinit.cs:3:13:3:13 | After access to field x | successor | 4 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | this access | obinit.cs:3:13:3:13 | access to field x | successor | 3 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:17 | ... = ... | obinit.cs:3:13:3:17 | After ... = ... | successor | 7 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:17 | After ... = ... | obinit.cs:5:23:5:34 | Before ... = ... | successor | 8 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:17 | Before ... = ... | obinit.cs:3:13:3:13 | Before access to field x | successor | 1 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:17:3:17 | 1 | obinit.cs:3:13:3:17 | ... = ... | successor | 6 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | After access to field s | obinit.cs:5:27:5:34 | "source" | successor | 13 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | Before access to field s | obinit.cs:5:23:5:23 | this access | successor | 10 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | access to field s | obinit.cs:5:23:5:23 | After access to field s | successor | 12 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | this access | obinit.cs:5:23:5:23 | access to field s | successor | 11 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:34 | ... = ... | obinit.cs:5:23:5:34 | After ... = ... | successor | 15 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:34 | After ... = ... | obinit.cs:2:18:2:18 | Normal Exit | successor | 16 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:34 | Before ... = ... | obinit.cs:5:23:5:23 | Before access to field s | successor | 9 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:27:5:34 | "source" | obinit.cs:5:23:5:34 | ... = ... | successor | 14 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | After call to constructor Object | obinit.cs:7:20:7:22 | {...} | successor | 7 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | After call to method | obinit.cs:7:16:7:16 | Before call to constructor Object | successor | 4 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | Before call to constructor Object | obinit.cs:7:16:7:16 | call to constructor Object | successor | 5 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | Before call to method | obinit.cs:7:16:7:16 | this access | successor | 1 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | Entry | obinit.cs:7:16:7:16 | Before call to method | successor | 0 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | Normal Exit | obinit.cs:7:16:7:16 | Exit | successor | 9 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | call to constructor Object | obinit.cs:7:16:7:16 | After call to constructor Object | successor | 6 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | call to method | obinit.cs:7:16:7:16 | After call to method | successor | 3 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | this access | obinit.cs:7:16:7:16 | call to method | successor | 2 | +| obinit.cs:7:16:7:16 | A | obinit.cs:7:20:7:22 | {...} | obinit.cs:7:16:7:16 | Normal Exit | successor | 8 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | After call to constructor Object | obinit.cs:9:25:9:27 | {...} | successor | 7 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | After call to method | obinit.cs:9:16:9:16 | Before call to constructor Object | successor | 4 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | Before call to constructor Object | obinit.cs:9:16:9:16 | call to constructor Object | successor | 5 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | Before call to method | obinit.cs:9:16:9:16 | this access | successor | 1 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | Entry | obinit.cs:9:16:9:16 | Before call to method | successor | 0 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | Normal Exit | obinit.cs:9:16:9:16 | Exit | successor | 9 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | call to constructor Object | obinit.cs:9:16:9:16 | After call to constructor Object | successor | 6 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | call to method | obinit.cs:9:16:9:16 | After call to method | successor | 3 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:16:9:16 | this access | obinit.cs:9:16:9:16 | call to method | successor | 2 | +| obinit.cs:9:16:9:16 | A | obinit.cs:9:25:9:27 | {...} | obinit.cs:9:16:9:16 | Normal Exit | successor | 8 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:16:11:16 | Entry | obinit.cs:11:34:11:37 | Before call to constructor A | successor | 0 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:16:11:16 | Normal Exit | obinit.cs:11:16:11:16 | Exit | successor | 6 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:34:11:37 | After call to constructor A | obinit.cs:11:42:11:44 | {...} | successor | 4 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:34:11:37 | Before call to constructor A | obinit.cs:11:39:11:39 | access to parameter y | successor | 1 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:34:11:37 | call to constructor A | obinit.cs:11:34:11:37 | After call to constructor A | successor | 3 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:39:11:39 | access to parameter y | obinit.cs:11:34:11:37 | call to constructor A | successor | 2 | +| obinit.cs:11:16:11:16 | A | obinit.cs:11:42:11:44 | {...} | obinit.cs:11:16:11:16 | Normal Exit | successor | 5 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | After call to method | obinit.cs:15:22:15:25 | Before call to constructor A | successor | 4 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | Before call to method | obinit.cs:15:16:15:16 | this access | successor | 1 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | Entry | obinit.cs:15:16:15:16 | Before call to method | successor | 0 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | Normal Exit | obinit.cs:15:16:15:16 | Exit | successor | 10 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | call to method | obinit.cs:15:16:15:16 | After call to method | successor | 3 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:16:15:16 | this access | obinit.cs:15:16:15:16 | call to method | successor | 2 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:22:15:25 | After call to constructor A | obinit.cs:15:31:15:33 | {...} | successor | 8 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:22:15:25 | Before call to constructor A | obinit.cs:15:27:15:28 | 10 | successor | 5 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:22:15:25 | call to constructor A | obinit.cs:15:22:15:25 | After call to constructor A | successor | 7 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:27:15:28 | 10 | obinit.cs:15:22:15:25 | call to constructor A | successor | 6 | +| obinit.cs:15:16:15:16 | B | obinit.cs:15:31:15:33 | {...} | obinit.cs:15:16:15:16 | Normal Exit | successor | 9 | diff --git a/csharp/ql/test/library-tests/obinit/ObInit.ql b/csharp/ql/test/library-tests/obinit/ObInit.ql index cfd21d14b5e..a6c58b33dad 100644 --- a/csharp/ql/test/library-tests/obinit/ObInit.ql +++ b/csharp/ql/test/library-tests/obinit/ObInit.ql @@ -1,8 +1,4 @@ import csharp -import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl -import semmle.code.csharp.controlflow.internal.Completion -import semmle.code.csharp.dataflow.internal.DataFlowPrivate -import semmle.code.csharp.dataflow.internal.DataFlowDispatch query predicate method(ObjectInitMethod m, RefType t) { m.getDeclaringType() = t } @@ -10,19 +6,21 @@ query predicate call(Call c, ObjectInitMethod m, Callable src) { c.getTarget() = m and c.getEnclosingCallable() = src } -predicate scope(Callable callable, AstNode n, int i) { +predicate scope(Callable callable, ControlFlowNode n, int i) { (callable instanceof ObjectInitMethod or callable instanceof Constructor) and - scopeFirst(callable, n) and + n.(ControlFlow::EntryNode).getEnclosingCallable() = callable and i = 0 or - exists(AstNode prev | + exists(ControlFlowNode prev | scope(callable, prev, i - 1) and - succ(prev, n, _) and + n = prev.getASuccessor() and i < 30 ) } -query predicate cfg(Callable callable, AstNode pred, AstNode succ, Completion c, int i) { +query predicate cfg( + Callable callable, ControlFlowNode pred, ControlFlowNode succ, ControlFlow::SuccessorType c, int i +) { scope(callable, pred, i) and - succ(pred, succ, c) + pred.getASuccessor(c) = succ } diff --git a/csharp/ql/test/library-tests/operators/Operators1.expected b/csharp/ql/test/library-tests/operators/Operators1.expected index 9a819a46f50..7ec4fe268b4 100644 --- a/csharp/ql/test/library-tests/operators/Operators1.expected +++ b/csharp/ql/test/library-tests/operators/Operators1.expected @@ -1 +1 @@ -| operators.cs:16:42:16:43 | ++ | operators.cs:7:18:7:26 | IntVector | +| operators.cs:15:42:15:43 | ++ | operators.cs:7:18:7:26 | IntVector | diff --git a/csharp/ql/test/library-tests/operators/Operators2.expected b/csharp/ql/test/library-tests/operators/Operators2.expected index 9a819a46f50..7ec4fe268b4 100644 --- a/csharp/ql/test/library-tests/operators/Operators2.expected +++ b/csharp/ql/test/library-tests/operators/Operators2.expected @@ -1 +1 @@ -| operators.cs:16:42:16:43 | ++ | operators.cs:7:18:7:26 | IntVector | +| operators.cs:15:42:15:43 | ++ | operators.cs:7:18:7:26 | IntVector | diff --git a/csharp/ql/test/library-tests/operators/Operators3.expected b/csharp/ql/test/library-tests/operators/Operators3.expected index cc0d4b646fc..e81aec79ba1 100644 --- a/csharp/ql/test/library-tests/operators/Operators3.expected +++ b/csharp/ql/test/library-tests/operators/Operators3.expected @@ -1 +1 @@ -| operators.cs:51:32:51:39 | implicit conversion | +| operators.cs:96:32:96:39 | implicit conversion | diff --git a/csharp/ql/test/library-tests/operators/Operators4.expected b/csharp/ql/test/library-tests/operators/Operators4.expected index 3cc82aeb928..49db993c093 100644 --- a/csharp/ql/test/library-tests/operators/Operators4.expected +++ b/csharp/ql/test/library-tests/operators/Operators4.expected @@ -1 +1 @@ -| operators.cs:56:32:56:39 | explicit conversion | +| operators.cs:101:32:101:39 | explicit conversion | diff --git a/csharp/ql/test/library-tests/operators/Operators5.expected b/csharp/ql/test/library-tests/operators/Operators5.expected new file mode 100644 index 00000000000..8e506e5119d --- /dev/null +++ b/csharp/ql/test/library-tests/operators/Operators5.expected @@ -0,0 +1,15 @@ +| operators.cs:23:30:23:31 | += | operators.cs:61:13:61:22 | ... += ... | +| operators.cs:31:38:31:39 | checked += | operators.cs:77:17:77:26 | ... += ... | +| operators.cs:33:38:33:39 | checked -= | operators.cs:78:17:78:26 | ... -= ... | +| operators.cs:34:30:34:31 | -= | operators.cs:64:13:64:22 | ... -= ... | +| operators.cs:36:38:36:39 | checked *= | operators.cs:79:17:79:26 | ... *= ... | +| operators.cs:37:30:37:31 | *= | operators.cs:65:13:65:22 | ... *= ... | +| operators.cs:39:38:39:39 | checked /= | operators.cs:80:17:80:26 | ... /= ... | +| operators.cs:40:30:40:31 | /= | operators.cs:66:13:66:22 | ... /= ... | +| operators.cs:42:30:42:31 | %= | operators.cs:67:13:67:22 | ... %= ... | +| operators.cs:43:30:43:31 | &= | operators.cs:68:13:68:22 | ... &= ... | +| operators.cs:44:30:44:31 | \|= | operators.cs:69:13:69:22 | ... \|= ... | +| operators.cs:45:30:45:31 | ^= | operators.cs:70:13:70:22 | ... ^= ... | +| operators.cs:46:30:46:32 | <<= | operators.cs:71:13:71:23 | ... <<= ... | +| operators.cs:47:30:47:32 | >>= | operators.cs:72:13:72:23 | ... >>= ... | +| operators.cs:48:30:48:33 | >>>= | operators.cs:73:13:73:24 | ... >>>= ... | diff --git a/csharp/ql/test/library-tests/operators/Operators5.ql b/csharp/ql/test/library-tests/operators/Operators5.ql new file mode 100644 index 00000000000..b22a342dd1f --- /dev/null +++ b/csharp/ql/test/library-tests/operators/Operators5.ql @@ -0,0 +1,9 @@ +/** + * @name Test for operators + */ + +import csharp + +from CompoundAssignmentOperator cao, CompoundAssignmentOperatorCall call +where call.getTarget() = cao +select cao, call diff --git a/csharp/ql/test/library-tests/operators/PrintAst.expected b/csharp/ql/test/library-tests/operators/PrintAst.expected index d3b41fe05fb..8ea38d79b14 100644 --- a/csharp/ql/test/library-tests/operators/PrintAst.expected +++ b/csharp/ql/test/library-tests/operators/PrintAst.expected @@ -1,154 +1,339 @@ operators.cs: # 5| [NamespaceDeclaration] namespace ... { ... } # 7| 1: [Class] IntVector -# 10| 5: [InstanceConstructor] IntVector +# 9| 5: [InstanceConstructor] IntVector #-----| 2: (Parameters) -# 10| 0: [Parameter] length -# 10| -1: [TypeMention] int -# 10| 4: [BlockStmt] {...} -# 12| 6: [Property] Length -# 12| -1: [TypeMention] int -# 12| 3: [Getter] get_Length -# 12| 4: [BlockStmt] {...} -# 12| 0: [ReturnStmt] return ...; -# 12| 0: [IntLiteral] 4 -# 14| 7: [Indexer] Item -# 14| -1: [TypeMention] int +# 9| 0: [Parameter] length +# 9| -1: [TypeMention] int +# 9| 4: [BlockStmt] {...} +# 11| 6: [Property] Length +# 11| -1: [TypeMention] int +# 11| 3: [Getter] get_Length +# 11| 4: [BlockStmt] {...} +# 11| 0: [ReturnStmt] return ...; +# 11| 0: [IntLiteral] 4 +# 13| 7: [Indexer] Item +# 13| -1: [TypeMention] int #-----| 1: (Parameters) -# 14| 0: [Parameter] index -# 14| -1: [TypeMention] int -# 14| 3: [Getter] get_Item +# 13| 0: [Parameter] index +# 13| -1: [TypeMention] int +# 13| 3: [Getter] get_Item #-----| 2: (Parameters) -# 14| 0: [Parameter] index -# 14| 4: [BlockStmt] {...} -# 14| 0: [ReturnStmt] return ...; -# 14| 0: [IntLiteral] 0 -# 14| 4: [Setter] set_Item +# 13| 0: [Parameter] index +# 13| 4: [BlockStmt] {...} +# 13| 0: [ReturnStmt] return ...; +# 13| 0: [IntLiteral] 0 +# 13| 4: [Setter] set_Item #-----| 2: (Parameters) -# 14| 0: [Parameter] index -# 14| 1: [Parameter] value -# 14| 4: [BlockStmt] {...} -# 16| 8: [IncrementOperator] ++ -# 16| -1: [TypeMention] IntVector +# 13| 0: [Parameter] index +# 13| 1: [Parameter] value +# 13| 4: [BlockStmt] {...} +# 15| 8: [IncrementOperator] ++ +# 15| -1: [TypeMention] IntVector #-----| 2: (Parameters) -# 16| 0: [Parameter] iv -# 16| -1: [TypeMention] IntVector -# 17| 4: [BlockStmt] {...} -# 18| 0: [LocalVariableDeclStmt] ... ...; -# 18| 0: [LocalVariableDeclAndInitExpr] IntVector temp = ... -# 18| -1: [TypeMention] IntVector -# 18| 0: [LocalVariableAccess] access to local variable temp -# 18| 1: [ObjectCreation] object creation of type IntVector -# 18| -1: [TypeMention] IntVector -# 18| 0: [PropertyCall] access to property Length -# 18| -1: [ParameterAccess] access to parameter iv -# 19| 1: [ForStmt] for (...;...;...) ... -# 19| -1: [LocalVariableDeclAndInitExpr] Int32 i = ... -# 19| -1: [TypeMention] int -# 19| 0: [LocalVariableAccess] access to local variable i -# 19| 1: [IntLiteral] 0 -# 19| 0: [LTExpr] ... < ... -# 19| 0: [LocalVariableAccess] access to local variable i -# 19| 1: [PropertyCall] access to property Length -# 19| -1: [ParameterAccess] access to parameter iv -# 19| 1: [PostIncrExpr] ...++ -# 19| 0: [LocalVariableAccess] access to local variable i -# 20| 2: [ExprStmt] ...; -# 20| 0: [AssignExpr] ... = ... -# 20| 0: [IndexerCall] access to indexer -# 20| -1: [LocalVariableAccess] access to local variable temp -# 20| 0: [LocalVariableAccess] access to local variable i -# 20| 1: [AddExpr] ... + ... -# 20| 0: [IndexerCall] access to indexer -# 20| -1: [ParameterAccess] access to parameter iv -# 20| 0: [LocalVariableAccess] access to local variable i -# 20| 1: [IntLiteral] 1 -# 21| 2: [ReturnStmt] return ...; -# 21| 0: [LocalVariableAccess] access to local variable temp -# 26| 2: [Class] TestUnaryOperator -# 29| 6: [Method] Main -# 29| -1: [TypeMention] Void -# 30| 4: [BlockStmt] {...} -# 31| 0: [LocalVariableDeclStmt] ... ...; -# 31| 0: [LocalVariableDeclAndInitExpr] IntVector iv1 = ... -# 31| -1: [TypeMention] IntVector -# 31| 0: [LocalVariableAccess] access to local variable iv1 -# 31| 1: [ObjectCreation] object creation of type IntVector -# 31| -1: [TypeMention] IntVector -# 31| 0: [IntLiteral] 4 -# 32| 1: [LocalVariableDeclStmt] ... ...; -# 32| 0: [LocalVariableDeclExpr] IntVector iv2 -# 32| 0: [TypeMention] IntVector -# 33| 2: [ExprStmt] ...; -# 33| 0: [AssignExpr] ... = ... -# 33| 0: [LocalVariableAccess] access to local variable iv2 -# 33| 1: [OperatorCall] call to operator ++ -# 33| 0: [LocalVariableAccess] access to local variable iv1 -# 34| 3: [ExprStmt] ...; -# 34| 0: [AssignExpr] ... = ... -# 34| 0: [LocalVariableAccess] access to local variable iv2 -# 34| 1: [OperatorCall] call to operator ++ -# 34| 0: [LocalVariableAccess] access to local variable iv1 -# 39| 3: [Struct] Digit -# 42| 6: [Field] value -# 42| -1: [TypeMention] byte -# 44| 7: [InstanceConstructor] Digit +# 15| 0: [Parameter] iv +# 15| -1: [TypeMention] IntVector +# 16| 4: [BlockStmt] {...} +# 17| 0: [LocalVariableDeclStmt] ... ...; +# 17| 0: [LocalVariableDeclAndInitExpr] IntVector temp = ... +# 17| -1: [TypeMention] IntVector +# 17| 0: [LocalVariableAccess] access to local variable temp +# 17| 1: [ObjectCreation] object creation of type IntVector +# 17| -1: [TypeMention] IntVector +# 17| 0: [PropertyCall] access to property Length +# 17| -1: [ParameterAccess] access to parameter iv +# 18| 1: [ForStmt] for (...;...;...) ... +# 18| -1: [LocalVariableDeclAndInitExpr] Int32 i = ... +# 18| -1: [TypeMention] int +# 18| 0: [LocalVariableAccess] access to local variable i +# 18| 1: [IntLiteral] 0 +# 18| 0: [LTExpr] ... < ... +# 18| 0: [LocalVariableAccess] access to local variable i +# 18| 1: [PropertyCall] access to property Length +# 18| -1: [ParameterAccess] access to parameter iv +# 18| 1: [PostIncrExpr] ...++ +# 18| 0: [LocalVariableAccess] access to local variable i +# 19| 2: [ExprStmt] ...; +# 19| 0: [AssignExpr] ... = ... +# 19| 0: [IndexerCall] access to indexer +# 19| -1: [LocalVariableAccess] access to local variable temp +# 19| 0: [LocalVariableAccess] access to local variable i +# 19| 1: [AddExpr] ... + ... +# 19| 0: [IndexerCall] access to indexer +# 19| -1: [ParameterAccess] access to parameter iv +# 19| 0: [LocalVariableAccess] access to local variable i +# 19| 1: [IntLiteral] 1 +# 20| 2: [ReturnStmt] return ...; +# 20| 0: [LocalVariableAccess] access to local variable temp +# 23| 9: [AddCompoundAssignmentOperator] += +# 23| -1: [TypeMention] Void #-----| 2: (Parameters) -# 44| 0: [Parameter] value -# 44| -1: [TypeMention] byte +# 23| 0: [Parameter] n +# 23| -1: [TypeMention] IntVector +# 24| 4: [BlockStmt] {...} +# 25| 0: [IfStmt] if (...) ... +# 25| 0: [NEExpr] ... != ... +# 25| 0: [PropertyCall] access to property Length +# 25| -1: [ParameterAccess] access to parameter n +# 25| 1: [PropertyCall] access to property Length +# 26| 1: [ThrowStmt] throw ...; +# 26| 0: [ObjectCreation] object creation of type ArgumentException +# 26| 0: [TypeMention] ArgumentException +# 27| 1: [ForStmt] for (...;...;...) ... +# 27| -1: [LocalVariableDeclAndInitExpr] Int32 i = ... +# 27| -1: [TypeMention] int +# 27| 0: [LocalVariableAccess] access to local variable i +# 27| 1: [IntLiteral] 0 +# 27| 0: [LTExpr] ... < ... +# 27| 0: [LocalVariableAccess] access to local variable i +# 27| 1: [PropertyCall] access to property Length +# 27| 1: [PostIncrExpr] ...++ +# 27| 0: [LocalVariableAccess] access to local variable i +# 28| 2: [ExprStmt] ...; +# 28| 0: [AssignAddExpr] ... += ... +# 28| 0: [IndexerCall] access to indexer +# 28| -1: [ThisAccess] this access +# 28| 0: [LocalVariableAccess] access to local variable i +# 28| 1: [IndexerCall] access to indexer +# 28| -1: [ParameterAccess] access to parameter n +# 28| 0: [LocalVariableAccess] access to local variable i +# 31| 10: [CheckedAddCompoundAssignmentOperator] checked += +# 31| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 31| 0: [Parameter] n +# 31| -1: [TypeMention] IntVector +# 31| 4: [BlockStmt] {...} +# 33| 11: [CheckedSubCompoundAssignmentOperator] checked -= +# 33| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 33| 0: [Parameter] n +# 33| -1: [TypeMention] IntVector +# 33| 4: [BlockStmt] {...} +# 34| 12: [SubCompoundAssignmentOperator] -= +# 34| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 34| 0: [Parameter] n +# 34| -1: [TypeMention] IntVector +# 34| 4: [BlockStmt] {...} +# 36| 13: [CheckedMulCompoundAssignmentOperator] checked *= +# 36| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 36| 0: [Parameter] n +# 36| -1: [TypeMention] IntVector +# 36| 4: [BlockStmt] {...} +# 37| 14: [MulCompoundAssignmentOperator] *= +# 37| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 37| 0: [Parameter] n +# 37| -1: [TypeMention] IntVector +# 37| 4: [BlockStmt] {...} +# 39| 15: [CheckedDivCompoundAssignmentOperator] checked /= +# 39| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 39| 0: [Parameter] n +# 39| -1: [TypeMention] IntVector +# 39| 4: [BlockStmt] {...} +# 40| 16: [DivCompoundAssignmentOperator] /= +# 40| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 40| 0: [Parameter] n +# 40| -1: [TypeMention] IntVector +# 40| 4: [BlockStmt] {...} +# 42| 17: [RemCompoundAssignmentOperator] %= +# 42| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 42| 0: [Parameter] n +# 42| -1: [TypeMention] IntVector +# 42| 4: [BlockStmt] {...} +# 43| 18: [AndCompoundAssignmentOperator] &= +# 43| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 43| 0: [Parameter] n +# 43| -1: [TypeMention] IntVector +# 43| 4: [BlockStmt] {...} +# 44| 19: [OrCompoundAssignmentOperator] |= +# 44| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 44| 0: [Parameter] n +# 44| -1: [TypeMention] IntVector +# 44| 4: [BlockStmt] {...} +# 45| 20: [XorCompoundAssignmentOperator] ^= +# 45| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 45| 0: [Parameter] n +# 45| -1: [TypeMention] IntVector # 45| 4: [BlockStmt] {...} -# 46| 0: [IfStmt] if (...) ... -# 46| 0: [LogicalOrExpr] ... || ... -# 46| 0: [LTExpr] ... < ... -# 46| 0: [CastExpr] (...) ... -# 46| 1: [ParameterAccess] access to parameter value -# 46| 1: [IntLiteral] 0 -# 46| 1: [GTExpr] ... > ... -# 46| 0: [CastExpr] (...) ... -# 46| 1: [ParameterAccess] access to parameter value -# 46| 1: [IntLiteral] 9 -# 47| 1: [ThrowStmt] throw ...; -# 47| 0: [ObjectCreation] object creation of type ArgumentException -# 47| 0: [TypeMention] ArgumentException -# 48| 1: [ExprStmt] ...; -# 48| 0: [AssignExpr] ... = ... -# 48| 0: [FieldAccess] access to field value -# 48| -1: [ThisAccess] this access -# 48| 1: [ParameterAccess] access to parameter value -# 51| 8: [ImplicitConversionOperator] implicit conversion -# 51| -1: [TypeMention] byte +# 46| 21: [LeftShiftCompoundAssignmentOperator] <<= +# 46| -1: [TypeMention] Void #-----| 2: (Parameters) -# 51| 0: [Parameter] d -# 51| -1: [TypeMention] Digit -# 52| 4: [BlockStmt] {...} -# 53| 0: [ReturnStmt] return ...; -# 53| 0: [FieldAccess] access to field value -# 53| -1: [ParameterAccess] access to parameter d -# 56| 9: [ExplicitConversionOperator] explicit conversion -# 56| -1: [TypeMention] Digit +# 46| 0: [Parameter] n +# 46| -1: [TypeMention] IntVector +# 46| 4: [BlockStmt] {...} +# 47| 22: [RightShiftCompoundAssignmentOperator] >>= +# 47| -1: [TypeMention] Void #-----| 2: (Parameters) -# 56| 0: [Parameter] b -# 56| -1: [TypeMention] byte -# 57| 4: [BlockStmt] {...} -# 58| 0: [ReturnStmt] return ...; -# 58| 0: [ObjectCreation] object creation of type Digit -# 58| -1: [TypeMention] Digit -# 58| 0: [ParameterAccess] access to parameter b -# 63| 4: [Class] TestConversionOperator -# 66| 6: [Method] Main -# 66| -1: [TypeMention] Void -# 67| 4: [BlockStmt] {...} -# 68| 0: [LocalVariableDeclStmt] ... ...; -# 68| 0: [LocalVariableDeclAndInitExpr] Digit d = ... -# 68| -1: [TypeMention] Digit -# 68| 0: [LocalVariableAccess] access to local variable d -# 68| 1: [OperatorCall] call to operator explicit conversion -# 68| -1: [TypeMention] Digit -# 68| 0: [CastExpr] (...) ... -# 68| 1: [IntLiteral] 8 -# 69| 1: [LocalVariableDeclStmt] ... ...; -# 69| 0: [LocalVariableDeclAndInitExpr] Byte b = ... -# 69| -1: [TypeMention] byte -# 69| 0: [LocalVariableAccess] access to local variable b -# 69| 1: [OperatorCall] call to operator implicit conversion -# 69| 0: [LocalVariableAccess] access to local variable d +# 47| 0: [Parameter] n +# 47| -1: [TypeMention] IntVector +# 47| 4: [BlockStmt] {...} +# 48| 23: [UnsignedRightShiftCompoundAssignmentOperator] >>>= +# 48| -1: [TypeMention] Void +#-----| 2: (Parameters) +# 48| 0: [Parameter] n +# 48| -1: [TypeMention] IntVector +# 48| 4: [BlockStmt] {...} +# 51| 2: [Class] TestOperator +# 53| 6: [Method] Main +# 53| -1: [TypeMention] Void +# 54| 4: [BlockStmt] {...} +# 55| 0: [LocalVariableDeclStmt] ... ...; +# 55| 0: [LocalVariableDeclAndInitExpr] IntVector iv1 = ... +# 55| -1: [TypeMention] IntVector +# 55| 0: [LocalVariableAccess] access to local variable iv1 +# 55| 1: [ObjectCreation] object creation of type IntVector +# 55| -1: [TypeMention] IntVector +# 55| 0: [IntLiteral] 4 +# 56| 1: [LocalVariableDeclStmt] ... ...; +# 56| 0: [LocalVariableDeclExpr] IntVector iv2 +# 56| 0: [TypeMention] IntVector +# 57| 2: [ExprStmt] ...; +# 57| 0: [AssignExpr] ... = ... +# 57| 0: [LocalVariableAccess] access to local variable iv2 +# 57| 1: [OperatorCall] call to operator ++ +# 57| 0: [LocalVariableAccess] access to local variable iv1 +# 58| 3: [ExprStmt] ...; +# 58| 0: [AssignExpr] ... = ... +# 58| 0: [LocalVariableAccess] access to local variable iv2 +# 58| 1: [OperatorCall] call to operator ++ +# 58| 0: [LocalVariableAccess] access to local variable iv1 +# 60| 4: [LocalVariableDeclStmt] ... ...; +# 60| 0: [LocalVariableDeclAndInitExpr] IntVector iv3 = ... +# 60| -1: [TypeMention] IntVector +# 60| 0: [LocalVariableAccess] access to local variable iv3 +# 60| 1: [ObjectCreation] object creation of type IntVector +# 60| -1: [TypeMention] IntVector +# 60| 0: [IntLiteral] 4 +# 61| 5: [ExprStmt] ...; +# 61| 0: [AssignAddExpr] ... += ... +# 61| 0: [LocalVariableAccess] access to local variable iv3 +# 61| 1: [LocalVariableAccess] access to local variable iv2 +# 64| 6: [ExprStmt] ...; +# 64| 0: [AssignSubExpr] ... -= ... +# 64| 0: [LocalVariableAccess] access to local variable iv3 +# 64| 1: [LocalVariableAccess] access to local variable iv2 +# 65| 7: [ExprStmt] ...; +# 65| 0: [AssignMulExpr] ... *= ... +# 65| 0: [LocalVariableAccess] access to local variable iv3 +# 65| 1: [LocalVariableAccess] access to local variable iv2 +# 66| 8: [ExprStmt] ...; +# 66| 0: [AssignDivExpr] ... /= ... +# 66| 0: [LocalVariableAccess] access to local variable iv3 +# 66| 1: [LocalVariableAccess] access to local variable iv2 +# 67| 9: [ExprStmt] ...; +# 67| 0: [AssignRemExpr] ... %= ... +# 67| 0: [LocalVariableAccess] access to local variable iv3 +# 67| 1: [LocalVariableAccess] access to local variable iv2 +# 68| 10: [ExprStmt] ...; +# 68| 0: [AssignAndExpr] ... &= ... +# 68| 0: [LocalVariableAccess] access to local variable iv3 +# 68| 1: [LocalVariableAccess] access to local variable iv2 +# 69| 11: [ExprStmt] ...; +# 69| 0: [AssignOrExpr] ... |= ... +# 69| 0: [LocalVariableAccess] access to local variable iv3 +# 69| 1: [LocalVariableAccess] access to local variable iv2 +# 70| 12: [ExprStmt] ...; +# 70| 0: [AssignXorExpr] ... ^= ... +# 70| 0: [LocalVariableAccess] access to local variable iv3 +# 70| 1: [LocalVariableAccess] access to local variable iv2 +# 71| 13: [ExprStmt] ...; +# 71| 0: [AssignLeftShiftExpr] ... <<= ... +# 71| 0: [LocalVariableAccess] access to local variable iv3 +# 71| 1: [LocalVariableAccess] access to local variable iv2 +# 72| 14: [ExprStmt] ...; +# 72| 0: [AssignRightShiftExpr] ... >>= ... +# 72| 0: [LocalVariableAccess] access to local variable iv3 +# 72| 1: [LocalVariableAccess] access to local variable iv2 +# 73| 15: [ExprStmt] ...; +# 73| 0: [AssignUnsignedRightShiftExpr] ... >>>= ... +# 73| 0: [LocalVariableAccess] access to local variable iv3 +# 73| 1: [LocalVariableAccess] access to local variable iv2 +# 75| 16: [CheckedStmt] checked {...} +# 76| 0: [BlockStmt] {...} +# 77| 0: [ExprStmt] ...; +# 77| 0: [AssignAddExpr] ... += ... +# 77| 0: [LocalVariableAccess] access to local variable iv3 +# 77| 1: [LocalVariableAccess] access to local variable iv2 +# 78| 1: [ExprStmt] ...; +# 78| 0: [AssignSubExpr] ... -= ... +# 78| 0: [LocalVariableAccess] access to local variable iv3 +# 78| 1: [LocalVariableAccess] access to local variable iv2 +# 79| 2: [ExprStmt] ...; +# 79| 0: [AssignMulExpr] ... *= ... +# 79| 0: [LocalVariableAccess] access to local variable iv3 +# 79| 1: [LocalVariableAccess] access to local variable iv2 +# 80| 3: [ExprStmt] ...; +# 80| 0: [AssignDivExpr] ... /= ... +# 80| 0: [LocalVariableAccess] access to local variable iv3 +# 80| 1: [LocalVariableAccess] access to local variable iv2 +# 85| 3: [Struct] Digit +# 87| 6: [Field] value +# 87| -1: [TypeMention] byte +# 89| 7: [InstanceConstructor] Digit +#-----| 2: (Parameters) +# 89| 0: [Parameter] value +# 89| -1: [TypeMention] byte +# 90| 4: [BlockStmt] {...} +# 91| 0: [IfStmt] if (...) ... +# 91| 0: [LogicalOrExpr] ... || ... +# 91| 0: [LTExpr] ... < ... +# 91| 0: [CastExpr] (...) ... +# 91| 1: [ParameterAccess] access to parameter value +# 91| 1: [IntLiteral] 0 +# 91| 1: [GTExpr] ... > ... +# 91| 0: [CastExpr] (...) ... +# 91| 1: [ParameterAccess] access to parameter value +# 91| 1: [IntLiteral] 9 +# 92| 1: [ThrowStmt] throw ...; +# 92| 0: [ObjectCreation] object creation of type ArgumentException +# 92| 0: [TypeMention] ArgumentException +# 93| 1: [ExprStmt] ...; +# 93| 0: [AssignExpr] ... = ... +# 93| 0: [FieldAccess] access to field value +# 93| -1: [ThisAccess] this access +# 93| 1: [ParameterAccess] access to parameter value +# 96| 8: [ImplicitConversionOperator] implicit conversion +# 96| -1: [TypeMention] byte +#-----| 2: (Parameters) +# 96| 0: [Parameter] d +# 96| -1: [TypeMention] Digit +# 97| 4: [BlockStmt] {...} +# 98| 0: [ReturnStmt] return ...; +# 98| 0: [FieldAccess] access to field value +# 98| -1: [ParameterAccess] access to parameter d +# 101| 9: [ExplicitConversionOperator] explicit conversion +# 101| -1: [TypeMention] Digit +#-----| 2: (Parameters) +# 101| 0: [Parameter] b +# 101| -1: [TypeMention] byte +# 102| 4: [BlockStmt] {...} +# 103| 0: [ReturnStmt] return ...; +# 103| 0: [ObjectCreation] object creation of type Digit +# 103| -1: [TypeMention] Digit +# 103| 0: [ParameterAccess] access to parameter b +# 108| 4: [Class] TestConversionOperator +# 111| 6: [Method] Main +# 111| -1: [TypeMention] Void +# 112| 4: [BlockStmt] {...} +# 113| 0: [LocalVariableDeclStmt] ... ...; +# 113| 0: [LocalVariableDeclAndInitExpr] Digit d = ... +# 113| -1: [TypeMention] Digit +# 113| 0: [LocalVariableAccess] access to local variable d +# 113| 1: [OperatorCall] call to operator explicit conversion +# 113| -1: [TypeMention] Digit +# 113| 0: [CastExpr] (...) ... +# 113| 1: [IntLiteral] 8 +# 114| 1: [LocalVariableDeclStmt] ... ...; +# 114| 0: [LocalVariableDeclAndInitExpr] Byte b = ... +# 114| -1: [TypeMention] byte +# 114| 0: [LocalVariableAccess] access to local variable b +# 114| 1: [OperatorCall] call to operator implicit conversion +# 114| 0: [LocalVariableAccess] access to local variable d diff --git a/csharp/ql/test/library-tests/operators/operators.cs b/csharp/ql/test/library-tests/operators/operators.cs index b58334b24a0..3ff2fe1a26b 100644 --- a/csharp/ql/test/library-tests/operators/operators.cs +++ b/csharp/ql/test/library-tests/operators/operators.cs @@ -6,7 +6,6 @@ namespace Operators { public class IntVector { - public IntVector(int length) { } public int Length { get { return 4; } } @@ -21,24 +20,70 @@ namespace Operators return temp; } + public void operator +=(IntVector n) + { + if (n.Length != Length) + throw new ArgumentException(); + for (int i = 0; i < Length; i++) + this[i] += n[i]; + } + + public void operator checked +=(IntVector n) { } + + public void operator checked -=(IntVector n) { } + public void operator -=(IntVector n) { } + + public void operator checked *=(IntVector n) { } + public void operator *=(IntVector n) { } + + public void operator checked /=(IntVector n) { } + public void operator /=(IntVector n) { } + + public void operator %=(IntVector n) { } + public void operator &=(IntVector n) { } + public void operator |=(IntVector n) { } + public void operator ^=(IntVector n) { } + public void operator <<=(IntVector n) { } + public void operator >>=(IntVector n) { } + public void operator >>>=(IntVector n) { } } - class TestUnaryOperator + class TestOperator { - void Main() { IntVector iv1 = new IntVector(4); // vector of 4 x 0 IntVector iv2; iv2 = iv1++; // iv2 contains 4 x 0, iv1 contains 4 x 1 iv2 = ++iv1; // iv2 contains 4 x 2, iv1 contains 4 x 2 - } + IntVector iv3 = new IntVector(4); // vector of 4 x 0 + iv3 += iv2; // iv3 contains 4 x 2 + + // The following operations don't do anything. + iv3 -= iv2; + iv3 *= iv2; + iv3 /= iv2; + iv3 %= iv2; + iv3 &= iv2; + iv3 |= iv2; + iv3 ^= iv2; + iv3 <<= iv2; + iv3 >>= iv2; + iv3 >>>= iv2; + + checked + { + iv3 += iv2; + iv3 -= iv2; + iv3 *= iv2; + iv3 /= iv2; + } + } } public struct Digit { - byte value; public Digit(byte value) diff --git a/csharp/ql/test/library-tests/security/dataflow/flowsources/StoredFlowSources.expected b/csharp/ql/test/library-tests/security/dataflow/flowsources/StoredFlowSources.expected index e27ea53adbd..d805f62e6b7 100644 --- a/csharp/ql/test/library-tests/security/dataflow/flowsources/StoredFlowSources.expected +++ b/csharp/ql/test/library-tests/security/dataflow/flowsources/StoredFlowSources.expected @@ -8,11 +8,13 @@ | data.cs:28:51:28:71 | access to indexer | | data.cs:28:51:28:71 | call to method ToString | | data.cs:30:13:30:26 | access to local variable customerReader | +| entity.cs:31:29:31:33 | access to local variable blogs | | entity.cs:31:29:31:82 | DbRawSqlQuery blogs = ... | | entity.cs:31:37:31:82 | call to method SqlQuery | | entity.cs:32:30:32:34 | access to local variable blogs | | entity.cs:35:31:35:34 | access to local variable blog | | entity.cs:35:31:35:39 | access to property Name | +| entity.cs:38:31:38:39 | access to local variable blogNames | | entity.cs:38:31:38:93 | DbRawSqlQuery blogNames = ... | | entity.cs:38:43:38:93 | call to method SqlQuery | | entity.cs:39:34:39:42 | access to local variable blogNames | diff --git a/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected b/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected index d0838ceed01..0c425d257cf 100644 --- a/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected +++ b/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected @@ -1,42 +1,103 @@ -| ControlFlow.cs:3:7:3:9 | call to constructor Object | ControlFlow.cs:3:7:3:9 | {...} | -| ControlFlow.cs:3:7:3:9 | call to method | ControlFlow.cs:3:7:3:9 | call to constructor Object | -| ControlFlow.cs:3:7:3:9 | enter Cfg | ControlFlow.cs:3:7:3:9 | this access | -| ControlFlow.cs:3:7:3:9 | exit Cfg (normal) | ControlFlow.cs:3:7:3:9 | exit Cfg | +| ControlFlow.cs:3:7:3:9 | After call to constructor Object | ControlFlow.cs:3:7:3:9 | {...} | +| ControlFlow.cs:3:7:3:9 | After call to method | ControlFlow.cs:3:7:3:9 | Before call to constructor Object | +| ControlFlow.cs:3:7:3:9 | Before call to constructor Object | ControlFlow.cs:3:7:3:9 | call to constructor Object | +| ControlFlow.cs:3:7:3:9 | Before call to method | ControlFlow.cs:3:7:3:9 | this access | +| ControlFlow.cs:3:7:3:9 | Entry | ControlFlow.cs:3:7:3:9 | Before call to method | +| ControlFlow.cs:3:7:3:9 | Normal Exit | ControlFlow.cs:3:7:3:9 | Exit | +| ControlFlow.cs:3:7:3:9 | call to constructor Object | ControlFlow.cs:3:7:3:9 | After call to constructor Object | +| ControlFlow.cs:3:7:3:9 | call to method | ControlFlow.cs:3:7:3:9 | After call to method | | ControlFlow.cs:3:7:3:9 | this access | ControlFlow.cs:3:7:3:9 | call to method | -| ControlFlow.cs:3:7:3:9 | {...} | ControlFlow.cs:3:7:3:9 | exit Cfg (normal) | -| ControlFlow.cs:5:10:5:10 | enter F | ControlFlow.cs:6:5:11:5 | {...} | -| ControlFlow.cs:5:10:5:10 | exit F (normal) | ControlFlow.cs:5:10:5:10 | exit F | +| ControlFlow.cs:3:7:3:9 | {...} | ControlFlow.cs:3:7:3:9 | Normal Exit | +| ControlFlow.cs:5:10:5:10 | Entry | ControlFlow.cs:6:5:11:5 | {...} | +| ControlFlow.cs:5:10:5:10 | Normal Exit | ControlFlow.cs:5:10:5:10 | Exit | +| ControlFlow.cs:6:5:11:5 | After {...} | ControlFlow.cs:5:10:5:10 | Normal Exit | | ControlFlow.cs:6:5:11:5 | {...} | ControlFlow.cs:7:9:7:34 | ... ...; | -| ControlFlow.cs:7:9:7:34 | ... ...; | ControlFlow.cs:7:17:7:33 | Call (unknown target) | -| ControlFlow.cs:7:9:7:34 | ... ...; | ControlFlow.cs:7:17:7:33 | object creation of type | -| ControlFlow.cs:7:13:7:33 | v = ... | ControlFlow.cs:8:9:8:44 | ...; | -| ControlFlow.cs:7:17:7:33 | Call (unknown target) | ControlFlow.cs:7:13:7:33 | v = ... | -| ControlFlow.cs:7:17:7:33 | object creation of type | ControlFlow.cs:7:13:7:33 | v = ... | -| ControlFlow.cs:8:9:8:13 | Expression | ControlFlow.cs:8:22:8:22 | access to local variable v | -| ControlFlow.cs:8:9:8:43 | Call (unknown target) | ControlFlow.cs:10:9:10:87 | ...; | -| ControlFlow.cs:8:9:8:43 | call to method | ControlFlow.cs:10:9:10:87 | ...; | -| ControlFlow.cs:8:9:8:44 | ...; | ControlFlow.cs:8:9:8:13 | Expression | +| ControlFlow.cs:7:9:7:34 | ... ...; | ControlFlow.cs:7:13:7:33 | Before v = ... | +| ControlFlow.cs:7:9:7:34 | After ... ...; | ControlFlow.cs:8:9:8:44 | ...; | +| ControlFlow.cs:7:13:7:13 | access to local variable v | ControlFlow.cs:7:17:7:33 | Before Call (unknown target) | +| ControlFlow.cs:7:13:7:13 | access to local variable v | ControlFlow.cs:7:17:7:33 | Before object creation of type | +| ControlFlow.cs:7:13:7:33 | v = ... | ControlFlow.cs:7:13:7:33 | After v = ... | +| ControlFlow.cs:7:13:7:33 | After v = ... | ControlFlow.cs:7:9:7:34 | After ... ...; | +| ControlFlow.cs:7:13:7:33 | Before v = ... | ControlFlow.cs:7:13:7:13 | access to local variable v | +| ControlFlow.cs:7:17:7:33 | After Call (unknown target) | ControlFlow.cs:7:13:7:33 | v = ... | +| ControlFlow.cs:7:17:7:33 | After object creation of type | ControlFlow.cs:7:13:7:33 | v = ... | +| ControlFlow.cs:7:17:7:33 | Before Call (unknown target) | ControlFlow.cs:7:17:7:33 | Call (unknown target) | +| ControlFlow.cs:7:17:7:33 | Before Call (unknown target) | ControlFlow.cs:7:17:7:33 | object creation of type | +| ControlFlow.cs:7:17:7:33 | Before object creation of type | ControlFlow.cs:7:17:7:33 | Call (unknown target) | +| ControlFlow.cs:7:17:7:33 | Before object creation of type | ControlFlow.cs:7:17:7:33 | object creation of type | +| ControlFlow.cs:7:17:7:33 | Call (unknown target) | ControlFlow.cs:7:17:7:33 | After Call (unknown target) | +| ControlFlow.cs:7:17:7:33 | Call (unknown target) | ControlFlow.cs:7:17:7:33 | After object creation of type | +| ControlFlow.cs:7:17:7:33 | object creation of type | ControlFlow.cs:7:17:7:33 | After Call (unknown target) | +| ControlFlow.cs:7:17:7:33 | object creation of type | ControlFlow.cs:7:17:7:33 | After object creation of type | +| ControlFlow.cs:8:9:8:13 | Expression | ControlFlow.cs:8:22:8:26 | Before Call (unknown target) | +| ControlFlow.cs:8:9:8:13 | Expression | ControlFlow.cs:8:22:8:26 | Before access to property (unknown) | +| ControlFlow.cs:8:9:8:43 | After Call (unknown target) | ControlFlow.cs:8:9:8:44 | After ...; | +| ControlFlow.cs:8:9:8:43 | After call to method | ControlFlow.cs:8:9:8:44 | After ...; | +| ControlFlow.cs:8:9:8:43 | Before Call (unknown target) | ControlFlow.cs:8:9:8:13 | Expression | +| ControlFlow.cs:8:9:8:43 | Before call to method | ControlFlow.cs:8:9:8:13 | Expression | +| ControlFlow.cs:8:9:8:43 | Call (unknown target) | ControlFlow.cs:8:9:8:43 | After Call (unknown target) | +| ControlFlow.cs:8:9:8:43 | Call (unknown target) | ControlFlow.cs:8:9:8:43 | After call to method | +| ControlFlow.cs:8:9:8:43 | call to method | ControlFlow.cs:8:9:8:43 | After Call (unknown target) | +| ControlFlow.cs:8:9:8:43 | call to method | ControlFlow.cs:8:9:8:43 | After call to method | +| ControlFlow.cs:8:9:8:44 | ...; | ControlFlow.cs:8:9:8:43 | Before Call (unknown target) | +| ControlFlow.cs:8:9:8:44 | ...; | ControlFlow.cs:8:9:8:43 | Before call to method | +| ControlFlow.cs:8:9:8:44 | After ...; | ControlFlow.cs:10:9:10:87 | ...; | | ControlFlow.cs:8:22:8:22 | access to local variable v | ControlFlow.cs:8:22:8:24 | Call (unknown target) | | ControlFlow.cs:8:22:8:22 | access to local variable v | ControlFlow.cs:8:22:8:24 | access to property (unknown) | -| ControlFlow.cs:8:22:8:24 | Call (unknown target) | ControlFlow.cs:8:22:8:26 | Call (unknown target) | -| ControlFlow.cs:8:22:8:24 | Call (unknown target) | ControlFlow.cs:8:22:8:26 | access to property (unknown) | -| ControlFlow.cs:8:22:8:24 | access to property (unknown) | ControlFlow.cs:8:22:8:26 | Call (unknown target) | -| ControlFlow.cs:8:22:8:24 | access to property (unknown) | ControlFlow.cs:8:22:8:26 | access to property (unknown) | -| ControlFlow.cs:8:22:8:26 | Call (unknown target) | ControlFlow.cs:8:29:8:42 | "This is true" | -| ControlFlow.cs:8:22:8:26 | access to property (unknown) | ControlFlow.cs:8:29:8:42 | "This is true" | +| ControlFlow.cs:8:22:8:24 | After Call (unknown target) | ControlFlow.cs:8:22:8:26 | Call (unknown target) | +| ControlFlow.cs:8:22:8:24 | After Call (unknown target) | ControlFlow.cs:8:22:8:26 | access to property (unknown) | +| ControlFlow.cs:8:22:8:24 | After access to property (unknown) | ControlFlow.cs:8:22:8:26 | Call (unknown target) | +| ControlFlow.cs:8:22:8:24 | After access to property (unknown) | ControlFlow.cs:8:22:8:26 | access to property (unknown) | +| ControlFlow.cs:8:22:8:24 | Before Call (unknown target) | ControlFlow.cs:8:22:8:22 | access to local variable v | +| ControlFlow.cs:8:22:8:24 | Before access to property (unknown) | ControlFlow.cs:8:22:8:22 | access to local variable v | +| ControlFlow.cs:8:22:8:24 | Call (unknown target) | ControlFlow.cs:8:22:8:24 | After Call (unknown target) | +| ControlFlow.cs:8:22:8:24 | Call (unknown target) | ControlFlow.cs:8:22:8:24 | After access to property (unknown) | +| ControlFlow.cs:8:22:8:24 | access to property (unknown) | ControlFlow.cs:8:22:8:24 | After Call (unknown target) | +| ControlFlow.cs:8:22:8:24 | access to property (unknown) | ControlFlow.cs:8:22:8:24 | After access to property (unknown) | +| ControlFlow.cs:8:22:8:26 | After Call (unknown target) | ControlFlow.cs:8:29:8:42 | "This is true" | +| ControlFlow.cs:8:22:8:26 | After access to property (unknown) | ControlFlow.cs:8:29:8:42 | "This is true" | +| ControlFlow.cs:8:22:8:26 | Before Call (unknown target) | ControlFlow.cs:8:22:8:24 | Before Call (unknown target) | +| ControlFlow.cs:8:22:8:26 | Before Call (unknown target) | ControlFlow.cs:8:22:8:24 | Before access to property (unknown) | +| ControlFlow.cs:8:22:8:26 | Before access to property (unknown) | ControlFlow.cs:8:22:8:24 | Before Call (unknown target) | +| ControlFlow.cs:8:22:8:26 | Before access to property (unknown) | ControlFlow.cs:8:22:8:24 | Before access to property (unknown) | +| ControlFlow.cs:8:22:8:26 | Call (unknown target) | ControlFlow.cs:8:22:8:26 | After Call (unknown target) | +| ControlFlow.cs:8:22:8:26 | Call (unknown target) | ControlFlow.cs:8:22:8:26 | After access to property (unknown) | +| ControlFlow.cs:8:22:8:26 | access to property (unknown) | ControlFlow.cs:8:22:8:26 | After Call (unknown target) | +| ControlFlow.cs:8:22:8:26 | access to property (unknown) | ControlFlow.cs:8:22:8:26 | After access to property (unknown) | | ControlFlow.cs:8:29:8:42 | "This is true" | ControlFlow.cs:8:9:8:43 | Call (unknown target) | | ControlFlow.cs:8:29:8:42 | "This is true" | ControlFlow.cs:8:9:8:43 | call to method | -| ControlFlow.cs:10:9:10:86 | Call (unknown target) | ControlFlow.cs:10:51:10:62 | access to field Empty | -| ControlFlow.cs:10:9:10:86 | object creation of type | ControlFlow.cs:10:51:10:62 | access to field Empty | -| ControlFlow.cs:10:9:10:87 | ...; | ControlFlow.cs:10:9:10:86 | Call (unknown target) | -| ControlFlow.cs:10:9:10:87 | ...; | ControlFlow.cs:10:9:10:86 | object creation of type | -| ControlFlow.cs:10:35:10:86 | { ..., ... } | ControlFlow.cs:5:10:5:10 | exit F (normal) | -| ControlFlow.cs:10:37:10:47 | access to array element | ControlFlow.cs:10:37:10:62 | ... = ... | -| ControlFlow.cs:10:37:10:62 | ... = ... | ControlFlow.cs:10:79:10:79 | access to local variable v | -| ControlFlow.cs:10:51:10:62 | access to field Empty | ControlFlow.cs:10:37:10:47 | access to array element | -| ControlFlow.cs:10:65:10:75 | access to array element | ControlFlow.cs:10:65:10:84 | ... = ... | -| ControlFlow.cs:10:65:10:84 | ... = ... | ControlFlow.cs:10:35:10:86 | { ..., ... } | +| ControlFlow.cs:10:9:10:86 | After Call (unknown target) | ControlFlow.cs:10:9:10:87 | After ...; | +| ControlFlow.cs:10:9:10:86 | After object creation of type | ControlFlow.cs:10:9:10:87 | After ...; | +| ControlFlow.cs:10:9:10:86 | Before Call (unknown target) | ControlFlow.cs:10:9:10:86 | Call (unknown target) | +| ControlFlow.cs:10:9:10:86 | Before Call (unknown target) | ControlFlow.cs:10:9:10:86 | object creation of type | +| ControlFlow.cs:10:9:10:86 | Before object creation of type | ControlFlow.cs:10:9:10:86 | Call (unknown target) | +| ControlFlow.cs:10:9:10:86 | Before object creation of type | ControlFlow.cs:10:9:10:86 | object creation of type | +| ControlFlow.cs:10:9:10:86 | Call (unknown target) | ControlFlow.cs:10:35:10:86 | Before { ..., ... } | +| ControlFlow.cs:10:9:10:86 | object creation of type | ControlFlow.cs:10:35:10:86 | Before { ..., ... } | +| ControlFlow.cs:10:9:10:87 | ...; | ControlFlow.cs:10:9:10:86 | Before Call (unknown target) | +| ControlFlow.cs:10:9:10:87 | ...; | ControlFlow.cs:10:9:10:86 | Before object creation of type | +| ControlFlow.cs:10:9:10:87 | After ...; | ControlFlow.cs:6:5:11:5 | After {...} | +| ControlFlow.cs:10:35:10:86 | After { ..., ... } | ControlFlow.cs:10:9:10:86 | After Call (unknown target) | +| ControlFlow.cs:10:35:10:86 | After { ..., ... } | ControlFlow.cs:10:9:10:86 | After object creation of type | +| ControlFlow.cs:10:35:10:86 | Before { ..., ... } | ControlFlow.cs:10:37:10:62 | Before ... = ... | +| ControlFlow.cs:10:35:10:86 | { ..., ... } | ControlFlow.cs:10:35:10:86 | After { ..., ... } | +| ControlFlow.cs:10:37:10:47 | access to array element | ControlFlow.cs:10:51:10:62 | access to field Empty | +| ControlFlow.cs:10:37:10:62 | ... = ... | ControlFlow.cs:10:37:10:62 | After ... = ... | +| ControlFlow.cs:10:37:10:62 | After ... = ... | ControlFlow.cs:10:65:10:84 | Before ... = ... | +| ControlFlow.cs:10:37:10:62 | Before ... = ... | ControlFlow.cs:10:37:10:47 | access to array element | +| ControlFlow.cs:10:51:10:62 | access to field Empty | ControlFlow.cs:10:37:10:62 | ... = ... | +| ControlFlow.cs:10:65:10:75 | access to array element | ControlFlow.cs:10:79:10:84 | Before Call (unknown target) | +| ControlFlow.cs:10:65:10:75 | access to array element | ControlFlow.cs:10:79:10:84 | Before access to property (unknown) | +| ControlFlow.cs:10:65:10:84 | ... = ... | ControlFlow.cs:10:65:10:84 | After ... = ... | +| ControlFlow.cs:10:65:10:84 | After ... = ... | ControlFlow.cs:10:35:10:86 | { ..., ... } | +| ControlFlow.cs:10:65:10:84 | Before ... = ... | ControlFlow.cs:10:65:10:75 | access to array element | | ControlFlow.cs:10:79:10:79 | access to local variable v | ControlFlow.cs:10:79:10:84 | Call (unknown target) | | ControlFlow.cs:10:79:10:79 | access to local variable v | ControlFlow.cs:10:79:10:84 | access to property (unknown) | -| ControlFlow.cs:10:79:10:84 | Call (unknown target) | ControlFlow.cs:10:65:10:75 | access to array element | -| ControlFlow.cs:10:79:10:84 | access to property (unknown) | ControlFlow.cs:10:65:10:75 | access to array element | +| ControlFlow.cs:10:79:10:84 | After Call (unknown target) | ControlFlow.cs:10:65:10:84 | ... = ... | +| ControlFlow.cs:10:79:10:84 | After access to property (unknown) | ControlFlow.cs:10:65:10:84 | ... = ... | +| ControlFlow.cs:10:79:10:84 | Before Call (unknown target) | ControlFlow.cs:10:79:10:79 | access to local variable v | +| ControlFlow.cs:10:79:10:84 | Before access to property (unknown) | ControlFlow.cs:10:79:10:79 | access to local variable v | +| ControlFlow.cs:10:79:10:84 | Call (unknown target) | ControlFlow.cs:10:79:10:84 | After Call (unknown target) | +| ControlFlow.cs:10:79:10:84 | Call (unknown target) | ControlFlow.cs:10:79:10:84 | After access to property (unknown) | +| ControlFlow.cs:10:79:10:84 | access to property (unknown) | ControlFlow.cs:10:79:10:84 | After Call (unknown target) | +| ControlFlow.cs:10:79:10:84 | access to property (unknown) | ControlFlow.cs:10:79:10:84 | After access to property (unknown) | diff --git a/csharp/ql/test/library-tests/standalone/controlflow/cfg.ql b/csharp/ql/test/library-tests/standalone/controlflow/cfg.ql index f596ac41629..020863c588d 100644 --- a/csharp/ql/test/library-tests/standalone/controlflow/cfg.ql +++ b/csharp/ql/test/library-tests/standalone/controlflow/cfg.ql @@ -11,6 +11,6 @@ class UnknownCall extends Call { override string toString() { result = "Call (unknown target)" } } -query predicate edges(ControlFlow::Node n1, ControlFlow::Node n2) { +query predicate edges(ControlFlowNode n1, ControlFlowNode n2) { not n1.getAstNode().fromLibrary() and n2 = n1.getASuccessor() } diff --git a/csharp/ql/test/query-tests/Nullness/C.cs b/csharp/ql/test/query-tests/Nullness/C.cs index 8c6a0226f36..4ca1e2adf53 100644 --- a/csharp/ql/test/query-tests/Nullness/C.cs +++ b/csharp/ql/test/query-tests/Nullness/C.cs @@ -264,6 +264,13 @@ public class C temp = sa.Length; // BAD (always), but not first } + public void CompoundAssignment() + { + C c1 = null; + C c2 = new C(true); + c1 += c2; // $ Alert[cs/dereferenced-value-is-always-null] + } + bool m; C(bool m) { @@ -271,4 +278,6 @@ public class C } bool Maybe() => this.m; + + public void operator +=(C other) { } } diff --git a/csharp/ql/test/query-tests/Nullness/NullAlways.expected b/csharp/ql/test/query-tests/Nullness/NullAlways.expected index a633c4a1506..f95639c9b32 100644 --- a/csharp/ql/test/query-tests/Nullness/NullAlways.expected +++ b/csharp/ql/test/query-tests/Nullness/NullAlways.expected @@ -24,6 +24,7 @@ | C.cs:249:9:249:9 | access to local variable a | Variable $@ is always null at this dereference. | C.cs:248:15:248:15 | a | a | | C.cs:260:9:260:10 | access to local variable ia | Variable $@ is always null at this dereference. | C.cs:257:15:257:16 | ia | ia | | C.cs:261:20:261:21 | access to local variable sa | Variable $@ is always null at this dereference. | C.cs:258:18:258:19 | sa | sa | +| C.cs:271:9:271:10 | access to local variable c1 | Variable $@ is always null at this dereference. | C.cs:269:11:269:12 | c1 | c1 | | D.cs:120:13:120:13 | access to local variable x | Variable $@ is always null at this dereference. | D.cs:117:13:117:13 | x | x | | D.cs:197:13:197:13 | access to local variable o | Variable $@ is always null at this dereference. | D.cs:195:13:195:13 | o | o | | D.cs:207:17:207:17 | access to local variable e | Variable $@ is always null at this dereference. | D.cs:204:26:204:26 | e | e | diff --git a/csharp/ql/test/resources/stubs/System.Web.cs b/csharp/ql/test/resources/stubs/System.Web.cs index c15b871095f..23ae0f298cf 100644 --- a/csharp/ql/test/resources/stubs/System.Web.cs +++ b/csharp/ql/test/resources/stubs/System.Web.cs @@ -454,3 +454,8 @@ namespace System.Web.Script.Serialization public SimpleTypeResolver() => throw null; } } + +namespace System.Web.Services +{ + public class WebMethodAttribute : Attribute { } +} diff --git a/docs/codeql/codeql-language-guides/customizing-library-models-for-go.rst b/docs/codeql/codeql-language-guides/customizing-library-models-for-go.rst index 2eb9446459f..f8f576b16b1 100644 --- a/docs/codeql/codeql-language-guides/customizing-library-models-for-go.rst +++ b/docs/codeql/codeql-language-guides/customizing-library-models-for-go.rst @@ -223,7 +223,7 @@ The first five values identify the function to be modeled as a summary. - The first value ``slices`` is the package name. - The second value ``""`` is left blank, since the function is not a method of a type. - The third value ``False`` is a flag that indicates whether or not the model also applies to subtypes. This has no effect for non-method functions. -- The fourth value ``Max`` is the function name. +- The fourth value ``Concat`` is the function name. - The fifth value ``""`` is the input type signature. For Go it should always be an empty string. It is needed for other languages where multiple functions may have the same name and they need to be distinguished by the number and types of the arguments. The sixth value should be left empty and is out of scope for this documentation. diff --git a/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst b/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst index 203213b9425..608235636f1 100644 --- a/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst +++ b/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst @@ -63,8 +63,8 @@ The CodeQL library for Java and Kotlin analysis exposes the following extensible - ``sourceModel(package, type, subtypes, name, signature, ext, output, kind, provenance)``. This is used to model sources of potentially tainted data. The ``kind`` of the sources defined using this predicate determine which threat model they are associated with. Different threat models can be used to customize the sources used in an analysis. For more information, see ":ref:`Threat models `." - ``sinkModel(package, type, subtypes, name, signature, ext, input, kind, provenance)``. This is used to model sinks where tainted data maybe used in a way that makes the code vulnerable. - ``summaryModel(package, type, subtypes, name, signature, ext, input, output, kind, provenance)``. This is used to model flow through elements. -- ``barrierModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance)``. This is used to model barriers, which are elements that stop the flow of taint. -- ``barrierGuardModel(namespace, type, subtypes, name, signature, ext, input, acceptingValue, kind, provenance)``. This is used to model barrier guards, which are elements that can stop the flow of taint depending on a conditional check. +- ``barrierModel(package, type, subtypes, name, signature, ext, output, kind, provenance)``. This is used to model barriers, which are elements that stop the flow of taint. +- ``barrierGuardModel(package, type, subtypes, name, signature, ext, input, acceptingValue, kind, provenance)``. This is used to model barrier guards, which are elements that can stop the flow of taint depending on a conditional check. - ``neutralModel(package, type, name, signature, kind, provenance)``. This is similar to a summary model but used to model the flow of values that have only a minor impact on the dataflow analysis. Manual neutral models (those with a provenance such as ``manual`` or ``ai-manual``) override generated summary models (those with a provenance such as ``df-generated``) so that the summary will be ignored. Other than that, neutral models have a slight impact on the dataflow dispatch logic, which is out of scope for this documentation. The extensible predicates are populated using the models defined in data extension files. diff --git a/docs/codeql/codeql-language-guides/customizing-library-models-for-javascript.rst b/docs/codeql/codeql-language-guides/customizing-library-models-for-javascript.rst index a0702289cef..77ea678f546 100644 --- a/docs/codeql/codeql-language-guides/customizing-library-models-for-javascript.rst +++ b/docs/codeql/codeql-language-guides/customizing-library-models-for-javascript.rst @@ -381,7 +381,7 @@ We need to add a tuple to the ``sourceModel(type, path, kind)`` extensible predi - The first column, ``"@example/middleware"``, begins the search at imports of the hypothetical NPM package ``@example/middleware``. - ``Member[injectData]`` selects accesses to the ``injectData`` member. - ``ReturnValue`` selects the return value of the call to ``injectData``. -- ``GuardedRouteHandler`` interprets the current value as a middleware function and selects all route handlers guarded by that middleware. Since the current value is passd to ``app.use()``, the callback subsequently passed to ``app.get()`` is seen as a guarded route handler. +- ``GuardedRouteHandler`` interprets the current value as a middleware function and selects all route handlers guarded by that middleware. Since the current value is passed to ``app.use()``, the callback subsequently passed to ``app.get()`` is seen as a guarded route handler. - ``Parameter[0]`` selects the first parameter of the callback (the parameter named ``req``). - ``Member[data]`` selects accesses to the ``data`` property of the ``req`` object. - Finally, the kind ``remote`` indicates that this is considered a source of remote flow. diff --git a/docs/codeql/codeql-language-guides/customizing-library-models-for-ruby.rst b/docs/codeql/codeql-language-guides/customizing-library-models-for-ruby.rst index db041a52151..beccf82327f 100644 --- a/docs/codeql/codeql-language-guides/customizing-library-models-for-ruby.rst +++ b/docs/codeql/codeql-language-guides/customizing-library-models-for-ruby.rst @@ -56,7 +56,7 @@ We need to add a tuple to the ``sinkModel(type, path, kind)`` extensible predica - The first column, ``"TTY::Command"``, identifies a set of values from which to begin the search for the sink. - The string ``"TTY::Command""`` means we start at the places where the codebase constructs instances of the class ``TTY::Command``. + The string ``"TTY::Command"`` means we start at the places where the codebase constructs instances of the class ``TTY::Command``. - The second column is an access path that is evaluated from left to right, starting at the values that were identified by the first column. - ``Method[run]`` selects calls to the ``run`` method of the ``TTY::Command`` class. diff --git a/docs/codeql/reusables/supported-frameworks.rst b/docs/codeql/reusables/supported-frameworks.rst index 472e463cf79..930cdc6b629 100644 --- a/docs/codeql/reusables/supported-frameworks.rst +++ b/docs/codeql/reusables/supported-frameworks.rst @@ -197,6 +197,7 @@ and the CodeQL library pack ``codeql/javascript-all`` (`changelog `_,``com.google.gson``,,52,,,,,,, `Google Guava `_,``com.google.common.*``,,730,43,9,,,,, `Groovy `_,"``groovy.lang``, ``groovy.text``, ``groovy.util``, ``org.codehaus.groovy.control``",,,33,,,,,, - `Hibernate `_,``org.hibernate``,,,7,,,7,,, + `Hibernate `_,``org.hibernate``,,,10,,,10,,, `JBoss Logging `_,``org.jboss.logging``,,,324,,,,,, `JSON-java `_,``org.json``,,236,,,,,,, `Jackson `_,``com.fasterxml.jackson.*``,,9,2,2,,,,, @@ -41,5 +41,5 @@ Java framework & library support `Thymeleaf `_,``org.thymeleaf``,,2,2,,,,,, `jOOQ `_,``org.jooq``,,,1,,,1,,, Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``hudson``, ``io.jsonwebtoken``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.codehaus.cargo.container.installer``, ``org.dom4j``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",108,6034,757,131,6,14,18,,185 - Totals,,363,26381,2681,404,16,134,33,1,409 + Totals,,363,26381,2684,404,16,137,33,1,409 diff --git a/java/ql/lib/change-notes/2026-04-04-path-injection-torealpath.md b/java/ql/lib/change-notes/2026-04-04-path-injection-torealpath.md new file mode 100644 index 00000000000..8856d419bce --- /dev/null +++ b/java/ql/lib/change-notes/2026-04-04-path-injection-torealpath.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `java/path-injection` and `java/zipslip` queries now recognize `Path.toRealPath()` as a path normalization sanitizer, consistent with the existing treatment of `Path.normalize()` and `File.getCanonicalPath()`. This reduces false positives for code that uses the NIO.2 API for path canonicalization. diff --git a/java/ql/lib/change-notes/2026-04-23-hibernate-queryproducer-sinks.md b/java/ql/lib/change-notes/2026-04-23-hibernate-queryproducer-sinks.md new file mode 100644 index 00000000000..018ce8d348e --- /dev/null +++ b/java/ql/lib/change-notes/2026-04-23-hibernate-queryproducer-sinks.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added `sql-injection` sink models for the Hibernate `org.hibernate.query.QueryProducer` methods `createNativeMutationQuery`, `createMutationQuery`, and `createSelectionQuery`. diff --git a/java/ql/lib/ext/generated/java.applet.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.applet.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.applet.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.applet.model.yml diff --git a/java/ql/lib/ext/generated/java.beans.beancontext.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.beans.beancontext.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.beans.beancontext.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.beans.beancontext.model.yml diff --git a/java/ql/lib/ext/generated/java.beans.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.beans.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.beans.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.beans.model.yml diff --git a/java/ql/lib/ext/generated/java.io.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.io.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.io.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.io.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.annotation.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.annotation.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.annotation.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.annotation.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.constant.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.constant.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.constant.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.constant.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.instrument.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.instrument.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.instrument.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.instrument.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.invoke.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.invoke.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.invoke.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.invoke.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.management.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.management.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.management.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.management.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.module.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.module.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.module.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.module.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.ref.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.ref.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.ref.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.ref.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.reflect.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.reflect.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.reflect.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.reflect.model.yml diff --git a/java/ql/lib/ext/generated/java.lang.runtime.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.lang.runtime.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.lang.runtime.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.lang.runtime.model.yml diff --git a/java/ql/lib/ext/generated/java.math.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.math.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.math.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.math.model.yml diff --git a/java/ql/lib/ext/generated/java.net.http.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.net.http.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.net.http.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.net.http.model.yml diff --git a/java/ql/lib/ext/generated/java.net.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.net.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.net.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.net.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.channels.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.channels.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.channels.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.channels.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.channels.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.channels.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.channels.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.channels.spi.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.charset.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.charset.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.charset.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.charset.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.charset.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.charset.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.charset.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.charset.spi.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.file.attribute.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.file.attribute.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.file.attribute.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.file.attribute.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.file.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.file.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.file.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.file.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.file.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.file.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.file.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.file.spi.model.yml diff --git a/java/ql/lib/ext/generated/java.nio.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.nio.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.nio.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.nio.model.yml diff --git a/java/ql/lib/ext/generated/java.rmi.dgc.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.rmi.dgc.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.rmi.dgc.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.rmi.dgc.model.yml diff --git a/java/ql/lib/ext/generated/java.rmi.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.rmi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.rmi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.rmi.model.yml diff --git a/java/ql/lib/ext/generated/java.rmi.registry.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.rmi.registry.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.rmi.registry.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.rmi.registry.model.yml diff --git a/java/ql/lib/ext/generated/java.rmi.server.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.rmi.server.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.rmi.server.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.rmi.server.model.yml diff --git a/java/ql/lib/ext/generated/java.security.cert.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.security.cert.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.security.cert.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.security.cert.model.yml diff --git a/java/ql/lib/ext/generated/java.security.interfaces.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.security.interfaces.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.security.interfaces.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.security.interfaces.model.yml diff --git a/java/ql/lib/ext/generated/java.security.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.security.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.security.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.security.model.yml diff --git a/java/ql/lib/ext/generated/java.security.spec.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.security.spec.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.security.spec.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.security.spec.model.yml diff --git a/java/ql/lib/ext/generated/java.sql.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.sql.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.sql.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.sql.model.yml diff --git a/java/ql/lib/ext/generated/java.text.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.text.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.text.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.text.model.yml diff --git a/java/ql/lib/ext/generated/java.text.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.text.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.text.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.text.spi.model.yml diff --git a/java/ql/lib/ext/generated/java.time.chrono.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.time.chrono.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.time.chrono.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.time.chrono.model.yml diff --git a/java/ql/lib/ext/generated/java.time.format.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.time.format.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.time.format.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.time.format.model.yml diff --git a/java/ql/lib/ext/generated/java.time.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.time.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.time.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.time.model.yml diff --git a/java/ql/lib/ext/generated/java.time.temporal.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.time.temporal.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.time.temporal.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.time.temporal.model.yml diff --git a/java/ql/lib/ext/generated/java.time.zone.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.time.zone.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.time.zone.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.time.zone.model.yml diff --git a/java/ql/lib/ext/generated/java.util.concurrent.atomic.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.concurrent.atomic.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.concurrent.atomic.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.concurrent.atomic.model.yml diff --git a/java/ql/lib/ext/generated/java.util.concurrent.locks.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.concurrent.locks.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.concurrent.locks.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.concurrent.locks.model.yml diff --git a/java/ql/lib/ext/generated/java.util.concurrent.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.concurrent.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.concurrent.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.concurrent.model.yml diff --git a/java/ql/lib/ext/generated/java.util.function.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.function.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.function.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.function.model.yml diff --git a/java/ql/lib/ext/generated/java.util.jar.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.jar.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.jar.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.jar.model.yml diff --git a/java/ql/lib/ext/generated/java.util.logging.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.logging.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.logging.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.logging.model.yml diff --git a/java/ql/lib/ext/generated/java.util.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.model.yml diff --git a/java/ql/lib/ext/generated/java.util.prefs.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.prefs.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.prefs.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.prefs.model.yml diff --git a/java/ql/lib/ext/generated/java.util.random.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.random.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.random.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.random.model.yml diff --git a/java/ql/lib/ext/generated/java.util.regex.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.regex.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.regex.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.regex.model.yml diff --git a/java/ql/lib/ext/generated/java.util.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.spi.model.yml diff --git a/java/ql/lib/ext/generated/java.util.stream.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.stream.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.stream.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.stream.model.yml diff --git a/java/ql/lib/ext/generated/java.util.zip.model.yml b/java/ql/lib/ext/generated/modelgenerator/java.util.zip.model.yml similarity index 100% rename from java/ql/lib/ext/generated/java.util.zip.model.yml rename to java/ql/lib/ext/generated/modelgenerator/java.util.zip.model.yml diff --git a/java/ql/lib/ext/generated/javax.accessibility.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.accessibility.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.accessibility.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.accessibility.model.yml diff --git a/java/ql/lib/ext/generated/javax.annotation.processing.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.annotation.processing.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.annotation.processing.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.annotation.processing.model.yml diff --git a/java/ql/lib/ext/generated/javax.crypto.interfaces.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.crypto.interfaces.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.crypto.interfaces.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.crypto.interfaces.model.yml diff --git a/java/ql/lib/ext/generated/javax.crypto.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.crypto.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.crypto.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.crypto.model.yml diff --git a/java/ql/lib/ext/generated/javax.crypto.spec.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.crypto.spec.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.crypto.spec.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.crypto.spec.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.metadata.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.metadata.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.metadata.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.metadata.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.plugins.bmp.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.bmp.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.plugins.bmp.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.bmp.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.plugins.jpeg.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.jpeg.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.plugins.jpeg.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.jpeg.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.plugins.tiff.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.tiff.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.plugins.tiff.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.tiff.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.imageio.stream.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.imageio.stream.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.imageio.stream.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.imageio.stream.model.yml diff --git a/java/ql/lib/ext/generated/javax.lang.model.element.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.lang.model.element.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.lang.model.element.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.lang.model.element.model.yml diff --git a/java/ql/lib/ext/generated/javax.lang.model.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.lang.model.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.lang.model.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.lang.model.model.yml diff --git a/java/ql/lib/ext/generated/javax.lang.model.type.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.lang.model.type.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.lang.model.type.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.lang.model.type.model.yml diff --git a/java/ql/lib/ext/generated/javax.lang.model.util.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.lang.model.util.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.lang.model.util.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.lang.model.util.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.loading.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.loading.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.loading.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.loading.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.modelmbean.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.modelmbean.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.modelmbean.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.modelmbean.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.monitor.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.monitor.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.monitor.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.monitor.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.openmbean.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.openmbean.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.openmbean.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.openmbean.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.relation.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.relation.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.relation.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.relation.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.remote.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.remote.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.remote.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.remote.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.remote.rmi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.remote.rmi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.remote.rmi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.remote.rmi.model.yml diff --git a/java/ql/lib/ext/generated/javax.management.timer.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.management.timer.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.management.timer.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.management.timer.model.yml diff --git a/java/ql/lib/ext/generated/javax.naming.directory.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.naming.directory.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.naming.directory.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.naming.directory.model.yml diff --git a/java/ql/lib/ext/generated/javax.naming.event.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.naming.event.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.naming.event.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.naming.event.model.yml diff --git a/java/ql/lib/ext/generated/javax.naming.ldap.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.naming.ldap.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.naming.ldap.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.naming.ldap.model.yml diff --git a/java/ql/lib/ext/generated/javax.naming.ldap.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.naming.ldap.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.naming.ldap.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.naming.ldap.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.naming.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.naming.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.naming.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.naming.model.yml diff --git a/java/ql/lib/ext/generated/javax.naming.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.naming.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.naming.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.naming.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.net.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.net.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.net.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.net.model.yml diff --git a/java/ql/lib/ext/generated/javax.net.ssl.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.net.ssl.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.net.ssl.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.net.ssl.model.yml diff --git a/java/ql/lib/ext/generated/javax.print.attribute.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.print.attribute.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.print.attribute.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.print.attribute.model.yml diff --git a/java/ql/lib/ext/generated/javax.print.attribute.standard.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.print.attribute.standard.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.print.attribute.standard.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.print.attribute.standard.model.yml diff --git a/java/ql/lib/ext/generated/javax.print.event.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.print.event.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.print.event.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.print.event.model.yml diff --git a/java/ql/lib/ext/generated/javax.print.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.print.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.print.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.print.model.yml diff --git a/java/ql/lib/ext/generated/javax.rmi.ssl.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.rmi.ssl.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.rmi.ssl.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.rmi.ssl.model.yml diff --git a/java/ql/lib/ext/generated/javax.script.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.script.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.script.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.script.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.auth.callback.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.auth.callback.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.auth.callback.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.auth.callback.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.auth.kerberos.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.auth.kerberos.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.auth.kerberos.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.auth.kerberos.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.auth.login.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.auth.login.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.auth.login.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.auth.login.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.auth.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.auth.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.auth.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.auth.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.auth.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.auth.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.auth.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.auth.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.auth.x500.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.auth.x500.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.auth.x500.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.auth.x500.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.cert.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.cert.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.cert.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.cert.model.yml diff --git a/java/ql/lib/ext/generated/javax.security.sasl.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.security.sasl.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.security.sasl.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.security.sasl.model.yml diff --git a/java/ql/lib/ext/generated/javax.smartcardio.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.smartcardio.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.smartcardio.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.smartcardio.model.yml diff --git a/java/ql/lib/ext/generated/javax.sound.midi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sound.midi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sound.midi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sound.midi.model.yml diff --git a/java/ql/lib/ext/generated/javax.sound.midi.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sound.midi.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sound.midi.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sound.midi.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.sound.sampled.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sound.sampled.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sound.sampled.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sound.sampled.model.yml diff --git a/java/ql/lib/ext/generated/javax.sound.sampled.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sound.sampled.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sound.sampled.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sound.sampled.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.sql.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sql.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sql.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sql.model.yml diff --git a/java/ql/lib/ext/generated/javax.sql.rowset.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sql.rowset.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.model.yml diff --git a/java/ql/lib/ext/generated/javax.sql.rowset.serial.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.serial.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sql.rowset.serial.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.serial.model.yml diff --git a/java/ql/lib/ext/generated/javax.sql.rowset.spi.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.spi.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.sql.rowset.spi.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.spi.model.yml diff --git a/java/ql/lib/ext/generated/javax.tools.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.tools.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.tools.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.tools.model.yml diff --git a/java/ql/lib/ext/generated/javax.transaction.xa.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.transaction.xa.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.transaction.xa.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.transaction.xa.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.catalog.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.catalog.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.catalog.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.catalog.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.crypto.dom.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dom.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.crypto.dom.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dom.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.crypto.dsig.dom.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.dom.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.crypto.dsig.dom.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.dom.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.crypto.dsig.keyinfo.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.keyinfo.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.crypto.dsig.keyinfo.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.keyinfo.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.crypto.dsig.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.crypto.dsig.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.crypto.dsig.spec.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.spec.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.crypto.dsig.spec.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.spec.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.crypto.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.crypto.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.datatype.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.datatype.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.datatype.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.datatype.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.namespace.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.namespace.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.namespace.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.namespace.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.parsers.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.parsers.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.parsers.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.parsers.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.stream.events.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.events.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.stream.events.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.events.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.stream.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.stream.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.stream.util.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.util.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.stream.util.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.util.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.transform.dom.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.dom.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.transform.dom.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.dom.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.transform.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.transform.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.transform.sax.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.sax.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.transform.sax.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.sax.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.transform.stax.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.stax.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.transform.stax.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.stax.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.transform.stream.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.stream.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.transform.stream.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.stream.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.validation.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.validation.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.validation.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.validation.model.yml diff --git a/java/ql/lib/ext/generated/javax.xml.xpath.model.yml b/java/ql/lib/ext/generated/modelgenerator/javax.xml.xpath.model.yml similarity index 100% rename from java/ql/lib/ext/generated/javax.xml.xpath.model.yml rename to java/ql/lib/ext/generated/modelgenerator/javax.xml.xpath.model.yml diff --git a/java/ql/lib/ext/generated/jenkins-json-lib.model.yml b/java/ql/lib/ext/generated/modelgenerator/jenkins-json-lib.model.yml similarity index 100% rename from java/ql/lib/ext/generated/jenkins-json-lib.model.yml rename to java/ql/lib/ext/generated/modelgenerator/jenkins-json-lib.model.yml diff --git a/java/ql/lib/ext/generated/jenkins.model.yml b/java/ql/lib/ext/generated/modelgenerator/jenkins.model.yml similarity index 100% rename from java/ql/lib/ext/generated/jenkins.model.yml rename to java/ql/lib/ext/generated/modelgenerator/jenkins.model.yml diff --git a/java/ql/lib/ext/generated/kotlinstdlib.model.yml b/java/ql/lib/ext/generated/modelgenerator/kotlinstdlib.model.yml similarity index 100% rename from java/ql/lib/ext/generated/kotlinstdlib.model.yml rename to java/ql/lib/ext/generated/modelgenerator/kotlinstdlib.model.yml diff --git a/java/ql/lib/ext/generated/org.apache.commons.io.model.yml b/java/ql/lib/ext/generated/modelgenerator/org.apache.commons.io.model.yml similarity index 100% rename from java/ql/lib/ext/generated/org.apache.commons.io.model.yml rename to java/ql/lib/ext/generated/modelgenerator/org.apache.commons.io.model.yml diff --git a/java/ql/lib/ext/generated/org.apache.commons.lang.model.yml b/java/ql/lib/ext/generated/modelgenerator/org.apache.commons.lang.model.yml similarity index 100% rename from java/ql/lib/ext/generated/org.apache.commons.lang.model.yml rename to java/ql/lib/ext/generated/modelgenerator/org.apache.commons.lang.model.yml diff --git a/java/ql/lib/ext/generated/stapler.model.yml b/java/ql/lib/ext/generated/modelgenerator/stapler.model.yml similarity index 100% rename from java/ql/lib/ext/generated/stapler.model.yml rename to java/ql/lib/ext/generated/modelgenerator/stapler.model.yml diff --git a/java/ql/lib/ext/generated/struts2.model.yml b/java/ql/lib/ext/generated/modelgenerator/struts2.model.yml similarity index 100% rename from java/ql/lib/ext/generated/struts2.model.yml rename to java/ql/lib/ext/generated/modelgenerator/struts2.model.yml diff --git a/java/ql/lib/ext/org.hibernate.query.model.yml b/java/ql/lib/ext/org.hibernate.query.model.yml index bb6232c1fcd..5eccefd0dfa 100644 --- a/java/ql/lib/ext/org.hibernate.query.model.yml +++ b/java/ql/lib/ext/org.hibernate.query.model.yml @@ -4,5 +4,8 @@ extensions: extensible: sinkModel data: - ["org.hibernate.query", "QueryProducer", True, "createNativeQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["org.hibernate.query", "QueryProducer", True, "createNativeMutationQuery", "", "", "Argument[0]", "sql-injection", "manual"] - ["org.hibernate.query", "QueryProducer", True, "createQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["org.hibernate.query", "QueryProducer", True, "createMutationQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["org.hibernate.query", "QueryProducer", True, "createSelectionQuery", "", "", "Argument[0]", "sql-injection", "manual"] - ["org.hibernate.query", "QueryProducer", True, "createSQLQuery", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index efa1d011ea5..d256d2a84c1 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -20,7 +20,7 @@ dependencies: codeql/xml: ${workspace} dataExtensions: - ext/*.model.yml - - ext/generated/*.model.yml + - ext/generated/**/*.model.yml - ext/experimental/*.model.yml warnOnImplicitThis: true compileForOverlayEval: true diff --git a/java/ql/lib/semmle/code/java/ControlFlowGraph.qll b/java/ql/lib/semmle/code/java/ControlFlowGraph.qll index 4ec8ff8450a..1137b46f32c 100644 --- a/java/ql/lib/semmle/code/java/ControlFlowGraph.qll +++ b/java/ql/lib/semmle/code/java/ControlFlowGraph.qll @@ -91,9 +91,13 @@ private module Ast implements AstSig { class ContinueStmt = J::ContinueStmt; + class GotoStmt extends Stmt { + GotoStmt() { none() } + } + class ReturnStmt = J::ReturnStmt; - class ThrowStmt = J::ThrowStmt; + class Throw = J::ThrowStmt; final private class FinalTryStmt = J::TryStmt; @@ -181,11 +185,37 @@ private module Ast implements AstSig { class LogicalNotExpr = LogNotExpr; + class Assignment = J::Assignment; + + class AssignExpr = J::AssignExpr; + + class CompoundAssignment = J::AssignOp; + + class AssignLogicalAndExpr extends CompoundAssignment { + AssignLogicalAndExpr() { none() } + } + + class AssignLogicalOrExpr extends CompoundAssignment { + AssignLogicalOrExpr() { none() } + } + + class AssignNullCoalescingExpr extends CompoundAssignment { + AssignNullCoalescingExpr() { none() } + } + final private class FinalBooleanLiteral = J::BooleanLiteral; class BooleanLiteral extends FinalBooleanLiteral { boolean getValue() { result = this.getBooleanValue() } } + + final private class FinalInstanceOfExpr = J::InstanceOfExpr; + + class PatternMatchExpr extends FinalInstanceOfExpr { + PatternMatchExpr() { this.isPattern() } + + AstNode getPattern() { result = super.getPattern() } + } } private module Exceptions { @@ -438,6 +468,7 @@ private module NonReturningCalls { private module Input implements InputSig1, InputSig2 { private import java as J + private import codeql.util.Void predicate cfgCachedStageRef() { CfgCachedStage::ref() } @@ -503,6 +534,8 @@ private module Input implements InputSig1, InputSig2 { l = TYield() and n instanceof SwitchExpr } + class CallableBodyPartContext = Void; + predicate inConditionalContext(Ast::AstNode n, ConditionKind kind) { kind.isBoolean() and ( @@ -522,14 +555,8 @@ private module Input implements InputSig1, InputSig2 { private string assertThrowNodeTag() { result = "[assert-throw]" } - private string instanceofTrueNodeTag() { result = "[instanceof-true]" } - predicate additionalNode(Ast::AstNode n, string tag, NormalSuccessor t) { n instanceof AssertStmt and tag = assertThrowNodeTag() and t instanceof DirectSuccessor - or - n.(InstanceOfExpr).isPattern() and - tag = instanceofTrueNodeTag() and - t.(BooleanSuccessor).getValue() = true } /** @@ -571,34 +598,6 @@ private module Input implements InputSig1, InputSig2 { /** Holds if there is a local non-abrupt step from `n1` to `n2`. */ predicate step(PreControlFlowNode n1, PreControlFlowNode n2) { - exists(InstanceOfExpr ioe | - // common - n1.isBefore(ioe) and - n2.isBefore(ioe.getExpr()) - or - n1.isAfter(ioe.getExpr()) and - n2.isIn(ioe) - or - // std postorder: - not ioe.isPattern() and - n1.isIn(ioe) and - n2.isAfter(ioe) - or - // pattern case: - ioe.isPattern() and - n1.isIn(ioe) and - n2.isAfterValue(ioe, any(BooleanSuccessor s | s.getValue() = false)) - or - n1.isIn(ioe) and - n2.isAdditional(ioe, instanceofTrueNodeTag()) - or - n1.isAdditional(ioe, instanceofTrueNodeTag()) and - n2.isBefore(ioe.getPattern()) - or - n1.isAfter(ioe.getPattern()) and - n2.isAfterValue(ioe, any(BooleanSuccessor s | s.getValue() = true)) - ) - or exists(AssertStmt assertstmt | n1.isBefore(assertstmt) and n2.isBefore(assertstmt.getExpr()) diff --git a/java/ql/lib/semmle/code/java/security/PathSanitizer.qll b/java/ql/lib/semmle/code/java/security/PathSanitizer.qll index 788cd542939..e2957f6b02f 100644 --- a/java/ql/lib/semmle/code/java/security/PathSanitizer.qll +++ b/java/ql/lib/semmle/code/java/security/PathSanitizer.qll @@ -243,7 +243,7 @@ private class PathNormalizeSanitizer extends MethodCall { PathNormalizeSanitizer() { exists(RefType t | this.getMethod().getDeclaringType() = t | (t instanceof TypePath or t instanceof FilesKt) and - this.getMethod().hasName("normalize") + this.getMethod().hasName(["normalize", "toRealPath"]) or t instanceof TypeFile and this.getMethod().hasName(["getCanonicalPath", "getCanonicalFile"]) diff --git a/java/ql/test/query-tests/security/CWE-022/semmle/tests/TaintedPath.java b/java/ql/test/query-tests/security/CWE-022/semmle/tests/TaintedPath.java index 442873b54a4..fb87c687823 100644 --- a/java/ql/test/query-tests/security/CWE-022/semmle/tests/TaintedPath.java +++ b/java/ql/test/query-tests/security/CWE-022/semmle/tests/TaintedPath.java @@ -72,6 +72,27 @@ public class TaintedPath { } } + public void sendUserFileGood5(Socket sock, String user) throws Exception { + BufferedReader filenameReader = + new BufferedReader(new InputStreamReader(sock.getInputStream(), "UTF-8")); + String filename = filenameReader.readLine(); + + Path publicFolder = Paths.get("/home/" + user + "/public").toRealPath(); + Path filePath = publicFolder.resolve(filename).toRealPath(); + + // GOOD: toRealPath() normalizes the path (resolves ".." and symlinks), + // equivalent to File.getCanonicalPath() + if (!filePath.startsWith(publicFolder + File.separator)) { + throw new IllegalArgumentException("Invalid filename"); + } + BufferedReader fileReader = new BufferedReader(new FileReader(filePath.toString())); + String fileLine = fileReader.readLine(); + while (fileLine != null) { + sock.getOutputStream().write(fileLine.getBytes()); + fileLine = fileReader.readLine(); + } + } + public void sendUserFileGood4(Socket sock, String user) throws IOException { BufferedReader filenameReader = new BufferedReader(new InputStreamReader(sock.getInputStream(), "UTF-8")); diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/Hibernate.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/Hibernate.java new file mode 100644 index 00000000000..ae61f60e0d0 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/Hibernate.java @@ -0,0 +1,25 @@ +import org.hibernate.Session; +import org.hibernate.SharedSessionContract; +import org.hibernate.query.QueryProducer; + +public class Hibernate { + + public static String source() { return null; } + + public static void test( + Session session, SharedSessionContract sharedSessionContract, QueryProducer queryProducer) { + session.createQuery(source()); // $ sqlInjection + session.createSQLQuery(source()); // $ sqlInjection + + sharedSessionContract.createQuery(source()); // $ sqlInjection + sharedSessionContract.createSQLQuery(source()); // $ sqlInjection + + queryProducer.createNativeQuery(source()); // $ sqlInjection + queryProducer.createNativeMutationQuery(source()); // $ sqlInjection + queryProducer.createQuery(source()); // $ sqlInjection + queryProducer.createMutationQuery(source()); // $ sqlInjection + queryProducer.createSelectionQuery(source()); // $ sqlInjection + queryProducer.createSelectionQuery(source(), Object.class); // $ sqlInjection + queryProducer.createSQLQuery(source()); // $ sqlInjection + } +} diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/options b/java/ql/test/query-tests/security/CWE-089/semmle/examples/options index 8f5ee4913cc..223a083bc76 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/options +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/springframework-5.8.x:${testdir}/../../../../../stubs/apache-hive:${testdir}/../../../../../stubs/jakarta-persistence-api-3.2.0 --release 21 +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/springframework-5.8.x:${testdir}/../../../../../stubs/apache-hive:${testdir}/../../../../../stubs/jakarta-persistence-api-3.2.0:${testdir}/../../../../../stubs/hibernate-5.x --release 21 diff --git a/java/ql/test/stubs/hibernate-5.x/org/hibernate/Session.java b/java/ql/test/stubs/hibernate-5.x/org/hibernate/Session.java new file mode 100644 index 00000000000..80b3553e70b --- /dev/null +++ b/java/ql/test/stubs/hibernate-5.x/org/hibernate/Session.java @@ -0,0 +1,10 @@ +package org.hibernate; + +import org.hibernate.query.Query; + +public interface Session extends SharedSessionContract { + + Query createQuery(String queryString); + + Query createSQLQuery(String queryString); +} diff --git a/java/ql/test/stubs/hibernate-5.x/org/hibernate/SharedSessionContract.java b/java/ql/test/stubs/hibernate-5.x/org/hibernate/SharedSessionContract.java new file mode 100644 index 00000000000..dbc19674971 --- /dev/null +++ b/java/ql/test/stubs/hibernate-5.x/org/hibernate/SharedSessionContract.java @@ -0,0 +1,11 @@ +package org.hibernate; + +import org.hibernate.query.Query; +import org.hibernate.query.QueryProducer; + +public interface SharedSessionContract extends QueryProducer { + + Query createQuery(String queryString); + + Query createSQLQuery(String queryString); +} diff --git a/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/MutationQuery.java b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/MutationQuery.java new file mode 100644 index 00000000000..cb7004932e0 --- /dev/null +++ b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/MutationQuery.java @@ -0,0 +1,4 @@ +package org.hibernate.query; + +public interface MutationQuery { +} diff --git a/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/Query.java b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/Query.java new file mode 100644 index 00000000000..8aa3f169bf2 --- /dev/null +++ b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/Query.java @@ -0,0 +1,4 @@ +package org.hibernate.query; + +public interface Query { +} diff --git a/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/QueryProducer.java b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/QueryProducer.java new file mode 100644 index 00000000000..364dc30dd63 --- /dev/null +++ b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/QueryProducer.java @@ -0,0 +1,18 @@ +package org.hibernate.query; + +public interface QueryProducer { + + Query createNativeQuery(String sqlString); + + MutationQuery createNativeMutationQuery(String sqlString); + + Query createQuery(String queryString); + + MutationQuery createMutationQuery(String hqlString); + + SelectionQuery createSelectionQuery(String hqlString); + + SelectionQuery createSelectionQuery(String hqlString, Class resultType); + + Query createSQLQuery(String queryString); +} diff --git a/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/SelectionQuery.java b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/SelectionQuery.java new file mode 100644 index 00000000000..9eb9fddf596 --- /dev/null +++ b/java/ql/test/stubs/hibernate-5.x/org/hibernate/query/SelectionQuery.java @@ -0,0 +1,4 @@ +package org.hibernate.query; + +public interface SelectionQuery { +} diff --git a/javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml b/javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml new file mode 100644 index 00000000000..a254c885d38 --- /dev/null +++ b/javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml @@ -0,0 +1,2 @@ +# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +key: 🚀 diff --git a/javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap b/javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap new file mode 100644 index 00000000000..936088d8c09 --- /dev/null +++ b/javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap @@ -0,0 +1,27 @@ +#10000=@"/emoji_buffer_boundary.yml;sourcefile" +files(#10000,"/emoji_buffer_boundary.yml") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=* +#20001=* +yaml_scalars(#20001,0,"key") +yaml(#20001,0,#20000,1,"tag:yaml.org,2002:str","key") +#20002=@"loc,{#10000},2,1,2,3" +locations_default(#20002,#10000,2,1,2,3) +yaml_locations(#20001,#20002) +#20003=* +yaml_scalars(#20003,0,"🚀") +yaml(#20003,0,#20000,-1,"tag:yaml.org,2002:str","\u1f680\ude80") +#20004=@"loc,{#10000},2,6,2,6" +locations_default(#20004,#10000,2,6,2,6) +yaml_locations(#20003,#20004) +yaml(#20000,1,#10000,0,"tag:yaml.org,2002:map","key: \u1f680\ude80") +#20005=@"loc,{#10000},2,1,2,8" +locations_default(#20005,#10000,2,1,2,8) +yaml_locations(#20000,#20005) +numlines(#10000,2,0,0) +filetype(#10000,"yaml") diff --git a/javascript/ql/lib/change-notes/2026-04-12-vercel-node.md b/javascript/ql/lib/change-notes/2026-04-12-vercel-node.md new file mode 100644 index 00000000000..39802258b02 --- /dev/null +++ b/javascript/ql/lib/change-notes/2026-04-12-vercel-node.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added support for [`@vercel/node`](https://www.npmjs.com/package/@vercel/node) Vercel serverless functions. Handlers are recognized via the `VercelRequest`/`VercelResponse` TypeScript parameter types, and standard security queries (`js/reflected-xss`, `js/request-forgery`, `js/sql-injection`, `js/command-line-injection`, etc.) now detect vulnerabilities in Vercel API route files. diff --git a/javascript/ql/lib/javascript.qll b/javascript/ql/lib/javascript.qll index ad9cfe009b5..a667a6ffb9f 100644 --- a/javascript/ql/lib/javascript.qll +++ b/javascript/ql/lib/javascript.qll @@ -134,6 +134,7 @@ import semmle.javascript.frameworks.TorrentLibraries import semmle.javascript.frameworks.Typeahead import semmle.javascript.frameworks.TrustedTypes import semmle.javascript.frameworks.UriLibraries +import semmle.javascript.frameworks.VercelNode import semmle.javascript.frameworks.Vue import semmle.javascript.frameworks.Vuex import semmle.javascript.frameworks.Webix diff --git a/javascript/ql/lib/semmle/javascript/frameworks/VercelNode.qll b/javascript/ql/lib/semmle/javascript/frameworks/VercelNode.qll new file mode 100644 index 00000000000..9dcb25cf5db --- /dev/null +++ b/javascript/ql/lib/semmle/javascript/frameworks/VercelNode.qll @@ -0,0 +1,201 @@ +/** + * Provides classes for working with [@vercel/node](https://www.npmjs.com/package/@vercel/node) Vercel serverless functions. + */ + +import javascript +import semmle.javascript.frameworks.HTTP + +/** + * Provides classes for working with [@vercel/node](https://www.npmjs.com/package/@vercel/node) Vercel serverless functions. + * + * A Vercel serverless function is a module whose default export is a function + * taking parameters `(req: VercelRequest, res: VercelResponse)`, where the + * types are imported from the `@vercel/node` package. The default export may + * be synchronous or `async`, and the Vercel runtime invokes it for every + * incoming HTTP request. + */ +module VercelNode { + /** + * A Vercel serverless function handler, identified as the default export of a + * module whose first two parameters are typed as `VercelRequest` and + * `VercelResponse` from `@vercel/node`. + * + * Since `@vercel/node` is commonly imported as a type-only import, handlers + * are recognized by their TypeScript parameter types. The default-export + * constraint excludes private helpers or test utilities that share the + * same signature. + */ + class RouteHandler extends Http::Servers::StandardRouteHandler, DataFlow::FunctionNode { + DataFlow::ParameterNode req; + DataFlow::ParameterNode res; + + RouteHandler() { + this = any(Module m).getAnExportedValue("default").getAFunctionValue() and + req = this.getParameter(0) and + res = this.getParameter(1) and + req.hasUnderlyingType(["@vercel/node", "@now/node"], ["NowRequest", "VercelRequest"]) and + res.hasUnderlyingType(["@vercel/node", "@now/node"], ["NowResponse", "VercelResponse"]) + } + + /** Gets the parameter that contains the request object. */ + DataFlow::ParameterNode getRequest() { result = req } + + /** Gets the parameter that contains the response object. */ + DataFlow::ParameterNode getResponse() { result = res } + } + + /** + * A Vercel request source, that is, the request parameter of a route handler. + */ + private class RequestSource extends Http::Servers::RequestSource { + RouteHandler rh; + + RequestSource() { this = rh.getRequest() } + + override RouteHandler getRouteHandler() { result = rh } + } + + /** + * A Vercel response source, that is, the response parameter of a route handler. + */ + private class ResponseSource extends Http::Servers::ResponseSource { + RouteHandler rh; + + ResponseSource() { this = rh.getResponse() } + + override RouteHandler getRouteHandler() { result = rh } + } + + /** + * A chained response, such as `res.status(200)`, `res.type('html')`, or `res.set(...)`. + * + * These methods return the response object and are commonly chained before `send` or `json`. + */ + private class ChainedResponseSource extends Http::Servers::ResponseSource { + RouteHandler rh; + + ChainedResponseSource() { + exists(ResponseSource src | + this = src.ref().getAMethodCall(["status", "type", "set"]) and + rh = src.getRouteHandler() + ) + } + + override RouteHandler getRouteHandler() { result = rh } + } + + /** + * An access to user-controlled input on a Vercel request. + * + * Covers `req.query`, `req.body`, `req.cookies`, and `req.url` (inherited + * from Node's `IncomingMessage`). Named-header accesses like `req.headers.host` + * are handled by `RequestHeaderAccess` below. + */ + private class RequestInputAccess extends Http::RequestInputAccess { + RouteHandler rh; + string kind; + + RequestInputAccess() { + exists(RequestSource src | rh = src.getRouteHandler() | + this = src.ref().getAPropertyRead("query") and kind = "parameter" + or + this = src.ref().getAPropertyRead("body") and kind = "body" + or + this = src.ref().getAPropertyRead("cookies") and kind = "cookie" + or + this = src.ref().getAPropertyRead("url") and kind = "url" + ) + or + exists(RequestHeaderAccess access | this = access | + rh = access.getRouteHandler() and + kind = "header" + ) + } + + override RouteHandler getRouteHandler() { result = rh } + + override string getKind() { result = kind } + } + + /** + * An access to a named header on a Vercel request, for example + * `req.headers.host` or `req.headers.referer`. + */ + private class RequestHeaderAccess extends Http::RequestHeaderAccess { + RouteHandler rh; + + RequestHeaderAccess() { + exists(RequestSource src | + this = src.ref().getAPropertyRead("headers").getAPropertyRead() and + rh = src.getRouteHandler() + ) + } + + override string getAHeaderName() { + result = this.(DataFlow::PropRead).getPropertyName().toLowerCase() + } + + override RouteHandler getRouteHandler() { result = rh } + + override string getKind() { result = "header" } + } + + /** + * An argument to `res.send(...)`, `res.json(...)`, or `res.jsonp(...)` on a + * Vercel response, including chained calls such as `res.status(200).json(...)`. + */ + private class ResponseSendArgument extends Http::ResponseSendArgument { + RouteHandler rh; + + ResponseSendArgument() { + exists(Http::Servers::ResponseSource src | + (src instanceof ResponseSource or src instanceof ChainedResponseSource) and + this = src.ref().getAMethodCall(["send", "json", "jsonp"]).getArgument(0) and + rh = src.getRouteHandler() + ) + } + + override RouteHandler getRouteHandler() { result = rh } + } + + /** + * A call to `res.redirect(...)` on a Vercel response. + */ + private class RedirectInvocation extends Http::RedirectInvocation, DataFlow::MethodCallNode { + RouteHandler rh; + + RedirectInvocation() { + exists(ResponseSource src | + this = src.ref().getAMethodCall("redirect") and + rh = src.getRouteHandler() + ) + } + + override DataFlow::Node getUrlArgument() { result = this.getLastArgument() } + + override RouteHandler getRouteHandler() { result = rh } + } + + /** + * A call to `res.setHeader(name, value)` on a Vercel response. + */ + private class SetHeader extends Http::ExplicitHeaderDefinition, DataFlow::CallNode { + RouteHandler rh; + + SetHeader() { + exists(ResponseSource src | + this = src.ref().getAMethodCall("setHeader") and + rh = src.getRouteHandler() + ) + } + + override RouteHandler getRouteHandler() { result = rh } + + override predicate definesHeaderValue(string headerName, DataFlow::Node headerValue) { + headerName = this.getArgument(0).getStringValue().toLowerCase() and + headerValue = this.getArgument(1) + } + + override DataFlow::Node getNameNode() { result = this.getArgument(0) } + } +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/HeaderDefinition.qll b/javascript/ql/test/library-tests/frameworks/vercel/HeaderDefinition.qll new file mode 100644 index 00000000000..496ee6e32e8 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/HeaderDefinition.qll @@ -0,0 +1,7 @@ +import javascript + +query predicate test_HeaderDefinition( + Http::HeaderDefinition hd, string name, VercelNode::RouteHandler rh +) { + hd.getRouteHandler() = rh and name = hd.getAHeaderName() +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/RedirectInvocation.qll b/javascript/ql/test/library-tests/frameworks/vercel/RedirectInvocation.qll new file mode 100644 index 00000000000..76e37d4a77f --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/RedirectInvocation.qll @@ -0,0 +1,7 @@ +import javascript + +query predicate test_RedirectInvocation( + Http::RedirectInvocation call, DataFlow::Node url, VercelNode::RouteHandler rh +) { + call.getRouteHandler() = rh and url = call.getUrlArgument() +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/RequestInputAccess.qll b/javascript/ql/test/library-tests/frameworks/vercel/RequestInputAccess.qll new file mode 100644 index 00000000000..ac91695d500 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/RequestInputAccess.qll @@ -0,0 +1,7 @@ +import javascript + +query predicate test_RequestInputAccess( + Http::RequestInputAccess ria, string kind, VercelNode::RouteHandler rh +) { + ria.getRouteHandler() = rh and kind = ria.getKind() +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/RequestSource.qll b/javascript/ql/test/library-tests/frameworks/vercel/RequestSource.qll new file mode 100644 index 00000000000..a8bdcc01020 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/RequestSource.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_RequestSource(Http::Servers::RequestSource src, VercelNode::RouteHandler rh) { + src.getRouteHandler() = rh +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/ResponseSendArgument.qll b/javascript/ql/test/library-tests/frameworks/vercel/ResponseSendArgument.qll new file mode 100644 index 00000000000..7795e5cfb73 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/ResponseSendArgument.qll @@ -0,0 +1,7 @@ +import javascript + +query predicate test_ResponseSendArgument( + Http::ResponseSendArgument arg, VercelNode::RouteHandler rh +) { + arg.getRouteHandler() = rh +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/ResponseSource.qll b/javascript/ql/test/library-tests/frameworks/vercel/ResponseSource.qll new file mode 100644 index 00000000000..3a734b02f13 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/ResponseSource.qll @@ -0,0 +1,5 @@ +import javascript + +query predicate test_ResponseSource(Http::Servers::ResponseSource src, VercelNode::RouteHandler rh) { + src.getRouteHandler() = rh +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/RouteHandler.qll b/javascript/ql/test/library-tests/frameworks/vercel/RouteHandler.qll new file mode 100644 index 00000000000..a6ca13ec1e9 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/RouteHandler.qll @@ -0,0 +1,3 @@ +import javascript + +query predicate test_RouteHandler(VercelNode::RouteHandler rh) { any() } diff --git a/javascript/ql/test/library-tests/frameworks/vercel/src/notahandler.ts b/javascript/ql/test/library-tests/frameworks/vercel/src/notahandler.ts new file mode 100644 index 00000000000..7bb1d903a84 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/src/notahandler.ts @@ -0,0 +1,8 @@ +import type { VercelRequest, VercelResponse } from "@vercel/node"; + +// A default-exported function that has VercelRequest/VercelResponse at +// positions 1 and 2, not 0 and 1. Vercel does not invoke it this way, +// so it must NOT be recognized as a route handler. +export default function notAHandler(ctx: unknown, req: VercelRequest, res: VercelResponse) { + res.send(req.query.name); +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/src/now.ts b/javascript/ql/test/library-tests/frameworks/vercel/src/now.ts new file mode 100644 index 00000000000..33a34d47e2a --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/src/now.ts @@ -0,0 +1,7 @@ +import type { NowRequest, NowResponse } from "@now/node"; + +// Legacy Zeit-era aliases. The model should treat these identically to +// the modern @vercel/node types (NowRequest -> VercelRequest, NowResponse -> VercelResponse). +export default function handler(req: NowRequest, res: NowResponse) { + res.send(req.query.name); +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/src/vercel.ts b/javascript/ql/test/library-tests/frameworks/vercel/src/vercel.ts new file mode 100644 index 00000000000..23956251ef4 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/src/vercel.ts @@ -0,0 +1,32 @@ +import type { VercelRequest, VercelResponse } from "@vercel/node"; + +// A private helper with the same signature. Must NOT be recognized as a +// route handler, since Vercel only invokes the default export. +function internalHelper(req: VercelRequest, res: VercelResponse) { + res.send(req.query.name); +} + +export default function handler(req: VercelRequest, res: VercelResponse) { + // Request inputs + const q = req.query; // source: parameter + const b = req.body; // source: body + const c = req.cookies; // source: cookie + const u = req.url; // source: url (inherited from IncomingMessage) + const host = req.headers.host; // source: header (named) + const ref = req.headers.referer; // source: header (named) + + // Response header definition + res.setHeader("Content-Type", "text/html"); + + // Response send (direct and chained) + res.send(q); + res.status(200).send(b); + + // JSON response (direct and chained) + res.json(c); + res.status(200).json(u); + res.jsonp(host); + + // Redirect + res.redirect(req.query.url as string); +} diff --git a/javascript/ql/test/library-tests/frameworks/vercel/tests.expected b/javascript/ql/test/library-tests/frameworks/vercel/tests.expected new file mode 100644 index 00000000000..92d309cc02f --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/tests.expected @@ -0,0 +1,31 @@ +test_RouteHandler +| src/now.ts:5:16:7:1 | functio ... ame);\\n} | +| src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +test_RequestSource +| src/now.ts:5:33:5:35 | req | src/now.ts:5:16:7:1 | functio ... ame);\\n} | +| src/vercel.ts:9:33:9:35 | req | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +test_ResponseSource +| src/now.ts:5:50:5:52 | res | src/now.ts:5:16:7:1 | functio ... ame);\\n} | +| src/vercel.ts:9:53:9:55 | res | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:23:3:23:17 | res.status(200) | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:27:3:27:17 | res.status(200) | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +test_HeaderDefinition +| src/vercel.ts:19:3:19:44 | res.set ... /html") | content-type | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +test_RedirectInvocation +| src/vercel.ts:31:3:31:39 | res.red ... string) | src/vercel.ts:31:16:31:38 | req.que ... string | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +test_RequestInputAccess +| src/now.ts:6:12:6:20 | req.query | parameter | src/now.ts:5:16:7:1 | functio ... ame);\\n} | +| src/vercel.ts:11:13:11:21 | req.query | parameter | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:12:13:12:20 | req.body | body | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:13:13:13:23 | req.cookies | cookie | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:14:13:14:19 | req.url | url | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:15:16:15:31 | req.headers.host | header | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:16:15:16:33 | req.headers.referer | header | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:31:16:31:24 | req.query | parameter | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +test_ResponseSendArgument +| src/now.ts:6:12:6:25 | req.query.name | src/now.ts:5:16:7:1 | functio ... ame);\\n} | +| src/vercel.ts:22:12:22:12 | q | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:23:24:23:24 | b | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:26:12:26:12 | c | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:27:24:27:24 | u | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | +| src/vercel.ts:28:13:28:16 | host | src/vercel.ts:9:16:32:1 | functio ... ing);\\n} | diff --git a/javascript/ql/test/library-tests/frameworks/vercel/tests.ql b/javascript/ql/test/library-tests/frameworks/vercel/tests.ql new file mode 100644 index 00000000000..da4f5ff6c73 --- /dev/null +++ b/javascript/ql/test/library-tests/frameworks/vercel/tests.ql @@ -0,0 +1,7 @@ +import RouteHandler +import RequestSource +import ResponseSource +import RequestInputAccess +import HeaderDefinition +import ResponseSendArgument +import RedirectInvocation diff --git a/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/CommandInjection.expected b/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/CommandInjection.expected index f1d547bdfb1..ddebc6baeaf 100644 --- a/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/CommandInjection.expected +++ b/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/CommandInjection.expected @@ -110,6 +110,8 @@ | promisification.js:151:28:151:31 | code | promisification.js:141:18:141:25 | req.body | promisification.js:151:28:151:31 | code | This command line depends on a $@. | promisification.js:141:18:141:25 | req.body | user-provided value | | promisification.js:152:25:152:28 | code | promisification.js:141:18:141:25 | req.body | promisification.js:152:25:152:28 | code | This command line depends on a $@. | promisification.js:141:18:141:25 | req.body | user-provided value | | third-party-command-injection.js:6:21:6:27 | command | third-party-command-injection.js:5:20:5:26 | command | third-party-command-injection.js:6:21:6:27 | command | This command line depends on a $@. | third-party-command-injection.js:5:20:5:26 | command | user-provided value | +| vercel.ts:6:8:6:21 | "echo " + name | vercel.ts:5:16:5:24 | req.query | vercel.ts:6:8:6:21 | "echo " + name | This command line depends on a $@. | vercel.ts:5:16:5:24 | req.query | user-provided value | +| vercel.ts:6:8:6:21 | "echo " + name | vercel.ts:5:16:5:29 | req.query.name | vercel.ts:6:8:6:21 | "echo " + name | This command line depends on a $@. | vercel.ts:5:16:5:29 | req.query.name | user-provided value | edges | actions.js:8:9:8:13 | title | actions.js:9:16:9:20 | title | provenance | | | actions.js:8:17:8:57 | github. ... t.title | actions.js:8:9:8:13 | title | provenance | | @@ -340,6 +342,10 @@ edges | promisification.js:141:11:141:14 | code | promisification.js:152:25:152:28 | code | provenance | | | promisification.js:141:18:141:25 | req.body | promisification.js:141:11:141:14 | code | provenance | | | third-party-command-injection.js:5:20:5:26 | command | third-party-command-injection.js:6:21:6:27 | command | provenance | | +| vercel.ts:5:9:5:12 | name | vercel.ts:6:18:6:21 | name | provenance | | +| vercel.ts:5:16:5:24 | req.query | vercel.ts:5:9:5:12 | name | provenance | | +| vercel.ts:5:16:5:29 | req.query.name | vercel.ts:5:9:5:12 | name | provenance | | +| vercel.ts:6:18:6:21 | name | vercel.ts:6:8:6:21 | "echo " + name | provenance | | nodes | actions.js:8:9:8:13 | title | semmle.label | title | | actions.js:8:17:8:57 | github. ... t.title | semmle.label | github. ... t.title | @@ -591,6 +597,11 @@ nodes | promisification.js:152:25:152:28 | code | semmle.label | code | | third-party-command-injection.js:5:20:5:26 | command | semmle.label | command | | third-party-command-injection.js:6:21:6:27 | command | semmle.label | command | +| vercel.ts:5:9:5:12 | name | semmle.label | name | +| vercel.ts:5:16:5:24 | req.query | semmle.label | req.query | +| vercel.ts:5:16:5:29 | req.query.name | semmle.label | req.query.name | +| vercel.ts:6:8:6:21 | "echo " + name | semmle.label | "echo " + name | +| vercel.ts:6:18:6:21 | name | semmle.label | name | subpaths | promisification.js:116:32:116:34 | cmd | promisification.js:118:21:118:23 | cmd | promisification.js:117:29:117:35 | resolve [Return] [resolve-value] | promisification.js:117:16:119:10 | new Pro ... }) [PromiseValue] | | promisification.js:122:42:122:45 | code | promisification.js:116:32:116:34 | cmd | promisification.js:117:16:119:10 | new Pro ... }) [PromiseValue] | promisification.js:122:24:122:46 | createE ... e(code) [PromiseValue] | diff --git a/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/vercel.ts b/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/vercel.ts new file mode 100644 index 00000000000..73754cb8818 --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/vercel.ts @@ -0,0 +1,9 @@ +import type { VercelRequest, VercelResponse } from "@vercel/node"; +import { exec } from "child_process"; + +export default function handler(req: VercelRequest, res: VercelResponse) { + const name = req.query.name as string; // $ Source + exec("echo " + name, (err, stdout) => { // $ Alert + res.send(stdout); + }); +} diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected index bb92027f9f7..8ee7067977c 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected @@ -74,6 +74,8 @@ | tst2.js:113:12:113:17 | unsafe | tst2.js:105:9:105:9 | p | tst2.js:113:12:113:17 | unsafe | Cross-site scripting vulnerability due to a $@. | tst2.js:105:9:105:9 | p | user-provided value | | tst3.js:6:12:6:12 | p | tst3.js:5:9:5:9 | p | tst3.js:6:12:6:12 | p | Cross-site scripting vulnerability due to a $@. | tst3.js:5:9:5:9 | p | user-provided value | | tst3.js:12:12:12:15 | code | tst3.js:11:32:11:39 | reg.body | tst3.js:12:12:12:15 | code | Cross-site scripting vulnerability due to a $@. | tst3.js:11:32:11:39 | reg.body | user-provided value | +| vercel.ts:5:24:5:51 | `

${ ... }

` | vercel.ts:5:31:5:39 | req.query | vercel.ts:5:24:5:51 | `

${ ... }

` | Cross-site scripting vulnerability due to a $@. | vercel.ts:5:31:5:39 | req.query | user-provided value | +| vercel.ts:5:24:5:51 | `

${ ... }

` | vercel.ts:5:31:5:44 | req.query.name | vercel.ts:5:24:5:51 | `

${ ... }

` | Cross-site scripting vulnerability due to a $@. | vercel.ts:5:31:5:44 | req.query.name | user-provided value | edges | ReflectedXss.js:7:33:7:45 | req.params.id | ReflectedXss.js:7:14:7:45 | "Unknow ... rams.id | provenance | | | ReflectedXss.js:16:31:16:39 | params.id | ReflectedXss.js:16:12:16:39 | "Unknow ... rams.id | provenance | | @@ -259,6 +261,8 @@ edges | tst3.js:11:9:11:12 | code | tst3.js:12:12:12:15 | code | provenance | | | tst3.js:11:16:11:74 | prettie ... bel" }) | tst3.js:11:9:11:12 | code | provenance | | | tst3.js:11:32:11:39 | reg.body | tst3.js:11:16:11:74 | prettie ... bel" }) | provenance | | +| vercel.ts:5:31:5:39 | req.query | vercel.ts:5:24:5:51 | `

${ ... }

` | provenance | | +| vercel.ts:5:31:5:44 | req.query.name | vercel.ts:5:24:5:51 | `

${ ... }

` | provenance | | nodes | ReflectedXss.js:7:14:7:45 | "Unknow ... rams.id | semmle.label | "Unknow ... rams.id | | ReflectedXss.js:7:33:7:45 | req.params.id | semmle.label | req.params.id | @@ -497,5 +501,8 @@ nodes | tst3.js:11:16:11:74 | prettie ... bel" }) | semmle.label | prettie ... bel" }) | | tst3.js:11:32:11:39 | reg.body | semmle.label | reg.body | | tst3.js:12:12:12:15 | code | semmle.label | code | +| vercel.ts:5:24:5:51 | `

${ ... }

` | semmle.label | `

${ ... }

` | +| vercel.ts:5:31:5:39 | req.query | semmle.label | req.query | +| vercel.ts:5:31:5:44 | req.query.name | semmle.label | req.query.name | subpaths | ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:68:22:68:26 | value | ReflectedXssGood3.js:108:10:108:23 | parts.join('') | ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected index fa2886fb0cd..a538fcd8ee7 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected @@ -72,3 +72,5 @@ | tst2.js:113:12:113:17 | unsafe | Cross-site scripting vulnerability due to $@. | tst2.js:105:9:105:9 | p | user-provided value | | tst3.js:6:12:6:12 | p | Cross-site scripting vulnerability due to $@. | tst3.js:5:9:5:9 | p | user-provided value | | tst3.js:12:12:12:15 | code | Cross-site scripting vulnerability due to $@. | tst3.js:11:32:11:39 | reg.body | user-provided value | +| vercel.ts:5:24:5:51 | `

${ ... }

` | Cross-site scripting vulnerability due to $@. | vercel.ts:5:31:5:39 | req.query | user-provided value | +| vercel.ts:5:24:5:51 | `

${ ... }

` | Cross-site scripting vulnerability due to $@. | vercel.ts:5:31:5:44 | req.query.name | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/vercel.ts b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/vercel.ts new file mode 100644 index 00000000000..dbd90171444 --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/vercel.ts @@ -0,0 +1,6 @@ +import type { VercelRequest, VercelResponse } from "@vercel/node"; + +export default function handler(req: VercelRequest, res: VercelResponse) { + res.setHeader("Content-Type", "text/html"); + res.status(200).send(`

${req.query.name}

`); // $ Alert +} diff --git a/javascript/ql/test/query-tests/Security/CWE-089/untyped/DatabaseAccesses.expected b/javascript/ql/test/query-tests/Security/CWE-089/untyped/DatabaseAccesses.expected index 52ce3076ba7..4a4fe13b323 100644 --- a/javascript/ql/test/query-tests/Security/CWE-089/untyped/DatabaseAccesses.expected +++ b/javascript/ql/test/query-tests/Security/CWE-089/untyped/DatabaseAccesses.expected @@ -93,3 +93,4 @@ | tst3.js:16:3:18:4 | pool.qu ... ts\\n }) | | tst4.js:8:3:8:67 | db.get( ... + '"') | | tst.js:10:3:10:65 | db.get( ... + '"') | +| vercel.ts:7:3:9:4 | conn.qu ... );\\n }) | diff --git a/javascript/ql/test/query-tests/Security/CWE-089/untyped/SqlInjection.expected b/javascript/ql/test/query-tests/Security/CWE-089/untyped/SqlInjection.expected index f28fb93238d..17d280d3809 100644 --- a/javascript/ql/test/query-tests/Security/CWE-089/untyped/SqlInjection.expected +++ b/javascript/ql/test/query-tests/Security/CWE-089/untyped/SqlInjection.expected @@ -156,6 +156,8 @@ | tst3.js:9:14:9:19 | query1 | tst3.js:8:16:8:34 | req.params.category | tst3.js:9:14:9:19 | query1 | This query string depends on a $@. | tst3.js:8:16:8:34 | req.params.category | user-provided value | | tst4.js:8:10:8:66 | 'SELECT ... d + '"' | tst4.js:8:46:8:60 | $routeParams.id | tst4.js:8:10:8:66 | 'SELECT ... d + '"' | This query string depends on a $@. | tst4.js:8:46:8:60 | $routeParams.id | user-provided value | | tst.js:10:10:10:64 | 'SELECT ... d + '"' | tst.js:10:46:10:58 | req.params.id | tst.js:10:10:10:64 | 'SELECT ... d + '"' | This query string depends on a $@. | tst.js:10:46:10:58 | req.params.id | user-provided value | +| vercel.ts:7:14:7:51 | "SELECT ... " + id | vercel.ts:6:14:6:22 | req.query | vercel.ts:7:14:7:51 | "SELECT ... " + id | This query string depends on a $@. | vercel.ts:6:14:6:22 | req.query | user-provided value | +| vercel.ts:7:14:7:51 | "SELECT ... " + id | vercel.ts:6:14:6:25 | req.query.id | vercel.ts:7:14:7:51 | "SELECT ... " + id | This query string depends on a $@. | vercel.ts:6:14:6:25 | req.query.id | user-provided value | edges | athena.js:9:11:9:19 | userQuery | athena.js:14:30:14:38 | userQuery | provenance | | | athena.js:9:11:9:19 | userQuery | athena.js:24:22:24:30 | userQuery | provenance | | @@ -620,6 +622,10 @@ edges | tst3.js:8:16:8:34 | req.params.category | tst3.js:7:7:7:12 | query1 | provenance | | | tst4.js:8:46:8:60 | $routeParams.id | tst4.js:8:10:8:66 | 'SELECT ... d + '"' | provenance | | | tst.js:10:46:10:58 | req.params.id | tst.js:10:10:10:64 | 'SELECT ... d + '"' | provenance | | +| vercel.ts:6:9:6:10 | id | vercel.ts:7:50:7:51 | id | provenance | | +| vercel.ts:6:14:6:22 | req.query | vercel.ts:6:9:6:10 | id | provenance | | +| vercel.ts:6:14:6:25 | req.query.id | vercel.ts:6:9:6:10 | id | provenance | | +| vercel.ts:7:50:7:51 | id | vercel.ts:7:14:7:51 | "SELECT ... " + id | provenance | | nodes | athena.js:9:11:9:19 | userQuery | semmle.label | userQuery | | athena.js:9:23:9:30 | req.body | semmle.label | req.body | @@ -1029,4 +1035,9 @@ nodes | tst4.js:8:46:8:60 | $routeParams.id | semmle.label | $routeParams.id | | tst.js:10:10:10:64 | 'SELECT ... d + '"' | semmle.label | 'SELECT ... d + '"' | | tst.js:10:46:10:58 | req.params.id | semmle.label | req.params.id | +| vercel.ts:6:9:6:10 | id | semmle.label | id | +| vercel.ts:6:14:6:22 | req.query | semmle.label | req.query | +| vercel.ts:6:14:6:25 | req.query.id | semmle.label | req.query.id | +| vercel.ts:7:14:7:51 | "SELECT ... " + id | semmle.label | "SELECT ... " + id | +| vercel.ts:7:50:7:51 | id | semmle.label | id | subpaths diff --git a/javascript/ql/test/query-tests/Security/CWE-089/untyped/vercel.ts b/javascript/ql/test/query-tests/Security/CWE-089/untyped/vercel.ts new file mode 100644 index 00000000000..b511f107747 --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-089/untyped/vercel.ts @@ -0,0 +1,10 @@ +import type { VercelRequest, VercelResponse } from "@vercel/node"; +const mysql = require("mysql"); +const conn = mysql.createConnection({}); + +export default function handler(req: VercelRequest, res: VercelResponse) { + const id = req.query.id as string; // $ Source + conn.query("SELECT * FROM users WHERE id = " + id, (err: any, rows: any) => { // $ Alert + res.json(rows); + }); +} diff --git a/javascript/ql/test/query-tests/Security/CWE-918/RequestForgery.expected b/javascript/ql/test/query-tests/Security/CWE-918/RequestForgery.expected index 79383f58521..b3d939a30c5 100644 --- a/javascript/ql/test/query-tests/Security/CWE-918/RequestForgery.expected +++ b/javascript/ql/test/query-tests/Security/CWE-918/RequestForgery.expected @@ -40,6 +40,8 @@ | serverSide.js:145:5:145:25 | axios.g ... dedUrl) | serverSide.js:139:19:139:31 | req.query.url | serverSide.js:145:15:145:24 | encodedUrl | The $@ of this request depends on a $@. | serverSide.js:145:15:145:24 | encodedUrl | URL | serverSide.js:139:19:139:31 | req.query.url | user-provided value | | serverSide.js:147:5:147:25 | axios.g ... pedUrl) | serverSide.js:139:19:139:31 | req.query.url | serverSide.js:147:15:147:24 | escapedUrl | The $@ of this request depends on a $@. | serverSide.js:147:15:147:24 | escapedUrl | URL | serverSide.js:139:19:139:31 | req.query.url | user-provided value | | serverSide.js:151:1:151:15 | request(custom) | serverSide.js:150:16:150:51 | require ... ource() | serverSide.js:151:9:151:14 | custom | The $@ of this request depends on a $@. | serverSide.js:151:9:151:14 | custom | URL | serverSide.js:150:16:150:51 | require ... ource() | user-provided value | +| vercel.ts:5:26:5:35 | fetch(url) | vercel.ts:4:15:4:23 | req.query | vercel.ts:5:32:5:34 | url | The $@ of this request depends on a $@. | vercel.ts:5:32:5:34 | url | URL | vercel.ts:4:15:4:23 | req.query | user-provided value | +| vercel.ts:5:26:5:35 | fetch(url) | vercel.ts:4:15:4:27 | req.query.url | vercel.ts:5:32:5:34 | url | The $@ of this request depends on a $@. | vercel.ts:5:32:5:34 | url | URL | vercel.ts:4:15:4:27 | req.query.url | user-provided value | edges | Request/app/api/proxy/route2.serverSide.ts:4:9:4:15 | { url } | Request/app/api/proxy/route2.serverSide.ts:4:11:4:13 | url | provenance | | | Request/app/api/proxy/route2.serverSide.ts:4:11:4:13 | url | Request/app/api/proxy/route2.serverSide.ts:5:27:5:29 | url | provenance | | @@ -147,6 +149,9 @@ edges | serverSide.js:146:31:146:35 | input | serverSide.js:146:24:146:36 | escape(input) | provenance | | | serverSide.js:150:7:150:12 | custom | serverSide.js:151:9:151:14 | custom | provenance | | | serverSide.js:150:16:150:51 | require ... ource() | serverSide.js:150:7:150:12 | custom | provenance | | +| vercel.ts:4:9:4:11 | url | vercel.ts:5:32:5:34 | url | provenance | | +| vercel.ts:4:15:4:23 | req.query | vercel.ts:4:9:4:11 | url | provenance | | +| vercel.ts:4:15:4:27 | req.query.url | vercel.ts:4:9:4:11 | url | provenance | | nodes | Request/app/api/proxy/route2.serverSide.ts:4:9:4:15 | { url } | semmle.label | { url } | | Request/app/api/proxy/route2.serverSide.ts:4:11:4:13 | url | semmle.label | url | @@ -277,4 +282,8 @@ nodes | serverSide.js:150:7:150:12 | custom | semmle.label | custom | | serverSide.js:150:16:150:51 | require ... ource() | semmle.label | require ... ource() | | serverSide.js:151:9:151:14 | custom | semmle.label | custom | +| vercel.ts:4:9:4:11 | url | semmle.label | url | +| vercel.ts:4:15:4:23 | req.query | semmle.label | req.query | +| vercel.ts:4:15:4:27 | req.query.url | semmle.label | req.query.url | +| vercel.ts:5:32:5:34 | url | semmle.label | url | subpaths diff --git a/javascript/ql/test/query-tests/Security/CWE-918/vercel.ts b/javascript/ql/test/query-tests/Security/CWE-918/vercel.ts new file mode 100644 index 00000000000..e383088489d --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-918/vercel.ts @@ -0,0 +1,7 @@ +import type { VercelRequest, VercelResponse } from "@vercel/node"; + +export default async function handler(req: VercelRequest, res: VercelResponse) { + const url = req.query.url as string; // $ Source[js/request-forgery] + const response = await fetch(url); // $ Alert[js/request-forgery] + res.json(await response.json()); +} diff --git a/misc/scripts/models-as-data/generate_mad.py b/misc/scripts/models-as-data/generate_mad.py index 5eeac91d857..9e6c5516b49 100755 --- a/misc/scripts/models-as-data/generate_mad.py +++ b/misc/scripts/models-as-data/generate_mad.py @@ -31,7 +31,7 @@ def parseData(data): description = """\ This generates summary, source, sink and neutral models for the code in the database. -The files will be placed in `LANGUAGE/ql/lib/ext/generated/DIR`""" +The files will be placed in `LANGUAGE/ql/lib/ext/generated/modelgenerator/DIR`""" epilog = """\ Example invocations: @@ -67,7 +67,7 @@ class Generator: self.database = database or self.database self.folder = folder or self.folder self.generated_frameworks = os.path.join( - self.codeql_root, f"{self.language}/ql/lib/ext/generated/{self.folder}" + self.codeql_root, f"{self.language}/ql/lib/ext/generated/modelgenerator/{self.folder}" ) self.workDir = tempfile.mkdtemp() if self.ram is None: diff --git a/python/ql/lib/semmle/python/frameworks/anthropic.model.yml b/python/ql/lib/semmle/python/frameworks/anthropic.model.yml new file mode 100644 index 00000000000..b7ef32218ad --- /dev/null +++ b/python/ql/lib/semmle/python/frameworks/anthropic.model.yml @@ -0,0 +1,17 @@ +extensions: + - addsTo: + pack: codeql/python-all + extensible: sinkModel + data: + - ['Anthropic', 'Member[messages].Member[create].Argument[system:]', 'prompt-injection'] + - ['Anthropic', 'Member[messages].Member[stream].Argument[system:]', 'prompt-injection'] + - ['Anthropic', 'Member[beta].Member[messages].Member[create].Argument[system:]', 'prompt-injection'] + - ['Anthropic', 'Member[messages].Member[create].Argument[messages:].ListElement.DictionaryElement[content]', 'prompt-injection'] + - ['Anthropic', 'Member[messages].Member[stream].Argument[messages:].ListElement.DictionaryElement[content]', 'prompt-injection'] + - ['Anthropic', 'Member[beta].Member[messages].Member[create].Argument[messages:].ListElement.DictionaryElement[content]', 'prompt-injection'] + + - addsTo: + pack: codeql/python-all + extensible: typeModel + data: + - ['Anthropic', 'anthropic', 'Member[Anthropic,AsyncAnthropic].ReturnValue'] diff --git a/python/ql/lib/semmle/python/frameworks/openai.model.yml b/python/ql/lib/semmle/python/frameworks/openai.model.yml index 245d390ab8e..358039595e9 100644 --- a/python/ql/lib/semmle/python/frameworks/openai.model.yml +++ b/python/ql/lib/semmle/python/frameworks/openai.model.yml @@ -4,6 +4,9 @@ extensions: extensible: sinkModel data: - ['OpenAI', 'Member[beta].Member[assistants].Member[create].Argument[instructions:]', 'prompt-injection'] + - ['OpenAI', 'Member[chat].Member[completions].Member[create].Argument[messages:].ListElement.DictionaryElement[content]', 'prompt-injection'] + - ['OpenAI', 'Member[responses].Member[create].Argument[instructions:]', 'prompt-injection'] + - ['OpenAI', 'Member[responses].Member[create].Argument[input:]', 'prompt-injection'] - addsTo: pack: codeql/python-all diff --git a/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/PromptInjection.expected b/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/PromptInjection.expected index 1a899e7c82f..6acb03ce7f5 100644 --- a/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/PromptInjection.expected +++ b/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/PromptInjection.expected @@ -2,9 +2,18 @@ | agent_instructions.py:9:50:9:89 | ControlFlowNode for BinaryExpr | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | agent_instructions.py:9:50:9:89 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | agent_instructions.py:25:28:25:32 | ControlFlowNode for input | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | agent_instructions.py:25:28:25:32 | ControlFlowNode for input | This prompt construction depends on a $@. | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | agent_instructions.py:35:28:35:32 | ControlFlowNode for input | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | agent_instructions.py:35:28:35:32 | ControlFlowNode for input | This prompt construction depends on a $@. | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:17:16:17:37 | ControlFlowNode for BinaryExpr | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:17:16:17:37 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:21:28:21:32 | ControlFlowNode for query | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:21:28:21:32 | ControlFlowNode for query | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:29:16:29:37 | ControlFlowNode for BinaryExpr | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:29:16:29:37 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:33:28:33:32 | ControlFlowNode for query | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:33:28:33:32 | ControlFlowNode for query | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:41:16:41:37 | ControlFlowNode for BinaryExpr | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:41:16:41:37 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:45:28:45:32 | ControlFlowNode for query | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:45:28:45:32 | ControlFlowNode for query | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:53:16:53:37 | ControlFlowNode for BinaryExpr | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:53:16:53:37 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| anthropic_test.py:57:28:57:32 | ControlFlowNode for query | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:57:28:57:32 | ControlFlowNode for query | This prompt construction depends on a $@. | anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | openai_test.py:17:22:17:46 | ControlFlowNode for BinaryExpr | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:17:22:17:46 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | openai_test.py:18:15:18:19 | ControlFlowNode for query | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:18:15:18:19 | ControlFlowNode for query | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | openai_test.py:22:22:22:46 | ControlFlowNode for BinaryExpr | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:22:22:22:46 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | +| openai_test.py:23:15:37:9 | ControlFlowNode for List | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:23:15:37:9 | ControlFlowNode for List | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | openai_test.py:26:28:26:51 | ControlFlowNode for BinaryExpr | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:26:28:26:51 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | openai_test.py:33:33:33:37 | ControlFlowNode for query | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:33:33:33:37 | ControlFlowNode for query | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | | openai_test.py:41:22:41:46 | ControlFlowNode for BinaryExpr | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:41:22:41:46 | ControlFlowNode for BinaryExpr | This prompt construction depends on a $@. | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | user-provided value | @@ -20,7 +29,7 @@ edges | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | agent_instructions.py:2:26:2:32 | ControlFlowNode for request | provenance | | | agent_instructions.py:2:26:2:32 | ControlFlowNode for request | agent_instructions.py:7:13:7:19 | ControlFlowNode for request | provenance | | | agent_instructions.py:2:26:2:32 | ControlFlowNode for request | agent_instructions.py:17:13:17:19 | ControlFlowNode for request | provenance | | -| agent_instructions.py:7:5:7:9 | ControlFlowNode for input | agent_instructions.py:9:50:9:89 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:2 | +| agent_instructions.py:7:5:7:9 | ControlFlowNode for input | agent_instructions.py:9:50:9:89 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:11 | | agent_instructions.py:7:13:7:19 | ControlFlowNode for request | agent_instructions.py:7:13:7:24 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | | agent_instructions.py:7:13:7:24 | ControlFlowNode for Attribute | agent_instructions.py:7:13:7:37 | ControlFlowNode for Attribute() | provenance | dict.get | | agent_instructions.py:7:13:7:37 | ControlFlowNode for Attribute() | agent_instructions.py:7:5:7:9 | ControlFlowNode for input | provenance | | @@ -29,33 +38,62 @@ edges | agent_instructions.py:17:13:17:19 | ControlFlowNode for request | agent_instructions.py:17:13:17:24 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | | agent_instructions.py:17:13:17:24 | ControlFlowNode for Attribute | agent_instructions.py:17:13:17:37 | ControlFlowNode for Attribute() | provenance | dict.get | | agent_instructions.py:17:13:17:37 | ControlFlowNode for Attribute() | agent_instructions.py:17:5:17:9 | ControlFlowNode for input | provenance | | +| anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | anthropic_test.py:2:26:2:32 | ControlFlowNode for request | provenance | | +| anthropic_test.py:2:26:2:32 | ControlFlowNode for request | anthropic_test.py:11:15:11:21 | ControlFlowNode for request | provenance | | +| anthropic_test.py:2:26:2:32 | ControlFlowNode for request | anthropic_test.py:12:13:12:19 | ControlFlowNode for request | provenance | | +| anthropic_test.py:11:5:11:11 | ControlFlowNode for persona | anthropic_test.py:17:16:17:37 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:4 | +| anthropic_test.py:11:5:11:11 | ControlFlowNode for persona | anthropic_test.py:29:16:29:37 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:6 | +| anthropic_test.py:11:5:11:11 | ControlFlowNode for persona | anthropic_test.py:41:16:41:37 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:4 | +| anthropic_test.py:11:5:11:11 | ControlFlowNode for persona | anthropic_test.py:53:16:53:37 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:2 | +| anthropic_test.py:11:15:11:21 | ControlFlowNode for request | anthropic_test.py:11:15:11:26 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | +| anthropic_test.py:11:15:11:21 | ControlFlowNode for request | anthropic_test.py:12:13:12:24 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | +| anthropic_test.py:11:15:11:26 | ControlFlowNode for Attribute | anthropic_test.py:11:15:11:41 | ControlFlowNode for Attribute() | provenance | dict.get | +| anthropic_test.py:11:15:11:41 | ControlFlowNode for Attribute() | anthropic_test.py:11:5:11:11 | ControlFlowNode for persona | provenance | | +| anthropic_test.py:12:5:12:9 | ControlFlowNode for query | anthropic_test.py:21:28:21:32 | ControlFlowNode for query | provenance | Sink:MaD:3 | +| anthropic_test.py:12:5:12:9 | ControlFlowNode for query | anthropic_test.py:33:28:33:32 | ControlFlowNode for query | provenance | Sink:MaD:5 | +| anthropic_test.py:12:5:12:9 | ControlFlowNode for query | anthropic_test.py:45:28:45:32 | ControlFlowNode for query | provenance | Sink:MaD:3 | +| anthropic_test.py:12:5:12:9 | ControlFlowNode for query | anthropic_test.py:57:28:57:32 | ControlFlowNode for query | provenance | Sink:MaD:1 | +| anthropic_test.py:12:13:12:19 | ControlFlowNode for request | anthropic_test.py:12:13:12:24 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | +| anthropic_test.py:12:13:12:24 | ControlFlowNode for Attribute | anthropic_test.py:12:13:12:37 | ControlFlowNode for Attribute() | provenance | dict.get | +| anthropic_test.py:12:13:12:37 | ControlFlowNode for Attribute() | anthropic_test.py:12:5:12:9 | ControlFlowNode for query | provenance | | | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | openai_test.py:2:26:2:32 | ControlFlowNode for request | provenance | | | openai_test.py:2:26:2:32 | ControlFlowNode for request | openai_test.py:12:15:12:21 | ControlFlowNode for request | provenance | | | openai_test.py:2:26:2:32 | ControlFlowNode for request | openai_test.py:13:13:13:19 | ControlFlowNode for request | provenance | | -| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:17:22:17:46 | ControlFlowNode for BinaryExpr | provenance | | -| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:22:22:22:46 | ControlFlowNode for BinaryExpr | provenance | | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:17:22:17:46 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:10 | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:22:22:22:46 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:10 | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:23:15:37:9 | ControlFlowNode for List | provenance | Sink:MaD:9 | | openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:26:28:26:51 | ControlFlowNode for BinaryExpr | provenance | | -| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:41:22:41:46 | ControlFlowNode for BinaryExpr | provenance | | -| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:63:28:63:51 | ControlFlowNode for BinaryExpr | provenance | | -| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:80:28:80:51 | ControlFlowNode for BinaryExpr | provenance | | -| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:92:22:92:46 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:1 | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:41:22:41:46 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:10 | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:63:28:63:51 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:8 | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:80:28:80:51 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:8 | +| openai_test.py:12:5:12:11 | ControlFlowNode for persona | openai_test.py:92:22:92:46 | ControlFlowNode for BinaryExpr | provenance | Sink:MaD:7 | | openai_test.py:12:15:12:21 | ControlFlowNode for request | openai_test.py:12:15:12:26 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | | openai_test.py:12:15:12:21 | ControlFlowNode for request | openai_test.py:13:13:13:24 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | | openai_test.py:12:15:12:26 | ControlFlowNode for Attribute | openai_test.py:12:15:12:41 | ControlFlowNode for Attribute() | provenance | dict.get | | openai_test.py:12:15:12:41 | ControlFlowNode for Attribute() | openai_test.py:12:5:12:11 | ControlFlowNode for persona | provenance | | -| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:18:15:18:19 | ControlFlowNode for query | provenance | | +| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:18:15:18:19 | ControlFlowNode for query | provenance | Sink:MaD:9 | +| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:23:15:37:9 | ControlFlowNode for List | provenance | Sink:MaD:9 | | openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:33:33:33:37 | ControlFlowNode for query | provenance | | -| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:42:15:42:19 | ControlFlowNode for query | provenance | | +| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:42:15:42:19 | ControlFlowNode for query | provenance | Sink:MaD:9 | | openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:53:33:53:37 | ControlFlowNode for query | provenance | | -| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:67:28:67:32 | ControlFlowNode for query | provenance | | -| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:71:28:71:32 | ControlFlowNode for query | provenance | | -| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:84:28:84:32 | ControlFlowNode for query | provenance | | +| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:67:28:67:32 | ControlFlowNode for query | provenance | Sink:MaD:8 | +| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:71:28:71:32 | ControlFlowNode for query | provenance | Sink:MaD:8 | +| openai_test.py:13:5:13:9 | ControlFlowNode for query | openai_test.py:84:28:84:32 | ControlFlowNode for query | provenance | Sink:MaD:8 | | openai_test.py:13:13:13:19 | ControlFlowNode for request | openai_test.py:13:13:13:24 | ControlFlowNode for Attribute | provenance | AdditionalTaintStep | | openai_test.py:13:13:13:24 | ControlFlowNode for Attribute | openai_test.py:13:13:13:37 | ControlFlowNode for Attribute() | provenance | dict.get | | openai_test.py:13:13:13:37 | ControlFlowNode for Attribute() | openai_test.py:13:5:13:9 | ControlFlowNode for query | provenance | | models -| 1 | Sink: OpenAI; Member[beta].Member[assistants].Member[create].Argument[instructions:]; prompt-injection | -| 2 | Sink: agents; Member[Agent].Argument[instructions:]; prompt-injection | +| 1 | Sink: Anthropic; Member[beta].Member[messages].Member[create].Argument[messages:].ListElement.DictionaryElement[content]; prompt-injection | +| 2 | Sink: Anthropic; Member[beta].Member[messages].Member[create].Argument[system:]; prompt-injection | +| 3 | Sink: Anthropic; Member[messages].Member[create].Argument[messages:].ListElement.DictionaryElement[content]; prompt-injection | +| 4 | Sink: Anthropic; Member[messages].Member[create].Argument[system:]; prompt-injection | +| 5 | Sink: Anthropic; Member[messages].Member[stream].Argument[messages:].ListElement.DictionaryElement[content]; prompt-injection | +| 6 | Sink: Anthropic; Member[messages].Member[stream].Argument[system:]; prompt-injection | +| 7 | Sink: OpenAI; Member[beta].Member[assistants].Member[create].Argument[instructions:]; prompt-injection | +| 8 | Sink: OpenAI; Member[chat].Member[completions].Member[create].Argument[messages:].ListElement.DictionaryElement[content]; prompt-injection | +| 9 | Sink: OpenAI; Member[responses].Member[create].Argument[input:]; prompt-injection | +| 10 | Sink: OpenAI; Member[responses].Member[create].Argument[instructions:]; prompt-injection | +| 11 | Sink: agents; Member[Agent].Argument[instructions:]; prompt-injection | nodes | agent_instructions.py:2:26:2:32 | ControlFlowNode for ImportMember | semmle.label | ControlFlowNode for ImportMember | | agent_instructions.py:2:26:2:32 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | @@ -70,6 +108,24 @@ nodes | agent_instructions.py:17:13:17:37 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | | agent_instructions.py:25:28:25:32 | ControlFlowNode for input | semmle.label | ControlFlowNode for input | | agent_instructions.py:35:28:35:32 | ControlFlowNode for input | semmle.label | ControlFlowNode for input | +| anthropic_test.py:2:26:2:32 | ControlFlowNode for ImportMember | semmle.label | ControlFlowNode for ImportMember | +| anthropic_test.py:2:26:2:32 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| anthropic_test.py:11:5:11:11 | ControlFlowNode for persona | semmle.label | ControlFlowNode for persona | +| anthropic_test.py:11:15:11:21 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| anthropic_test.py:11:15:11:26 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| anthropic_test.py:11:15:11:41 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| anthropic_test.py:12:5:12:9 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | +| anthropic_test.py:12:13:12:19 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | +| anthropic_test.py:12:13:12:24 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute | +| anthropic_test.py:12:13:12:37 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() | +| anthropic_test.py:17:16:17:37 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | +| anthropic_test.py:21:28:21:32 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | +| anthropic_test.py:29:16:29:37 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | +| anthropic_test.py:33:28:33:32 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | +| anthropic_test.py:41:16:41:37 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | +| anthropic_test.py:45:28:45:32 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | +| anthropic_test.py:53:16:53:37 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | +| anthropic_test.py:57:28:57:32 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | | openai_test.py:2:26:2:32 | ControlFlowNode for ImportMember | semmle.label | ControlFlowNode for ImportMember | | openai_test.py:2:26:2:32 | ControlFlowNode for request | semmle.label | ControlFlowNode for request | | openai_test.py:12:5:12:11 | ControlFlowNode for persona | semmle.label | ControlFlowNode for persona | @@ -83,6 +139,7 @@ nodes | openai_test.py:17:22:17:46 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | | openai_test.py:18:15:18:19 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | | openai_test.py:22:22:22:46 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | +| openai_test.py:23:15:37:9 | ControlFlowNode for List | semmle.label | ControlFlowNode for List | | openai_test.py:26:28:26:51 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | | openai_test.py:33:33:33:37 | ControlFlowNode for query | semmle.label | ControlFlowNode for query | | openai_test.py:41:22:41:46 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr | diff --git a/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/anthropic_test.py b/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/anthropic_test.py new file mode 100644 index 00000000000..f9e37e31b3c --- /dev/null +++ b/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/anthropic_test.py @@ -0,0 +1,63 @@ +from anthropic import Anthropic, AsyncAnthropic +from flask import Flask, request # $ Source + +app = Flask(__name__) +client = Anthropic() +async_client = AsyncAnthropic() + + +@app.route("/anthropic") +async def get_input_anthropic(): + persona = request.args.get("persona") + query = request.args.get("query") + + response1 = client.messages.create( + model="claude-sonnet-4-20250514", + max_tokens=256, + system="Talk like " + persona, # $ Alert[py/prompt-injection] + messages=[ + { + "role": "user", + "content": query, # $ Alert[py/prompt-injection] + } + ], + ) + + response2 = client.messages.stream( + model="claude-sonnet-4-20250514", + max_tokens=256, + system="Talk like " + persona, # $ Alert[py/prompt-injection] + messages=[ + { + "role": "user", + "content": query, # $ Alert[py/prompt-injection] + } + ], + ) + + response3 = await async_client.messages.create( + model="claude-sonnet-4-20250514", + max_tokens=256, + system="Talk like " + persona, # $ Alert[py/prompt-injection] + messages=[ + { + "role": "user", + "content": query, # $ Alert[py/prompt-injection] + } + ], + ) + + response4 = client.beta.messages.create( + model="claude-sonnet-4-20250514", + max_tokens=256, + system="Talk like " + persona, # $ Alert[py/prompt-injection] + messages=[ + { + "role": "user", + "content": query, # $ Alert[py/prompt-injection] + } + ], + betas=["prompt-caching-2024-07-31"], + ) + + print(response1, response2, response3, response4) \ No newline at end of file diff --git a/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/openai_test.py b/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/openai_test.py index 2b25609670c..8ea014c62b4 100644 --- a/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/openai_test.py +++ b/python/ql/test/experimental/query-tests/Security/CWE-1427-PromptInjection/openai_test.py @@ -34,7 +34,7 @@ async def get_input_openai(): } ] } - ] + ] # $ Alert[py/prompt-injection] ) response3 = await async_client.responses.create( diff --git a/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll b/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll index 1478d9ed9d6..08ca08732b6 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll @@ -78,34 +78,6 @@ module Ssa { */ final VariableReadAccessCfgNode getAFirstRead() { SsaImpl::firstRead(this, result) } - /** - * Gets a last control-flow node that reads the value of this SSA definition. - * That is, a read that can reach the end of the enclosing CFG scope, or another - * SSA definition for the source variable, without passing through any other read. - * - * Example: - * - * ```rb - * def m b # defines b_0 - * i = 0 # defines i_0 - * puts i - * puts i + 1 # last read of i_0 - * if b # last read of b_0 - * i = 1 # defines i_1 - * puts i - * puts i + 1 # last read of i_1 - * else - * i = 2 # defines i_2 - * puts i - * puts i + 1 # last read of i_2 - * end - * # defines i_3 = phi(i_1, i_2) - * puts i # last read of i3 - * end - * ``` - */ - deprecated final VariableReadAccessCfgNode getALastRead() { SsaImpl::lastRead(this, result) } - /** * Holds if `read1` and `read2` are adjacent reads of this SSA definition. * That is, `read2` can be reached from `read1` without passing through diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll index 1856d03c119..74394150ca3 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll @@ -212,63 +212,6 @@ private predicate hasVariableReadWithCapturedWrite( variableReadActualInOuterScope(bb, i, v, scope) } -pragma[noinline] -deprecated private predicate adjacentDefReadExt( - Definition def, BasicBlock bb1, int i1, BasicBlock bb2, int i2, SsaInput::SourceVariable v -) { - Impl::adjacentDefReadExt(def, _, bb1, i1, bb2, i2) and - v = def.getSourceVariable() -} - -deprecated private predicate adjacentDefReachesReadExt( - Definition def, BasicBlock bb1, int i1, BasicBlock bb2, int i2 -) { - exists(SsaInput::SourceVariable v | adjacentDefReadExt(def, bb1, i1, bb2, i2, v) | - def.definesAt(v, bb1, i1) - or - SsaInput::variableRead(bb1, i1, v, true) - ) - or - exists(BasicBlock bb3, int i3 | - adjacentDefReachesReadExt(def, bb1, i1, bb3, i3) and - SsaInput::variableRead(bb3, i3, _, false) and - Impl::adjacentDefReadExt(def, _, bb3, i3, bb2, i2) - ) -} - -deprecated private predicate adjacentDefReachesUncertainReadExt( - Definition def, BasicBlock bb1, int i1, BasicBlock bb2, int i2 -) { - adjacentDefReachesReadExt(def, bb1, i1, bb2, i2) and - SsaInput::variableRead(bb2, i2, _, false) -} - -/** Same as `lastRefRedef`, but skips uncertain reads. */ -pragma[nomagic] -deprecated private predicate lastRefSkipUncertainReadsExt(Definition def, BasicBlock bb, int i) { - Impl::lastRef(def, bb, i) and - not SsaInput::variableRead(bb, i, def.getSourceVariable(), false) - or - exists(BasicBlock bb0, int i0 | - Impl::lastRef(def, bb0, i0) and - adjacentDefReachesUncertainReadExt(def, bb, i, bb0, i0) - ) -} - -/** - * Holds if the read of `def` at `read` may be a last read. That is, `read` - * can either reach another definition of the underlying source variable or - * the end of the CFG scope, without passing through another non-pseudo read. - */ -pragma[nomagic] -deprecated predicate lastRead(Definition def, VariableReadAccessCfgNode read) { - exists(Cfg::BasicBlock bb, int i | - lastRefSkipUncertainReadsExt(def, bb, i) and - variableReadActual(bb, i, _) and - read = bb.getNode(i) - ) -} - cached private module Cached { /** diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll index ec0152c7eca..9af026149cc 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll @@ -22,17 +22,8 @@ private signature Type resolveTypeMentionAtSig(AstNode tm, TypePath path); * how to resolve type mentions (`PreTypeMention` vs. `TypeMention`). */ private module MkSiblingImpls { - pragma[nomagic] - private Type resolveNonTypeParameterTypeAt(AstNode tm, TypePath path) { - result = resolveTypeMentionAt(tm, path) and - not result instanceof TypeParameter - } - - bindingset[t1, t2] - private predicate typeMentionEqual(AstNode t1, AstNode t2) { - forex(TypePath path, Type type | resolveNonTypeParameterTypeAt(t1, path) = type | - resolveNonTypeParameterTypeAt(t2, path) = type - ) + private class Tm extends AstNode { + Type getTypeAt(TypePath path) { result = resolveTypeMentionAt(this, path) } } pragma[nomagic] @@ -50,54 +41,91 @@ private module MkSiblingImpls { trait = impl.resolveTraitTy() } + private module ImplIsInstantiationOfSiblingInput implements IsInstantiationOfInputSig { + predicate potentialInstantiationOf(Tm cond, TypeAbstraction abs, Tm constraint) { + exists(TraitItemNode trait, Type rootType | + implSiblingCandidate(_, trait, rootType, cond) and + implSiblingCandidate(abs, trait, rootType, constraint) and + cond != constraint + ) + } + } + + private module ImplIsInstantiationOfSibling = + IsInstantiationOf; + /** * Holds if `impl1` and `impl2` are sibling implementations of `trait`. We - * consider implementations to be siblings if they implement the same trait for - * the same type. In that case `Self` is the same type in both implementations, - * and method calls to the implementations cannot be resolved unambiguously - * based only on the receiver type. + * consider implementations to be siblings if they implement the same trait and + * the type being implemented by one of the implementations is an instantiation + * of the type being implemented by the other. + * + * For example, in + * + * ```rust + * trait MyTrait { ... } + * impl MyTrait for i64 { ... } // I1 + * impl MyTrait for i64 { ... } // I2 + * + * impl MyTrait for S { ... } // I3 + * impl MyTrait for S { ... } // I4 + * impl MyTrait for S { ... } // I5 + * ``` + * + * the pairs `(I1, I2)`, `(I3, I5)`, and `(I4, I5)` are siblings, but not `(I3, I4)`. + * + * Whenever an implementation has a sibling, calls to the implementations cannot be + * resolved unambiguously based only on the `Self` type alone. */ - pragma[inline] - predicate implSiblings(TraitItemNode trait, Impl impl1, Impl impl2) { - impl1 != impl2 and - ( - exists(Type rootType, AstNode selfTy1, AstNode selfTy2 | - implSiblingCandidate(impl1, trait, rootType, selfTy1) and - implSiblingCandidate(impl2, trait, rootType, selfTy2) and - // In principle the second conjunct below should be superfluous, but we still - // have ill-formed type mentions for types that we don't understand. For - // those checking both directions restricts further. Note also that we check - // syntactic equality, whereas equality up to renaming would be more - // correct. - typeMentionEqual(selfTy1, selfTy2) and - typeMentionEqual(selfTy2, selfTy1) - ) - or - blanketImplSiblingCandidate(impl1, trait) and - blanketImplSiblingCandidate(impl2, trait) + pragma[nomagic] + predicate implSiblings(TraitItemNode trait, ImplItemNode impl1, ImplItemNode impl2) { + exists(Type rootType, AstNode selfTy1, AstNode selfTy2 | + implSiblingCandidate(impl1, trait, rootType, selfTy1) and + implSiblingCandidate(impl2, trait, rootType, selfTy2) + | + ImplIsInstantiationOfSibling::isInstantiationOf(selfTy1, impl2, selfTy2) or + ImplIsInstantiationOfSibling::isInstantiationOf(selfTy2, impl1, selfTy1) ) + or + blanketImplSiblingCandidate(impl1, trait) and + blanketImplSiblingCandidate(impl2, trait) and + impl1 != impl2 } /** * Holds if `impl` is an implementation of `trait` and if another implementation * exists for the same type. */ - pragma[nomagic] predicate implHasSibling(ImplItemNode impl, Trait trait) { implSiblings(trait, impl, _) } + pragma[nomagic] + predicate implSiblings(TraitItemNode trait, ImplItemNode impl1, Tm traitMention1, Tm traitMention2) { + exists(ImplItemNode impl2 | + implSiblings(trait, impl1, impl2) and + traitMention1 = impl1.getTraitPath() and + traitMention2 = impl2.getTraitPath() + ) + } + + bindingset[t1, t2] + pragma[inline_late] + private predicate differentTypes(Type t1, Type t2) { + t1 != t2 and + (not t1 instanceof TypeParameter or not t2 instanceof TypeParameter) + } + pragma[nomagic] predicate implHasAmbiguousSiblingAt(ImplItemNode impl, Trait trait, TypePath path) { - exists(ImplItemNode impl2, Type t1, Type t2 | - implSiblings(trait, impl, impl2) and - t1 = resolveTypeMentionAt(impl.getTraitPath(), path) and - t2 = resolveTypeMentionAt(impl2.getTraitPath(), path) and - t1 != t2 - | - not t1 instanceof TypeParameter or - not t2 instanceof TypeParameter + exists(Tm traitMention, Tm traitMention2, Type t1, Type t2 | + implSiblings(trait, impl, traitMention, traitMention2) and + t1 = traitMention.getTypeAt(path) and + t2 = traitMention2.getTypeAt(path) and + differentTypes(t1, t2) ) or - // todo: handle blanket/non-blanket siblings in `implSiblings` + // Since we cannot resolve the `Output` types of certain built-in `Index` trait + // implementations, we need to ensure that the type-specialized versions that we + // ship do not apply unless there is an exact type match trait = any(IndexTrait it | implSiblingCandidate(impl, it, _, _) and @@ -152,7 +180,7 @@ private predicate functionResolutionDependsOnArgumentCand( * ```rust * trait MyTrait { * fn method(&self, value: Foo) -> Self; - * // ^^^^^^^^^^^^^ `pos` = 0 + * // ^^^^^^^^^^^^^ `pos` = 1 * // ^ `path` = "T" * } * impl MyAdd for i64 { @@ -160,11 +188,6 @@ private predicate functionResolutionDependsOnArgumentCand( * // ^^^ `type` = i64 * } * ``` - * - * Note that we only check the root type symbol at the position. If the type - * at that position is a type constructor (for instance `Vec<..>`) then - * inspecting the entire type tree could be necessary to disambiguate the - * method. In that case we will still resolve several methods. */ exists(TraitItemNode trait | diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll index 6c0034c2b9c..423ad21ae4a 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll @@ -37,6 +37,11 @@ private module Input1 implements InputSig1 { class Type = T::Type; + predicate isPseudoType(Type t) { + t instanceof UnknownType or + t instanceof NeverType + } + class TypeParameter = T::TypeParameter; class TypeAbstraction = TA::TypeAbstraction; diff --git a/rust/ql/lib/ext/generated/actix-web.model.yml b/rust/ql/lib/ext/generated/modelgenerator/actix-web.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/actix-web.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/actix-web.model.yml diff --git a/rust/ql/lib/ext/generated/clap.model.yml b/rust/ql/lib/ext/generated/modelgenerator/clap.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/clap.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/clap.model.yml diff --git a/rust/ql/lib/ext/generated/hyper.model.yml b/rust/ql/lib/ext/generated/modelgenerator/hyper.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/hyper.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/hyper.model.yml diff --git a/rust/ql/lib/ext/generated/libc.model.yml b/rust/ql/lib/ext/generated/modelgenerator/libc.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/libc.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/libc.model.yml diff --git a/rust/ql/lib/ext/generated/log.model.yml b/rust/ql/lib/ext/generated/modelgenerator/log.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/log.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/log.model.yml diff --git a/rust/ql/lib/ext/generated/memchr.model.yml b/rust/ql/lib/ext/generated/modelgenerator/memchr.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/memchr.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/memchr.model.yml diff --git a/rust/ql/lib/ext/generated/once_cell.model.yml b/rust/ql/lib/ext/generated/modelgenerator/once_cell.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/once_cell.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/once_cell.model.yml diff --git a/rust/ql/lib/ext/generated/rand.model.yml b/rust/ql/lib/ext/generated/modelgenerator/rand.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/rand.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/rand.model.yml diff --git a/rust/ql/lib/ext/generated/reqwest.model.yml b/rust/ql/lib/ext/generated/modelgenerator/reqwest.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/reqwest.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/reqwest.model.yml diff --git a/rust/ql/lib/ext/generated/rust.model.yml b/rust/ql/lib/ext/generated/modelgenerator/rust.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/rust.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/rust.model.yml diff --git a/rust/ql/lib/ext/generated/serde.model.yml b/rust/ql/lib/ext/generated/modelgenerator/serde.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/serde.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/serde.model.yml diff --git a/rust/ql/lib/ext/generated/smallvec.model.yml b/rust/ql/lib/ext/generated/modelgenerator/smallvec.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/smallvec.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/smallvec.model.yml diff --git a/rust/ql/lib/ext/generated/tokio.model.yml b/rust/ql/lib/ext/generated/modelgenerator/tokio.model.yml similarity index 100% rename from rust/ql/lib/ext/generated/tokio.model.yml rename to rust/ql/lib/ext/generated/modelgenerator/tokio.model.yml diff --git a/rust/ql/test/library-tests/type-inference/regressions.rs b/rust/ql/test/library-tests/type-inference/regressions.rs index 5c830bb3db2..465475475bf 100644 --- a/rust/ql/test/library-tests/type-inference/regressions.rs +++ b/rust/ql/test/library-tests/type-inference/regressions.rs @@ -149,7 +149,7 @@ mod regression5 { fn foo() -> S2 { let x = S1.into(); // $ target=into - x // $ SPURIOUS: type=x:T2.TRef.S1 -- happens because we currently do not consider the two `impl` blocks to be siblings + x // $ type=x:T2.S1 } } diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 5e870ae6ca5..3344fc45f74 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -15818,18 +15818,12 @@ inferType | regressions.rs:150:24:153:5 | { ... } | | regressions.rs:136:5:136:22 | S2 | | regressions.rs:150:24:153:5 | { ... } | T2 | regressions.rs:135:5:135:14 | S1 | | regressions.rs:151:13:151:13 | x | | regressions.rs:136:5:136:22 | S2 | -| regressions.rs:151:13:151:13 | x | T2 | {EXTERNAL LOCATION} | & | | regressions.rs:151:13:151:13 | x | T2 | regressions.rs:135:5:135:14 | S1 | -| regressions.rs:151:13:151:13 | x | T2.TRef | regressions.rs:135:5:135:14 | S1 | | regressions.rs:151:17:151:18 | S1 | | regressions.rs:135:5:135:14 | S1 | | regressions.rs:151:17:151:25 | S1.into() | | regressions.rs:136:5:136:22 | S2 | -| regressions.rs:151:17:151:25 | S1.into() | T2 | {EXTERNAL LOCATION} | & | | regressions.rs:151:17:151:25 | S1.into() | T2 | regressions.rs:135:5:135:14 | S1 | -| regressions.rs:151:17:151:25 | S1.into() | T2.TRef | regressions.rs:135:5:135:14 | S1 | | regressions.rs:152:9:152:9 | x | | regressions.rs:136:5:136:22 | S2 | -| regressions.rs:152:9:152:9 | x | T2 | {EXTERNAL LOCATION} | & | | regressions.rs:152:9:152:9 | x | T2 | regressions.rs:135:5:135:14 | S1 | -| regressions.rs:152:9:152:9 | x | T2.TRef | regressions.rs:135:5:135:14 | S1 | | regressions.rs:164:16:164:19 | SelfParam | | regressions.rs:158:5:158:19 | S | | regressions.rs:164:16:164:19 | SelfParam | T | regressions.rs:160:10:160:10 | T | | regressions.rs:164:22:164:25 | _rhs | | regressions.rs:158:5:158:19 | S | diff --git a/shared/controlflow/codeql/controlflow/Cfg.qll b/shared/controlflow/codeql/controlflow/Cfg.qll index 157bf0ffd4f..02ada45bef6 100644 --- a/shared/controlflow/codeql/controlflow/Cfg.qll +++ b/shared/controlflow/codeql/controlflow/Cfg.qll @@ -252,20 +252,9 @@ module MakeWithSplitting< rank[i + 1](ControlFlowTree child, int j | child = this.getChildNode(j) | child order by j) } - /** Gets the first child node of this element. */ - deprecated final AstNode getFirstChildNode() { result = this.getChildTreeRanked(0) } - /** Gets the first child node of this element. */ final ControlFlowTree getFirstChildTree() { result = this.getChildTreeRanked(0) } - /** Gets the last child node of this node. */ - deprecated final AstNode getLastChildElement() { - exists(int last | - result = this.getChildTreeRanked(last) and - not exists(this.getChildTreeRanked(last + 1)) - ) - } - /** Gets the last child node of this node. */ final ControlFlowTree getLastChildTree() { exists(int last | diff --git a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll index ac7c5b59cfe..4e8b3753129 100644 --- a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll +++ b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll @@ -38,16 +38,16 @@ signature module AstSig { Location getLocation(); } - /** Gets the child of this AST node at the specified index. */ + /** Gets the child of AST node `n` at the specified index. */ AstNode getChild(AstNode n, int index); - /** Gets the immediately enclosing callable that contains this node. */ + /** Gets the immediately enclosing callable that contains `node`. */ Callable getEnclosingCallable(AstNode node); /** A callable, for example a function, method, constructor, or top-level script. */ class Callable extends AstNode; - /** Gets the body of this callable, if any. */ + /** Gets the body of callable `c`, if any. */ AstNode callableGetBody(Callable c); /** A statement. */ @@ -143,6 +143,13 @@ signature module AstSig { */ class ContinueStmt extends Stmt; + /** + * A `goto` statement. + * + * Goto statements complete abruptly and jump to a labeled statement. + */ + class GotoStmt extends Stmt; + /** * A `return` statement. * @@ -155,11 +162,11 @@ signature module AstSig { } /** - * A `throw` statement. + * A `throw` statement or expression. * - * Throw statements complete abruptly and throw an exception. + * Throw statements/expressions complete abruptly and throw an exception. */ - class ThrowStmt extends Stmt { + class Throw extends AstNode { /** Gets the expression being thrown. */ Expr getExpr(); } @@ -302,11 +309,51 @@ signature module AstSig { /** A logical NOT expression. */ class LogicalNotExpr extends UnaryExpr; + /** + * An assignment expression, either compound or simple. + * + * Examples: + * + * ``` + * x = y + * sum += element + * ``` + */ + class Assignment extends BinaryExpr; + + /** A simple assignment expression, for example `x = y`. */ + class AssignExpr extends Assignment; + + /** A compound assignment expression, for example `x += y` or `x ??= y`. */ + class CompoundAssignment extends Assignment; + + /** A short-circuiting logical AND compound assignment expression. */ + class AssignLogicalAndExpr extends CompoundAssignment; + + /** A short-circuiting logical OR compound assignment expression. */ + class AssignLogicalOrExpr extends CompoundAssignment; + + /** A short-circuiting null-coalescing compound assignment expression. */ + class AssignNullCoalescingExpr extends CompoundAssignment; + /** A boolean literal expression. */ class BooleanLiteral extends Expr { /** Gets the boolean value of this literal. */ boolean getValue(); } + + /** + * A pattern matching expression. + * + * In Java this is `x instanceof Pattern`, and in C# this is `x is Pattern`. + */ + class PatternMatchExpr extends Expr { + /** Gets the expression being matched. */ + Expr getExpr(); + + /** Gets the pattern being matched against. */ + AstNode getPattern(); + } } /** @@ -407,6 +454,28 @@ module Make0 Ast> { default predicate successorValueImplies(ConditionalSuccessor t1, ConditionalSuccessor t2) { none() } + + /** + * An additional context needed to identify the body parts of a callable. + * + * When not used, instantiate with the `Void` type. + */ + class CallableBodyPartContext { + /** Gets a textual representation of this context. */ + string toString(); + } + + /** + * Gets the `index`th part of the body of `c` in context `ctx`. The indices do not + * need to be consecutive nor start from a specific index. + * + * This overrides the default CFG for a `Callable` with sequential evaluation + * of the body parts, in case a singleton `callableGetBody(c)` is inadequate + * to describe the child nodes of `c`. + */ + default AstNode callableGetBodyPart(Callable c, CallableBodyPartContext ctx, int index) { + none() + } } /** @@ -414,6 +483,8 @@ module Make0 Ast> { * by subsequent instatiation of `Make2`. */ module Make1 { + private import codeql.util.DenseRank + /** * Holds if `n` is executed in post-order or in-order. This means that an * additional node is created to represent `n` in the control flow graph. @@ -426,12 +497,14 @@ module Make0 Ast> { or n instanceof ReturnStmt or - n instanceof ThrowStmt + n instanceof Throw or n instanceof BreakStmt or n instanceof ContinueStmt or + n instanceof GotoStmt + or n instanceof Expr and exists(getChild(n, _)) and not Input1::preOrderExpr(n) and @@ -449,11 +522,14 @@ module Make0 Ast> { * is the value that causes the short-circuit. */ private predicate shortCircuiting(BinaryExpr expr, ConditionalSuccessor shortcircuitValue) { - expr instanceof LogicalAndExpr and shortcircuitValue.(BooleanSuccessor).getValue() = false + (expr instanceof LogicalAndExpr or expr instanceof AssignLogicalAndExpr) and + shortcircuitValue.(BooleanSuccessor).getValue() = false or - expr instanceof LogicalOrExpr and shortcircuitValue.(BooleanSuccessor).getValue() = true + (expr instanceof LogicalOrExpr or expr instanceof AssignLogicalOrExpr) and + shortcircuitValue.(BooleanSuccessor).getValue() = true or - expr instanceof NullCoalescingExpr and shortcircuitValue.(NullnessSuccessor).getValue() = true + (expr instanceof NullCoalescingExpr or expr instanceof AssignNullCoalescingExpr) and + shortcircuitValue.(NullnessSuccessor).getValue() = false } /** @@ -463,9 +539,10 @@ module Make0 Ast> { private predicate propagatesValue(AstNode child, AstNode parent) { Input1::propagatesValue(child, parent) or - // For now, the `not postOrInOrder(parent)` is superfluous, as we don't - // have any short-circuiting post-order expressions yet, but this will - // change once we add support for e.g. C#'s `??=`. + // Short-circuiting post-order expressions, i.e. short-circuiting + // compound assignments, e.g. C#'s `??=`, cannot propagate the value of + // the right-hand side to the parent, as the assignment must take place + // in-between, so propagating the value would imply splitting. shortCircuiting(parent, _) and not postOrInOrder(parent) and parent.(BinaryExpr).getRightOperand() = child @@ -535,6 +612,8 @@ module Make0 Ast> { private string loopHeaderTag() { result = "[LoopHeader]" } + private string patternMatchTrueTag() { result = "[MatchTrue]" } + /** * Holds if an additional node tagged with `tag` should be created for * `n`. Edges targeting such nodes are labeled with `t` and therefore `t` @@ -546,6 +625,10 @@ module Make0 Ast> { n instanceof LoopStmt and tag = loopHeaderTag() and t instanceof DirectSuccessor + or + n instanceof PatternMatchExpr and + tag = patternMatchTrueTag() and + t.(BooleanSuccessor).getValue() = true } /** @@ -561,9 +644,11 @@ module Make0 Ast> { or n instanceof ContinueStmt or + n instanceof GotoStmt + or n instanceof ReturnStmt or - n instanceof ThrowStmt + n instanceof Throw or cannotTerminateNormally(n.(BlockStmt).getLastStmt()) or @@ -600,6 +685,41 @@ module Make0 Ast> { * not step to it, since "after" represents normal termination). */ + private predicate callableHasBodyPart(Callable c, AstNode n) { + n = callableGetBody(c) or n = Input1::callableGetBodyPart(c, _, _) + } + + private module BodyPartDenseRankInput implements DenseRankInputSig2 { + class C1 = Callable; + + class C2 = Input1::CallableBodyPartContext; + + class Ranked = AstNode; + + int getRank(C1 c, C2 ctx, Ranked child) { + child = Input1::callableGetBodyPart(c, ctx, result) + } + } + + private predicate getRankedBodyPart = DenseRank2::denseRank/3; + + private AstNode getBodyEntry(Callable c) { + result = callableGetBody(c) and + not exists(getRankedBodyPart(c, _, _)) + or + result = getRankedBodyPart(c, _, 1) + } + + private AstNode getBodyExit(Callable c) { + result = callableGetBody(c) and + not exists(getRankedBodyPart(c, _, _)) + or + exists(Input1::CallableBodyPartContext ctx, int last | + result = getRankedBodyPart(c, ctx, last) and + not exists(getRankedBodyPart(c, ctx, last + 1)) + ) + } + cached private newtype TNode = TBeforeNode(AstNode n) { Input1::cfgCachedStageRef() and exists(getEnclosingCallable(n)) } or @@ -616,9 +736,9 @@ module Make0 Ast> { TAdditionalNode(AstNode n, string tag) { additionalNode(n, tag, _) and exists(getEnclosingCallable(n)) } or - TEntryNode(Callable c) { exists(callableGetBody(c)) } or - TAnnotatedExitNode(Callable c, Boolean normal) { exists(callableGetBody(c)) } or - TExitNode(Callable c) { exists(callableGetBody(c)) } + TEntryNode(Callable c) { callableHasBodyPart(c, _) } or + TAnnotatedExitNode(Callable c, Boolean normal) { callableHasBodyPart(c, _) } or + TExitNode(Callable c) { callableHasBodyPart(c, _) } private class NodeImpl extends TNode { /** @@ -833,6 +953,7 @@ module Make0 Ast> { override string toString() { result = tag + " " + n } } + /** The `PreControlFlowNode` at the entry point of a callable. */ final private class EntryNodeImpl extends NodeImpl, TEntryNode { private Callable c; @@ -872,7 +993,7 @@ module Make0 Ast> { } /** A control flow node indicating normal termination of a callable. */ - final private class NormalExitNodeImpl extends AnnotatedExitNodeImpl { + final class NormalExitNodeImpl extends AnnotatedExitNodeImpl { NormalExitNodeImpl() { this = TAnnotatedExitNode(_, true) } } @@ -992,7 +1113,7 @@ module Make0 Ast> { ast instanceof ReturnStmt and c.getSuccessorType() instanceof ReturnSuccessor or - ast instanceof ThrowStmt and + ast instanceof Throw and c.getSuccessorType() instanceof ExceptionSuccessor or ast instanceof BreakStmt and @@ -1000,6 +1121,9 @@ module Make0 Ast> { or ast instanceof ContinueStmt and c.getSuccessorType() instanceof ContinueSuccessor + or + ast instanceof GotoStmt and + c.getSuccessorType() instanceof GotoSuccessor ) and ( not Input1::hasLabel(ast, _) and not c.hasLabel(_) @@ -1020,6 +1144,11 @@ module Make0 Ast> { ) } + private Stmt getAStmtInBlock(AstNode block) { + result = block.(BlockStmt).getStmt(_) or + result = block.(Switch).getStmt(_) + } + /** * Holds if an abrupt completion `c` from within `ast` is caught with * flow continuing at `n`. @@ -1027,7 +1156,7 @@ module Make0 Ast> { private predicate endAbruptCompletion(AstNode ast, PreControlFlowNode n, AbruptCompletion c) { Input2::endAbruptCompletion(ast, n, c) or - exists(Callable callable | ast = callableGetBody(callable) | + exists(Callable callable | callableHasBodyPart(callable, ast) | c.getSuccessorType() instanceof ReturnSuccessor and n.(NormalExitNodeImpl).getEnclosingCallable() = callable or @@ -1098,6 +1227,16 @@ module Make0 Ast> { Input1::hasLabel(switch, l) ) ) + or + exists(AstNode block, Input1::Label l, Stmt lblstmt | + ast = getAStmtInBlock(block) and + lblstmt = getAStmtInBlock(block) and + not lblstmt instanceof GotoStmt and + Input1::hasLabel(pragma[only_bind_into](lblstmt), l) and + n.isBefore(lblstmt) and + c.getSuccessorType() instanceof GotoSuccessor and + c.hasLabel(l) + ) } /** @@ -1115,10 +1254,16 @@ module Make0 Ast> { ) } - private Case getRankedCaseCfgOrder(Switch s, int rnk) { - result = rank[rnk](Case c, int i | getCaseControlFlowOrder(s, c) = i | c order by i) + private module CaseDenseRankInput implements DenseRankInputSig1 { + class C = Switch; + + class Ranked = Case; + + predicate getRank = getCaseControlFlowOrder/2; } + private predicate getRankedCaseCfgOrder = DenseRank1::denseRank/2; + private int numberOfStmts(Switch s) { result = strictcount(s.getStmt(_)) } private predicate caseIndex(Switch s, Case c, int caseIdx, int caseStmtPos) { @@ -1181,9 +1326,14 @@ module Make0 Ast> { or exists(Callable c | n1.(EntryNodeImpl).getEnclosingCallable() = c and - n2.isBefore(callableGetBody(c)) + n2.isBefore(getBodyEntry(c)) or - n1.isAfter(callableGetBody(c)) and + exists(Input1::CallableBodyPartContext ctx, int i | + n1.isAfter(getRankedBodyPart(c, ctx, i)) and + n2.isBefore(getRankedBodyPart(c, ctx, i + 1)) + ) + or + n1.isAfter(getBodyExit(c)) and n2.(NormalExitNodeImpl).getEnclosingCallable() = c or n1.(AnnotatedExitNodeImpl).getEnclosingCallable() = c and @@ -1214,7 +1364,7 @@ module Make0 Ast> { n1.isAfterValue(binexpr.getLeftOperand(), shortcircuitValue) and n2.isAfterValue(binexpr, shortcircuitValue) or - // short-circuiting operations with side-effects (e.g. `x &&= y`, `x?.Prop = y`) are in post-order: + // short-circuiting operations with side-effects (e.g. `x &&= y`) are in post-order: n1.isAfter(binexpr.getRightOperand()) and n2.isIn(binexpr) or @@ -1249,6 +1399,26 @@ module Make0 Ast> { n2.isAfterValue(boollit, any(BooleanSuccessor t | t.getValue() = boollit.getValue())) ) or + exists(PatternMatchExpr pme | + n1.isBefore(pme) and + n2.isBefore(pme.getExpr()) + or + n1.isAfter(pme.getExpr()) and + n2.isIn(pme) + or + n1.isIn(pme) and + n2.isAfterValue(pme, any(BooleanSuccessor s | s.getValue() = false)) + or + n1.isIn(pme) and + n2.isAdditional(pme, patternMatchTrueTag()) + or + n1.isAdditional(pme, patternMatchTrueTag()) and + n2.isBefore(pme.getPattern()) + or + n1.isAfter(pme.getPattern()) and + n2.isAfterValue(pme, any(BooleanSuccessor s | s.getValue() = true)) + ) + or exists(IfStmt ifstmt | n1.isBefore(ifstmt) and n2.isBefore(ifstmt.getCondition()) @@ -1528,11 +1698,19 @@ module Make0 Ast> { not explicitStep(any(PreControlFlowNode n | n.isBefore(ast)), _) } - private AstNode getRankedChild(AstNode parent, int rnk) { - defaultCfg(parent) and - result = rank[rnk](AstNode c, int ix | c = getChild(parent, ix) | c order by ix) + private module ChildDenseRankInput implements DenseRankInputSig1 { + class C = AstNode; + + class Ranked = AstNode; + + int getRank(C parent, Ranked child) { + defaultCfg(parent) and + child = getChild(parent, result) + } } + private predicate getRankedChild = DenseRank1::denseRank/2; + /** * Holds if `n1` to `n2` is a default left-to-right evaluation step for * an `AstNode` that does not otherwise have explicitly defined control @@ -1685,6 +1863,72 @@ module Make0 Ast> { ControlFlowNode getAnExceptionSuccessor() { result = this.getASuccessor(any(ExceptionSuccessor t)) } + + /** + * Holds if this node dominates `that` node. + * + * That is, all paths reaching `that` node from the callable entry + * node (`EntryNode`) must go through this node. + */ + bindingset[this, that] + pragma[inline_late] + predicate dominates(ControlFlowNode that) { + this.strictlyDominates(that) + or + this = that + } + + /** + * Holds if this node strictly dominates `that` node. + * + * That is, all paths reaching `that` node from the callable entry + * node (`EntryNode`) must go through this node (which must be + * different from `that` node). + */ + bindingset[this, that] + pragma[inline_late] + predicate strictlyDominates(ControlFlowNode that) { + this.getBasicBlock().strictlyDominates(that.getBasicBlock()) + or + exists(BasicBlock bb, int i, int j | + bb.getNode(i) = this and + bb.getNode(j) = that and + i < j + ) + } + + /** + * Holds if this node post-dominates `that` node. + * + * That is, all paths reaching the normal callable exit node + * (`NormalExitNode`) from `that` node must go through this node. + */ + bindingset[this, that] + pragma[inline_late] + predicate postDominates(ControlFlowNode that) { + this.strictlyPostDominates(that) + or + this = that + } + + /** + * Holds if this node strictly post-dominates `that` node. + * + * That is, all paths reaching the normal callable exit node + * (`NormalExitNode`) from `that` node must go through this node + * (which must be different from `that` node). + */ + bindingset[this, that] + pragma[inline_late] + predicate strictlyPostDominates(ControlFlowNode that) { + this.getBasicBlock().strictlyPostDominates(that.getBasicBlock()) + or + exists(BasicBlock bb, int i, int j | + bb.getNode(i) = this and + bb.getNode(j) = that and + i > j + ) + } } /** Provides additional classes for interacting with the control flow graph. */ @@ -1704,6 +1948,7 @@ module Make0 Ast> { /** A control flow node indicating the termination of a callable. */ final class ExitNode extends ControlFlowNode, ExitNodeImpl { } + import SuccessorType import Additional } @@ -1757,6 +2002,53 @@ module Make0 Ast> { /** Provides a set of consistency queries. */ module Consistency { + /** Holds if the consistency query `query` has `results` results. */ + query predicate consistencyOverview(string query, int results) { + query = "deadEnd" and results = strictcount(ControlFlowNode node | deadEnd(node)) + or + query = "nonUniqueEnclosingCallable" and + results = + strictcount(AstNode n, int callables | nonUniqueEnclosingCallable(n, callables)) + or + query = "nonUniqueInConditionalContext" and + results = strictcount(AstNode n | nonUniqueInConditionalContext(n)) + or + query = "nonLocalStep" and + results = + strictcount(ControlFlowNode n1, SuccessorType t, ControlFlowNode n2 | + nonLocalStep(n1, t, n2) + ) + or + query = "ambiguousAdditionalNode" and + results = strictcount(AstNode n, string tag | ambiguousAdditionalNode(n, tag)) + or + query = "missingInNodeForPostOrInOrder" and + results = strictcount(AstNode ast | missingInNodeForPostOrInOrder(ast)) + or + query = "multipleSuccessors" and + results = + strictcount(ControlFlowNode node, SuccessorType t, ControlFlowNode successor | + multipleSuccessors(node, t, successor) + ) + or + query = "multipleConditionalSuccessorKinds" and + results = + strictcount(ControlFlowNode node, ConditionalSuccessor t1, ConditionalSuccessor t2, + ControlFlowNode succ1, ControlFlowNode succ2 | + multipleConditionalSuccessorKinds(node, t1, t2, succ1, succ2) + ) + or + query = "directAndConditionalSuccessor" and + results = + strictcount(ControlFlowNode node, ConditionalSuccessor t1, DirectSuccessor t2, + ControlFlowNode succ1, ControlFlowNode succ2 | + directAndConditionalSuccessors(node, t1, t2, succ1, succ2) + ) + or + query = "selfLoop" and + results = strictcount(ControlFlowNode node, SuccessorType t | selfLoop(node, t)) + } + /** * Holds if `node` is lacking a successor. * @@ -1767,6 +2059,11 @@ module Make0 Ast> { not exists(node.getASuccessor(_)) } + /** Holds if `n` does not have a unique enclosing callable. */ + query predicate nonUniqueEnclosingCallable(AstNode n, int callables) { + callables = strictcount(getEnclosingCallable(n)) and callables > 1 + } + /** * Holds if `n` is in a conditional context with multiple condition kinds. * @@ -1888,7 +2185,10 @@ module Make0 Ast> { ControlFlowNode succ1, ControlFlowNode succ2 ) { succ1 = node.getASuccessor(t1) and - succ2 = node.getASuccessor(t2) + succ2 = node.getASuccessor(t2) and + // allow for the pattern match true edge when a pattern match + // expression is not in a conditional context + not succ1.isAdditional(_, patternMatchTrueTag()) } /** @@ -1899,6 +2199,15 @@ module Make0 Ast> { query predicate selfLoop(ControlFlowNode node, SuccessorType t) { node.getASuccessor(t) = node } + + /** + * Holds if `c` does not include `callableGetBody` in a non-empty `callableGetBodyPart`. + */ + query predicate bodyPartOverlap(Callable c) { + exists(callableGetBody(c)) and + exists(Input1::callableGetBodyPart(c, _, _)) and + not Input1::callableGetBodyPart(c, _, _) = callableGetBody(c) + } } } } diff --git a/shared/dataflow/codeql/dataflow/DataFlow.qll b/shared/dataflow/codeql/dataflow/DataFlow.qll index cacd52cf839..53da239d83e 100644 --- a/shared/dataflow/codeql/dataflow/DataFlow.qll +++ b/shared/dataflow/codeql/dataflow/DataFlow.qll @@ -784,19 +784,6 @@ private module DataFlowMakeCore Lang> { /** Gets the location of this node. */ Location getLocation() { result = this.getNode().getLocation() } - - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - deprecated predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } } /** @@ -853,19 +840,6 @@ private module DataFlowMakeCore Lang> { /** Gets a textual representation of this element. */ string toString() { result = super.toString() } - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - deprecated predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - super.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - /** Gets the underlying `Node`. */ Node getNode() { result = super.getNode() } diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index ed0412d1cd4..3af6b9eab99 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2531,36 +2531,6 @@ module MakeImpl Lang> { /** Holds if this node is a sink. */ final predicate isSink() { this instanceof PathNodeSink } - - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - overlay[caller?] - pragma[inline] - deprecated final predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getLocation() - .hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - - /** - * DEPRECATED: This functionality is no longer available. - * - * Holds if this node is a grouping of source nodes. - */ - deprecated final predicate isSourceGroup(string group) { none() } - - /** - * DEPRECATED: This functionality is no longer available. - * - * Holds if this node is a grouping of sink nodes. - */ - deprecated final predicate isSinkGroup(string group) { none() } } /** Holds if `n1.getASuccessor() = n2` and `n2` can reach a sink. */ diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index 962a58c26f9..c64f0edb846 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -27,26 +27,6 @@ module MakeImplCommon Lang> { private import Aliases module DataFlowImplCommonPublic { - /** - * DEPRECATED: Generally, a custom `FlowState` type should be used instead, - * but `string` can of course still be used without referring to this - * module. - * - * Provides `FlowState = string`. - */ - deprecated module FlowStateString { - /** A state value to track during data flow. */ - deprecated class FlowState = string; - - /** - * The default state, which is used when the state is unspecified for a source - * or a sink. - */ - deprecated class FlowStateEmpty extends FlowState { - FlowStateEmpty() { this = "" } - } - } - private newtype TFlowFeature = TFeatureHasSourceCallContext() or TFeatureHasSinkCallContext() or diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplStage1.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplStage1.qll index b7a45a67b56..7c9881c90d7 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplStage1.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplStage1.qll @@ -1847,21 +1847,6 @@ module MakeImplStage1 Lang> { /** Gets the location of this node. */ Location getLocation() { result = this.getNodeEx().getLocation() } - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - overlay[caller?] - pragma[inline] - deprecated predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - /** Gets the underlying `Node`. */ final Node getNode() { this.getNodeEx().projectToNode() = result } diff --git a/shared/ssa/codeql/ssa/Ssa.qll b/shared/ssa/codeql/ssa/Ssa.qll index cb2d527c964..8d6b960b283 100644 --- a/shared/ssa/codeql/ssa/Ssa.qll +++ b/shared/ssa/codeql/ssa/Ssa.qll @@ -474,7 +474,7 @@ module Make< private class TDefinition = TWriteDef or TPhiNode; - private module SsaDefReachesNew { + private module SsaDefReaches { /** * Holds if the `i`th node of basic block `bb` is a reference to `v`, * either a read (when `k` is `Read()`) or an SSA definition (when @@ -737,352 +737,12 @@ module Make< ) } - private module SsaDefReaches { - deprecated newtype TSsaRefKind = - SsaActualRead() or - SsaPhiRead() or - SsaDef() - - deprecated class SsaRead = SsaActualRead or SsaPhiRead; - - deprecated class SsaDefExt = SsaDef or SsaPhiRead; - - deprecated SsaDefExt ssaDefExt() { any() } - - /** - * A classification of SSA variable references into reads and definitions. - */ - deprecated class SsaRefKind extends TSsaRefKind { - string toString() { - this = SsaActualRead() and - result = "SsaActualRead" - or - this = SsaPhiRead() and - result = "SsaPhiRead" - or - this = SsaDef() and - result = "SsaDef" - } - - int getOrder() { - this instanceof SsaRead and - result = 0 - or - this = SsaDef() and - result = 1 - } - } - - /** - * Holds if the `i`th node of basic block `bb` is a reference to `v`, - * either a read (when `k` is `SsaActualRead()`), an SSA definition (when `k` - * is `SsaDef()`), or a phi-read (when `k` is `SsaPhiRead()`). - * - * Unlike `Liveness::varRef`, this includes `phi` (read) nodes. - */ - pragma[nomagic] - deprecated predicate ssaRef(BasicBlock bb, int i, SourceVariable v, SsaRefKind k) { - variableRead(bb, i, v, _) and - k = SsaActualRead() - or - any(Definition def).definesAt(v, bb, i) and - k = SsaDef() - or - synthPhiRead(bb, v) and i = -1 and k = SsaPhiRead() - } - - /** - * Holds if the `i`th node of basic block `bb` is a reference to `v`, and - * this reference is not a phi-read. - */ - deprecated predicate ssaRefNonPhiRead(BasicBlock bb, int i, SourceVariable v) { - ssaRef(bb, i, v, [SsaActualRead().(TSsaRefKind), SsaDef()]) - } - - deprecated private newtype OrderedSsaRefIndex = - deprecated MkOrderedSsaRefIndex(int i, SsaRefKind k) { ssaRef(_, i, _, k) } - - deprecated private OrderedSsaRefIndex ssaRefOrd( - BasicBlock bb, int i, SourceVariable v, SsaRefKind k, int ord - ) { - ssaRef(bb, i, v, k) and - result = MkOrderedSsaRefIndex(i, k) and - ord = k.getOrder() - } - - /** - * Gets the (1-based) rank of the reference to `v` at the `i`th node of basic - * block `bb`, which has the given reference kind `k`. - * - * For example, if `bb` is a basic block with a phi node for `v` (considered - * to be at index -1), reads `v` at node 2, and defines it at node 5, we have: - * - * ```ql - * ssaRefRank(bb, -1, v, SsaDef()) = 1 // phi node - * ssaRefRank(bb, 2, v, Read()) = 2 // read at node 2 - * ssaRefRank(bb, 5, v, SsaDef()) = 3 // definition at node 5 - * ``` - * - * Reads are considered before writes when they happen at the same index. - */ - deprecated int ssaRefRank(BasicBlock bb, int i, SourceVariable v, SsaRefKind k) { - ssaRefOrd(bb, i, v, k, _) = - rank[result](int j, int ord, OrderedSsaRefIndex res | - res = ssaRefOrd(bb, j, v, _, ord) - | - res order by j, ord - ) - } - - deprecated int maxSsaRefRank(BasicBlock bb, SourceVariable v) { - result = ssaRefRank(bb, _, v, _) and - not result + 1 = ssaRefRank(bb, _, v, _) - } - - /** - * Holds if the SSA definition `def` reaches rank index `rnk` in its own - * basic block `bb`. - */ - deprecated predicate ssaDefReachesRank( - BasicBlock bb, DefinitionExt def, int rnk, SourceVariable v - ) { - exists(int i | - rnk = ssaRefRank(bb, i, v, ssaDefExt()) and - def.definesAt(v, bb, i, _) - ) - or - ssaDefReachesRank(bb, def, rnk - 1, v) and - rnk = ssaRefRank(bb, _, v, SsaActualRead()) - } - - /** - * Holds if the SSA definition of `v` at `def` reaches index `i` in the same - * basic block `bb`, without crossing another SSA definition of `v`. - */ - deprecated predicate ssaDefReachesReadWithinBlock( - SourceVariable v, DefinitionExt def, BasicBlock bb, int i - ) { - exists(int rnk | - ssaDefReachesRank(bb, def, rnk, v) and - rnk = ssaRefRank(bb, i, v, SsaActualRead()) - ) - } - - /** - * Same as `ssaRefRank()`, but restricted to a particular SSA definition `def`. - */ - deprecated int ssaDefRank( - DefinitionExt def, SourceVariable v, BasicBlock bb, int i, SsaRefKind k - ) { - result = ssaRefRank(bb, i, v, k) and - ( - ssaDefReachesReadExt(v, def, bb, i) - or - def.definesAt(v, bb, i, k) - ) - } - - /** - * Holds if the reference to `def` at index `i` in basic block `bb` is the - * last reference to `v` inside `bb`. - */ - pragma[noinline] - deprecated predicate lastSsaRefExt(DefinitionExt def, SourceVariable v, BasicBlock bb, int i) { - ssaDefRank(def, v, bb, i, _) = maxSsaRefRank(bb, v) - } - - /** Gets a phi-read node into which `inp` is an input, if any. */ - pragma[nomagic] - deprecated private DefinitionExt getAPhiReadOutput(DefinitionExt inp) { - phiHasInputFromBlockExt(result.(PhiReadNode), inp, _) - } - - pragma[nomagic] - deprecated DefinitionExt getAnUltimateOutput(Definition def) { - result = getAPhiReadOutput*(def) - } - - /** - * Same as `lastSsaRefExt`, but ignores phi-reads. - */ - pragma[noinline] - deprecated predicate lastSsaRef(Definition def, SourceVariable v, BasicBlock bb, int i) { - lastSsaRefExt(getAnUltimateOutput(def), v, bb, i) and - ssaRefNonPhiRead(bb, i, v) - } - - deprecated predicate defOccursInBlock( - DefinitionExt def, BasicBlock bb, SourceVariable v, SsaRefKind k - ) { - exists(ssaDefRank(def, v, bb, _, k)) - } - - pragma[noinline] - deprecated predicate ssaDefReachesThroughBlock(DefinitionExt def, BasicBlock bb) { - exists(SourceVariable v | - ssaDefReachesEndOfBlockExt0(bb, def, v) and - not defOccursInBlock(_, bb, v, _) - ) - } - - /** - * Holds if `def` is accessed in basic block `bb1` (either a read or a write), - * `bb2` is a transitive successor of `bb1`, `def` is live at the end of _some_ - * predecessor of `bb2`, and the underlying variable for `def` is neither read - * nor written in any block on the path between `bb1` and `bb2`. - */ - pragma[nomagic] - deprecated predicate varBlockReachesExt( - DefinitionExt def, SourceVariable v, BasicBlock bb1, BasicBlock bb2 - ) { - defOccursInBlock(def, bb1, v, _) and - bb2 = bb1.getASuccessor() - or - exists(BasicBlock mid | - varBlockReachesExt(def, v, bb1, mid) and - ssaDefReachesThroughBlock(def, mid) and - bb2 = mid.getASuccessor() - ) - } - - pragma[nomagic] - deprecated private predicate phiReadStep( - DefinitionExt def, PhiReadNode phi, BasicBlock bb1, BasicBlock bb2 - ) { - exists(SourceVariable v | - varBlockReachesExt(pragma[only_bind_into](def), v, bb1, pragma[only_bind_into](bb2)) and - phi.definesAt(v, bb2, _, _) and - not varRef(bb2, _, v, _) - ) - } - - pragma[nomagic] - deprecated private predicate varBlockReachesExclPhiRead( - DefinitionExt def, SourceVariable v, BasicBlock bb1, BasicBlock bb2 - ) { - varBlockReachesExt(def, v, bb1, bb2) and - ssaRefNonPhiRead(bb2, _, v) - or - exists(PhiReadNode phi, BasicBlock mid | - varBlockReachesExclPhiRead(phi, v, mid, bb2) and - phiReadStep(def, phi, bb1, mid) - ) - } - - /** - * Same as `varBlockReachesExt`, but ignores phi-reads, and furthermore - * `bb2` is restricted to blocks in which the underlying variable `v` of - * `def` is referenced (either a read or a write). - */ - pragma[nomagic] - deprecated predicate varBlockReachesRef( - Definition def, SourceVariable v, BasicBlock bb1, BasicBlock bb2 - ) { - varBlockReachesExclPhiRead(getAnUltimateOutput(def), v, bb1, bb2) and - ssaRefNonPhiRead(bb1, _, v) - } - - pragma[nomagic] - deprecated predicate defAdjacentReadExt( - DefinitionExt def, BasicBlock bb1, BasicBlock bb2, int i2 - ) { - exists(SourceVariable v | - varBlockReachesExt(def, v, bb1, bb2) and - ssaRefRank(bb2, i2, v, SsaActualRead()) = 1 - ) - } - - pragma[nomagic] - deprecated predicate defAdjacentRead(Definition def, BasicBlock bb1, BasicBlock bb2, int i2) { - exists(SourceVariable v | varBlockReachesRef(def, v, bb1, bb2) | - ssaRefRank(bb2, i2, v, SsaActualRead()) = 1 - or - ssaRefRank(bb2, _, v, SsaPhiRead()) = 1 and - ssaRefRank(bb2, i2, v, SsaActualRead()) = 2 - ) - } - - /** - * Holds if `def` is accessed in basic block `bb` (either a read or a write), - * `bb` can reach a transitive successor `bb2` where `def` is no longer live, - * and `v` is neither read nor written in any block on the path between `bb` - * and `bb2`. - */ - pragma[nomagic] - deprecated predicate varBlockReachesExitExt(DefinitionExt def, BasicBlock bb) { - exists(BasicBlock bb2 | varBlockReachesExt(def, _, bb, bb2) | - not defOccursInBlock(def, bb2, _, _) and - not ssaDefReachesEndOfBlockExt0(bb2, def, _) - ) - } - - pragma[nomagic] - deprecated private predicate varBlockReachesExitExclPhiRead(DefinitionExt def, BasicBlock bb) { - exists(BasicBlock bb2, SourceVariable v | - varBlockReachesExt(def, v, bb, bb2) and - not defOccursInBlock(def, bb2, _, _) and - not ssaDefReachesEndOfBlockExt0(bb2, def, _) and - not any(PhiReadNode phi).definesAt(v, bb2, _, _) - ) - or - exists(PhiReadNode phi, BasicBlock bb2 | - varBlockReachesExitExclPhiRead(phi, bb2) and - phiReadStep(def, phi, bb, bb2) - ) - } - - /** - * Same as `varBlockReachesExitExt`, but ignores phi-reads. - */ - pragma[nomagic] - deprecated predicate varBlockReachesExit(Definition def, BasicBlock bb) { - varBlockReachesExitExclPhiRead(getAnUltimateOutput(def), bb) - } - } - - private import SsaDefReaches - - pragma[nomagic] - deprecated private predicate liveThroughExt(BasicBlock bb, SourceVariable v) { - liveAtExit(bb, v) and - not ssaRef(bb, _, v, ssaDefExt()) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if the SSA definition of `v` at `def` reaches the end of basic - * block `bb`, at which point it is still live, without crossing another - * SSA definition of `v`. - */ - pragma[nomagic] - deprecated private predicate ssaDefReachesEndOfBlockExt0( - BasicBlock bb, DefinitionExt def, SourceVariable v - ) { - exists(int last | - last = maxSsaRefRank(pragma[only_bind_into](bb), pragma[only_bind_into](v)) and - ssaDefReachesRank(bb, def, last, v) and - liveAtExit(bb, v) - ) - or - // The construction of SSA form ensures that each read of a variable is - // dominated by its definition. An SSA definition therefore reaches a - // control flow node if it is the _closest_ SSA definition that dominates - // the node. If two definitions dominate a node then one must dominate the - // other, so therefore the definition of _closest_ is given by the dominator - // tree. Thus, reaching definitions can be calculated in terms of dominance. - ssaDefReachesEndOfBlockExt0(bb.getImmediateDominator(), def, pragma[only_bind_into](v)) and - liveThroughExt(bb, pragma[only_bind_into](v)) - } - - deprecated predicate ssaDefReachesEndOfBlockExt = ssaDefReachesEndOfBlockExt0/3; - /** * NB: If this predicate is exposed, it should be cached. * * Same as `ssaDefReachesEndOfBlockExt`, but ignores phi-reads. */ - predicate ssaDefReachesEndOfBlock = SsaDefReachesNew::ssaDefReachesEndOfBlock/3; + predicate ssaDefReachesEndOfBlock = SsaDefReaches::ssaDefReachesEndOfBlock/3; /** * NB: If this predicate is exposed, it should be cached. @@ -1098,176 +758,16 @@ module Make< ) } - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if `inp` is an input to the phi (read) node `phi` along the edge originating in `bb`. - */ - pragma[nomagic] - deprecated predicate phiHasInputFromBlockExt(DefinitionExt phi, DefinitionExt inp, BasicBlock bb) { - exists(SourceVariable v, BasicBlock bbDef | - phi.definesAt(v, bbDef, _, _) and - getABasicBlockPredecessor(bbDef) = bb and - ssaDefReachesEndOfBlockExt0(bb, inp, v) - | - phi instanceof PhiNode or - phi instanceof PhiReadNode - ) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if the SSA definition of `v` at `def` reaches a read at index `i` in - * basic block `bb`, without crossing another SSA definition of `v`. - */ - pragma[nomagic] - deprecated predicate ssaDefReachesReadExt( - SourceVariable v, DefinitionExt def, BasicBlock bb, int i - ) { - ssaDefReachesReadWithinBlock(v, def, bb, i) - or - ssaRef(bb, i, v, SsaActualRead()) and - ssaDefReachesEndOfBlockExt0(getABasicBlockPredecessor(bb), def, v) and - not ssaDefReachesReadWithinBlock(v, _, bb, i) - } - /** * NB: If this predicate is exposed, it should be cached. * * Same as `ssaDefReachesReadExt`, but ignores phi-reads. */ predicate ssaDefReachesRead(SourceVariable v, Definition def, BasicBlock bb, int i) { - SsaDefReachesNew::ssaDefReachesRead(v, def, bb, i) and + SsaDefReaches::ssaDefReachesRead(v, def, bb, i) and variableRead(bb, i, v, _) } - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if `def` is accessed at index `i1` in basic block `bb1` (either a read - * or a write), `def` is read at index `i2` in basic block `bb2`, and there is a - * path between them without any read of `def`. - */ - pragma[nomagic] - deprecated predicate adjacentDefReadExt( - DefinitionExt def, SourceVariable v, BasicBlock bb1, int i1, BasicBlock bb2, int i2 - ) { - exists(int rnk | - rnk = ssaDefRank(def, v, bb1, i1, _) and - rnk + 1 = ssaDefRank(def, v, bb1, i2, SsaActualRead()) and - variableRead(bb1, i2, v, _) and - bb2 = bb1 - ) - or - lastSsaRefExt(def, v, bb1, i1) and - defAdjacentReadExt(def, bb1, bb2, i2) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Same as `adjacentDefReadExt`, but ignores phi-reads. - */ - pragma[nomagic] - deprecated predicate adjacentDefRead( - Definition def, BasicBlock bb1, int i1, BasicBlock bb2, int i2 - ) { - exists(SourceVariable v | - adjacentDefReadExt(getAnUltimateOutput(def), v, bb1, i1, bb2, i2) and - ssaRefNonPhiRead(bb1, i1, v) - ) - or - lastSsaRef(def, _, bb1, i1) and - defAdjacentRead(def, bb1, bb2, i2) - } - - deprecated private predicate lastRefRedefExtSameBlock( - DefinitionExt def, SourceVariable v, BasicBlock bb, int i, DefinitionExt next - ) { - exists(int rnk, int j | - rnk = ssaDefRank(def, v, bb, i, _) and - next.definesAt(v, bb, j, _) and - rnk + 1 = ssaRefRank(bb, j, v, ssaDefExt()) - ) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if the node at index `i` in `bb` is a last reference to SSA definition - * `def`. The reference is last because it can reach another write `next`, - * without passing through another read or write. - */ - pragma[nomagic] - deprecated predicate lastRefRedefExt( - DefinitionExt def, SourceVariable v, BasicBlock bb, int i, DefinitionExt next - ) { - // Next reference to `v` inside `bb` is a write - lastRefRedefExtSameBlock(def, v, bb, i, next) - or - // Can reach a write using one or more steps - lastSsaRefExt(def, v, bb, i) and - exists(BasicBlock bb2 | - varBlockReachesExt(def, v, bb, bb2) and - 1 = ssaDefRank(next, v, bb2, _, ssaDefExt()) - ) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if the node at index `i` in `bb` is a last reference to SSA definition - * `def`. The reference is last because it can reach another write `next`, - * without passing through another read or write. - * - * The path from node `i` in `bb` to `next` goes via basic block `input`, which is - * either a predecessor of the basic block of `next`, or `input = bb` in case `next` - * occurs in basic block `bb`. - */ - pragma[nomagic] - deprecated predicate lastRefRedefExt( - DefinitionExt def, SourceVariable v, BasicBlock bb, int i, BasicBlock input, DefinitionExt next - ) { - // Next reference to `v` inside `bb` is a write - lastRefRedefExtSameBlock(def, v, bb, i, next) and - input = bb - or - // Can reach a write using one or more steps - lastSsaRefExt(def, v, bb, i) and - exists(BasicBlock bb2 | - input = getABasicBlockPredecessor(bb2) and - 1 = ssaDefRank(next, v, bb2, _, ssaDefExt()) - | - input = bb - or - varBlockReachesExt(def, v, bb, input) and - ssaDefReachesThroughBlock(def, pragma[only_bind_into](input)) - ) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Same as `lastRefRedefExt`, but ignores phi-reads. - */ - pragma[nomagic] - deprecated predicate lastRefRedef(Definition def, BasicBlock bb, int i, Definition next) { - exists(SourceVariable v | - lastRefRedefExt(getAnUltimateOutput(def), v, bb, i, next) and - ssaRefNonPhiRead(bb, i, v) - ) - or - // Can reach a write using one or more steps - exists(SourceVariable v | - lastSsaRef(def, v, bb, i) and - exists(BasicBlock bb2 | - varBlockReachesRef(def, v, bb, bb2) and - 1 = ssaDefRank(next, v, bb2, _, SsaDef()) - ) - ) - } - /** * NB: If this predicate is exposed, it should be cached. * @@ -1275,55 +775,7 @@ module Make< * `def`. Since `def` is uncertain, the value from the preceding definition might * still be valid. */ - predicate uncertainWriteDefinitionInput = SsaDefReachesNew::uncertainWriteDefinitionInput/2; - - /** Holds if `bb` is a control-flow exit point. */ - private predicate exitBlock(BasicBlock bb) { not exists(bb.getASuccessor()) } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Holds if the node at index `i` in `bb` is a last reference to SSA - * definition `def`. - * - * That is, the node can reach the end of the enclosing callable, or another - * SSA definition for the underlying source variable, without passing through - * another read. - */ - pragma[nomagic] - deprecated predicate lastRefExt(DefinitionExt def, BasicBlock bb, int i) { - // Can reach another definition - lastRefRedefExt(def, _, bb, i, _) - or - lastSsaRefExt(def, _, bb, i) and - ( - // Can reach exit directly - exitBlock(bb) - or - // Can reach a block using one or more steps, where `def` is no longer live - varBlockReachesExitExt(def, bb) - ) - } - - /** - * NB: If this predicate is exposed, it should be cached. - * - * Same as `lastRefExt`, but ignores phi-reads. - */ - pragma[nomagic] - deprecated predicate lastRef(Definition def, BasicBlock bb, int i) { - // Can reach another definition - lastRefRedef(def, bb, i, _) - or - lastSsaRef(def, _, bb, i) and - ( - // Can reach exit directly - exitBlock(bb) - or - // Can reach a block using one or more steps, where `def` is no longer live - varBlockReachesExit(def, bb) - ) - } + predicate uncertainWriteDefinitionInput = SsaDefReaches::uncertainWriteDefinitionInput/2; /** A static single assignment (SSA) definition. */ class Definition extends TDefinition { @@ -1382,30 +834,16 @@ module Make< } } - deprecated class DefinitionExt = DefinitionExt_; - /** * An extended static single assignment (SSA) definition. * * This is either a normal SSA definition (`Definition`) or a * phi-read node (`PhiReadNode`). */ - private class DefinitionExt_ extends TDefinitionExt { + private class DefinitionExt extends TDefinitionExt { /** Gets the source variable underlying this SSA definition. */ SourceVariable getSourceVariable() { this.definesAt(result, _, _) } - /** - * Holds if this SSA definition defines `v` at index `i` in basic block `bb`. - * Phi nodes are considered to be at index `-1`, while normal variable writes - * are at the index of the control flow node they wrap. - */ - deprecated final predicate definesAt(SourceVariable v, BasicBlock bb, int i, SsaRefKind kind) { - this.(Definition).definesAt(v, bb, i) and - kind = SsaDef() - or - this = TPhiReadNode(v, bb) and i = -1 and kind = SsaPhiRead() - } - /** * Holds if this SSA definition defines `v` at index `i` in basic block `bb`. * Phi nodes are considered to be at index `-1`, while normal variable writes @@ -1427,8 +865,6 @@ module Make< Location getLocation() { result = this.(Definition).getLocation() } } - deprecated class PhiReadNode = PhiReadNode_; - /** * A phi-read node. * @@ -1510,7 +946,7 @@ module Make< * to `phi-read` goes through a dominance-frontier block, and hence a phi node, * which contradicts reachability. */ - private class PhiReadNode_ extends DefinitionExt_, TPhiReadNode { + private class PhiReadNode extends DefinitionExt, TPhiReadNode { override string toString() { result = "SSA phi read(" + this.getSourceVariable() + ")" } override Location getLocation() { result = this.getBasicBlock().getLocation() } @@ -1823,11 +1259,11 @@ module Make< /** Holds if a read is not dominated by a definition. */ query predicate notDominatedByDef(Definition def, SourceVariable v, BasicBlock bb, int i) { exists(BasicBlock bbDef, int iDef | def.definesAt(v, bbDef, iDef) | - SsaDefReachesNew::ssaDefReachesReadWithinBlock(v, def, bb, i) and + SsaDefReaches::ssaDefReachesReadWithinBlock(v, def, bb, i) and (bb != bbDef or i < iDef) or ssaDefReachesRead(v, def, bb, i) and - not SsaDefReachesNew::ssaDefReachesReadWithinBlock(v, def, bb, i) and + not SsaDefReaches::ssaDefReachesReadWithinBlock(v, def, bb, i) and not def.definesAt(v, bb.getImmediateDominator*(), _) ) } @@ -2048,14 +1484,14 @@ module Make< module DataFlowIntegration { private import codeql.util.Boolean - final private class DefinitionExtFinal = DefinitionExt_; + final private class DefinitionExtFinal = DefinitionExt; /** An SSA definition which is either a phi node or a phi read node. */ private class SsaPhiExt extends DefinitionExtFinal { SsaPhiExt() { this instanceof PhiNode or - this instanceof PhiReadNode_ + this instanceof PhiReadNode } } @@ -2222,13 +1658,13 @@ module Make< private newtype TNode = TWriteDefSource(WriteDefinition def) { DfInput::ssaDefHasSource(def) } or TExprNode(DfInput::Expr e, Boolean isPost) { e = DfInput::getARead(_) } or - TSsaDefinitionNode(DefinitionExt_ def) { + TSsaDefinitionNode(DefinitionExt def) { not phiHasUniqNextNode(def) and if DfInput::includeWriteDefsInFlowStep() then any() else ( def instanceof PhiNode or - def instanceof PhiReadNode_ or + def instanceof PhiReadNode or DfInput::allowFlowIntoUncertainDef(def) ) } or @@ -2330,9 +1766,6 @@ module Make< /** A synthesized SSA data flow node. */ abstract private class SsaNodeImpl extends NodeImpl { - /** Gets the underlying SSA definition. */ - abstract deprecated DefinitionExt getDefinitionExt(); - /** Gets the SSA definition this node corresponds to, if any. */ Definition asDefinition() { this = TSsaDefinitionNode(result) } @@ -2354,14 +1787,12 @@ module Make< /** An SSA definition, viewed as a node in a data flow graph. */ private class SsaDefinitionExtNodeImpl extends SsaNodeImpl, TSsaDefinitionNode { - private DefinitionExt_ def; + private DefinitionExt def; SsaDefinitionExtNodeImpl() { this = TSsaDefinitionNode(def) } /** Gets the corresponding `DefinitionExt`. */ - DefinitionExt_ getDefExt() { result = def } - - deprecated override DefinitionExt getDefinitionExt() { result = def } + DefinitionExt getDefExt() { result = def } override BasicBlock getBasicBlock() { result = def.getBasicBlock() } @@ -2374,8 +1805,6 @@ module Make< override string toString() { result = def.toString() } } - deprecated final class SsaDefinitionExtNode = SsaDefinitionExtNodeImpl; - /** An SSA definition, viewed as a node in a data flow graph. */ private class SsaDefinitionNodeImpl extends SsaDefinitionExtNodeImpl { private Definition def; @@ -2391,7 +1820,7 @@ module Make< /** A node that represents a synthetic read of a source variable. */ final class SsaSynthReadNode extends SsaNode { SsaSynthReadNode() { - this.(SsaDefinitionExtNodeImpl).getDefExt() instanceof PhiReadNode_ or + this.(SsaDefinitionExtNodeImpl).getDefExt() instanceof PhiReadNode or this instanceof SsaInputNodeImpl } } @@ -2438,15 +1867,13 @@ module Make< SsaInputNodeImpl() { this = TSsaInputNode(def_, input_) } /** Holds if this node represents input into SSA definition `def` via basic block `input`. */ - predicate isInputInto(DefinitionExt_ def, BasicBlock input) { + predicate isInputInto(DefinitionExt def, BasicBlock input) { def = def_ and input = input_ } SsaPhiExt getPhi() { result = def_ } - deprecated override SsaPhiExt getDefinitionExt() { result = def_ } - override BasicBlock getBasicBlock() { result = input_ } override int getIndex() { result = input_.length() } @@ -2458,8 +1885,6 @@ module Make< override string toString() { result = "[input] " + def_.toString() } } - deprecated final class SsaInputNode = SsaInputNodeImpl; - /** * Holds if `nodeFrom` corresponds to the reference to `v` at index `i` in * `bb`. The boolean `isUseStep` indicates whether `nodeFrom` is an actual @@ -2469,7 +1894,7 @@ module Make< private predicate flowOutOf( Node nodeFrom, SourceVariable v, BasicBlock bb, int i, boolean isUseStep ) { - exists(DefinitionExt_ def | + exists(DefinitionExt def | nodeFrom.(SsaDefinitionExtNodeImpl).getDefExt() = def and def.definesAt(v, bb, i) and isUseStep = false @@ -2497,7 +1922,7 @@ module Make< ) or // Flow from definition/read to phi input - exists(BasicBlock input, BasicBlock bbPhi, DefinitionExt_ phi | + exists(BasicBlock input, BasicBlock bbPhi, DefinitionExt phi | AdjacentSsaRefs::adjacentRefPhi(bb1, i1, input, bbPhi, v) and phi.definesAt(v, bbPhi, -1) | @@ -2507,9 +1932,7 @@ module Make< ) } - private predicate flowIntoPhi( - DefinitionExt_ phi, SourceVariable v, BasicBlock bbPhi, Node nodeTo - ) { + private predicate flowIntoPhi(DefinitionExt phi, SourceVariable v, BasicBlock bbPhi, Node nodeTo) { phi.definesAt(v, bbPhi, -1) and if phiHasUniqNextNode(phi) then flowFromRefToNode(v, bbPhi, -1, nodeTo) @@ -2545,7 +1968,7 @@ module Make< ) or // Flow from input node to def - exists(DefinitionExt_ phi | + exists(DefinitionExt phi | phi = nodeFrom.(SsaInputNodeImpl).getPhi() and isUseStep = false and nodeFrom != nodeTo and @@ -2565,7 +1988,7 @@ module Make< ) or // Flow from SSA definition to read - exists(DefinitionExt_ def | + exists(DefinitionExt def | nodeFrom.(SsaDefinitionExtNodeImpl).getDefExt() = def and nodeTo.(ExprNode).getExpr() = DfInput::getARead(def) and v = def.getSourceVariable() diff --git a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll index 9f4be49d878..1f4400d8f2d 100644 --- a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll +++ b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll @@ -145,6 +145,12 @@ signature module InputSig1 { Location getLocation(); } + /** + * Holds if `t` is a pseudo type. Pseudo types are skipped when checking for + * non-instantiations in `isNotInstantiationOf`. + */ + predicate isPseudoType(Type t); + /** A type parameter. */ class TypeParameter extends Type; @@ -624,6 +630,26 @@ module Make1 Input1> { ) } + pragma[nomagic] + private predicate hasTypeParameterAt( + App app, TypeAbstraction abs, Constraint constraint, TypePath path, TypeParameter tp + ) { + tp = getTypeAt(app, abs, constraint, path) and + tp = abs.getATypeParameter() + } + + private Type getNonPseudoTypeAt(App app, TypePath path) { + result = app.getTypeAt(path) and not isPseudoType(result) + } + + pragma[nomagic] + private Type getNonPseudoTypeAtTypeParameter( + App app, TypeAbstraction abs, Constraint constraint, TypeParameter tp, TypePath path + ) { + hasTypeParameterAt(app, abs, constraint, path, tp) and + result = getNonPseudoTypeAt(app, path) + } + /** * Holds if `app` is _not_ a possible instantiation of `constraint`, because `app` * and `constraint` differ on concrete types at `path`. @@ -643,13 +669,22 @@ module Make1 Input1> { predicate isNotInstantiationOf( App app, TypeAbstraction abs, Constraint constraint, TypePath path ) { - // `app` and `constraint` differ on a concrete type + // `app` and `constraint` differ on a non-pseudo concrete type exists(Type t, Type t2 | t = getTypeAt(app, abs, constraint, path) and not t = abs.getATypeParameter() and - app.getTypeAt(path) = t2 and + t2 = getNonPseudoTypeAt(app, path) and t2 != t ) + or + // `app` has different instantiations of a type parameter mentioned at two + // different paths + exists(TypeParameter tp, TypePath path2, Type t, Type t2 | + t = getNonPseudoTypeAtTypeParameter(app, abs, constraint, tp, path) and + t2 = getNonPseudoTypeAtTypeParameter(app, abs, constraint, tp, path2) and + t != t2 and + path != path2 + ) } } diff --git a/swift/ql/lib/codeql/swift/dataflow/Ssa.qll b/swift/ql/lib/codeql/swift/dataflow/Ssa.qll index 4f0754ff590..b66eaedef73 100644 --- a/swift/ql/lib/codeql/swift/dataflow/Ssa.qll +++ b/swift/ql/lib/codeql/swift/dataflow/Ssa.qll @@ -155,11 +155,6 @@ module Ssa { read2 = bb2.getNode(i2) ) } - - cached - deprecated predicate lastRefRedef(BasicBlocks::BasicBlock bb, int i, Definition next) { - SsaImpl::lastRefRedef(this, bb, i, next) - } } cached